@charset "UTF-8";

.contentpage .m_img_area {background-image: url("../../images/content/m_img_case@2x.jpg");}


/*親カテ一覧
--------------------------------------------------------------------*/
.cat_select1 {
	width: 100%;
	max-width: 1120px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
    flex-wrap: wrap;
}
.cat_select1 > li {
	width: 23.2%;
	margin-right: 2.4%;
	margin-top: 30px;
}
.cat_select1 > li:nth-child(4n),
.cat_select1 > li:last-child {
	margin-right: 0;
}
.cat_select1 > li:nth-child(-n+4) {
	margin-top: 0;
}
.cat_select1 .com_btn1 a {
	display: block;
	min-width: 0;
	padding: 0;
	height: 4.0em;
	position: relative;
}
.cat_select1 .com_btn1 p {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	box-sizing: border-box;
	padding-left: 1.5em;
	padding-right: 2.8em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}



/*子カテ一覧
--------------------------------------------------------------------*/
.cat_select2 {
	text-align: center;
	font-size: 94%;
	letter-spacing: .05em;
	line-height: 1.2em;
	display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
.cat_select2 li {
	margin: 0.8%;
	min-width: 22%;
}
.cat_select2 li a {
	display: block;
	border: solid 1px #79716E;
	padding: .8em 1.5em;
	border-radius: .8em;
}
.cat_select2 li a:hover {
	background: #939396;
	color: #fff;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}



/*共通
--------------------------------------------------------------------*/
.case_cat {
	display: flex;
    justify-content:  center;
    align-items: center;
    flex-wrap: wrap;
	font-size: 90%;
	line-height: 1.2em;
	letter-spacing: normal;
}
.case_cat > li {
	display: flex;
    justify-content:  center;
    align-items: center;
    flex-wrap: wrap;
	margin: .2em 0;
}
.case_cat > li::after {
	content: "／";
	margin: 0 .4em;
}
.case_cat > li:last-child::after {
	display: none;
}
.case_cat p a {
	display: block;
	border-radius: .3em;
	padding: .45em .6em .4em;
	background: #c4a871;
	color: #fff;
	letter-spacing: 0.1em;
	font-weight: bold;
}
.case_cat p a:hover {
	background: #004150;
}
.case_cat li ul {
	display: flex;
    justify-content:  center;
    align-items: center;
    flex-wrap: wrap;
}
.case_cat li ul li {
	margin-top: .4em;
	margin-bottom: .4em;
	margin-left: .5em;
	font-weight: bold;
}
.case_cat li ul li::after {
	content: ",";
}
.case_cat li ul li:last-child::after {
	display: none;
}
.case_cat li ul a {
	text-decoration: underline;
}
.case_cat li ul a:hover {
	text-decoration: none;
	color: #666;
}

.case .img_thum {
	position: relative;
	z-index: 1;
	overflow: hidden;
	aspect-ratio: 250 / 166;
}
.case li:hover .img_thum span {
	transform: scale(1.0);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}



/*一覧
--------------------------------------------------------------------*/
.case_list {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.case_list > li {
	margin-top: 20px;
	width: 49.2%;
	background: #F7F6F4;
	box-sizing: border-box;
	padding: 1% 2% 40px;
}

.case_list .case_title a {
	display: block;
	text-align: center;
	font-size: 125%;
	letter-spacing: .05em;
	line-height: 1.6em;
	height: 7.0em;
	position: relative;
	border-bottom: solid 1px #B4B4B5;
	margin-bottom: 30px;
}
.case_list .case_title a:hover {
	color: #B59F34;
}
.case_list .case_title a > span {
	display: block;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.case_list .case_cat {
	margin-bottom: 30px;
}

.case_list .blocklink {
	padding: 0 2%;
}

.case_list .ft_gothic {
	margin: 1.5em 0;
}
.case_list .btn_more {
	background: #fff;
	text-align: center;
	font-size: 90%;
	letter-spacing: .1em;
	line-height: 1.2em;
	padding: 1.2em 0;
	transition: background 0.8s;
}
.case_list .blocklink:hover .btn_more {
	transition: background 0.4s;
	background: #8D8A83;
	color: #fff;
}
.case_list .btn_more a {
	display: inline-block;
	padding-right: 2.0em;
	position: relative;
}
.case_list .btn_more .com_arrow1 {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}



/*詳細ページ
--------------------------------------------------------------------*/
.case_detail .com_index5 span::after {
	content: "／";
	margin-left: .2em;
}
.case_detail .com_index5 span:last-of-type::after {
	display: none;
}
.case_detail .case_inbox {
	width: 100%;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
.case_detail .detail_title {
	border-bottom: solid 1px rgba(209,202,196,0.30);
}
.case_detail .detail_title h3 {
	font-size:150%;
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.5em;
}
.case_detail .case_cat,
.case_detail .case_cat > li,
.case_detail .case_cat li ul {
    justify-content:  flex-start;
}

/*sub_photo*/
.case_detail .before_after,
.case_detail .before_after_txt,
.case_detail .sub_photo {
	width: 90%;
	max-width: 946px;
	margin-left: auto;
	margin-right: auto;
}
.case_detail .sub_photo {
	display: flex;
    flex-wrap: wrap;
}
.case_detail .sub_photo > li {
	width: 28.5%;
	margin-right: 7.25%;
	margin-top: 40px;
}
.case_detail .sub_photo > li:nth-child(3n),
.case_detail .sub_photo > li:last-child {
	margin-right: 0;
}
.case_detail .sub_photo > li:nth-child(-n+3) {
	margin-top: 0;
}
.case_detail .sub_photo p {
	margin-top: 1.5em;
}

/*tbl_detail*/
.case_detail .tbl_detail {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.case_detail .tbl_detail th {
	width: 24%;
	background:rgba(247,241,229,0.80);
	font-size:110%;
	letter-spacing: 0.15em;
	line-height: 1.4em;
	font-family: "Shippori Mincho B1", serif;
	font-weight: 400;
	font-style: normal;
	text-align: left;
}
.case_detail .tbl_detail td {
	width: 76%;
}
.case_detail .tbl_detail td,
.case_detail .risk > dd{
	font-size:95%;
	letter-spacing: 0.1em;
	line-height: 2em;
}
.case_detail .sub_photo p{
	font-size:90%;
	letter-spacing: 0.1em;
	line-height: 1.8em;
}
.case_detail .tbl_detail th,
.case_detail .tbl_detail td {
	border-top:1px solid #e8e5e2;
	padding: min(1.5rem,1.5vw) min(2.5rem,2.5vw);
	box-sizing: border-box;
	vertical-align: top;
}
.case_detail .tbl_detail tr:last-child th,
.case_detail .tbl_detail tr:last-child td {
	border-bottom:1px solid #e8e5e2;
}

/*risk*/
.case_detail .risk {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.case_detail .risk > dt {
	font-size: 115%;
	font-weight: bold;
	letter-spacing: .2em;
	line-height: 1em;
	background: #c4a871;
	text-align: center;
	padding: 1.2em 0;
	color: #fff;
	margin-bottom: 1.7em;
}
.case_detail .risk > dd {
	max-width: 1070px;
	margin-left: auto;
	margin-right: auto;
}
.case_detail .risk > dd li {
	padding-left: 1.0em;
	position: relative;
}
.case_detail .risk > dd li::before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}




/* before_after
---------------------------------------------------------*/
.before_after .com_bdr_tate{
	height: 1.8em;
	width: 2px;
	margin: 1em auto;
}

.before_after > dl{
	position: relative;
}
.before_after > dl dt{
	position: absolute;
	top:-1.7em;
	left:-1.5em;
	background: #004150;
	border:1px solid #004150;
	color: #fff;
	border-radius: 50%;
	width: 5em;
	height: 5em;
	text-align: center;
	display: flex;
    justify-content: center;
    align-items: center;
	font-family: "Cormorant Infant", serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	line-height: 1em;	
	font-size:min(160%,2.5vw);
}
.before_after > dl.after dt{
	background: #fff;
	color: #004150;
	border:1px solid #004150;
}
.before_after > dl dd {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	text-align: center;
}
.before_after > dl dd > div {
	width: 32.8%;
	aspect-ratio: 210 / 140;
	overflow: hidden;	
}
.before_after > dl dd > div:nth-of-type(n+4) {
	margin-top: 0.6%;
}