@charset "utf-8";
.headline {
	font-size: 4rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
}
.block_head .cont { display: flex;}
.block_head .desc {
    padding: 0 30px 0 12%;
    width: 50%;
}
.block_head .img { width: 44%;}
.block_head .img img { width: 100%;}
.block_head .img figure {
	margin: 0 calc(-1 * (100vw - 1000px) / 2 - 8px) 0 0;
	width: calc(100% + (100vw - 1000px) / 2 - 8px);
}
.block_head .ttl {
	color: #47b9d7;
	color: #BFB592;
	font-size: 2.6rem;
	line-height: 1.8;
	letter-spacing: 0.2em;
	margin: 12% 0 30px;
}

.block_head .txt {
	font-size: 1.4rem;
	line-height: 2.1;
	letter-spacing: 0.1em;
}
.block_head.reverse .cont { flex-direction: row-reverse;}
.block_head.reverse .img figure { margin: 0 0 0 calc(-1 * (100vw - 1000px) / 2);}
.block_head.reverse .ttl { color: #374152;}
.block_head.reverse .headline { text-align: right;}
.block_head.reverse .img { width: 60%;}
.block_head.reverse .desc { padding: 6% 0 0 4%; width: 44%;}

.mt10p {margin-top: 10%;}
.mt6p {margin-top: 6%;}
.mt4p {margin-top: 4%;}
.mt2p {margin-top: 2%;}
.ttl.eh {color: #323232; font-size: 2.4rem;}
@media only screen and (max-width: 767px) {
	.ac_sp{text-align: center;}
}
@media only screen and (max-width: 1024px) {
    .headline { font-size: 3rem;}
	.block_head .ttl, .ttl.eh { font-size: 1.8rem; }
    .block_head .desc { padding: 0 30px 0 8%;}
    .block_head.reverse .desc { padding: 6% 0 0 4%;}
}
@media only screen and (max-width: 1000px) {
    .block_head .desc, .block_head .img { width: 50%;}
    .block_head .txt, .txt.eh { font-size: 1.2rem;}
    .block_head .img figure { margin: 0; width: 100%; }
    .block_head.reverse .img figure { margin: 0; width: 100%; }
}
@media only screen and (max-width: 767px) {
	.headline {
		font-size: 2.4rem;
		text-align: center;
		margin-bottom: 10px;
	}
    .block_head.reverse .headline { text-align: center;}
	.block_head .cont { display: block;}
    .block_head .desc, .block_head .img { width: 100%!important;}
    .block_head .desc { margin-bottom: 20px; padding: 0; text-align: center;}
    .block_head .img figure { 
        width: calc(100% + 30px);
        margin-left: -15px;
        margin-right: -15px;
    }
    .block_head .ttl, .ttl.eh { margin: 0 0 10px;}
    .block_head .txt { font-size: 1.2rem; letter-spacing: 0.01em;}
}

.sec_design { padding: 120px 0; }
.sec_design .building { margin-top: -10%; }
.sec_design .building .pic_cap { right: 8%; bottom: -2%;}
.sec_design .ds_box {
    border-bottom: 1px solid #fff;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    font-size: 1.2rem;
    margin-top: 120px;
    margin-bottom: 30px;
    padding-bottom: 30px;
    text-align: left;
}
.sec_design .ds_box img { width: 45%;}
.sec_design .ds_box .name01 { font-size: 200%; }
.sec_design .ds_box .name02 { font-size: 117%; }

.sec_design .intro_box {
    font-size: 1.2rem;
    text-align: left;
}
.sec_design .intro_box .ttl02 {
    font-size: 150%;
}

@media only screen and (max-width: 1024px) {
    .sec_design { padding: 60px 0; }
    .sec_design .building { margin-top: auto; }
    .sec_design .ds_box { margin-top: 60px;}
}

/* */
@media only screen and (min-width: 768px) {
	.block_head.reverse .headline.tL{text-align: left;}
}
.block_head.reverse .desc.padL_adj{padding-left: 8%;}
@media only screen and (max-width: 1150px) {
	.block_head.reverse .desc.padL_adj{padding-left: 4%;}
}