@charset "utf-8";

/*common*/
.pc-only { display: block!important; }
.sp-only { display: none!important; }

section, main { position: relative; display: block; }
body { width: 100%; }
body.home { overflow-x: hidden;}

img { max-width: 100%; }

@media screen and (max-width: 767px) {
	.pc-only { display: none!important; }
	.sp-only { display: block!important; }
    
    html, body { width: 100%; overflow-x: hidden; }
}

/*no-js*/
.no-js .js-scroll-fade,
.no-js .top_main_txt,
.no-js .top_main_txt .catch,
.no-js .top_main_txt .read,
.no-js .top_main_scroll { opacity: 1!important; }
.no-js #loading { display: none; }

/*loading*/

body #loading {
    background: #F2EEE7;
    display: block;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100010;
    pointer-events: none;
    -webkit-transition: opacity 1.5s cubic-bezier(.16,1,.3,1) 0.5s; transition: opacity 1.5s cubic-bezier(.16,1,.3,1) 0.5s;
}

body #loading.is-animation {
    opacity: 0;
}

/*fade*/
.js-scroll-fade:not(.top_about_ph):not(.hd_anime) { opacity: 0; }
.isActive:not(.top_about_ph):not(.hd_anime) {
    -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-animation-duration: 2.4s;
    animation-duration: 2.4s;
    -webkit-animation-name: fadeUp;
    animation-name: fadeUp;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}
@-webkit-keyframes fadeUp{
	0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}
    10%{opacity:0; }
	to{opacity:1;-webkit-transform:none;trfooter_logo_setansform:none}
}
@keyframes fadeUp{
	0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}
    10%{opacity:0; }
	to{opacity:1;-webkit-transform:none;transform:none}
}

/*line*/
.line01 { background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line02 { background-image: url("../img/parts/b_border2.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line03 { background-image: url("../img/parts/b_border3.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line04 { background-image: url("../img/parts/b_border4.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line05 { background-image: url("../img/parts/b_border5.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line06 { background-image: url("../img/parts/b_border6.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line07 { background-image: url("../img/parts/b_border7.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line08 { background-image: url("../img/parts/b_border8.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line09 { background-image: url("../img/parts/b_border9.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line10 { background-image: url("../img/parts/b_border10.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line11 { background-image: url("../img/parts/b_border11.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line13 { background-image: url("../img/parts/b_border13.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line14 { background-image: url("../img/parts/b_border14.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line15 { background-image: url("../img/parts/b_border15.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line16 { background-image: url("../img/parts/b_border16.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line17 { background-image: url("../img/parts/b_border17.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line18 { background-image: url("../img/parts/b_border18.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line19 { background-image: url("../img/parts/b_border19.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line20 { background-image: url("../img/parts/b_border20.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line21 { background-image: url("../img/parts/b_border21.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line22 { background-image: url("../img/parts/b_border22.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }

.line01:before { content: ""; display: block; background-image: url("../img/parts/b_dot_01.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line02:before { content: ""; display: block; background-image: url("../img/parts/b_dot_02.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line03:before { content: ""; display: block; background-image: url("../img/parts/b_dot_03.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line04:before { content: ""; display: block; background-image: url("../img/parts/b_dot_04.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line05:before { content: ""; display: block; background-image: url("../img/parts/b_dot_05.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line06:before { content: ""; display: block; background-image: url("../img/parts/b_dot_06.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line07:before { content: ""; display: block; background-image: url("../img/parts/b_dot_07.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line08:before { content: ""; display: block; background-image: url("../img/parts/b_dot_08.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line09:before { content: ""; display: block; background-image: url("../img/parts/b_dot_09.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line10:before { content: ""; display: block; background-image: url("../img/parts/b_dot_10.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line11:before { content: ""; display: block; background-image: url("../img/parts/b_dot_11.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line13:before { content: ""; display: block; background-image: url("../img/parts/b_dot_13.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line14:before { content: ""; display: block; background-image: url("../img/parts/b_dot_14.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line15:before { content: ""; display: block; background-image: url("../img/parts/b_dot_15.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line16:before { content: ""; display: block; background-image: url("../img/parts/b_dot_16.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line17:before { content: ""; display: block; background-image: url("../img/parts/b_dot_17.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line18:before { content: ""; display: block; background-image: url("../img/parts/b_dot_18.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line19:before { content: ""; display: block; background-image: url("../img/parts/b_dot_19.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line20:before { content: ""; display: block; background-image: url("../img/parts/b_dot_20.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line21:before { content: ""; display: block; background-image: url("../img/parts/b_dot_12.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line22:before { content: ""; display: block; background-image: url("../img/parts/b_dot_01.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }

.line01w { background-image: url("../img/parts/w_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line02w { background-image: url("../img/parts/w_border2.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line03w { background-image: url("../img/parts/w_border3.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line04w { background-image: url("../img/parts/w_border4.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line05w { background-image: url("../img/parts/w_border5.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line06w { background-image: url("../img/parts/w_border6.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line07w { background-image: url("../img/parts/w_border7.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line08w { background-image: url("../img/parts/w_border8.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line09w { background-image: url("../img/parts/w_border9.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line10w { background-image: url("../img/parts/w_border10.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line11w { background-image: url("../img/parts/w_border11.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line13w { background-image: url("../img/parts/w_border13.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line14w { background-image: url("../img/parts/w_border14.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line15w { background-image: url("../img/parts/w_border15.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line16w { background-image: url("../img/parts/w_border16.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line17w { background-image: url("../img/parts/w_border17.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line18w { background-image: url("../img/parts/w_border18.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line19w { background-image: url("../img/parts/w_border19.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line20w { background-image: url("../img/parts/w_border20.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line21w { background-image: url("../img/parts/w_border21.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.line22w { background-image: url("../img/parts/w_border22.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }

.line01w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_01.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line02w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_02.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line03w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_03.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line04w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_04.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line05w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_05.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line06w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_06.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line07w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_07.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line08w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_08.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line09w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_09.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line10w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_10.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line11w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_11.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line13w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_13.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line14w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_14.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line15w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_15.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line16w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_16.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line17w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_17.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line18w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_18.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line19w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_19.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line20w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_20.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line21w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_12.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.line22w:before { content: ""; display: block; background-image: url("../img/parts/w_dot_01.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }


/*navi*/
header { position: absolute; top: 0; width: 100%; }
header > .inner { display: flex; align-items: center; width: 100%; padding: 0; justify-content: space-between; box-sizing: border-box; }

.header_logo { width: 50px; line-height: 1; z-index: 10; position: absolute; right: 2.94vw; top: 2.94vw; }

.main_nav { display: flex; position: absolute; left: 2.94vw; top: 2.94vw; z-index: 10; }
.main_nav li { font-size: 1.5rem; line-height: 1.35;position: relative; }
.main_nav li + li { margin-left: calc(36 / 1700 * 100vw); }
.main_nav li a { display: block; padding-bottom: 5px; }
body.home .main_nav li,
body.single-lifestyles .main_nav li { color: #fff; }
body.page-id-2 .main_nav li#page01,
body.parent-pageid-2 .main_nav li#page01,
body.page-id-15 .main_nav li#page02,
body.parent-pageid-15 .main_nav li#page02,
body.post-type-archive-works .main_nav li#page03,
body.tax-works_cat .main_nav li#page03,
body.single-works .main_nav li#page03,
body.post-type-archive-lifestyles .main_nav li#page04,
body.post-type-archive-news .main_nav li#page05,
body.tax-news_cat:not(.term-recruit) .main_nav li#page05,
body.single-news .main_nav li#page05,
body.page-id-41 .main_nav li#page06,
body.parent-pageid-41 .main_nav li#page06 ,
body.page-id-33 .main_nav li#page07,
body.parent-pageid-33 .main_nav li#page07,
body.term-recruit .main_nav li#page08 { opacity: 1; background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
body.page-id-2 .main_nav li#page01:before,
body.parent-pageid-2 .main_nav li#page01:before,
body.page-id-15 .main_nav li#page02:before,
body.parent-pageid-15 .main_nav li#page02:before,
body.post-type-archive-works .main_nav li#page03:before,
body.tax-works_cat .main_nav li#page03:before,
body.single-works .main_nav li#page03:before,
body.post-type-archive-lifestyles .main_nav li#page04:before,
body.post-type-archive-news .main_nav li#page05:before,
body.tax-news_cat:not(.term-recruit) .main_nav li#page05:before,
body.single-news .main_nav li#page05:before,
body.page-id-41 .main_nav li#page06:before,
body.parent-pageid-41 .main_nav li#page06:before,
body.page-id-33 .main_nav li#page07:before,
body.parent-pageid-33 .main_nav li#page07:before,
body.term-recruit .main_nav li#page08:before { content: ""; display: block; background-image: url("../img/parts/b_dot_01.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }

body.single-lifestyles .main_nav li#page04 { opacity: 1; background-image: url("../img/parts/w_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
body.single-lifestyles .main_nav li#page04:before { content: ""; display: block; background-image: url("../img/parts/w_dot_01.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }

.main_nav.hover li { opacity: 0.5!important; }
.main_nav.hover li:hover { opacity: 1!important; }

.header_contact { display: block; width: 55px; height: 132px; text-align: center; vertical-align: middle; font-size: 1.5rem; position: absolute; right: 2.94vw; top: calc(100vh - 2.94vw); z-index: 10; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; background: url("../img/btn_recruit_bk.svg") no-repeat center; -webkit-transform:translateY(-100%); transform:translateY(-100%); }
body.home .header_contact,
body.single-lifestyles .header_contact { color: #fff; background: url("../img/btn_recruit_bg.svg") no-repeat center; }
.header_contact span { display: block; position: absolute; top: 50%; left: 50%; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }

.op_global_nav { display: none; }
.btn_humberger_box { display: none; }

@media screen and (max-width: 1024px) {
    .main_nav li { font-size: 1.3rem; line-height: 1.35; margin-left: calc(36 / 1700 * 100vw); opacity: 0.5; }
    
    .nav_main_link > li { padding: 15px 0 20px; position: relative; }
    .nav_main_link > li > a,
    .nav_main_link > li > span,
    .footer_nav li > a,
    .footer_nav li > span { display: block; font-size: 1.4rem; line-height: 1.5; position: relative; padding: 0; cursor: pointer; }
    .nav_local_link { display: none; }
    .nav_local_link > li > a { display: block; font-size: 1.3rem; line-height: 1.5; padding: 5px 0 5px 20px; position: relative; }
    .nav_local_link > li > a:before { content: ""; display: block; width: 6px; height: 1px; background: #7E7E7E; position: absolute; left: 0; top: 50%; }
    .nav_local_link { margin-top: 15px; border-left: 1px solid #7E7E7E; }
    .op_global_nav .nav_open,
    .footer_nav .nav_open { display: block; width: 10px; height: 10px; border-radius: 50%; background: #000; position: relative; position: absolute; top: 10px; right: 0; }
    .footer_nav .nav_open { top: 5px; }
    .op_global_nav .nav_open:before,
    .footer_nav .nav_open:before { content: ""; display: block; width: 5px; height: 1px; position: absolute; top: 50%; left: 50%; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%); background: #fff; }
    .op_global_nav .nav_open:after,
    .footer_nav .nav_open:after { content: ""; display: block; width: 1px; height: 5px; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); transform-origin: left left; background: #fff; }
    .op_global_nav .active .nav_open:after,
    .footer_nav .active .nav_open:after { -webkit-transform: rotate(90deg) translate(-50%,-50%); transform: rotate(90deg) translate(-50%,-50%); transform-origin: left bottom; }
    .op_global_nav .nav_arrow,
    .footer_nav .nav_arrow { display: block; width: 10px; height: 10px; border-radius: 50%; background: url("../img/arrow_nav.svg") no-repeat center; position: relative; position: absolute; top: 8px; right: 0; }
}

@media screen and (max-width: 900px) {
    .main_nav li { font-size: 1.1rem; line-height: 1.35; margin-left: calc(36 / 1700 * 100vw); opacity: 0.5; }
}

@media screen and (max-width: 767px) {
header { position: absolute; top: 0; width: 100%; }
header > .inner { display: flex; align-items: center; width: 100%; padding: 0; justify-content: space-between; box-sizing: border-box; }

    body:not(.home) .header_logo { width: 158px; line-height: 1; z-index: 10; position: absolute; right: auto; left: 50%; top: 20px; -webkit-transform:translateX(-50%); transform:translateX(-50%); }
    body.home .header_logo { width: 35px; right: 3.75%; }
    .header_logo img { width: 100%; }

    .main_nav { display: none; position: absolute; left: 2.94vw; top: 2.94vw; z-index: 10; }

    body:not(.home) .header_contact,
    body.style .header_contact { display: block; width: 66px; height: 25px; color: #000; text-align: center; vertical-align: middle; font-size: 1.1rem; position: absolute; right: 4.75vw; top: 20px; z-index: 10; -ms-writing-mode: horizontal-tb; writing-mode: lr; background: url("../img/btn_recruit_bk@sp.svg") no-repeat center; -webkit-transform:translateY(0); transform:translateY(0); }
    body.home .header_contact  { width: 36px; height: 87px; font-size: 1.2rem; color: #fff; background: url("../img/btn_recruit_bg.svg") no-repeat center / cover; }
    .header_contact span { display: block; width: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%); white-space: nowrap; }
    body.home .header_contact span { width: auto; }
    
    .btn_humberger_box { display: block; width: 40px; height: 70px; background: #000; border-radius: 0 0 5px 5px; text-align: center; vertical-align: middle; position: fixed; left: 2.5%; top: 0; z-index: 10000; cursor: pointer; }
    body.open .btn_humberger_box { background: #E50021; }
    .btn_humberger { position: absolute; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center;align-items: center; }
    .btn_humberger .txt { display: block; margin-top: 7px; font-size: 1.2rem; color: #fff; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
    .btn_humberger .line { width: 10px; height: 7px; position: relative; }
    .btn_humberger .line span { width: 100%; height: 1px; background: #fff; position: absolute; left: 0; -webkit-transition: all 0.6s cubic-bezier(.16,1,.3,1); transition: all 0.6s cubic-bezier(.16,1,.3,1); }
    .btn_humberger .line span:nth-child(2) { bottom: 0; }
    .btn_humberger .line span:nth-child(3) { bottom: 3px; }
    body.open .btn_humberger .line span:nth-child(1) { top: 3px; -webkit-transform: rotate(45deg); transform: rotate(45deg); transform-origin: center; }
    body.open .btn_humberger .line span:nth-child(2) { bottom: 3px; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); transform-origin: center; }
    body.open .btn_humberger .line span:nth-child(3) { opacity: 0; }

    .op_global_nav { display: block; width: 100%; height: 100vh; overflow-y: scroll; background: url("../img/bg_nav.png") repeat center; opacity: 0; pointer-events: none; position: fixed; top: 0; z-index: 9999; -webkit-transition: opacity 1.0s cubic-bezier(.16,1,.3,1); transition: opacity 1.0s cubic-bezier(.16,1,.3,1); }
    body.open .op_global_nav { opacity: 1; pointer-events: visible; }
    .op_global_nav > .inner { width: 80%; margin: 0 auto; padding: 100px 0 50px; }
    
    .nav_footer { text-align: center; }
    .nav_footer .name { width: 178px; margin: 60px auto 0; }
    .nav_footer * { font-size: 1.1rem; }
    .nav_footer address { margin: 15px 0 5px; }
    .nav_footer .copyrights { margin: 50px 0 0; }
    
}

/*top*/
.top_main { position: relative; }
.top_main > .inner:before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(0deg, rgba(0,0,0,1), rgba(0,0,0,0) 70%); opacity: 0.5; z-index: 2; }
.top_main_slide { height: 100vh; overflow: hidden;}
.top_main_slide .swiper-slide img { width: 100%; height: 100vh; object-fit: cover; object-position: center; }

.top_main_txt { width: 27.20vw; min-width: 400px; position: absolute; left: 2.94vw; bottom: 2.94vw; z-index: 2; }

.top_about { width: 82.36%; margin: 120px auto 170px; }
.top_about_body { display: flex; justify-content: space-between; margin-top: 15px; }
.top_about_body .ph { width: 65%; }
.top_about_body .txt { width: 27.35%; align-self: center; }
.top_common_hd { font-size: 2.0rem; }
.top_about_body .txt .read { font-size: 3.0rem; line-height: 1.5; margin-bottom: 30px; }
.top_about_body .txt .link { margin-top: 45px;}
.top_about_body .txt .link a { display: block; font-size: 1.5rem; padding: 30px 0 20px; position: relative; }
.top_about_body .txt .link a:after { content: ""; display: block; width: 8px; height: 8px; border-radius: 50%; position: absolute; right: 11px; top: 50%; background: url("../img/parts/b_dot_01.svg") no-repeat center / 2px 2px;  }

.top_about_slide { width: 100%; padding-bottom: 71.42%; overflow: hidden;  position: relative; 
 transition:transform .3s ease; }
.top_about_slide .swiper-wrapper { position: absolute; }
/*.top_about_slide .swiper-slide{ cursor:pointer; }*/
.top_about_slide .swiper-slide-active{ opacity:1; }
.slide-bgimg{ position:absolute; top:0; left:0; width:100%; height:100%; background-position:center; background-size:cover; }
.top_about_slide .swiper-slide{ overflow: hidden; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.entity-img{ display:none; }

.top_house { padding: 120px 0 170px; position: relative; }
.top_house .bg { width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; }
.top_house .bg img { content: ""; display: block; width: 100%; height: 100%; object-fit: cover; position: absolute; left: 0; top: 0; z-index: -1; opacity: 0; -webkit-transition: opacity 1.0s cubic-bezier(.16,1,.3,1); transition: opacity 1.0s cubic-bezier(.16,1,.3,1); }
.top_house .bg .bg01 .bg01 img,
.top_house .bg .bg02 .bg02 img,
.top_house .bg .bg03 .bg03 img,
.top_house .bg .bg04 .bg04 img,
.top_house .bg .bg05 .bg05 img,
.top_house .bg .bg06 .bg06 img { opacity: 1; }
.top_house .bg:before { content: ""; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: rgba(0,0,0,0.5); z-index: 0; }
.top_house > .inner { width: 82.36%; display: flex; justify-content: space-between; margin: 0 auto; position: relative; z-index: 2;}
.top_house_hd { width: 27.14%; display: flex; flex-direction: column; }
.top_house_hd .top_common_hd { color: #fff; }
.top_house_hd .ttl { font-size: 3.0rem; color: #fff; line-height: 1.5; }
.top_house_hd .read { color: #fff; margin-top: 60px; flex-grow: 2; }
.top_house_list { width: 65.0%; }
.top_house_item { display: block; position: relative; }
.top_house_item > div { display: flex; align-items: center; padding: 30px 30px 20px 30px; position: relative; }
.top_house_item .ph { width: 100px; overflow: hidden; }
.top_house_item .ph img { width: 100px; height: 100px; object-fit: cover; }
.top_house_item .txt { margin-left: 43px; }
.top_house_item .postttl { font-size: 2.0rem; color: #fff; }
.top_house_item .read { font-size: 1.5rem; color: #fff; }
.top_house_item:after { content: ""; display: block; width: 4px; height: 4px; border-radius: 50%; position: absolute; right: 11px; top: 50%; background: url("../img/parts/w_dot_01.svg") no-repeat center / 2px 2px; }
.top_house .link_more a { display: inline-block; width: 149px; height: 45px; background: url("../img/btn_house_bg.svg") no-repeat center; position: relative; z-index: 2; }
.top_house .link_more a span { font-size: 1.5rem; color: #fff; position: absolute; top: 50%; left: 50%; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }
.top_house .link_more.sp { display: none; }

.top_works { padding: 120px 0 170px; position: relative; }
.top_works > .inner { width: 82.36%; display: flex; justify-content: space-between; margin: 0 auto; position: relative; z-index: 2;}
.top_works_hd { width: 27.14%; display: flex; flex-direction: column; }
.top_works_hd .ttl { font-size: 3.0rem; line-height: 1.5; }
.top_works_list { width: 65.0%; display: flex; flex-wrap: wrap; justify-content: space-between; }
.top_works_item { width: 48.35%; margin-bottom: 40px; }
.top_works_item .ph { padding-bottom: 56.81%; position: relative; overflow: hidden; }
.top_works_item .ph img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.top_works_item .postttl { font-size: 2.0rem; line-height: 1.5; margin-top: 15px; }
.top_works_item .meta { font-size: 1.5rem; color: #74664E; }
.top_works .cat_list { margin-top: 45px; position: sticky; top: 30px; }
.top_works .cat_list.tab { display: none; }
.top_works .cat_list a { display: block; font-size: 1.5rem; padding: 25px 0 20px; position: relative; }
.top_works .cat_list a:after { content: ""; display: block; width: 8px; height: 8px; border-radius: 50%; position: absolute; right: 11px; top: 50%; background: url("../img/parts/b_dot_01.svg") no-repeat center / 2px 2px; }

.top_style { background: #718E88; padding: 120px 0 170px; position: relative; }
.top_style > .inner { width: 82.36%; display: flex; justify-content: space-between; margin: 0 auto; z-index: 2;}
.top_style_hd { width: 27.14%; display: flex; flex-direction: column; position: relative; z-index: 3;}
.top_style_hd .top_common_hd { color: #fff; }
.top_style_hd .ttl { font-size: 3.0rem; line-height: 1.5; color: #fff; }
.top_style_hd p { flex-grow: 2; color: #fff; margin-top: 60px; }
.top_style .link_more a { display: inline-block; width: 149px; height: 45px; background: url("../img/btn_house_bg.svg") no-repeat center; position: relative; z-index: 2; }
.top_style .link_more a span { font-size: 1.5rem; color: #fff; position: absolute; top: 50%; left: 50%; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }
.top_style_body { width: 65.0%; display: flex; justify-content: space-between; }
.top_style_slide { width: 57.14%; overflow: hidden; position: relative; z-index: 3; align-self: flex-start;}
.top_style_data { width: 25.38%; position: relative; z-index: 3; align-self: flex-end; }
.top_style_data .swiper-wrapper { position: static; }
.top_style_data .ph img { border-radius: 50%; }
.top_style_data .ttl { font-size: 1.8rem; text-align: left; color: #fff; line-height: 1.5; margin-top: 45px; }
.top_style_data .name { font-size: 1.2rem; text-align: left; color: #fff; margin-top: 15px; }
.top_style_data .link_read { text-align: right; margin-top: 55px; }
.top_style_data .link_read a,
.style_list_item .link_read span { display: inline-block; width: 100%; max-width: 200px; padding: 10px 0; font-size: 1.5rem; color: #fff; text-align: left; position: relative; background-image: url("../img/parts/w_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.top_style_data .link_read a:after,
.style_list_item .link_read span:after { content: ""; display: block; width: 8px; height: 8px; background-image: url("../img/parts/w_dot_01.svg"); background-repeat: no-repeat; background-size: 2px 2px; background-position: center; position: absolute; right: 11px; top: 22px; }
.top_style_slide .swiper-slide { opacity: 0.22; padding-bottom: 100%; }
.top_style_slide .swiper-slide-active { opacity: 1; }
.top_style_slide.swiper-3d .swiper-slide-shadow { display: none!important; }
.top_style_slide .swiper-slide img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.top_style_data .swiper-slide { opacity: 0!important; }
.top_style_data .swiper-slide-active { opacity: 1!important;}
.top_style .tab { display: none; }

.top_style_bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.top_style_bg .bg { position: absolute; width: 100%; height: 100%; }

.top_news { padding: 100px 0 170px; position: relative; }
.top_news > .inner { width: 82.36%; display: flex; justify-content: space-between; margin: 0 auto; position: relative; z-index: 2;}
.top_news_hd { width: 27.14%; display: flex; flex-direction: column; }
.top_news_hd .ttl { font-size: 3.0rem; line-height: 1.5; flex-grow: 2; }
.top_news_hd p { flex-grow: 2; margin-top: 60px; }
.top_news .link_more a { display: inline-block; width: 149px; height: 45px; background: url("../img/btn_news_bg.svg") no-repeat center; position: relative; }
.top_news .link_more a span { font-size: 1.5rem; position: absolute; top: 50%; left: 50%; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }
.top_news_list { width: 65.0%; }
.top_news_item { display: block; padding: 25px 0 30px; position: relative; }
.top_news_item:after { content: ""; display: block; width: 8px; height: 8px; position: absolute; right: 0; top: 55px; background: url("../img/parts/b_dot_01.svg") no-repeat center / 2px 2px; }
.top_news_item .date { font-size: 1.5rem; color: #74664E; }
.top_news_item .hd { display: flex; align-items: flex-start; margin-top: 10px; }
.top_news_item .meta { min-width: 60px; font-size: 1.1rem; color: #fff; background: #74664E; text-align: center; }
.top_news_item .postttl { font-size: 1.5rem; margin-left: 14px; line-height: 1.5; } 
.top_news .tab { display: none; }

footer { background: #fff; margin-top: 0; padding: 125px 0; }
footer > .inner { width: 82.36%; display: flex; justify-content: space-between; margin: 0 auto; position: relative; z-index: 2;}
.footer_company { width: 22.42%; display: flex; flex-direction: column; }
.footer_company address { font-size: 1.3rem; line-height: 1.5; margin-top: 26px; }
.footer_company .tel { font-size: 1.3rem; line-height: 1.5; margin-top: 13px; flex-grow: 2; }
.footer_company .copyrights { font-size: 1.3rem; }
.footer_nav { width: 66.92%; display: flex; justify-content: space-between; }
.footer_nav.tab { display: none; }
.footer_nav_item { width: 27.74%; }
.footer_nav_item .lineRand { position: relative; display: block; margin-bottom: 10px; padding-bottom: 5px;}
.footer_nav_item li { font-size: 2.0rem; }
.footer_nav_item li li { font-size: 1.5rem; }
.footer_nav_item > ul > li + li { margin-top: 31px; }

@keyframes zoomUp {
  0% {
    transform: scale(1.12);
  }
  100% {
    transform: scale(1);
  }
}
.top_main_slide .swiper-slide-active-prev img,
.top_main_slide .swiper-slide-active img {
  -webkit-transform: scale(1.12);
  transform: scale(1.12);
  -webkit-animation: zoomUp 9s linear 0s normal both;
  animation: zoomUp 9s linear 0s normal both;
}
.top_main_slide .swiper-pagination { display: none; }

@media screen and (max-width: 1300px) {
    .footer_nav_item li { font-size: 1.6rem; }
    .footer_nav_item li li { font-size: 1.4rem; }
}

@media screen and (max-width: 1024px) {
    .top_about_body { display: block; justify-content: space-between; align-items: center; margin-top: 15px; }
    .top_about_body .ph { width: auto; }
    .top_about_body .txt { width: auto; }
    .top_common_hd { font-size: 1.2rem; }
    .top_about_body .txt .link { margin-top: 30px;}
    .top_about_body .txt .read { font-size: 2.0rem; line-height: 1.5; margin: 25px 0 15px; }
    .top_about_body .txt .link a { display: block; font-size: 1.4rem; padding: 15px 0 10px; position: relative; }
    
    .top_house > .inner { width: 82.36%; display: block; justify-content: space-between; margin: 0 auto; position: relative; z-index: 2;}
    .top_house_hd { width: auto; }
    .top_house_hd .ttl { font-size: 2.0rem; color: #fff; line-height: 1.5; }
    .top_house_hd .read { color: #fff; margin-top: 30px; }
    .top_house_list { width: auto; margin-top: 30px; background-image: url("../img/parts/w_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left top; position: relative; }
    .top_house_list:before { content: ""; display: block; background-image: url("../img/parts/w_dot_01.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: 0; top: -1px; }
    .top_house_item > div { display: flex; align-items: center; padding: 20px 30px 20px 0; position: relative; }
    .top_house_item .postttl { font-size: 1.6rem; color: #fff; }
    .top_house_item .read { font-size: 1.4rem; color: #fff; }
    .top_house .link_more.pc { display: none; }
    .top_house .link_more.sp { display: block; text-align: center; margin-top: 30px; }
    
    .top_works > .inner { width: 82.36%; display: block; margin: 0 auto; position: relative; z-index: 2;}
    .top_works_hd { width: auto; display: flex; flex-direction: column; }
    .top_works_hd .ttl { font-size: 2.0rem; line-height: 1.5; flex-grow: 2; }
    .top_works_list { width: auto; margin-top: 35px; display: flex; flex-wrap: wrap; justify-content: space-between; }
    .top_works_item .postttl { font-size: 1.4rem; line-height: 1.5; margin-top: 10px; }
    .top_works_item .meta { font-size: 1.4rem; }
    .top_works .cat_list.tab { display: block; margin-top: 0; }
    .top_works .cat_list.pc { display: none; }
    
    .top_style > .inner { width: 82.36%; display: block; margin: 0 auto; z-index: 2;}
    .top_style_hd { width: auto; display: flex; flex-direction: column; }
.top_style_hd .top_common_hd { color: #fff; }
    .top_style_hd .ttl { font-size: 2.0rem; line-height: 1.5; color: #fff; }
    .top_style_hd p { flex-grow: 2; color: #fff; margin-top: 20px; }
    .top_style .link_more { text-align: center; }
.top_style_hd .link_more a { display: inline-block; width: 149px; height: 45px; background: url("../img/btn_house_bg.svg") no-repeat center; position: relative; }
    .top_style .link_more a span { font-size: 1.4rem; color: #fff; position: absolute; top: 50%; left: 50%; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }
    .top_style_body { width: auto; display: block; }
    .top_style_slide { width: 75%; margin: 40px auto; overflow: hidden; }
    .top_style_data { width: auto; max-width: 400px; margin: 0 auto; }
    .top_style_data .swiper-slide { display: flex; justify-content: space-between; }
    .top_style_data .ph { width: 120px;}
    .top_style_data .ttl { font-size: 1.6rem; text-align: left; color: #fff; line-height: 1.5; margin-top: 0; }
    .top_style_data .name { font-size: 1.2rem; text-align: left; color: #fff; margin-top: 5px; }
    .top_style_data .link_read { text-align: right; margin-top: 15px; }
    .top_style_data .link_read a { display: inline-block; width: 100%; max-width: 130px; font-size: 1.2rem; color: #fff; text-align: left; position: relative; }
    .top_style .pc { display: none; }
    .top_style .tab { display: block; }
    .top_style .link_more { margin-top: 38px;}
    
    .top_news > .inner { width: 82.36%; display: block; justify-content: space-between; margin: 0 auto; position: relative; z-index: 2;}
    .top_news_hd { width: auto; display: flex; flex-direction: column; }
    .top_news_hd .ttl { font-size: 2.0rem; line-height: 1.5; flex-grow: 2; }
.top_news_hd p { flex-grow: 2; margin-top: 60px; }
    .top_news .link_more a span { font-size: 1.4rem; position: absolute; top: 50%; left: 50%; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }
    .top_news_list { width: 100%; margin-top: 20px; }
    .top_news_item .postttl { font-size: 1.4rem; margin-left: 14px; line-height: 1.5; }
    .top_news_item .date { font-size: 1.2rem; }
    .top_news_item .hd { display: flex; align-items: flex-start; margin-top: 5px; }
.top_news_item .meta { min-width: 60px; font-size: 1.1rem; color: #fff; background: #74664E; text-align: center; }
    .top_news .pc { display: none; }
    .top_news .tab { display: block; margin-top: 30px; text-align: center; }
    
    footer { background: #fff; margin-top: 0; padding: 50px 0 45px; }
    footer > .inner { width: 80%; display: flex; flex-direction: column-reverse; justify-content: space-between; margin: 0 auto; position: relative; z-index: 2;}
    .footer_company { width: auto; display: block; flex-direction: column; }
    .footer_company .name { width: 178px; margin: 60px auto 0; }
    .footer_company address { font-size: 1.1rem; line-height: 1.5; margin-top: 15px; text-align: center; }
    .footer_company .tel { font-size: 1.1rem; line-height: 1.5; margin-top: 10px; flex-grow: 2; text-align: center; }
    .footer_company .copyrights { font-size: 1.1rem; text-align: center; margin-top: 50px; }
    .footer_nav.tab { width: auto; display: block; justify-content: space-between; }
    .footer_nav.pc { display: none; }
    .footer_nav_item { width: auto; }
    .footer_nav_item > ul > li { margin-top: 15px!important; padding-bottom: 10px; font-size: 1.4rem; }
    .footer_nav_item li li { font-size: 1.1rem; }
    .footer_nav_item > ul > li > ul { margin: 5px 0 0; padding: 5px 0; border-left: 1px solid #7d7c7a; }
    .footer_nav_item > ul > li > ul li { font-size: 1.3rem; color: #959491; position: relative; }
}

@media screen and (max-width: 767px) {
.top_main { position: relative; }
    .top_main_slide { height: 100vh; height: 100svh; overflow: hidden;}
.top_main_slide .swiper-slide img { width: 100%; height: 100vh; object-fit: cover; object-position: center; }

    .top_main_txt { width: 56vw; min-width: auto; max-width: 350px; position: absolute; left: 7.5vw; bottom: 7.5vw; z-index: 2; }

    .top_about { width: 80%; margin: 55px auto 60px; }
.top_about_body .txt .link a:after { content: ""; display: block; width: 8px; height: 8px; border-radius: 50%; position: absolute; right: 11px; top: 50%; background: url("../img/parts/b_dot_01.svg") no-repeat center / 2px 2px;  }

    .top_about_slide { width: 100%; padding-bottom: 71.28%; overflow: hidden; position: relative; transition:transform .3s ease; }
.top_about_slide .swiper-wrapper { position: absolute; }
    .top_about_slide .swiper-slide{ cursor:pointer; }
.top_about_slide .swiper-slide-active{ opacity:1; }
    .slide-bgimg{ position:absolute; top:0; left:0; width:100%; height:100%; background-position:center; background-size:cover; }
.top_about_slide .swiper-slide{ overflow: hidden; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.entity-img{ display:none; }

    .top_house { padding: 55px 0; position: relative; }
.top_house .bg { width: 100%; height: 100%; background: url("../img/dammy_news_catch.jpg") no-repeat center / cover; position: absolute; top: 0; left: 0; }
.top_house .bg:before { content: ""; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: rgba(0,0,0,0.5); }
    .top_house > .inner { width: 80%; display: block;  margin: 0 auto; position: relative; z-index: 2;}
.top_house_hd .top_common_hd { color: #fff; }
.top_house_item { display: block; position: relative; }
    .top_house_item .ph { width: 70px; min-width: 70px; overflow: hidden; }
    .top_house_item .ph img { width: 70px; height: 70px; object-fit: cover; }
.top_house_item .txt { margin-left: 21px; }
.top_house_item:after { content: ""; display: block; width: 4px; height: 4px; border-radius: 50%; position: absolute; right: 11px; top: 50%; background: url("../img/parts/w_dot_01.svg") no-repeat center / 2px 2px; }

    .top_works { padding: 65px 0 55px; position: relative; }
    .top_works > .inner { width: 80%; display: block; margin: 0 auto; position: relative; z-index: 2;}
    .top_works_item { width: 100%; margin-bottom: 40px; }
    body.home .top_works_item:nth-child(5),
    body.home .top_works_item:nth-child(6) { display: none; }
.top_works_item .ph { overflow: hidden; }
.top_works .cat_list a:after { content: ""; display: block; width: 8px; height: 8px; border-radius: 50%; position: absolute; right: 11px; top: 50%; background: url("../img/parts/b_dot_01.svg") no-repeat center / 2px 2px; }

    .top_style { background: #718E88; padding: 55px 0; position: relative; }
    .top_style > .inner { width: 80%; display: block; margin: 0 auto; z-index: 2;}
.top_style_hd .top_common_hd { color: #fff; }
.top_style_hd .link_more a { display: inline-block; width: 149px; height: 45px; background: url("../img/btn_house_bg.svg") no-repeat center; position: relative; }
.top_style_hd .link_more a span { font-size: 1.5rem; color: #fff; position: absolute; top: 50%; left: 50%; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }
    .top_style_data .ph { width: 85px;}
    .top_style_data .txt { flex-grow: 2; margin-left: 20px;}
.top_style_data .ph img { border-radius: 50%; }
.top_style_data .link_read a:after { content: ""; display: block; width: 3px; height: 3px; border-radius: 50%; position: absolute; right: 11px; top: 50%; background: #fff; }
.top_style_slide .swiper-slide { opacity: 0.22; }
.top_style_slide .swiper-slide-active { opacity: 1; }
.top_style_slide.swiper-3d .swiper-slide-shadow { display: none!important; }
    
    .top_news { padding: 55px 0 60px; position: relative; }
    .top_news_item { display: block; padding: 15px 0 12px; position: relative; }
    .top_news_item:after { content: ""; display: block; width: 3px; height: 3px; background: url("../img/dot_link.svg") no-repeat center / contain; position: absolute; right: 0; top: 45px;}
    .top_news_item .postttl { font-size: 1.4rem; margin-left: 0; line-height: 1.5; } 
    .top_news_item .meta { min-width: 60px; font-size: 1.1rem; color: #fff; background: #74664E; text-align: center; line-height: 1.5; }
}

/*common*/
main.page { padding-top: 200px; position: relative; }
main.page._mb { margin-bottom: 200px; overflow-x: hidden;}
main.page:after { content: ""; display: block; width: 25%; height: 100vh; position: fixed; right: 0; top: 0; z-index: -1; background: linear-gradient(90deg, rgb(255,255,255,0) 0%, rgb(255,255,255,100) 64.28%, rgb(255,255,255,100) 100%) }
.page_ttl_sub { font-size: 2.0rem; }
.page_ttl_main { font-size: 4.0rem; line-height: 1.5; letter-spacing: 0.1em; }
.page_ttl .read { line-height: 1.6; margin-top: 25px; }

.normal_tb { width: 100%; margin-top: 25px; background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left top; }
.normal_tb tr:first-child th:before { content: ""; display: block; width: 3px; height: 3px; background: url("../img/dot_link.svg") no-repeat center / contain; position: absolute; left: 0; top: -1px; }
.normal_tb tr { background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.normal_tb th, .normal_tb td { font-size: 1.5rem; padding: 25px 0; }
.normal_tb th { width: 12em; background: url("../img/dot_link.svg") no-repeat left bottom / 3px; position: relative; }
.normal_tb .year { width: 7em; }
.normal_tb .month { width: 8em; }
.normal_tb .dot { background: url("../img/dot_link.svg") no-repeat left bottom / 2px; }

.normal_tb ul { margin-bottom: 25px; }
.normal_tb ul + .year { margin-top: -25px; }
.normal_tb ul:last-child { margin-bottom: 0; }
.normal_tb li { padding-left: 1em; position: relative; }
.normal_tb li:before { content: "・"; display: block; position: absolute; left: 0;}

@media screen and (max-width: 1024px) {
    .page_ttl_sub { font-size: 1.2rem; }
    .page_ttl_main { font-size: 2.0rem; line-height: 1.5; letter-spacing: 0.1em; }
    
    .normal_tb th, .normal_tb td { font-size: 1.4rem; padding: 20px 0; }
}

@media screen and (max-width: 767px) {
    main.page { padding-top: 137px; }
    main.page._mb { margin-bottom: 100px; overflow-x: hidden;}
    main.page:after,
    .page_style:after { content: ""; display: block; width: 100%; height: 460px; position: absolute; right: 0; top: 0; z-index: -1; background: linear-gradient(180deg, rgb(255,255,255,1) 0%, rgb(255,255,255,1) 13.04%, rgb(255,255,255,0) 100%) }
    .page_ttl_sub { font-size: 1.2rem; }
    .page_ttl_main { font-size: 2.0rem; line-height: 1.5; letter-spacing: 0.1em; }
    
    .normal_tb th { width: 8em; background: url("../img/dot_link.svg") no-repeat left bottom / 3px; position: relative; }
}

/*works*/
.archive_works_head { margin: 0 150px; }
.archive_works_head .page_ttl,
.about_head .page_ttl { width: 65%; }
.archive_works_head > .inner { max-width: 1400px; margin: 0 auto 80px; display: flex; justify-content: space-between; }

.archive_cat_list { width: 28.07%; min-width: 28.07%; }
.archive_cat_list li { font-size: 1.4rem; }
.archive_cat_list li + li { margin-top: 5px;}
.archive_cat_list a { position: relative; opacity: 0.5; }
.archive_cat_list .active a { opacity: 1; }
.archive_cat_list .active a:before { content: ""; display: block; width: 13px; height: 6px; background: url("../img/line_nav.svg") no-repeat; position: absolute; left: -27px; top: calc(50% - 3px); }

.archive_cat_spbox { display: none; }

.archive_works_list { margin: 0 150px; }
.archive_works_list > .inner  { max-width: 1400px; margin: 0 auto; display: flex; flex-wrap: wrap; }
.archive_works_list .top_works_item { width: 31.42%; margin-left: 2.87%; }
.archive_works_list .top_works_item:nth-child(3n + 1) { margin-left: 0; }

.pagenav { background: #DBD2C3; padding: 55px 0 60px; margin-top: 150px; box-sizing: border-box; }
.pagenav._single { padding: 80px 0 100px; }
.pagenav > .inner { width: 82.36%; margin: 0 auto; padding: 0 150px; box-sizing: border-box; display: flex; position: relative; }
.pagenav > .inner .number { width: 100%; display: flex; justify-content: center; }
.pagenav > .inner .number a,
.pagenav > .inner .number span { display: inline-block; font-size: 1.5rem; padding: 0 10px 12px; }
.pagenav > .inner .number span { background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.pagenav > .inner .prev { position: absolute; left: 0; }
.pagenav > .inner .next { position: absolute; right: 0; }
.pagenav > .inner .number .prev,
.pagenav > .inner .number .next { display: none; }
.pagenav > .inner .prev a, .pagenav > .inner .next a { display: block; width: 130px; padding-bottom: 12px; text-align: center; font-size: 1.5rem; background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.pagenav > .inner .prev a:before, .pagenav > .inner .next a:before { content: ""; display: block; background-image: url("../img/parts/b_dot_01.svg"); background-repeat: no-repeat; width: 4px; height: 4px; background-size: 2px 2px; background-position: center; position: absolute; left: -1px; bottom: -1px; }
.pagenav > .inner .index { margin: 0 auto; }
.pagenav > .inner .index a { display: block; width: 147px; height: 42px; box-sizing: border-box; margin: 0 auto; padding-top: 8px; background: url("../img/line_btn.svg") no-repeat center; font-size: 1.4rem; text-align: center; position: relative; }

.archive_cat { margin: 0 190px 169px 0; }
.archive_cat > .inner { width: auto; margin: 0 0 0 0; display: flex; align-items: flex-end; }
.archive_cat_ph { width: 70.19%; }
.archive_cat_ph img { width: 100%; }
.archive_cat_txt { width: 25.16%; margin: 0 0 47px 4.63%; }
.archive_cat_txt .hd { font-size: 2.0rem; }
.archive_cat_txt .read { font-size: 3.0rem; line-height: 1.5; margin-bottom: 20px; }

@media screen and (min-width: 1701px) {
    .archive_cat { margin: 0 calc((100% - 1700px) / 2 + 190px) 169px 0; }
}

@media screen and (max-width: 1024px) {
    .archive_works { width: 80.0%; margin: 0 auto; }
    
    .archive_works_list .top_works_item { width: 47.42%; margin-left: 5.16%; }
    .archive_works_list .top_works_item:nth-child(3n + 1) { margin-left: 5.16%; }
    .archive_works_list .top_works_item:nth-child(2n + 1) { margin-left: 0; }
    
    .archive_cat { margin: 0 150px 50px 0; }
    .archive_cat > .inner { width: auto; margin: 0 0 0 0; display: flex; align-items: flex-start; }
    .archive_cat_txt { width: 25.16%; margin: 0 0 0 4.63%; }
    .archive_cat_txt .hd { font-size: 1.4rem; }
    .archive_cat_txt .read { font-size: 2.0rem; line-height: 1.5; margin-bottom: 20px; }
}

@media screen and (max-width: 767px) {
    .archive_works_head { margin: 0; }
    .archive_works_head > .inner { max-width: 1400px; width: 100%; margin: 0 auto; display: block; justify-content: space-between; }
    .page_ttl,
    .archive_works_head .page_ttl,
    .about_head .page_ttl { width: 80%; margin: 0 auto; }

    .archive_cat_list { display: none; }
    
    .archive_cat_spbox { display: block; background: #DBD2C3; margin: 40px 0 1px; padding: 10px 10%; }
    .archive_cat_list + .archive_cat_spbox { margin-bottom: 50px; }
    .archive_cat_hd { font-size: 1.1rem; color: #74664E; }
    .archive_cat_select { background: #DBD2C3; width: 100%; padding: 10px 0; }

    .archive_works_list { margin: 0 10%; }
.archive_works_list { display: flex; flex-wrap: wrap; justify-content: space-between; }
    .archive_works_list .top_works_item { width: 100%; margin-left: 0; }
    .archive_works_list .top_works_item:nth-child(3n + 1) { margin-left: 0; }

    .pagenav,
    .pagenav._single { background: #DBD2C3; padding: 35px 0; margin-top: 0; }
    .pagenav > .inner { width: 80%; margin: 0 auto; padding: 0; box-sizing: border-box; display: flex; flex-wrap: wrap; justify-content: space-between; position: relative; }
    .pagenav > .inner .number { width: 100%; margin-bottom: 20px; }
.pagenav > .inner .number ul { display: flex; justify-content: center; width: 100%; }
    .pagenav > .inner .number li { margin: 0 10px; }
.pagenav > .inner .number li > * { display: inline-block; font-size: 1.5rem; padding: 0 10px 12px; }
.pagenav > .inner .number li > span { background: url("../img/line_gnav_bk.svg") no-repeat bottom center; }
    .pagenav > .inner .prev { position: relative; left: 0; order: 2; }
    .pagenav > .inner .next { position: relative; right: 0; order: 2; }
    .pagenav > .inner .prev a, .pagenav > .inner .next a { display: block; width: 70px; padding-bottom: 12px; text-align: center; font-size: 1.5rem; }
    
    .pagenav._news .index { width: 100%; margin-top: 40px; order: 3; }

    .archive_cat { margin: 0 0 50px 0; }
    .archive_cat > .inner { width: auto; margin: 0 0 0 0; display: block; align-items: flex-start; }
    .archive_cat_ph { width: auto; margin-top: 30px; }
    .archive_cat_ph img { width: 100%; height: 400px; object-fit: cover; }
    .archive_cat_txt { width: 80%; margin: 35px auto; }
.archive_cat_txt .hd { font-size: 1.4rem; }
.archive_cat_txt .read { font-size: 2.0rem; line-height: 1.5; margin-bottom: 20px; }
}

/*works single*/
.works_single_body { margin: 0 150px; }
.works_single_body > .inner { max-width: 1400px; margin: 0 auto; }

.works_single_ttl { font-size: 2.5rem; line-height: 1.5; }
.works_single_cat { font-size: 1.5rem; color: #74664E; }
.works_single_meta { width: 30%; }
.works_single_meta dl { display: flex; flex-wrap: wrap; }
.works_single_meta dt { width: 5em; font-size: 1.5rem; }
.works_single_meta dd { width: calc(100% - 5em); padding-left: 0.5em; box-sizing: border-box; font-size: 1.5rem; position: relative; }
.works_single_meta dd:before { content: ":"; position: absolute; left: 0; }
.works_single_mainph { margin: 0 150px; }
.works_single_mainph > .inner { max-width: 1400px; margin: 0 auto 170px; }
.works_single_mainph img { width: calc(100% + 150px); max-width: none; margin-left: -150px; }

.works_single_type01 { display: flex; justify-content: space-between; margin-top: 80px; }
.works_single_type01 figure { width: 47.57%; }
.works_single_type01 figcaption { font-size: 1.5rem; color: #666; margin-top: 20px; }
.works_single_type02 { margin-top: 80px; }
.works_single_type02 figcaption { font-size: 1.5rem; color: #666; margin-top: 20px; }
.works_single_type03 { width: 65%; margin-top: 80px; }
.works_single_type03.right { margin-left: 35%; }
.works_single_type03 figcaption { font-size: 1.5rem; color: #666; margin-top: 20px; }
.works_single_type04 { display: flex; justify-content: space-between; margin-top: 170px; }
.works_single_type04 .hd { width: 30%; font-size: 2.5rem; line-height: 1.5; }
.works_single_type04 .body { width: 65%; }

.recommend_works { width: 82.36%; margin: 0 auto 85px; }
.recommend_works_hd { font-size: 2.0rem; color: #74664E; margin-bottom: 25px; }
.recommend_works_list { display: flex; justify-content: space-between; }
.recommend_works_list .top_works_item { width: 31.42%; }

@media screen and (max-width: 1024px) {
    .works_single_ttl { font-size: 1.8rem; line-height: 1.5; }
    .works_single_cat { font-size: 1.4rem; color: #74664E; }
    
    .works_single_meta dt { width: 5em; font-size: 1.4rem; }
    .works_single_meta dd { width: calc(100% - 5em); padding-left: 0.5em; box-sizing: border-box; font-size: 1.4rem; position: relative; }
    
    .archive_works_head._single > .inner { max-width: 1400px; margin: 0 auto 45px; display: block;  }
    .archive_works_head._single .page_ttl,
    .archive_works_head._single .works_single_meta{ width: auto; }
    .archive_works_head._single .works_single_meta { margin-top: 20px; }
}

@media screen and (max-width: 767px) {
    .works_single_body { margin: 0 10% 60px; }
.works_single_body > .inner { max-width: 1400px; margin: 0 auto; }

.works_single_meta { width: 30%; }
.works_single_meta dl { display: flex; flex-wrap: wrap; }
.works_single_meta dd:before { content: ":"; position: absolute; left: 0; }
    .works_single_mainph { margin: 0; }
.works_single_mainph > .inner { max-width: 1400px; margin: 0 auto; }
    .works_single_mainph img { width: 100%; height: 400px; object-fit: cover; max-width: none; margin-left: 0; }

    .works_single_type01 { display: block; margin-top: 45px; }
    .works_single_type01 figure { width: auto; }
    .works_single_type01 figcaption { font-size: 1.4rem; color: #666; margin-top: 15px; }
    .works_single_type02 { margin-top: 45px; }
    .works_single_type02 figcaption { font-size: 1.4rem; color: #666; margin-top: 15px; }
    .works_single_type03 { width: auto; margin-top: 45px; }
    .works_single_type03.right { margin-left: 0; }
    .works_single_type03 figcaption { font-size: 1.4rem; color: #666; margin-top: 15px; }
    .works_single_type04 { display: block; justify-content: space-between; margin-top: 50px; }
    .works_single_type04 .hd { width: auto; font-size: 1.8rem; line-height: 1.5; }
    .works_single_type04 .body { width: auto; margin-top: 15px; }
    .works_single_body figure + figure { margin-top: 30px;}
    
    .archive_works_head._single .page_ttl { width: 80%; margin: 0 auto; }
    .archive_works_head._single .works_single_meta{ width: 80%; margin: 30px auto 0; }

    .recommend_works { width: 80%; margin: 0 auto; }
    .recommend_works_hd { font-size: 1.4rem; color: #74664E; margin-bottom: 15px; }
    .recommend_works_list { display: flex; flex-wrap: wrap; justify-content: space-between; }
    .recommend_works_list .top_works_item { width: 100%; }
    
    .pagenav ._pc { display: none; }
}

/*news*/
.archive_news_list { margin: 0 150px; }
.archive_news_list > .inner { max-width: 1400px; margin: 0 auto; }
.archive_news_list .top_news_item { margin-left: 35%; }
.top_news_item .meta._sp { display: none; }

@media screen and (max-width: 1024px) {
    .archive_news_list .top_news_item { margin-left: 0; }
}

@media screen and (max-width: 767px) {
    .archive_news_list { margin: 40px 10%; }
    
    .top_news_item .data { display: flex; }
    .top_news_item .meta._pc { display: none; }
    .top_news_item .meta._sp { display: block; margin-left: 16px; }
}
    

/*news single*/
.single_news { width: 65.29%; min-width: 700px; max-width: 1110px; margin: 0 auto; background: #fff; }
.single_news > .inner { width: 81.98%; margin: 0 auto; padding: 70px 0 90px; }
.news_single_ttl { font-size: 2.5rem; }
.news_single_data { display: flex; }
.news_single_data .date { font-size: 1.5rem; margin-right: 12px; }
.news_single_data .meta a { display: inline-block; width: 60px; font-size: 1.1rem; color: #fff; background: #74664E; text-align: center; }
.single_news_body { margin-top: 35px; }
.single_news_body * + * { margin-top: 35px; }

@media screen and (max-width: 1024px) {
    .single_news { width: auto; min-width: auto; margin: 0 150px; background: #fff; }
    .news_single_ttl { font-size: 1.8rem; }
    .news_single_data .date { font-size: 1.2rem; margin-right: 12px; }
    .news_single_data .meta a { display: inline-block; width: 60px; font-size: 1.1rem; color: #fff; background: #74664E; text-align: center; line-height: 1.5; }
}

@media screen and (max-width: 767px) {
    .single_news { width: auto; min-width: auto; margin: 0; }
    .single_news > .inner { width: auto; margin: 0 auto; padding: 0 0 90px; }
.news_single_data { display: flex; }
.news_single_data .meta a { display: inline-block; width: 60px; font-size: 1.1rem; color: #fff; background: #74664E; text-align: center; }
    .single_news_body { margin: 35px 10% 0; }
.single_news_body * + * { margin-top: 35px; }  
}


/*company*/
.company_head { margin: 0 150px; }
.company_head > .inner { max-width: 1400px; margin: 0 auto 80px; display: flex; justify-content: space-between; }
.company_body { width: 53.52%; min-width: 600px; margin: 0 auto; }

@media screen and (max-width: 1024px) {
    .company_body { width: auto; min-width: auto; margin: 0 150px; }
}

@media screen and (max-width: 767px) {
    .company_head { margin: 0; }
    .company_body { width: auto; min-width: auto; margin: 30px 10% 0; }
    
}

/*about*/
.about_head { margin: 0 150px 80px; }
.about_head > .inner { max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between; }
.about_body { margin: 0 150px; }
.about_body > .inner { max-width: 1400px; margin: 0 auto; }

.about_maincopy { width: 135px; position: absolute; top: 87px; right: 60px;}

.about_item + .about_item { margin-top: 50px; }

.about_hd { display: flex; justify-content: space-between; }
.about_hd_ph { width: 65%; }
.about_hd_txt { width: 27.85%; display: flex; flex-direction: column; justify-content: space-between; }
.about_hd .ttl { font-size: 4.0rem; line-height: 1.5; margin: 0 auto 85px; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings:normal; }
.about_hd .ttl.tb { display: none; }
.about_hd_txt .read { font-size: 2.0rem; margin-bottom: 20px; line-height: 1.5; }

.about_list { display: flex; flex-wrap: wrap; margin-top: 88px; }
.about_list_item { width: 31.42%; margin: 0 0 55px 2.87%; }
.about_list_item:nth-child(3n + 1) { margin-left: 0; }
.about_list_item .ttl { font-size: 2.0rem; line-height: 1.5; margin: 20px 0 10px; }

.about_banner { display: block; position: relative; margin-top: 100px; }
.about_banner .txt { width: calc(100% - 300px); margin: 0 150px; position: absolute; top: 50%; -webkit-transform:translateY(-50%); transform:translateY(-50%); z-index: 2; }
.about_banner .txt > .inner { width: 100%; max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }
.about_banner .font_en { font-size: 2.0rem; color: #fff; }
.about_banner .ja { font-size: 3.0rem; color: #fff; }
.about_banner .btn { width: 149px; height: 45px; font-size: 1.4rem; color: #fff; background: url("../img/btn_line_wh.svg") no-repeat center; display: flex; align-items: center; justify-content: center; }
.about_banner .ph:after { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: rgba(0,0,0,0.16); }

.about_kodawari { padding: 170px 150px; background: #9F7B62; position: relative; }
.about_kodawari:before { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: url("../img/about_kodawari_bg.png") repeat left top; mix-blend-mode: multiply; z-index: 2; }
.about_kodawari > .inner { max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between; position: relative; z-index: 3; }
.about_kodawari * { color: #fff;}
.about_kodawari_txt { width: 27.14%; }
.about_kodawari_ph { width: 65%; }
.about_kodawari .linkbox_item .ph { overflow: hidden; }
.about_kodawari .main.tb { display: none; }

.about_kodawari_txt .read { font-size: 2.0rem; margin-top: 45px; }
.about_kodawari_txt .ttl { font-size: 3.0rem; line-height: 1.5; margin-bottom: 40px; }
.about_kodawari_ph .linkbox { display: flex; justify-content: space-between; margin-top: 15px; }
.about_kodawari_ph .linkbox_item { width: 48.35%; font-size: 1.5rem; }
.about_kodawari_ph .hd { font-size: 2.0rem; margin-top: 80px; }
.about_kodawari_ph .txt { font-size: 1.5rem; padding: 20px 0; }

.loca_nav { margin-top: 170px; padding: 50px 150px; background: #DBD2C3; }
.loca_nav._mt0 { margin-top: 0; }
.loca_nav > .inner { width: 100%; max-width: 1400px; margin: 0 auto; }
.loca_nav_list { display: flex; flex-wrap: wrap; margin-top: 15px; }
.loca_nav_list a { width: 25%; margin-top: 15px; padding-right: 3%; min-width: 215px; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; }
.loca_nav_list._house a { width: 20%; }
.loca_nav_list a .ph { width: 100px; overflow: hidden; }
.loca_nav_list a .txt { width: calc(100% - 120px); font-size: 1.5rem; }
.loca_nav_hd { font-size: 2.0rem; color: #74664E; }

@media screen and (max-width: 1024px) {
    .about_maincopy { width: 21%; position: absolute; top: 9%; right: 6.5%;}

    .about_hd { display: block; }
    .about_hd_ph { width: auto; }
    .about_hd_txt { width: auto; margin-top: 28px; display: flex; flex-direction: column; justify-content: space-between; }
    .about_hd .ttl { font-size: 2.0rem; line-height: 1.5; margin: 0 auto 85px; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings:normal; }
    .about_hd .ttl.tb { display: block; }
    .about_hd .ttl.pc { display: none; }
    .about_hd_txt .read { font-size: 1.6rem; margin-bottom: 20px; }
    
    .about_list_item { width: 48%; margin: 0 0 55px 0; }
    .about_list_item:nth-child(3n + 1) { margin-left: 0; }
    .about_list_item:nth-child(2n) { margin-left: 4%; }
    .about_list_item .ttl { font-size: 1.6rem; line-height: 1.5; margin: 20px 0 10px; }
    
    .about_banner .font_en { font-size: 1.2rem; color: #fff; }
    .about_banner .ja { font-size: 2.0rem; color: #fff; }
    
    .about_kodawari > .inner { max-width: 1400px; margin: 0 auto; display: block; justify-content: space-between; position: relative; z-index: 3; }
    .about_kodawari_txt { width: 100%; }
    .about_kodawari_ph { width: 100%; }
    .about_kodawari .main.tb { display: block; }
    .about_kodawari .main.pc { display: none; }

    .about_kodawari_txt .read { font-size: 1.4rem; margin-top: 25px; }
    .about_kodawari_txt .ttl { font-size: 2.0rem; line-height: 1.5; margin-bottom: 25px; }
    .about_kodawari_ph .hd { font-size: 1.2rem; margin-top: 55px; }
    .about_kodawari_ph .txt { font-size: 1.4rem!important; padding: 10px 0; }

    .loca_nav_list a { width: 100%; margin-top: 20px; padding-right: 3%; padding-bottom: 20px; min-width: 215px; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between;  background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; position: relative; }
    .loca_nav_list a:before { content: ""; display: block; width: 3px; height: 3px; background: url("../img/dot_link.svg") no-repeat left bottom; position: absolute; left: -1px; bottom: -1px; }
    .loca_nav_list._house a { width: 100%; }
    .loca_nav_list a .ph { width: 70px; }
    .loca_nav_list a .txt { width: calc(100% - 90px); font-size: 1.4rem; }
    .loca_nav_hd { font-size: 1.4rem; color: #74664E; text-align: right; }
    
}

@media screen and (max-width: 767px) {
    .about_head { margin: 0 0 50px; }
.about_head > .inner { max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between; }
    .about_body { margin: 0 10%; }
.about_body > .inner { max-width: 1400px; margin: 0 auto; }

    .about_maincopy { position: absolute; top: 30px; right: 6.75%;}
    

    .about_item { margin-top: 100px; }

    .about_hd_ph { width: 125%; margin-left: -12.5%; }
    .about_hd .ttl { font-size: 2.0rem; line-height: 1.5; margin: 0 auto 38px; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings:normal; }
    .about_hd_txt .read { font-size: 1.6rem; margin-bottom: 20px; }

    .about_list { display: flex; flex-wrap: wrap; margin-top: 88px; }
    .about_list_item { width: 100%; margin: 0 0 55px 0; }
    .about_list_item:nth-child(2n) { margin-left: 0; }

.about_banner { display: block; position: relative; margin-top: 100px; }
    .about_banner .txt { width: 100%; margin: 0 10%; position: absolute; top: 50%; -webkit-transform:translateY(-50%); transform:translateY(-50%); z-index: 2; }
    .about_banner .txt > .inner { width: 100%; max-width: 1400px; margin: 0 auto; display: block; justify-content: space-between; align-items: center; }
    .about_banner .ph img { width: 100vw; height: 100vw; max-height: 400px; object-fit: cover; }
    .about_banner .btn { width: 149px; margin-top: 40px; height: 45px; font-size: 1.4rem; color: #fff; background: url("../img/btn_line_wh.svg") no-repeat center; display: flex; align-items: center; justify-content: center; }
.about_banner .ph:after { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: rgba(0,0,0,0.16); }

    .about_kodawari { padding: 60px 10%; background: #9F7B62; position: relative; }
.about_kodawari:before { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background: url("../img/about_kodawari_bg.png") repeat left top; mix-blend-mode: multiply; z-index: 2; }
    .about_kodawari > .inner { max-width: 1400px; margin: 0 auto; display: block; position: relative; z-index: 3; }
.about_kodawari * { color: #fff;}
    .about_kodawari_txt { width: auto; }
    .about_kodawari_ph { width: auto; }


.about_kodawari_ph .linkbox { display: flex; justify-content: space-between; margin-top: 15px; }
.about_kodawari_ph .linkbox_item { width: 48.35%; font-size: 1.5rem; }
    
    .loca_nav { margin-top: 65px; padding: 45px 10% 55px; background: #DBD2C3; }
.loca_nav > .inner { width: 100%; max-width: 1400px; margin: 0 auto; }
.loca_nav_list { display: flex; flex-wrap: wrap; margin-top: 15px; }
    
}

/*about project*/
.history_item { display: flex; justify-content: space-between; padding-bottom: 95px; background: url("../img/parts/b_border1_v.png") no-repeat left top / 1.5px 1502px; position: relative; }
.history_item_txt { width: 27.14%; padding-left: 43px; box-sizing: border-box; }
.history_item_txt:before { content: ""; display: block; width: 4px; height: 4px; background: url("../img/dot_ll.svg") no-repeat left bottom / 6px 6px; position: absolute; left: -1px; top: 0; }
.history_item_ph { width: 65%; }
.history_item_txt .year { font-size: 2.0rem; line-height: 1.5; margin-top: -12px; }
.history_item_txt .year .font_en { font-size: 2.4rem; }
.history_item_txt .ttl { font-size: 2.5rem; line-height: 1.5; margin-bottom: 10px; }
.history_item_slidebox { position: relative; }
.history_item_slide { margin-bottom: 40px; overflow: hidden; }
.history_item_slidebox .swiper-button-prev { width: 50px; height: 80px; background: #000; border-radius: 6px; position: absolute; left: 0; top: 50%; -webkit-transform:translate(-50%, -50%); transform:translate(-50%, -50%); z-index: 2; }
.history_item_slidebox .swiper-button-prev:after { content: ""; display: block; width: 14px; height: 24px; background: url("../img/arrow_slide.svg") no-repeat center center; position: absolute; left: 50%; top: 50%; -webkit-transform:scale(-1, 1) translate(-50%, -50%); transform:scale(-1, 1) translate(-50%, -50%); -webkit-transform-origin: left; transform-origin: left; }
.history_item_slidebox .swiper-button-next { width: 50px; height: 80px; background: #000; border-radius: 6px; position: absolute; right: 0; top: 50%; -webkit-transform:translate(50%, -50%); transform:translate(50%, -50%); z-index: 2; }
.history_item_slidebox .swiper-button-next:after { content: ""; display: block; width: 14px; height: 24px; background: url("../img/arrow_slide.svg") no-repeat center center; position: absolute; left: 50%; top: 50%; -webkit-transform:translate(-50%, -50%); transform: translate(-50%, -50%); }

.project_item { display: flex; justify-content: space-between; padding: 4.28%; background: #589872; }
.project_item * { color: #fff; }
.project_item_ph { width: 66.40%; }
.project_item_txt { width: 28.28%; align-self: center; }
.project_item_txt .font_en { font-size: 1.5rem; }
.project_item_txt .ttl { font-size: 2.5rem; line-height: 1.5; margin-bottom: 50px; }

@media screen and (max-width: 1024px) {
    .history_item { display: block; justify-content: space-between; padding-bottom: 35px; padding-left: 43px; background: url("../img/parts/b_border1_v.png") no-repeat left top / 3px 2305px; position: relative; }
    .history_item_txt { width: auto; padding-left: 0; box-sizing: border-box; }
    .history_item_txt:before { content: ""; display: block; width: 12px; height: 12px; background: url("../img/dot_ll.svg") no-repeat left bottom; position: absolute; left: -47px; top: 0; }
    .history_item_ph { width: auto; margin-top: 18px; }
    .history_item_txt .year { font-size: 1.7rem; line-height: 1.5; margin-top: 0; }
    .history_item_txt .year .font_en { font-size: 2.0rem; }
    .history_item_txt .ttl { font-size: 2.0rem; line-height: 1.5; margin-bottom: 0; }
    
    .project_item { display: block; justify-content: space-between; align-items: flex-end; margin: 0 -20px; padding: 5.55%; background: #589872; }
    .project_item_ph { width: auto; }
    .project_item_txt { width: auto; margin-top: 18px; }
    .project_item_txt .font_en { font-size: 1.2rem; }
    .project_item_txt .ttl { font-size: 1.6rem; line-height: 1.5; margin-bottom: 15px; }
    
    .history_item_slidebox .swiper-button-prev { width: 20px; height: 31px; background: #000; border-radius: 6px; position: absolute; left: 0; top: 50%; -webkit-transform:translate(-50%, 0%); transform:translate(-50%, 0%); z-index: 2; }
    .history_item_slidebox .swiper-button-prev:after { content: ""; display: block; width: 7px; height: 10px; background: url("../img/arrow_slide.svg") no-repeat center center; position: absolute; left: 50%; top: 50%; -webkit-transform:scale(-1, 1) translate(-50%, -50%); transform:scale(-1, 1) translate(-50%, -50%); -webkit-transform-origin: left; transform-origin: left; }
    .history_item_slidebox .swiper-button-next { width: 20px; height: 31px; background: #000; border-radius: 6px; position: absolute; right: 0; top: 50%; -webkit-transform:translate(50%, 0%); transform:translate(50%, 0%); z-index: 2; }
    .history_item_slidebox .swiper-button-next:after { content: ""; display: block; width: 7px; height: 10px; background: url("../img/arrow_slide.svg") no-repeat center center; position: absolute; left: 50%; top: 50%; -webkit-transform:translate(-50%, -50%); transform: translate(-50%, -50%); }
}

@media screen and (max-width: 767px) {
    .history_item { display: block; justify-content: space-between; width: 100%; margin-left: -20px; padding-bottom: 35px; padding-left: 20px; background: url("../img/parts/b_border1_v.png") no-repeat left top / 1.5px 1502px; position: relative; }
    .history_item_txt:before { content: ""; display: block; width: 4px; height: 4px; background: url("../img/dot_ll.svg") no-repeat left bottom / contain; position: absolute; left: -21px; top: 0; }
    .history_item_ph .ph { margin-bottom: 20px; }
    
}

/*about staff*/
.staff_list { display: flex; flex-wrap: wrap; }
.staff_item { width: 22.85%; margin: 0 0 45px 2.86%; cursor: pointer; }
.staff_item:nth-child(4n + 1) { margin-left: 0; }
.staff_item .ph { padding-bottom: 100%; position: relative; overflow: hidden; }
.staff_item .ph img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.staff_item .position { font-size: 1.5rem; margin-top: 15px; }
.staff_item .name { font-size: 2.5rem; line-height: 1.5; margin-bottom: 15px; padding-bottom: 15px; position: relative; }
.staff_item .name:after { content: ""; display: block; width: 8px; height: 8px; position: absolute; right: 0; top: 16px; background: url("../img/parts/arrow_staff.svg") no-repeat center / 8px 8px; }


@media screen and (max-width: 1024px) {
    .staff_list { margin-top: 60px; }
    .staff_item { width: 48%; margin: 0 0 45px 4%; }
    .staff_item:nth-child(4n + 1) { margin-left: 4%; }
    .staff_item:nth-child(2n + 1) { margin-left: 0; }
    .staff_item .position { font-size: 1.4rem; margin-top: 15px; }
    .staff_item .name { font-size: 1.8rem; line-height: 1.5; margin-bottom: 15px; }
}

@media screen and (max-width: 767px) {
    .staff_item { width: 100%; margin: 0 0 35px 0; }
    .staff_item:nth-child(4n + 1) { margin-left: 0; }
    .staff_item:nth-child(2n + 1) { margin-left: 0; }
    .staff_item .ph img { width: 100%; }
    .staff_item:last-child { margin-bottom: 0; }
    .staff_item .name:after { content: ""; display: block; width: 8px; height: 8px; position: absolute; right: 0; top: 10px; background: url("../img/parts/arrow_staff.svg") no-repeat center / 8px 8px; }
}



/*terashima's house*/
.thouse_point_list { width: 64.23%; min-width: 700px; max-width: 1092px; margin: 0 auto; }
.thouse_point_list > .inner { padding-bottom: 36.99%; position: relative; }
.thouse_point_item { width: 36.99%; height: 100%; background: url("../img/thouse_circle.svg") no-repeat center / contain; position: absolute; }
.thouse_point_item:nth-child(2) { margin-left: 31.50%; }
.thouse_point_item:nth-child(3) { margin-left: 63.00%; }
.thouse_point_item .txt { position: absolute; top: 50%; width: 100%; text-align: center; -webkit-transform:translateY(-50%); transform:translateY(-50%); }
.thouse_point .copy { text-align: center; margin-top: 60px; }
.thouse_point_item .hd { font-size: 4.0rem; line-height: 1.5; margin: 0 auto 20px; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings:normal; }
.thouse_point_item .discription { font-size: 1.5rem; line-height: 1.6; }

.concept_top { margin: 0 150px; }
.concept_top > .inner { max-width: 1400px; margin: 0 auto; }
.concept_top_head { display: flex; justify-content: space-between; align-items: flex-end; }
.concept_top_head .copy { width: 30%; }
.concept_top_head .ph { width: 60%; }
.concept_top_read { margin: 110px 0 0 40%; }
.concept_top_read .notes { font-size: 1.3rem; margin-top: 15px; }
.concept_top_listbox { margin-top: 80px; background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left top; }
.concept_top_list { display: flex; flex-wrap: wrap; background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.concept_top_item { width: 33%; padding: 4.64%; box-sizing: border-box; background-image: url("../img/parts/b_border_v.png"); background-repeat: no-repeat; background-size: 11px 558px; background-position: left top; }
.concept_top_item:nth-child(3n + 1) { background: none;}
.concept_top_item .ttl { font-size: 2.0rem; line-height: 1.5; margin-bottom: 15px; }
.concept_top_item .num { display: inline-block; margin-right: 9px;}
.concept_top_sdgs { margin-top: 110px; }
.concept_top_sdgs .read { font-size: 3.0rem; text-align: center; line-height: 1.5; }
.concept_top_sdgs .hd { font-size: 2.0rem; margin-bottom: 25px; text-align: center; }
.concept_top_sdgs .box { margin-top: 45px; padding: 30px; background: #fff; border-radius: 10px; }
.concept_top_sdgs .box > .inner { max-width: 1020px; margin: 0 auto; }
.concept_top_sdgs .box > .inner img { width: 100%; }
.concept_top_sdgs .img { display: flex; align-items: center; justify-content: center; }
.concept_top_sdgs .ico { margin-left: 32px; } 

.thouse_feature { background: #DBD2C3; margin-top: 150px; padding: 170px 150px; }
.thouse_feature > .inner { max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between; }
.thouse_feature_hd { width: 27.14%; font-size: 3.0rem; line-height: 1.5; }
.thouse_feature_item { display: block; position: relative; }
.thouse_feature_item > div { display: flex; align-items: center; padding: 22px 30px; position: relative; }
.thouse_feature_item > div:after { content: ""; display: block; width: 8px; height: 8px; position: absolute; right: 11px; top: 50%; background: url(../img/parts/b_dot_01.svg) no-repeat center / 2px 2px; }
.thouse_feature_item .ph { width: 100px; overflow: hidden; }
.thouse_feature_item .ph img { width: 100px; height: 100px; object-fit: cover; }
.thouse_feature_item .txt { width: calc(100% - 142px); margin-left: 42px; }
.thouse_feature_item .txt .ttl { font-size: 2.0rem; }
.thouse_feature_item .txt .read { font-size: 1.5rem; }
.thouse_feature_list { width: 65%; }

@media screen and (max-width: 1024px) {
    .thouse_point_list { width: 64.23%; min-width: 600px; max-width: 1092px; margin: 0 auto; }
    .thouse_point_item .hd { font-size: 2.0rem; line-height: 1.5; margin: 0 auto 20px; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings:normal; }
    .thouse_point_item .discription { font-size: 1.1rem; line-height: 1.6; }

    .concept_top_head { display: flex; flex-direction: column-reverse; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
    .concept_top_head .copy { width: 100%; max-width: 227px; margin-top: 40px; }
    .concept_top_head .ph { width: 100%; }
    .concept_top_read { margin: 50px 0 0; }
    .concept_top_read .notes { font-size: 1.1rem; margin-top: 15px; }
    .concept_top_listbox { margin-top: 30px; background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left top; }
    .concept_top_list { display: flex; flex-wrap: wrap; background-image: none;  }
    .concept_top_item,
    .concept_top_item:nth-child(3n + 1){ width: 100%; padding: 30px 0; box-sizing: border-box; background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
    .concept_top_item .ttl { font-size: 1.8rem; line-height: 1.5; margin-bottom: 15px; }
.concept_top_item .num { display: inline-block; margin-right: 9px;}
    .concept_top_sdgs { margin-top: 70px; }
    .concept_top_sdgs .read { font-size: 1.8rem; text-align: center; line-height: 1.5; }
    .concept_top_sdgs .hd { font-size: 1.4rem; margin-bottom: 10px; text-align: center; }
    .concept_top_sdgs .box { margin-top: 45px; padding: 20px; background: #fff; border-radius: 10px; }
    .concept_top_sdgs .box > .inner { max-width: 400px; margin: 0 auto; }
    .concept_top_sdgs .img { display: flex; flex-direction: column; flex-wrap: wrap; align-items: center; justify-content: center; }
    .concept_top_sdgs .ico { width: 100%; margin: 15px 0 0; text-align: center; } 
    
    .thouse_feature > .inner { max-width: 1400px; margin: 0 auto; display: block; justify-content: space-between; }
    .thouse_feature_hd { width: auto; font-size: 1.8rem; line-height: 1.5; }
    .thouse_feature_item > div { display: flex; align-items: center; padding: 22px 0; position: relative; }
    .thouse_feature_list { width: auto; margin-top: 50px; background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left top; position: relative; }
    .thouse_feature_list:after { content: ""; display: block; width: 3px; height: 3px; background: url("../img/dot_link.svg") no-repeat left bottom; position: absolute; left: 0; top: -1px; }
    .thouse_feature_item .txt .ttl { font-size: 1.6rem; }
    .thouse_feature_item .txt .read { font-size: 1.4rem; }
}

@media screen and (max-width: 767px) {
    .thouse_point_list { width: 80%; min-width: auto; max-width: 280px; margin: 0 auto; }
    .thouse_point_list > .inner { padding-bottom: 0; position: relative; }
    .thouse_point_item { width: 100%; height: auto; margin: 0 auto!important; padding-bottom: 100%; background: url("../img/thouse_circle.svg") no-repeat center / contain; position: relative; }
    .thouse_point_item:nth-child(2),
    .thouse_point_item:nth-child(3) { margin-top: -7%!important; }
    .thouse_point .copy { text-align: left; margin: 50px 10% 0; }
    
    .concept_top { margin: 0 10%; }
    .concept_top > .inner { max-width: 1400px; margin: 0 auto; }
    .concept_top_head .ph { width: 125%; margin-left: -12.5%; }
    .concept_top_sdgs .ico { width: 100%; margin: 20px 0 0; text-align: center; } 
    .concept_top_sdgs .ico img { width: 100%; max-width: 240px; }
    
    .thouse_feature { background: #DBD2C3; margin-top: 57px; padding: 43px 10%; }
    .thouse_feature_item > div:after { display: none; }
    .thouse_feature_item .ph { width: 70px; }
    .thouse_feature_item .ph img { width: 70px; height: 70px; object-fit: cover; }
    .thouse_feature_item .txt { width: calc(100% - 91px); margin-left: 21px; }
    .thouse_feature_list { width: auto; margin-top: 20px; background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left top; position: relative; } 
}

/*about introduction*/
.project_body { margin-top: 170px; padding: 170px 150px 230px; background: #589872; }
.project_body > .inner { max-width: 1400px; margin: 0 auto; }
.project_body * { color: #fff; }
.project_hd { font-size: 2.0rem; }
.project_ttl { font-size: 4.0rem; line-height: 1.5; margin-bottom: 90px; }

@media screen and (max-width: 1024px) {
    .project_hd { font-size: 1.2rem; }
    .project_ttl { font-size: 2.0rem; line-height: 1.5; margin-bottom: 90px; }
}

@media screen and (max-width: 767px) {
    .project_body { margin-top: 170px; padding: 90px 10% 140px; background: #589872; }
.project_body > .inner { max-width: 1400px; margin: 0 auto; }
    
}

/*terashima's house single*/
.house_body { margin: 0 150px; }
.house_body > .inner { max-width: 1400px; margin: 0 auto; }
.house_item { display: flex; justify-content: space-between; }
.house_item:nth-child(2n) { flex-direction: row-reverse; }
.house_item + .house_item { margin-top: 178px; }
.house_item_ph { width: 65%; }
.house_item_txt { width: 27.85%; align-self: center; }
.house_item .ttl { font-size: 2.0rem; line-height: 1.5; margin: 0 auto 25px; }
.house_item p + p { margin-top: 0.5em; }

@media screen and (max-width: 1024px) {
    .house_item { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
    .house_item_ph { width: 100%; }
    .house_item_txt { width: 100%; margin-top: 24px; }
    .house_item .ttl { font-size: 1.6rem; line-height: 1.5; margin: 0 auto 25px; }
}

@media screen and (max-width: 767px) {
    .house_item + .house_item { margin-top: 42px; }
    
}

/*style*/
.style_list { margin: 0 150px; }
.style_list > .inner { max-width: 1400px; margin: 0 auto; }

.style_list_item { display: flex; justify-content: space-between; padding: 30px; border-radius: 32px; background: #718D88; position: relative; }
.style_list_item  + .style_list_item  { margin-top: 50px; }
.style_list_item .ph { width: 65.67%; }
.style_list_item .ph > div { padding-bottom: 68.18%; position: relative; overflow: hidden; border-radius: 16px; }
.style_list_item .ph > div img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.style_list_item .txt { width: 29.10%; align-self: center; }
.style_list_item .txt * { color: #fff; }
.style_list_item .link_read { width: 100%; font-size: 1.5rem; position: absolute; bottom: 80px; }
.style_list_item .read { font-size: 2.5rem; line-height: 1.5; }
.style_list_item .name { font-size: 1.5rem; }
.style_list_item .hd { padding: 80px 0; }

@media screen and (max-width: 1024px) {
    .style_list_item { display: block; padding: 10px; border-radius: 16px; }
    .style_list_item  + .style_list_item  { margin-top: 20px; }
    .style_list_item .ph { width: auto; }
    .style_list_item .ph > div { padding-bottom: 100%; position: relative; border-radius: 11px; }
.style_list_item .ph > div img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
    .style_list_item .txt { width: auto; box-sizing: border-box; padding: 20px; position: relative; }
.style_list_item .txt * { color: #fff; }
    .style_list_item .link_read { width: 100%; margin-top: 27px; font-size: 1.5rem; position: relative; bottom: auto; }
    .style_list_item .read { font-size: 2.0rem; line-height: 1.5; }
    .style_list_item .name { font-size: 1.4rem; }
    .style_list_item .hd { padding: 0 0; }
}

@media screen and (max-width: 767px) {
    .style_list { margin: 0 10%; }
}





/*style post*/
.style_mainph { position: relative; }
.style_mainph:after { content: ""; display: block; width: 100%; height: 100%; background: rgba(0,0,0,0.2); position: absolute; top: 0; left: 0; }
.style_mainph img { width: 100%; height: calc(100vh + 220px); object-fit: cover; }
.style_head { margin: 0 150px; }
.style_head > .inner { max-width: 1400px; margin: -270px auto 0; -webkit-transform:translateY(-100%); transform:translateY(-100%); }
.style_head * { color: #fff; }

.style_head { margin: 0 150px; }
.style_head > .inner { max-width: 1400px; margin: -270px auto 0; -webkit-transform:translateY(-100%); transform:translateY(-100%); }

.style_discription { margin: 0 150px; position: relative; z-index: 2; }
.style_discription > .inner { display: flex; justify-content: space-between; max-width: 1400px; padding: 60px 17.5%; border-radius: 30px; background: #718E88; }
.style_discription .ph { width: 32.96%; }
.style_discription .ph img { border-radius: 50%; }
.style_discription .txt { width: 58.24%; align-self: center; }
.style_discription .txt * { color: #fff; }
.style_discription .read { font-size: 2.5rem; }
.style_discription .meta { font-size: 1.5rem; line-height: 1.6; margin: 5px 0 30px; }

.style_body { margin: 0 150px; position: relative;  }
.style_body > .inner { max-width: 1400px; margin: 0 auto; }
.style_body > .inner > *:not(.wp-block-lazyblock-phwide) { margin-left: 17.5%; margin-right: 17.5%; }

.style_body h2 { font-size: 3.0rem; line-height: 1.5; margin: 170px 0 35px; }
.style_body .read { font-size: 2.0rem; line-height: 1.6; margin: 30px 0 45px;}
.style_body p + p { margin-top: 1em; }
.style_body figure { margin: 40px 0 0;}
.style_body figcaption { font-size: 1.5rem; margin-top: 10px;}
.style_body .wp-block-lazyblock-phwide { margin-top: 170px; }

.style_data { margin-top: 170px; padding: 80px 150px 135px; background: #fff; }
.style_data > .inner { max-width: 1400px; margin: 0 auto; }
.style_data_ttl { font-size: 1.4rem; color: #74664E; }
.style_data_body { position: relative; margin-top: 64px; }
.style_data_body > div { padding: 45px; display: flex; justify-content: space-between; align-items: flex-start; }
.style_data_body:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 48px; height: 48px; border-top: 1px solid #000; border-left: 1px solid #000;}
.style_data_body:after { content: ""; display: block; position: absolute; left: -1px; bottom: -1px; width: 48px; height: 48px; border-bottom: 1px solid #000; border-left: 1px solid #000;}
.style_data_body > div:before { content: ""; display: block; position: absolute; right: 0; top: 0; width: 48px; height: 48px; border-top: 1px solid #000; border-right: 1px solid #000;}
.style_data_body > div:after { content: ""; display: block; position: absolute; right: 0; bottom: 0; width: 48px; height: 48px; border-bottom: 1px solid #000; border-right: 1px solid #000;}
.data_list { width: 33.74%; min-width: 415px; display: flex; flex-wrap: wrap; font-size: 1.5rem; }
.data_notes { width: 60.09%; margin-left: 6%; font-size: 1.5rem; }
.data_list dt { width: 8em; margin-bottom: 20px; }
.data_list dd { width: calc(100% - 8em); margin-bottom: 20px; padding-left: 8em; box-sizing: border-box; position: relative;}
.data_list dd:before { content: "…………"; display: block; position: absolute; left: 0; }

.link_style_list { display: flex; margin-top: 30px; }
.link_style_item { display: flex; justify-content: space-between; width: 31.42%; margin-right: 2.85%; padding: 20px; background: #79A4A8; border-radius: 15px; }
.link_style_item .ph { width: 140px; }
.link_style_item .ph > div { padding-bottom: 100%; position: relative; }
.link_style_item .ph > div img { width: 100%; height: 100%; border-radius: 10px; position: absolute; object-fit: cover; }
.link_style_item .txt { width: calc(100% - 170px); align-self: center; }
.link_style_item .txt * { color: #fff; }
.link_style_item .ttl { font-size: 1.5rem; line-height: 1.5; }
.link_style_item .name { font-size: 1.5rem; }

@media screen and (max-width: 1400px) {
    .link_style_item .ph { width: 75px; }
    .link_style_item .txt { width: calc(100% - 95px); }
    .link_style_item .ttl { font-size: 1.2rem; line-height: 1.5; }
    .link_style_item .name { font-size: 1.1rem; }
}

@media screen and (max-width: 1250px) {
    .style_data_body > div { padding: 45px; display: block; justify-content: space-between; align-items: flex-start; }
    .data_list { width: 100%; min-width: auto; display: flex; flex-wrap: wrap; font-size: 1.5rem; }
    .data_notes { width: 100%; margin: 20px 0 0; font-size: 1.5rem; }
}

@media screen and (max-width: 1024px) {
    .style_discription .read { font-size: 1.8rem; }
    .style_discription .meta { font-size: 1.4rem; line-height: 1.6; margin: 5px 0 30px; }

    .style_body h2 { font-size: 2.0rem; line-height: 1.5; margin: 170px 0 35px; }
    .style_body .read { font-size: 1.6rem; line-height: 1.6; margin: 30px 0 45px;}
    
    .style_body > .inner > *:not(.wp-block-lazyblock-phwide) { margin-left: 0; margin-right: 0; }
    .style_body .wp-block-lazyblock-phwide { margin: 170px -10% 0; }
    .style_body figcaption { font-size: 1.2rem; margin-top: 10px;}
    
    .data_list { width: 100%; min-width: auto; display: flex; flex-wrap: wrap; font-size: 1.4rem; }
    .data_notes { width: 100%; margin: 20px 0 0; font-size: 1.4rem; }
    
    .link_style_item .ttl { font-size: 1.6rem; line-height: 1.5; }
    .link_style_item .name { font-size: 1.4rem; }
    
    .link_style_list { display: block; margin-top: 30px; }
    .link_style_item { display: flex; justify-content: space-between; width: auto; margin-right: 2.85%; padding: 20px; background: #79A4A8; border-radius: 15px; }
    .link_style_item + .link_style_item { margin-top: 10px; }
}

@media screen and (max-width: 767px) {
    .style_mainph { position: relative; z-index: -2; }
    .style_mainph img { width: 100%; height: 192vw; max-height: 770px; object-fit: cover; }
    .style_head { margin: 0 5%; position: absolute; }
    .style_head > .inner { max-width: 1400px; margin: -80px auto 0; -webkit-transform:translateY(-100%); transform:translateY(-100%); }
.style_head * { color: #fff; }
    .style_head .page_ttl { width: 100%; }
    .style_head .page_ttl_main { margin-top: 10px;}
    
    .style_discription { margin: -50px 5% 0; position: relative; z-index: 2; }
    .style_discription > .inner { display: block; justify-content: space-between; max-width: 1400px; padding: 40px 5.5%; border-radius: 15px; background: #718E88; }
    .style_discription .ph { width: auto; max-width: 280px; margin: 0 auto; }
    .style_discription .txt { width: auto; margin-top: 35px; }
    
    .style_body { margin: 0 10%; position: relative;  }
    .style_body h2 { font-size: 2.0rem; line-height: 1.5; margin: 60px 0 35px; }
    .style_body .ph_wide { margin: 60px -12.5% 0; }
    .style_body .ph_wide img { width: 100%; height: 100vw; object-fit: cover; }
    
    .style_data_body > div { padding: 5%; display: block; justify-content: space-between; align-items: flex-start; }
    .style_data { margin-top: 65px; padding: 40px 7.5% 65px; background: #fff; }
    .data_list dt { width: 5em; margin-bottom: 20px; }
    .data_list dd { width: calc(100% - 5em); margin-bottom: 20px; padding-left: 3em; box-sizing: border-box; position: relative;}
    .data_list dd:before { content: "……"; display: block; position: absolute; left: 0; }
}


/*service*/
.service_mainph,
.common_mainph { margin: 0 150px; }
.service_mainph > .inner,
.common_mainph > .inner { max-width: 1400px; margin: 0 auto 170px; position: relative; }
.service_mainph > .inner img,
.common_mainph > .inner img:not(._copy) { width: calc(100% + 150px); max-width: none; margin-left: -150px; }

.service_body,
.common_body { margin: 0 150px; }
.service_body > .inner,
.common_body > .inner { max-width: 1400px; margin: 0 auto; }
.service_item { display: flex; justify-content: space-between; }
.service_item:nth-child(2n) { flex-direction: row-reverse; }
.service_item + .service_item { margin-top: 178px; }
.service_item_ph { width: 65%; }
.service_item_txt { width: 27.85%; display: flex; flex-direction: column; justify-content: space-between; }
.service_item .ttl { font-size: 4.0rem; line-height: 1.5; margin: 0 auto 85px; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings:normal; }
.service_item .ttl.tb { display: none; }
.service_item .read { font-size: 2.0rem; margin-bottom: 20px; }

.service_link { max-width: 910px; width: 100%; margin: 0 auto; }
.service_link a { display: flex; justify-content: space-between; align-items: center; background: #fff; margin-top: 170px; padding: 60px 5.5%; }
.service_link a .main { font-size: 2.5rem; }
.service_link a .sub { font-size: 1.5rem; padding-right: 35px; position: relative; }
.service_link a .sub:after { content: ""; display: block; background-image: url("../img/parts/b_dot_01.svg"); background-repeat: no-repeat; width: 8px; height: 8px; background-size: 2px 2px; background-position: center; position: absolute; right: 0; top: calc(50% - 4px); }

@media screen and (min-width: 1700px) {
    .service_mainph > .inner,
    .common_mainph > .inner { max-width: 1400px; margin: 0 auto 170px; position: relative; }
    .service_mainph > .inner img,
    .common_mainph > .inner img:not(._copy) { width: calc(calc(100vw - 1400px) / 2 + 1400px); max-width: none; margin-left: calc(calc(100vw - 1400px) / -2); }
}

@media screen and (max-width: 1024px) {
    
    .service_item { display: block; justify-content: space-between; }
    .service_item_ph { width: auto; }
    .service_item_txt { width: auto; margin-top: 30px; display: flex; flex-direction: column; justify-content: space-between; }
    .service_item .ttl { font-size: 2.0rem; line-height: 1.5; margin: 0 auto 35px; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-feature-settings:normal; }
    .service_item .ttl.tb { display: block; white-space: nowrap; }
    .service_item .ttl.pc { display: none; }
    .service_item .read { font-size: 1.6rem; margin-bottom: 10px; }
    
    .service_link { width: 100%; margin: 0 auto; }
    .service_link a .main { font-size: 1.8rem; }
    .service_link a .sub { font-size: 1.4rem; padding-right: 9px; position: relative; }
}

@media screen and (max-width: 767px) {
    .service_mainph,
    .common_mainph { margin: 0; }
    .service_mainph > .inner,
    .common_mainph > .inner { max-width: 1400px; padding-bottom: 95%; margin: 0 auto 37px; position: relative; }
    .service_mainph > .inner img,
    .common_mainph > .inner img:not(._copy) { width: 100%; height: 100%; object-fit: cover; max-width: none; margin-left: 0; position: absolute; }

    .service_body,
    .common_body { margin: 0 10%; }
    .service_body > .inner,
    .common_body > .inner { max-width: 1400px; margin: 0 auto; }
    
    .service_item_ph { width: 125%; margin-left: -12.5%; }
    .service_item + .service_item { margin-top: 100px; }
    
    .service_link a { display: flex; flex-direction: column; justify-content: space-between; align-items: center; background: #fff; margin-top: 70px; padding: 20px 5.5%; }
    
}

/*flow*/
.flow_body  { margin: 100px 150px 0; }
.flow_body > .inner { max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between; }

.flow_nav { width: 18.71%; }
.flow_list { width: 79.29%; }
.flow_item { display: flex; justify-content: space-between; background: #fff; padding: 4.5%;}
.flow_item + .flow_item { margin-top: 60px; }
.flow_item_txt { width: 56%; }
.flow_item_ph { width: 36%; }
.flow_item_txt .num { font-size: 1.5rem; color: #74664E; }
.flow_item_txt .ttl { font-size: 2.5rem; line-height: 1.5; margin-bottom: 30px; }
.flow_item .link_dot a { width: 204px; margin: 15px 40px 0 0; }
.flow_item .link_dot_box { display: flex; flex-wrap: wrap; margin-top: 35px; }

.flow_nav_list { margin-top: 65px; position: sticky; top: 65px; background: url("../img/line_flow_nav.svg") no-repeat left 10px; }
.flow_nav_list .font_en { font-size: 1.2rem; color: #74664E; }
.flow_nav_list .main { font-size: 1.4rem; line-height: 1.5; }
.flow_nav_list li { padding-left: 15px; position: relative; }
.flow_nav_list li a { display: block; }
.flow_nav_list li + li { margin-top: 15px; }
.flow_nav_list li:before { content: ""; display: block; width: 6px; height: 6px; background: url("../img/dot_l.svg") no-repeat left bottom; position: absolute; left: -2px; top: 6px; }

@media screen and (max-width: 1024px) {
    
    .flow_nav { display: none;}
    .flow_list { width: 100%; }
    
    .flow_item_txt .num { font-size: 1.4rem; }
    .flow_item_txt .ttl { font-size: 2.0rem; line-height: 1.5; margin-bottom: 20px; }

}
@media screen and (max-width: 767px) {
    .flow_body  { margin: 48px 5% 0; }
    
    .flow_item { display: block; background: #fff; padding: 7%;}
    .flow_item + .flow_item { margin-top: 20px; }
    .flow_item_txt { width:auto; }
    .flow_item_ph { width: auto; margin-top: 28px; }
    .flow_item .link_dot_box { display: flex; flex-wrap: wrap; margin-top: 0; }
    
}


/*access*/
.access_body { margin: 0 150px; }
.access_item { max-width: 1400px; margin: 120px auto 0; }
.access_item > .inner { display: flex; justify-content: space-between; }
.access_item_ttl { font-size: 3.0rem; line-height: 1.5; margin-bottom: 30px; }
.access_item .address { font-size: 1.5rem; margin-top: 30px; }
.access_item_map { width: 30%; }
.access_item_ph { width: 65%; display: flex; flex-wrap: wrap; justify-content: space-between; }
.access_item_ph .ph_wide { width: 100%; }
.access_item_ph .ph { width: 46.15%; margin-top: 25px; }
.access_item_ph figcaption { font-size: 1.5rem; margin-top: 10px; }
.access_item_map .googlemap { padding-top: 100%; }

.link_dot a,
.about_kodawari_ph .txt { display: block; width: 100%; margin-top: 15px; padding: 15px 0; font-size: 1.5rem; text-align: left; position: relative; }
.about_kodawari .link_dot a,
.about_kodawari_ph .txt,
.project_body .link_dot a,
.project_item .link_dot a { background-image: url("../img/parts/w_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.about_kodawari_ph .txt { margin-top: 0; }
.link_dot + .link_dot a { margin-top: 15px; }
.link_dot a:before,
.about_kodawari_ph .txt:before { content: ""; display: block; width: 8px; height: 8px; position: absolute; left: -2px; bottom: -2px; background-image: url("../img/parts/b_dot_01.svg"); background-repeat: no-repeat; width: 8px; height: 8px; background-size: 2px 2px; background-position: center; }
.link_dot a:after,
.about_kodawari_ph .txt:after  { content: ""; display: block; position: absolute; right: 11px; top: calc(50% - 4px); background-image: url("../img/parts/b_dot_01.svg"); background-repeat: no-repeat; width: 8px; height: 8px; background-size: 2px 2px; background-position: center; }
.about_kodawari .link_dot a:before,
.about_kodawari .link_dot a:after,
.about_kodawari_ph .txt:before,
.about_kodawari_ph .txt:after,
.project_body .link_dot a:before,
.project_body .link_dot a:after,
.project_item .link_dot a:before,
.project_item .link_dot a:after { background-image: url("../img/parts/w_dot_01.svg"); }

@media screen and (max-width: 1024px) {
    .access_item > .inner { display: block; }
    .access_item_ttl { font-size: 2.0rem; line-height: 1.5; margin-bottom: 10px; }
    .access_item .address { font-size: 1.4rem; margin-top: 30px; }
    .access_item_map { width: auto; }
    .access_item_ph { width: auto; margin-top: 45px; display: flex; flex-wrap: wrap; justify-content: space-between; }
    .access_item_ph figcaption { font-size: 1.4rem; margin-top: 5px; }
    
    .link_dot a { display: block; width: 100%; margin-top: 30px; padding-bottom: 10px; font-size: 1.4rem; text-align: left; position: relative; background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
    
}

@media screen and (max-width: 767px) {
    .access_body { margin: 0 10%; }
    .access_item { max-width: 1400px; margin: 45px auto 0; }
    .access_item + .access_item { margin-top: 60px; }
.access_item_ph .ph_wide { width: 100%; }
    .access_item_ph .ph { width: 46.15%; margin-top: 20px; }
.access_item_map .googlemap { padding-top: 100%; }
}


/* Google Mapを囲う要素 */
.googlemap {
  position: relative;
  width: 100%;
  height: 0;
}
 
/* Google Mapのiframe */
.googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*privacy*/
.privacy_head { width: 82.35%; margin: 0 auto; }
.privacy_body { width: 53.52%; margin: 190px auto 0; }
.privacy_body section { padding: 30px 0; background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }
.privacy_body .ttl { font-size: 2.0rem; font-weight: 700; margin-bottom: 20px; line-height: 1.5; }    
.privacy_body p + p { margin-top: 2em; }

.privacy_contact { background: #fff; margin-top: 80px; padding: 50px; }

.privacy_body._notf { margin-top: 128px; }
.privacy_body._notf .link_dot { max-width: 390px; }


@media screen and (max-width: 1024px) {
    .privacy_body { width: auto; margin: 80px 150px 0; }
    .privacy_body .ttl { font-size: 1.6rem; font-weight: 700; margin-bottom: 20px; line-height: 1.5; }  
}

@media screen and (max-width: 767px) {
    .privacy_head { width: auto; margin: 0; }
    .privacy_body { width: auto; margin: 25px 10% 0; }
.privacy_body section { padding: 25px 0; background-image: url("../img/parts/b_border1.png"); background-repeat: no-repeat; background-size: 1502px 1.5px; background-position: left bottom; }  
    .privacy_body p { line-height: 1.7;}
.privacy_body p + p { margin-top: 2em; }

.privacy_contact { background: #fff; margin-top: 80px; padding: 50px; }
}

/*contact*/
.contact_body { width: 53.52%; margin: 80px auto 0; }
.contact_item { max-width: 620px; margin: 30px 0 0; position: relative;}
.contact_item + div { padding-top: 40px; }
.contact_hd { font-size: 2.0rem; }
.mw_wp_form_confirm .contact_hd { display: none; }
.contact_tel { font-size: 2.4rem; margin-top: 10px; padding-bottom: 10px; line-height: 1; }
.contact_tel span { font-size: 1.1rem; display: inline-block;}

.form_body .hd { margin-top:25px; font-size: 2.0rem; }
.form_body .hd .required { display: inline-block; margin-left: 7px; font-size: 1.3rem; color: #74664E; }
.form_body .hd .any { display: inline-block; margin-left: 7px; font-size: 1.3rem; color: #666; }
.form_body .lineRand { padding: 20px 0 25px; font-size: 1.5rem; position: relative; }
.privacy_notes { font-size: 1.2rem; margin-top: 15px; }

input[type=text],input[type=date],input[type=tel],input[type=email],textarea { padding: 10px 20px; background: #fff; box-sizing: border-box; border: none; font-size: 1.6rem; }
.input_txt, .common_wide { width: 100%; max-width: 400px; }
.input_zip, .select_pref { width: 245px; max-width: 100%; } 
.input::placeholder, textarea::placeholder { color: #A3A3A3; }
input[type=checkbox], input[type=radio] { vertical-align: baseline; }
select { background: #fff; border: none; padding: 17px 20px; }
.privacy_txt { line-height: 1.6; text-align: center; margin-top: 59px; }
.check_privacy { margin-top: 25px; font-size: 1.5rem; text-align: center; }
.check_privacy input { margin-right: 17px;}
.btn_submit { padding-left: 170px;}
.btn_submit input { background: #A29069; color: #fff; font-size: 1.6rem; font-weight: 700; text-align: center; width: 100%; padding: 30px 0; margin-top: 45px; }
.btn_submit input:disabled { background: #ccc; }
textarea { width: 100%; }
.textarea_area { height: 192px; margin-top: 40px; box-sizing: border-box; }
.textarea_message { height: 200px;}
.col_list + .textarea_message { margin-top: 75px; }

.row_list { display: flex; flex-wrap: wrap; }
.row_list + .row_list { margin-top: 25px; }
.row_list > * { margin-right: 20px; }
.col_list { display: flex; flex-direction: column; }
.col_list > * { margin-bottom: 10px; }
.item_box { display: flex; align-items: flex-end; line-height: 1; }
.item_box span:not(.error) { margin: 0 22px 0 8px; }
.item_box select { width: 202px; }
.item_box .error { line-height: 2; }
.contact_date { display: flex; align-items: center; }
.contact_date input { width: 388px; margin-left: 40px; }
.contact_date + .contact_date { margin-top: 20px; }
.address_box { display: flex; }
.address_box_item { margin-top: 20px; }
.address_box_item + .address_box_item { margin-left: 20px; }
.form_btn input { width: 100%; margin-top: 60px; padding: 30px; box-sizing: border-box; font-size: 2.5rem; color: #fff; background: #74664E; }

.form_areabox { display: flex; justify-content: space-between; }
.form_areabox_txt { width: 430px; }
.form_areabox_map { width: 333px; position: relative; }
.form_areabox_map .map { width: 64.56%; margin-left: 14.41%; }
.form_areabox_map .hokushin,
.form_areabox_map .toshin,
.form_areabox_map .chushin,
.form_areabox_map .nanshin { display: block; width: 38.43%; padding: 5px 0; box-sizing: border-box; font-size: 1.1rem; line-height: 1.7; text-align: center; border: 1px solid #1A1311; background: #fff; border-radius: 9px; position: absolute; }
.form_areabox_map .hokushin { left: 61%; top: -1%; }
.form_areabox_map .toshin { left: 61%; top: 33%; }
.form_areabox_map .chushin { left: 1%; top: 23%; }
.form_areabox_map .nanshin { left: 42%; top: 65%; }
.form_areabox_map .hokushin .name,
.form_areabox_map .toshin .name,
.form_areabox_map .chushin .name,
.form_areabox_map .nanshin .name { font-size: 1.5rem; display: block; }

.required { color: #74664E; margin-left: 15px; display: inline-block; }
.any { color: #666; margin-left: 15px; display: inline-block; }

.contact_privacy .formErrorContent { display: none!important; }
.grecaptcha-badge { visibility: hidden; }
.notes_privacy { font-size: 1.2rem; color: #999; text-align: center; margin-top: 20px; }
.wpcf7-spinner { display: none!important; }

.contact_body .read { font-size: 3.0rem; font-weight: 500; margin-bottom: 50px; }

.mw_wp_form_confirm .form_areabox_map,
.mw_wp_form_confirm .address_box .name,
.mw_wp_form_confirm .privacy_txt,
.mw_wp_form_confirm .check_privacy { display: none; }
.mw_wp_form_confirm .form_btn { display: flex; justify-content: space-between; }
.mw_wp_form_confirm .form_btn .back_btn { background: #fff; color: #333; }
.mw_wp_form_confirm .form_btn input { width: 49%; }

.mw_wp_form .error-message { display: none; }
.mw_wp_form_error .error-message { display: block; color: #B70000; }

@media screen and (max-width: 1024px) {
    .contact_body { width: auto; margin: 80px 150px 0; }
    
    .form_body .hd { margin-top: 20px; font-size: 1.6rem; line-height: 1.5; }
    .form_body .lineRand { padding: 20px 0 25px; font-size: 1.4rem; position: relative; }
}

@media screen and (max-width: 767px) {
    .contact_body { width: auto; margin: 25px 10% 0; }
    
.form_body .hd .required { display: inline-block; margin-left: 7px; font-size: 1.3rem; color: #74664E; }
.form_body .hd .any { display: inline-block; margin-left: 7px; font-size: 1.3rem; color: #666; }
.form_body .lineRand:after { content: ""; display: block; width: 3px; height: 3px; background: url("../img/dot.svg") no-repeat left bottom; position: absolute; bottom: 0; left: 0; }
.privacy_notes { font-size: 1.2rem; margin-top: 15px; }

input[type=text],input[type=date],input[type=tel],textarea { padding: 10px 20px; background: #fff; box-sizing: border-box; border: none; font-size: 1.6rem; }
.input_txt, .common_wide { width: 100%; max-width: 400px; }
.input::placeholder, textarea::placeholder { color: #A3A3A3; }
input[type=checkbox], input[type=radio] { vertical-align: baseline; }
select { background: #fff; border: none; padding: 17px 20px; }
    .privacy_txt { line-height: 1.6; text-align: left; margin-top: 40px; }
.check_privacy { margin-top: 25px; font-size: 1.5rem; text-align: center; }
.check_privacy input { margin-right: 17px;}
.btn_submit { padding-left: 170px;}
.btn_submit input { background: #A29069; color: #fff; font-size: 1.6rem; font-weight: 700; text-align: center; width: 100%; padding: 30px 0; margin-top: 45px; }
.btn_submit input:disabled { background: #ccc; }
textarea { width: 100%; }
.textarea_area { height: 192px; margin-top: 40px; box-sizing: border-box; }
.textarea_message { height: 200px;}
    .col_list + .textarea_message { margin-top: 35px; }

    .row_list { display: block; }
    .row_list label { width: 100%; }
.row_list > * { margin-right: 20px; }
.col_list { display: flex; flex-direction: column; }
.col_list > * { margin-bottom: 10px; }
    .item_box { display: flex; flex-wrap: wrap; align-items: flex-end; line-height: 1; }
.item_box span:not(.error) { margin: 0 22px 0 8px; }
    .item_box select,
    .item_box input { width: 202px; }
    .item_box select[name="month"] { margin-top: 15px; }
.contact_date { display: flex; align-items: center; }
    .contact_date .body { flex-grow: 2; }
    .contact_date input { width: calc(100% - 1em); margin-left: 1em; }
.contact_date + .contact_date { margin-top: 20px; }
    .address_box { display: flex; flex-wrap: wrap; }
    .address_box_item { width: 100%; margin-top: 20px; }
    .address_box_item + .address_box_item { margin-left: 0; }
    .address_box:first-child .address_box_item:first-child { margin-top: 0;}
    .address_box input, .address_box select { width: 100%; }
    .form_btn input { width: 100%; margin-top: 60px; padding: 20px; box-sizing: border-box; font-size: 2.0rem; color: #fff; background: #74664E; }

.form_areabox { display: flex; justify-content: space-between; flex-direction: column-reverse; }
.form_areabox_txt { width: 100%; }
    .form_areabox_map { width: 100%; max-width: 333px; margin: 0 auto 30px; }
    .form_areabox_map .map { width: 72.35%; margin: 0 auto; }
.form_areabox_map .hokushin,
.form_areabox_map .toshin,
.form_areabox_map .chushin,
.form_areabox_map .nanshin { display: block; width: 108px; height: 55px; padding-top: 5px; box-sizing: border-box; font-size: 1.0rem; line-height: 1.7; text-align: center; border: 1px solid #1A1311; background: #fff; border-radius: 9px; }
.form_areabox_map .hokushin .hd,
.form_areabox_map .toshin .hd,
.form_areabox_map .chushin .hd,
.form_areabox_map .nanshin .hd { font-size: 1.5rem; display: block; }

.contact_privacy .formErrorContent { display: none!important; }
.grecaptcha-badge { visibility: hidden; }
.notes_privacy { font-size: 1.2rem; color: #999; text-align: center; margin-top: 20px; }
.wpcf7-spinner { display: none!important; }

.contact_body .read { font-size: 3.0rem; font-weight: 500; margin-bottom: 50px; }
    
    .mwform-checkbox-field,
    .mwform-radio-field { display: block; }
}

/*thanks*/
.thanks_body { width: 63.01%; margin: 0 auto 150px; }
.thanks_body .ttl { font-size: 3.0rem; margin-bottom: 50px;  }

@media screen and (max-width: 1024px) {
    .thanks_body .ttl { font-size: 1.8rem; margin-bottom: 20px;  }
}

@media screen and (max-width: 767px) {
    .thanks_body { width: 86.66%; margin: 0 auto 90px; }
}

/*form*/
.wpcf7-not-valid-tip { display: none!important; }
/*.formError .formErrorContent { font-size: 1.4rem!important; color: #B51C1F!important; margin-top: 5px; background: none!important; }*/
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output { display: none!important; }

.label_type .inq_type { display: flex; flex-wrap: wrap; }
.label_type .inq_type .wpcf7-list-item { width: 100%; margin-bottom: 5px; }

.error-message .undefinedformError { display: none!important; }
.error-message .parentFormcontact-form .formErrorContent { border-radius: 5px!important; }

.mw_wp_form .horizontal-item + .horizontal-item { margin-left: 0!important; }


/*link*/
a.link_txt,
.single_news_body a { text-decoration: underline; }

@media screen and (min-width: 767px) {   
    a.link_txt:hover,
    .single_news_body a:hover { text-decoration: none; }
    
    .top_house_item > div,
    .thouse_feature_item > div { -webkit-transition: background 1.0s cubic-bezier(.16,1,.3,1); transition: background 1.0s cubic-bezier(.16,1,.3,1); }
    .top_house_item:hover > div { background: rgba(0,0,0,0.34); }
    .thouse_feature_item:hover > div { background: rgba(255,255,255,0.34); }
    
    .archive_cat_list a { -webkit-transition: opacity 1.0s cubic-bezier(.16,1,.3,1); transition: opacity 1.0s cubic-bezier(.16,1,.3,1); }
    .archive_cat_list a:hover { opacity: 1; }
    
    .top_works_item .postttl,
    .top_works_hd .cat_list a,
    .top_about_body .txt .link a,
    .service_link a .main,
    .service_link a .sub,
    .top_news .link_more a,
    .top_news_item .postttl,
    .about_body .service_item_txt .link_dot a,
    .access_item_map .link_dot a,
    .service_body .service_item .link_dot a,
    .flow_item .link_dot a,
    .footer_nav_item li a,
    .staff_item .position,
    .staff_item .name { -webkit-transition: color 1.0s cubic-bezier(.16,1,.3,1); transition: color 1.0s cubic-bezier(.16,1,.3,1); }
    .top_works_item:hover .postttl,
    .top_works_hd .cat_list a:hover,
    .top_about_body .txt .link a:hover,
    .service_link a:hover .main,
    .service_link a:hover .sub,
    .top_news .link_more a:hover,
    .top_news_item:hover .postttl,
    .about_body .service_item_txt .link_dot a:hover,
    .access_item_map .link_dot a:hover,
    .service_body .service_item .link_dot a:hover,
    .flow_item .link_dot a:hover,
    .footer_nav_item li a:hover,
    .staff_item:hover .position,
    .staff_item:hover .name { color: #74664E; }

    .top_works_list a .ph img,
    .top_house_item .ph img,
    .thouse_feature_item .ph img,
    .top_works_item .ph img,
    .style_list_item .ph > div img,
    .loca_nav_list a .ph img,
    .about_kodawari .linkbox_item .ph img,
    .staff_item .ph img { -webkit-transition: transform 1.0s cubic-bezier(.16,1,.3,1); transition: transform 1.0s cubic-bezier(.16,1,.3,1); -webkit-transform-origin: center; transform-origin: center; }
    .top_works_list a:hover .ph img,
    .top_house_item:hover .ph img,
    .thouse_feature_item:hover .ph img,
    .top_works_item:hover .ph img,
    .style_list_item:hover .ph > div img,
    .loca_nav_list a:hover .ph img,
    .about_kodawari .linkbox_item:hover .ph img,
    .staff_item:hover .ph img { -webkit-transform: scale(1.07); transform: scale(1.07); }
    
    .top_works_hd .cat_list a:after,
    .top_about_body .txt .link a:after,
    .top_style_data .link_read a:after,
    .top_news_item:after,
    .project_item .link_dot a:after,
    .service_link a .sub:after,
    .about_kodawari .link_dot a:after,
    .about_kodawari_ph a .txt:after,
    .service_item_txt .link_dot a:after,
    .style_list_item .link_read span:after,
    .access_item_map .link_dot a:after,
    .flow_item .link_dot a:after { -webkit-transition: background 0.5s cubic-bezier(.16,1,.3,1); transition: background 0.5s cubic-bezier(.16,1,.3,1); }
    .top_works_hd .cat_list a:hover:after,
    .top_about_body .txt .link a:hover:after,
    .top_style_data .link_read a:hover:after,
    .top_news_item:hover:after,
    .project_item .link_dot a:hover:after,
    .service_link a:hover .sub:after,
    .about_kodawari .link_dot a:hover:after,
    .about_kodawari_ph a:hover .txt:after,
    .service_item_txt .link_dot a:hover:after,
    .style_list_item:hover .link_read span:after,
    .access_item_map .link_dot a:hover:after,
    .flow_item .link_dot a:hover:after { background-size: 6px 6px; }
    
    .main_nav li { -webkit-transition: opacity 1.0s cubic-bezier(.16,1,.3,1); transition: opacity 1.0s cubic-bezier(.16,1,.3,1);}
    .main_nav.hover li { opacity: 0.5; }
    .main_nav.hover li:hover { opacity: 1; }
    
    .top_style .link_more a:after,
    .about_banner .btn:after { content: ""; display: block; display: block; width: 145px; height: 41px; background: rgba(255,255,255,0.2); position: absolute; top: 2px; left: 2px; z-index: -1; opacity: 0; -webkit-transition: opacity 1.0s cubic-bezier(.16,1,.3,1); transition: opacity 1.0s cubic-bezier(.16,1,.3,1);}
    .top_style .link_more a:hover:after,
    .about_banner:hover .btn:after { opacity: 1; }
    
    body.home .header_contact:after { content: ""; display: block; display: block; width: 51px; height: 128px; background: rgba(255,255,255,0.2); position: absolute; top: 2px; left: 2px; z-index: -1; opacity: 0; -webkit-transition: opacity 1.0s cubic-bezier(.16,1,.3,1); transition: opacity 1.0s cubic-bezier(.16,1,.3,1);}
    body.home .header_contact:hover:after { opacity: 1; }
    
    .top_news .link_more a:after { content: ""; display: block; display: block; width: 145px; height: 41px; background: #DBD2C3; position: absolute; top: 2px; left: 2px; z-index: -1; opacity: 0; -webkit-transition: opacity 1.0s cubic-bezier(.16,1,.3,1); transition: opacity 1.0s cubic-bezier(.16,1,.3,1);}
    .top_news .link_more a:hover:after { opacity: 1; }
    
    .pagenav > .inner .index a:after { content: ""; display: block; display: block; width: 143px; height: 38px; background: rgba(255,255,255,0.2); position: absolute; top: 2px; left: 2px; opacity: 0; -webkit-transition: opacity 1.0s cubic-bezier(.16,1,.3,1); transition: opacity 1.0s cubic-bezier(.16,1,.3,1);}
    .pagenav > .inner .index a:hover:after  { opacity: 1; }
    
}