@charset "UTF-8";

/*** construction-case ***/

/* カテゴリタイトル(基本設定：common.css) */
@media only screen and (max-width: 767px) {
.tree #category-head-frame {
	background: url(../construction-case/images/sp/category-head.jpg) no-repeat center bottom;
	background-size: cover;
	-webkit-background-size: cover;
	-moz-background-size: cover;
}
.tree #category-head-group h1 {
	background: url(../construction-case/images/head.png) no-repeat center;
	height: 40px;
	background-size: contain;
	-webkit-background-size: contain;
	-moz-background-size: contain;
}
}
@media print, screen and (min-width: 768px) {
.tree #category-head-frame {
	background: url(../construction-case/images/pc/category-head.jpg) no-repeat center;
}
.tree #category-head-group h1 {
	background: url(../construction-case/images/head.png) no-repeat 0 0;
	width: 299px;
	height: 48px;
	background-size: contain;
	-webkit-background-size: contain;
	-moz-background-size: contain;
}
}

/* カテゴリキャッチ(基本設定：common.css) */
@media only screen and (max-width: 767px) {
.tree #category-catch-group { /* 画像幅/600(%) */
	width: 99.333%;
}
.tree #category-catch-group h2 {
	background: url(../construction-case/images/sp/catch.png) no-repeat center;
	padding: 19.966% 0 0;
	background-size: contain;
	-webkit-background-size: contain;
	-moz-background-size: contain;
}
}
@media print, screen and (min-width: 768px) {
.tree #category-catch-group h2 {
	background: url(../construction-case/images/pc/catch.png) no-repeat 0 0;
	width: 797px;
	height: 66px;
}
}

section.content-box li,
section.content-box dl,
section.content-box dt,
section.content-box dd,
section.content-box h2,
section.content-box h3,
section.content-box h4 {
	margin: 0;
	padding: 0;
	font-size: 1em;
}
section.content-box img {
	max-width: 100%;
}

/*
ul.case {
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

ul.case li {
  opacity: 0;
  transform: translateY(2rem);
  transition: all 0.6s ease-out;
  background-color: lightblue;
  padding: 20px;
  border-radius: 8px;
  width: 350px;
  text-align: center;
  font-weight: bold;
}

/ * :has() によるスクロール連動風アニメーション * /
ul.case:has(.is-visible) li {
  opacity: 1;
  transform: none;
}
*/

section.content-box ul.case dl dt {
	position:relative;
	aspect-ratio: 724 / 543;
	object-fit: contain;
	overflow: hidden;
}

section.content-box ul.case img {
	max-width: 100%;
	aspect-ratio: 724 / 543;
	object-fit: contain;

	-webkit-transition: transform 0.5s ease;
	-moz-transition: transform 0.5s ease;
	transition: transform 0.5s ease;
}
section.content-box ul.case a dt:before {
	position: absolute;
	display: flex;
	align-content: center;
	justify-content: center;
	flex-wrap: wrap;
	content: '詳しくはこちら';
        width: 100%;
        height: 100%;
	color: #FFFFFF;
	font-size: 14px;
	text-align: center;
        opacity: 0;
        z-index: 3;
        -webkit-transition: opacity 0.5s ease;
        -moz-transition: opacity 0.5s ease;
        transition: opacity 0.5s ease;
}
section.content-box ul.case a dt:after {
	position: absolute;
        display: block;
        content: '';
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: #1a1a1a;
        opacity: 0;
        z-index: 2;
        -webkit-transition: opacity 0.5s ease;
        -moz-transition: opacity 0.5s ease;
        transition: opacity 0.5s ease;
}
section.content-box ul.case a:focus dt:before ,
section.content-box ul.case a:hover dt:before {
	opacity: 1.0;
}
section.content-box ul.case a:focus dt:after ,
section.content-box ul.case a:hover dt:after {
	opacity: 0.5;
}
section.content-box ul.case a:focus img ,
section.content-box ul.case a:hover img {
	transform: translateX(-0%) scale(1.1, 1.1);
}

section.content-box ul.case li a{
	text-decoration: none;
	color: #444444;
	height: 100%;
	display: block;
	text-align: center;
}
section.content-box ul.case li dt span.address{
	position: absolute;
	top: 10px;
	left: 0px;
	background: #000;
	color: #FFFFFF;
	padding: 3px 14px;
	z-index: 30;
}

/* コンテンツ設定 */
@media print, screen and (max-width: 767px) {
#construction-case-index .content-box {
}
#construction-case-index .content-box-inner {
	width: 94%;
	padding: 0 0 7.2%;
	margin: 15% auto 0 auto;
}
section.content-box ul.case li{
	font-size: 14px;
	margin-bottom: 25px;
}
section.content-box ul.case li dt{
	margin-bottom: 10px;
}
section.content-box ul.case li dt span.address{
	font-size: 12px;
}
}
@media print, screen and (min-width: 768px) {
#construction-case-index .content-box {
	width: 940px;
        padding: 0 0 65px;
        margin: 80px auto 0 auto;
}
#construction-case-index .content-box-inner {
}

section.content-box ul.case {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}
section.content-box ul.case li{
	width: calc(50% - 20px);
	font-size: 16px;
	margin-bottom: 40px;
}
section.content-box ul.case li dt{
	margin-bottom: 10px;
}
section.content-box ul.case li dt span.address{
	font-size: 14px;
}
section.content-box ul.case.other li{
	width: calc((100% - 40px) / 3);
	font-size: 14px;
	margin-bottom: 0px;
}
}

/* case */
section.content-box .content-box-inner h2 {
	text-align: center;
	font-size: 1.75em;
	margin-bottom: 1em;
font-family: "shippori-mincho-b1", sans-serif;
font-weight: 600;
font-style: normal;
}
section.content-box .content-box-inner h3 {
	border-top: 1px solid #DDDDDD;
	border-bottom: 1px solid #DDDDDD;
	font-size: 14px;
	font-weight: 400;
	text-align: center;
	padding: 10px 20px;
	margin-bottom: 60px;
}
section.content-box .detail-point {
	background: #EBEBEB;
	padding: 25px 30px;
	margin-bottom: 60px;
}
section.content-box .detail-point h4 {
	border: 1px solid #000000;
	display: inline-block;
	padding: 5px 10px;
	margin-bottom: 10px;
}
section.content-box .detail-point ul li {
	margin-left: 1em;
	position: relative;
	margin-top: 5px;
}
section.content-box .detail-point ul li:before {
	content: "●";
	display: inline-block;
	font-size: 0.25em;
	position: absolute;
	left: -3.5em;
	top: 1em;
}
section.content-box .detail-interview h4 {
	border-bottom: 2px solid #ab8b41;
	padding: 5px 7px;
	margin-bottom: 20px;
}
section.content-box .detail-interview dl dt ,
section.content-box .detail-interview dl dd {
	display: flex;
}
section.content-box .detail-interview dl dt {
	font-weight: bold;
	margin-bottom: 5px;
	color: #000000;
}
section.content-box .detail-interview dl dt:before {
	content:"Q.";
	display: inline-block;
	margin-right: 0.5em;
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 400;
}
section.content-box .detail-interview dl dd:before {
	content:"A.";
	display: block;
	margin-right: 0.5em;
	font-family: "shippori-mincho-b1", sans-serif;
	font-weight: 400;
}
section.content-box .detail-interview dl {
	margin-bottom: 20px;
	padding: 0 7px;
}
section.content-box .detail-interview ul.photo li p {
	margin-top: 10px;
}
section.content-box .detail-interview ul.photo li img {
	aspect-ratio: 724 / 543;
	object-fit: contain;
}
section.content-box .detail-infobox {
	border: 1px solid #AAA;
	padding: 25px 30px;
	margin-bottom: 90px
}
section.content-box .detail-infobox dl {
	display: flex;
}
section.content-box .detail-infobox dl dt {
	width: 6em;
	margin-left: 1em;
	position: relative;
	font-weight: 600;
	color: #000000;
}
section.content-box .detail-infobox dl dt:before {
	content: "●";
	display: inline-block;
	font-size: 0.25em;
	position: absolute;
	left: -3.5em;
	top: 1.4em;
	font-weight: normal;
}
section.content-box .detail-infobox h4 {
	border: 1px solid #000000;
	display: inline-block;
	padding: 5px 10px;
	margin-bottom: 10px;
}

@media print, screen and (max-width: 767px) {
section.content-box .detail-main {
/*	margin: 0 20px 50px 20px;*/
	margin: 0 0 30px 0;
}
section.content-box .detail-point {
	padding: 20px 25px;
}
section.content-box .detail-point ul {
        font-size: 14px;
}
section.content-box .detail-interview dl {
        font-size: 14px;
}
section.content-box .detail-interview ul.photo {
	display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
	margin-top: 40px;
}

section.content-box .detail-interview ul.photo li {
	width: calc(50% - 7px);
        font-size: 14px;
        margin-bottom: 10px;
}
section.content-box .detail-interview ul.photo li p {
	margin-top: 5px;
}
section.content-box .content-box-inner h2 {
	font-size: min(1.5em, 6vw);
}
section.content-box .content-box-inner h3 {
	font-size: min(13px, 4.5vw);
	font-feature-settings: "palt";
	margin-bottom: 30px;
}
section.content-box .detail-infobox {
	padding: 20px 25px;
}
section.content-box .detail-infobox h4 {
	margin-bottom: 5px;
}
section.content-box .detail-infobox ul {
	font-size: 14px;
}
section.content-box .detail-infobox ul dl {
	margin-top: 1em;
	display: block;
}
section.content-box .detail-infobox ul dl dd {
	margin-left: 1em;
}
}
@media print, screen and (min-width: 768px) {
section.content-box .detail-main {
	margin: 0 60px 60px 60px;
}
section.content-box .detail-interview ul.photo {
	display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
	margin-top: 60px;
}

section.content-box .detail-interview ul.photo li {
	width: calc(50% - 25px);
        font-size: 16px;
        margin-bottom: 40px;
}
section.content-box .detail-infobox ul {
	display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        font-size: 14px;
}
section.content-box .detail-infobox ul li {
	width: calc(50% - 20px);
        margin-top: 5px;
}
}

/* 初期状態：透明で、20px下に下げておく */
.js-fade {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s, transform 0.8s;
}

/* 画面内に入った時の状態 */
.js-fade.is-show {
  opacity: 1;
  transform: translateY(0);
}


section.content-box .other-frame-inner ul.case.other li {
	display: none;
}
section.content-box .other-frame-inner.case01 ul.case.other li.case02 ,
section.content-box .other-frame-inner.case01 ul.case.other li.case03 ,
section.content-box .other-frame-inner.case01 ul.case.other li.case04 ,
section.content-box .other-frame-inner.case02 ul.case.other li.case03 ,
section.content-box .other-frame-inner.case02 ul.case.other li.case04 ,
section.content-box .other-frame-inner.case02 ul.case.other li.case05 ,
section.content-box .other-frame-inner.case03 ul.case.other li.case01 ,
section.content-box .other-frame-inner.case03 ul.case.other li.case04 ,
section.content-box .other-frame-inner.case03 ul.case.other li.case05 ,
section.content-box .other-frame-inner.case04 ul.case.other li.case01 ,
section.content-box .other-frame-inner.case04 ul.case.other li.case02 ,
section.content-box .other-frame-inner.case04 ul.case.other li.case05 ,
section.content-box .other-frame-inner.case05 ul.case.other li.case01 ,
section.content-box .other-frame-inner.case05 ul.case.other li.case02 ,
section.content-box .other-frame-inner.case05 ul.case.other li.case03 {
	display: block;
}