@charset "utf-8";
/* CSS Document */



/* #interior_coordinator
----------------------------------------- */
#interior_coordinator {
    position: relative;
    z-index: 2;
}
#interior_coordinator .inner {
    max-width: 100rem;
    padding-top: 13rem;
	padding-bottom: 16rem;
    position: relative;
    z-index: 1;
}
#interior_coordinator::before {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    width : 100%;
    height : 100%;
    background: url("../images/bg_pattern.jpg") no-repeat center center / cover;
    clip-path: url(#wave_clip);
    overflow: hidden;
}

#interior_coordinator .layout {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0 3rem;
}
#interior_coordinator .layout .img_wrap {
    width: calc(468 / 1000 * 100%);
    position: relative;
}
#interior_coordinator .layout .img_wrap .img_1 {
    width: calc(415 / 468 * 100%);
}
#interior_coordinator .layout .img_wrap .img_2 {
    width: calc(350 / 468 * 100%);
    margin-left: auto;
    margin-top: 5rem;
}
#interior_coordinator .layout .img_wrap .name_wrap {
    width: calc(231.3349 / 505 * 100%);
    position: absolute;
    bottom: 4rem;
    left: -3.5rem;
    display: flex;
    align-items: flex-start;
    flex-flow: column;
    gap: 0.5rem 0;
}
#interior_coordinator .layout .img_wrap .name_wrap > span {
    display: block;
    background-color: #FFFFFF;
    border-radius: 0.7rem;
    padding: 0.5rem 0.7rem 0.7rem;
    text-align: left;
    white-space: nowrap;
}
#interior_coordinator .layout .img_wrap .name_wrap .name {
    font-size: 2.1rem;
	letter-spacing: 0.05em;
	font-weight: 400;
    line-height: 1;
    color: #3e3a39;
	/*line-height: calc(45/21);*/
}
#interior_coordinator .layout .img_wrap .name_wrap .position {
    font-size: 1.4rem;
	letter-spacing: 0.02em;
	font-weight: 400;
    color: #3e3a39;
    line-height: 1;
	/*line-height: calc(27/14);*/
}

#interior_coordinator .layout .txt_wrap {
    text-align: left;
}
#interior_coordinator .layout .txt_wrap h2.ttl {
    margin-top: 4rem;
    font-size: 2.4rem;
	letter-spacing: 0.075em;
	font-weight: 500;
	line-height: calc(46/24);
    text-align: left;
    color: #4c4948;
    padding-bottom: 2.5rem;
    position: relative;
}
#interior_coordinator .layout .txt_wrap h2.ttl::after {
    content: "";
    display: block;
    width: 25rem;
    height: 2px;
    background: url("../images/top/ic_line.svg") no-repeat center center / contain;
    position: absolute;
    bottom: 0;
    left: -2rem;
}
#interior_coordinator .layout .txt_wrap .txt {
    margin-top: 4rem;
    font-size: 1.5rem;
	letter-spacing: 0.075em;
	font-weight: 400;
	line-height: calc(37/15);
    color: #3e3a39;
}
#interior_coordinator .layout .txt_wrap .btn_wrap {
    margin-top: 4rem;
    display: flex;
    justify-content: flex-start;
}

@media screen and (max-width: 768px) {
#interior_coordinator .inner {
    padding-top: 6rem;
	padding-bottom: 7rem;
}
#interior_coordinator::before {
    clip-path: url(#wave_clip_sp);
}

#interior_coordinator .layout {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 4rem 0;
}
#interior_coordinator .layout .img_wrap {
    width: 100%;
    
    order: 3;
}
#interior_coordinator .layout .img_wrap .img_1 {
    width: 23rem;
}
#interior_coordinator .layout .img_wrap .img_2 {
    width: 19.6rem;
    margin-left: auto;
    margin-top: 0.5rem;
}
#interior_coordinator .layout .img_wrap .name_wrap {
    width: auto;
    position: absolute;
    top: 5rem;
    bottom: auto;
    left: auto;
    right: 0;
    gap: 0.5rem 0;
}
#interior_coordinator .layout .img_wrap .name_wrap > span {
    display: block;
    background-color: #FFFFFF;
    border-radius: 0.7rem;
    padding: 0.5rem 0.7rem 0.7rem;
    text-align: left;
    white-space: nowrap;
}
#interior_coordinator .layout .img_wrap .name_wrap .name {
    font-size: 1.6rem;
}
#interior_coordinator .layout .img_wrap .name_wrap .position {
    font-size: 1.2rem;
}

#interior_coordinator .layout .txt_wrap {
    width: 100%;
    display: contents;
}
    
#interior_coordinator .inner > .position_wrap {
    margin-bottom: 5rem;
}
#interior_coordinator .inner > .position_wrap .position {
    display: flex;
    flex-flow: column;
    gap: 0.8rem 0;
    align-items: center;
    margin-bottom: 5rem;
}
#interior_coordinator .inner > .position_wrap .position .jp {
    display: block;
    font-size: 1.3rem;
	letter-spacing: 0.05em;
	font-weight: 500;
	line-height: 1;
    color: #00adbc;
}
#interior_coordinator .inner > .position_wrap .position .en {
    display: block;
    font-size: 2rem;
	letter-spacing: 0.05em;
	font-weight: 500;
	line-height: 1;
    color: #3e3a39;
}
    
#interior_coordinator .layout .txt_wrap h2.ttl {
    margin-top: 0;
    font-size: 2.0rem;
	letter-spacing: 0.055em;
	line-height: calc(37/20);
    padding-bottom: 2.5rem;
    
    order: 1;
}
#interior_coordinator .layout .txt_wrap h2.ttl::after {
    content: "";
    display: block;
    width: 25rem;
    height: 2px;
    background: url("../images/top/ic_line.svg") no-repeat center center / contain;
    position: absolute;
    bottom: 0;
    left: -0.5rem;
}
#interior_coordinator .layout .txt_wrap .txt {
    margin-top: 3rem;
    font-size: 1.4rem;
	letter-spacing: 0.05em;
	font-weight: 400;
	line-height: calc(34/14);
    
    order: 2;
}
#interior_coordinator .layout .txt_wrap .btn_wrap {
    margin-top: 0;
    
    order: 4;
}

}



/* #works
----------------------------------------- */
#works {
    position: relative;
    z-index: 1;
}
#works::after {
	content: "";
    display: block;
    width: 100%;
    height: 105%;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
    background: url("../images/about/works_bg.png") no-repeat center bottom / 100%;
}
#works .inner {
    padding-top: 12rem;
    padding-bottom: 14rem;
}

#works .lead {
	font-size: 2.4rem;
	letter-spacing: 0.075em;
	font-weight: 500;
	line-height: calc(46/24);
    text-align: center;
    color: #4c4948;
    margin-top: 9rem;
}

#works .works_list {
	width: 100%;
    display: flex;
    gap: 2.5rem;
    align-items: center;
    justify-content: center;
    margin-top: 2.5rem;
}
#works .works_list > li {
    width: calc(180/1000*100%);
}
#works .works_list.first {
    margin-top: 9rem;
}

#works .txt_wrap {
	width: 100%;
	max-width: 62rem;
	margin: auto;
    margin-top: 6rem;
    font-size: 1.5rem;
    letter-spacing: 0.03em;
	line-height: calc(33/15);
	text-align: left;
}

#works .works_con_wrap {
	width: 100%;
	max-width: 70rem;
	margin: auto;
	margin-top: 15rem;
    display: flex;
    flex-flow: column;
    gap: 7.5rem 0;
}
#works .works_con {
    align-items: center;
}
#works .works_con > li.img {
	width: -webkit-calc(180 / 700 * 100%);
    width: calc(180 / 700 * 100%);
}
#works .works_con > li.txt {
	width: -webkit-calc(460 / 700 * 100%);
    width: calc(460 / 700 * 100%);
}
#works .works_con h2 {
    font-size: 2.4rem;
    letter-spacing: 0.05em;
    font-weight: 500;
    line-height: calc(45 / 24);
    text-align: left;
    padding-bottom: 1.5rem;
    position: relative;
}
#works .works_con h2::after {
    content: "";
    display: block;
    width: 17rem;
    height: 2px;
    background: url(../images/about/works_line.svg) no-repeat center center / contain;
    position: absolute;
    bottom: 0;
    left: -2rem;
}
#works .works_con .txt_wrap {
	font-size: 1.5rem;
    letter-spacing: 0.03em;
	line-height: calc(33/15);
	text-align: left;
    margin-top: 2.5rem;
}

@media screen and (max-width: 768px) {
#works {
}
#works::after {
	content: "";
    display: block;
    width: 100%;
    height: 105%;
    position: absolute;
    bottom: 9rem;
    right: 0;
    z-index: -1;
    background: url("../images/about/works_bg_sp.png") no-repeat center bottom / 100%;
}
#works .inner {
    padding-top: 10rem;
    padding-bottom: 9rem;
}
    
#works .lead {
	font-size: 1.6rem;
	letter-spacing: 0.055em;
	line-height: calc(31/16);
    margin-top: 4rem;
}
	
#works .works_list_wrap {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 1rem;
    align-items: center;
    justify-content: center;
    margin-top: 4rem;
}
    
#works .works_list {
	display: contents;
}
#works .works_list > li {
    width: 10.2rem;
}
#works .works_list.first {
    margin-top: 0;
}
    
#works .txt_wrap {
    margin-top: 6rem;
    font-size: 1.4rem;
    letter-spacing: 0.03em;
    line-height: calc(31 / 14);
}
	
#works .works_con_wrap {
	margin-top: 10rem;
    gap: 7.5rem 0;
}
#works .works_con {
    align-items: flex-start;
}
#works .works_con > li.img {
    width: calc(100 / 325 * 100%);
}
#works .works_con > li.txt {
    width: calc(200 / 325 * 100%);
}

#works .works_con h2 {
    font-size: 1.6rem;
    padding-bottom: 1.0rem;
}
#works .works_con h2::after {
    content: "";
    display: block;
    width: 8.5rem;
    height: 2px;
    background: url(../images/about/works_line_sp.svg) no-repeat center center / contain;
    position: absolute;
    bottom: 0;
    left: -1rem;
}
#works .works_con .txt_wrap {
	font-size: 1.4rem;
	line-height: calc(27/14);
    margin-top: 1.5rem;
}

}



/* #concept
----------------------------------------- */
#concept {
    position: relative;
    z-index: 1;
}
#concept::before {
	content: "";
    display: block;
    position: absolute;
    top: 8rem;
    left: 0;
    z-index: -1;
    width: calc(780 / 1366 * 100%);
    /*width: 82.57203rem;*/
    /*height: 73.73943rem;*/
    aspect-ratio: 780 / 816;
    background: url("../images/about/concept_bg01_1.png") no-repeat center center / contain;
}
#concept::after {
	content: "";
    display: block;
    position: absolute;
    bottom: 19rem;
    right: 0;
    z-index: -1;
    width: calc(484 / 1366 * 100%);
    /*width: 48.44011rem;*/
    /*height: 48.44011rem;*/
    aspect-ratio: 1 / 1;
    background: url("../images/about/concept_bg02_1.png") no-repeat center center / contain;
}

#concept .inner {
    padding-top: 8rem;
	padding-bottom: 19rem;
}

#concept .layout {
	display: flex;
    flex-flow: column;
    align-items: center;
}

#concept .txt_wrap {
    text-align: center;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	font-weight: 400;
    color: #3e3a39;
	line-height: calc(37/15);
    margin-top: 10rem;
}

#concept .txt_wrap h3 {
    text-align: center;
	font-size: 2.4rem;
	letter-spacing: 0.135em;
	font-weight: 500;
	line-height: calc(45/24);
    margin-bottom: 5rem;
}

#concept .img_wrap {
	margin-top: 12rem;
}


@media screen and (max-width: 768px) {
#concept {
}

#concept::before {
	content: "";
    display: block;
    position: absolute;
    top: 14rem;
    left: 0;
    z-index: -1;
    width: 31.2rem;
    aspect-ratio: 312 / 326;
    background: url("../images/about/concept_bg01_1.png") no-repeat center center / contain;
}
#concept::after {
	content: "";
    display: block;
    position: absolute;
    bottom: 20rem;
    right: 0;
    z-index: -1;
    width: 24.2rem;
    aspect-ratio: 1 / 1;
    background: url("../images/about/concept_bg02_1.png") no-repeat center center / contain;
}

#concept .inner {
    padding-top: 9rem;
	padding-bottom: 6rem;
}

#concept .layout {
	display: flex;
    flex-flow: column;
    align-items: center;
}

#concept .txt_wrap {
    text-align: center;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	font-weight: 400;
    color: #3e3a39;
	line-height: calc(37/15);
    margin-top: 10rem;
}

#concept .txt_wrap h3 {
    text-align: center;
	font-size: 2.0rem;
	letter-spacing: 0.05em;
	font-weight: 500;
	line-height: calc(41/20);
    margin-bottom: 5rem;
}

#concept .img_wrap {
    width: 18.8rem;
    margin: auto;
	margin-top: 4rem;
}

}



/* #company_profile
----------------------------------------- */
#company_profile {
    position: relative;
    z-index: 1;
}
#company_profile::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    z-index: -1;
    width : 100%;
    height : 110%;
    background: url("../images/bg_pattern2.jpg") no-repeat center center / cover;
    clip-path: url(#cp_clip);
    overflow: hidden;
}
#company_profile .inner {
    padding-top: 10rem;
	padding-bottom: 16rem;
}

#company_profile .info_wrap {
    display: flex;
    justify-content: center;
    margin-top: 5rem;
    padding-left: 8rem;
}
#company_profile .info_wrap .info_table {
}
#company_profile .info_wrap .info_table th {
    padding: 0 1.5rem;
    font-size: 1.5rem;
	letter-spacing: 0.03em;
	font-weight: 400;
	line-height: calc(33/15);
    text-align: right;
}
#company_profile .info_wrap .info_table td {
    padding: 0 1.5rem;
    font-size: 1.5rem;
	letter-spacing: 0.03em;
	font-weight: 400;
	line-height: calc(33/15);
    text-align: left;
}

#company_profile .map_wrap {
    width: 100%;
    aspect-ratio: 1000 / 360;
    margin-top: 9rem;
    border-radius: 5rem;
    overflow: hidden;
}
#company_profile .map_wrap iframe {
    width: 100%;
    height: 100%;
    filter: grayscale(100%) contrast(90%);
}

@media screen and (max-width: 768px) {
#company_profile::before {
    clip-path: url(#foot_clip_sp);
}
#company_profile .inner {
    padding-top: 6rem;
	padding-bottom: 12rem;
}

#company_profile .info_wrap {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
    padding-left: 0;
}
#company_profile .info_wrap .info_table {
}
#company_profile .info_wrap .info_table th {
    padding: 0.5rem 1.5rem;
    padding-left: 0;
    font-size: 1.4rem;
    line-height: calc(20 / 14);
    white-space: nowrap;
}
#company_profile .info_wrap .info_table td {
    padding: 0.5rem 1.5rem;
    padding-right: 0;
    font-size: 1.4rem;
    line-height: calc(20 / 14);
}

#company_profile .map_wrap {
    width: 100%;
    aspect-ratio: 325 / 360;
    margin-top: 6rem;
    border-radius: 3rem;
}

}
