@charset "UTF-8";



/* カテゴリーリスト
---------------------------------------------------------*/
.case_cat {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	margin-bottom: 80px;
}
.case_cat > li {
	width: 48.5%;
	margin-top: 3%;
}
.case_cat > li:nth-child(-n+2) {
	margin-top: 0;
}
.case_cat > li > p {
	background: #F2F0EC;
	color: #A78D6D;
	font-size: 120%;
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.4em;
	position: relative;
	cursor: pointer;
	transition: all 0.4s;
}
.case_cat > li > p > span,
.case_cat > li > p > a {
	color: #A78D6D;
	display: block;
	padding: .9em 5%;
	padding-right: 1.0em;
}
.case_cat > li > p:hover {
	background: #E6E1D9;
}
.case_cat > li > p::before {
	font-family: 'fontello';
	font-size: 70%;
	font-weight: normal;
	content: '\e802';
	position: absolute;
	right: 1.0em;
	top: 50%;
	transform: translateY(-50%);
}
.case_cat > li > .case_open::before {
	transform: translateY(-50%) rotate(90deg);
}
.case_cat > li > .case_open.active::before {
	top: 50%;
	transform: translateY(-50%) rotate(-90deg);
}
.case_cat li li {
	line-height: 1.4em;
	border-bottom: solid 1px #DFDFDF;
}
.case_cat li li a {
	display: block;
	padding: .8em 0;
	padding-left: 2.5em;
	position: relative;
}
.case_cat li li a::before {
	font-family: 'fontello';
	content: '\e801';
	color: #B6A775;
	position: absolute;
	left: .8em;
	top: 50%;
	transform: translateY(-50%);
}
.case_cat li li a:hover {
	color: #A78D6D;
}
.case_cat > li ul {
	display: none;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.case_cat {
	margin-bottom: 6%;
}
.case_cat {
	font-size: 90%;
}
.case_cat > li {
	width: 49%;
	margin-top: 2%;
}
.case_cat > li:nth-child(-n+2) {
	margin-top: 0;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.case_cat {
	font-size: 90%;
	margin-bottom: 10%;
}
.case_cat > li {
	width: 49%;
	margin-top: 2%;
}
.case_cat > li > p {
	font-size: 110%;
	letter-spacing: normal;
}
.case_cat > li > p::before {
	right: .5em;
}
.case_cat li li a {
	padding-left: 1.5em;
}
.case_cat li li a::before {
	left: 0;
}
}



/* 共通
---------------------------------------------------------*/
.case .com_index1 {
	margin-bottom: 50px;
}

.case .list_cat {
	display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
	color: #826741;
	letter-spacing: .05em;
	line-height: 1.4em;
}
.case .list_cat li {
	padding-right: 1.2em;
	position: relative;
}
.case .list_cat li::before {
	content: "";
	position: absolute;
	width: 1px;
	height: .8em;
	background: #826741;
	right: .6em;
	top: 50%;
	transform: translateY(-50%) rotate(30deg);
}
.case .list_cat li:last-child {
	padding-right: 0;
}
.case .list_cat li:last-child::before {
	display: none;
}

.case .photo_hori {
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.case .photo_hori div {
	width: 48%;
	position: relative;
}
.case .photo_hori div:first-child::before {
	content: "";
	position: absolute;
	width: 9%;
	height: 100%;
	left: 100%;
	top: 0;
	background: url("../images/case_arrow_h.png") no-repeat center center;
	background-size: 60% auto;
}

.case .photo_vert div:first-child::after {
	content: "";
	display: block;
	width: 100%;
	height: 1.0em;
	background: url("../images/case_arrow_v.png") no-repeat center center;
	background-size: auto 60%;
}

.case .caption {
	text-align: right;
	color: #888;
	font-size: 70%;
	letter-spacing: normal;
	line-height: 1.2em;
	margin-top: .8em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.case .com_index1 {
	margin-bottom: 4%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.case .com_index1 {
	margin-bottom: 8%;
}
.case .list_cat li::before {
	top: 55%;
	transform: translateY(-50%) rotate(30deg);
}

.case .photo_vert div:first-child::after {
	height: .8em;
}

.case .caption {
	text-align: right;
	color: #888;
	font-size: 70%;
	letter-spacing: normal;
	line-height: 1.2em;
	margin-top: .8em;
}
}



/* 一覧
---------------------------------------------------------*/
.case_list {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.case_list > li {
	width: 48.6%;
	background: #F4F4F4;
	box-sizing: border-box;
	padding: 3%;
	text-align: center;
	margin-top: 40px;
	transition: all 0.4s;
}
.case_list > li:hover {
	background: #E8E8E8;
}
.case_list > li:nth-child(-n+2) {
	margin-top: 0;
}
.case_list .list_title {
	color: #333;
	font-size: 130%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.4em;
}

.case_list .list_cat {
	font-size: 90%;
	margin-top: .5em;
}

.case_list .photo_hori,
.case_list .photo_vert {
	margin-top: 1.5em;
}

.case_list .photo_vert {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

.case_list .list_link a {
	display: inline-block;
	color: #4D4D4D;
	font-size: 100%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-top: 1.0em;
	padding-right: 1.5em;
	position: relative;
}
.case_list .list_link a::before {
	font-family: 'fontello';
	content: '\e802';
	font-weight: normal;
	font-size: 80%;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-45%);
}

.wp-pagenavi {
	margin-top: 60px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.case_list > li {
	margin-top: 4%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.case_list {
	display: block;
}
.case_list > li {
	width: 100%;
	padding: 5% 6% 4%;
	margin-top: 6% !important;
}
.case_list > li:nth-child(-n+1) {
	margin-top: 0 !important;
}
.case_list .list_title {
	font-size: 120%;
}
.case_list .list_cat {
	margin-top: .2em;
}

.case_list .photo_hori,
.case_list .photo_vert {
	margin-top: 1.0em;
}

.case_list .photo_vert {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

.case_list .list_link a {
	margin-top: .8em;
}

.wp-pagenavi {
	margin-top: 8%;
}
}



/* 詳細
---------------------------------------------------------*/
.case_detail {
	background: #F4F4F4;
	box-sizing: border-box;
	padding: 5% 4%;
	text-align: center;
}
.case_detail .list_cat {
	font-size: 100%;
	margin-bottom: 40px;
}

.case_detail .photo_hori,
.case_detail .photo_vert {
	margin-top: 50px;
}
.case_detail .photo_hori:first-child,
.case_detail .photo_vert:first-child {
	margin-top: 0;
}

.case_detail .photo_hori,
.case_detail .caption,
.case_detail table {
	width: 100%;
	max-width: 620px;
	margin-left: auto;
	margin-right: auto;
}

.case_detail .photo_vert {
	width: 90%;
	max-width: 430px;
	margin-left: auto;
	margin-right: auto;
}
.case_detail .photo_vert div:first-child::after {
	height: 20px;
}

.case_detail table {
	margin-top: 40px;
	background: #fff;
	line-height: 1.4em;
	border-top: solid 1px #CDC2B3;
}
.case_detail table th,
.case_detail table td {
	text-align: left;
	vertical-align: middle;
	box-sizing: border-box;
	padding: .8em 3%;
	border-bottom: solid 1px #CDC2B3;
}
.case_detail table th {
	width: 25%;
	background: #ECE8E2;
	color: #A78B62;
	font-weight: bold;
}
.case_detail table td {
	width: 75%;
}

.case .case_page_links {
	margin-top: 80px;
	border-top: solid 1px #C5C5C5;
}
.case .case_page_links ul {
	font-size: 100%;
	letter-spacing: .1em;
	line-height: 1.2em;
	padding: 1.0em 0;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.case .case_page_links ul li {
	width: 48%;
	box-sizing: border-box;
}
.case .case_page_links ul li:first-child {
	text-align: left;
}
.case .case_page_links ul li:last-child {
	text-align: right;
}
.case .case_page_links ul li a {
	display: inline-block;
	padding: 0 1.5em;
	position: relative;
}
.case .case_page_links ul li a:hover {
	color: #A78B62;
}
.case .case_page_links ul li a::before {
	font-family: 'fontello';
	content: '\e802';
	font-size: 70%;
	position: absolute;
	top: 50%;
}
.case .case_page_links ul li:first-child a::before {
	left: 0;
	transform: translateY(-50%) rotate(180deg);
}
.case .case_page_links ul li:last-child a::before {
	right: 0;
	transform: translateY(-50%);
}
.case .com_btn {
	margin-top: 20px;
}
.case .com_btn a {
	background: #808080;
	padding: 1.2em 6.0em 1.2em 2.0em;
}
.case .com_btn a:hover {
	background: #696969;
}
.case .com_btn a::before{
	content: '\e800';
	font-size: 160%;
	right: .5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.case .case_page_links {
	margin-top: 6%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.case_detail {
	padding: 8% 5%;
}
.case_detail .list_cat {
	margin-bottom: 8%;
}

.case_detail .photo_hori,
.case_detail .photo_vert {
	margin-top: 10%;
}

.case_detail .photo_hori,
.case_detail .caption,
.case_detail table {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.case_detail .photo_vert {
	width: 90%;
	max-width: 100%;
}
.case_detail .photo_vert div:first-child::after {
	height: 3.5vw;
}

.case_detail table {
	margin-top: 8%;
}
.case_detail table tr,
.case_detail table th,
.case_detail table td {
	display: block;
	box-sizing: border-box;
	width: 100%;
}
.case_detail table th {
	padding: .5em 5%;
	border-bottom: none;
}
.case_detail table td {
	padding: 1.0em 5%;
}

.case .case_page_links {
	margin-top: 10%;
}
.case .case_page_links ul {
	font-size: 90%;
	padding: 1.5em 0;
}
.case .com_btn {
	margin-top: 6%;
}
}



/* 
---------------------------------------------------------*/

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

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