/*-------------------------------------------------
|-  
|-  detailTtlBlock
|-
-------------------------------------------------*/
.detailTtl {
	width: 100%;
	padding: 120px 0;
	background-image: url(/assets/img/bg_opex.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.detailTtl_item {
	color: #fff;
	font-weight: bold;
	text-align: center;
	text-indent: 0.1em;
	letter-spacing: 0.1em;
}
.detailTtl_item-opex {
	width: 13%;
	margin: 0 auto 10px;
}
.detailTtl_item-txt {
	font-size: 15px;
	letter-spacing: .2em;
}
@media screen and (max-width: 767px){
	.detailTtl {
		padding: 25px 0;
	}
	.detailTtl_item-txt {
		font-size: 20px;
	}
	.detailTtl_item-opex {
		width: 29%;
		margin: 0 auto 5px;
	}
	.detailTtl_item-txt {
		font-size: 14px;
	}
}
/*-------------------------------------------------
|-  
|-  opexCmnBlock - opexCmnTopCont
|-
-------------------------------------------------*/
.opexCmnTopCont {
	width: 74%;
	max-width: 1040px;
	margin: 0 auto;
	padding: 110px 0 180px;
}
.opexCmnTtl {
	margin-bottom: 60px;
	font-size: 17px;
	font-weight: bold;
	text-align: center;
	text-indent: 0.2em;
	letter-spacing: 0.2em;
	line-height: 200%;
}
.opexCmnTxt {
	margin-bottom: 65px;
	font-size: 15px;
	text-align: center;
	line-height: 250%;
}
.opexCmnPhoto {
	display: flex;
	justify-content: space-between;
}
.opexCmnPhoto_item {
	width: 33%;
}
@media screen and (max-width: 767px){
	.opexCmnTopCont {
		width: 89%;
		padding: 43px 0 33px;
	}
	.opexCmnTtl {
		margin-bottom: 30px;
		font-size: 14px;
		letter-spacing: .1em;
		line-height: 170%;
	}
	.opexCmnTxt {
		margin-bottom: 20px;
		font-size: 13px;
		text-align: left;
		line-height: 200%;
	}
}
/*-------------------------------------------------
|-  
|-  opexCmnBlock - opexCmnBtmCont
|-
-------------------------------------------------*/
.opexCmnBtmCont {
	padding: 65px 0 95px;
	background-color: #f0f0f0;
}
.opexCmnBtmTtl {
	margin-bottom: 55px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	text-indent: 0.1em;
	letter-spacing: 0.1em;
}
.opexCmnListArea {
	width: 74%;
	max-width: 1040px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.opexCmnList {
	position: relative;
	width: 21%;
}
.opexCmnList:after {
	content: '';
	position: absolute;
	top: 0;
	right: -13%;
	width: 1px;
	height: 100%;
	background-color: #d4d4d4;
	display: block;
}
.opexCmnList:last-of-type:after {
	display: none;
}
.cs-arrow {
	position: absolute;
	top: 50%;
	right: -17%;
	width: 10%;
	padding: 8% 0;
	background-color: #f0f0f0;
	z-index: 1;
}
.cs-arrow:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 6px;
	height: 6px;
	margin: auto;
	border: 0px;
	border-top: solid 2px #a28e71;
	border-right: solid 2px #a28e71;
	border-radius: 1px;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.opexCmnList_img {
	position: relative;
}
.cs-num {
	position: absolute;
	top: 0;
	left: 0;
	width: 17%;
	padding: 6% 0;
	background-color: #a28e71;
}
.cs-numImg01 {
	width: 53%;
	margin: 0 auto;
	display: block;
}
.cs-numImg02, .cs-numImg03, .cs-numImg04 {
	width: 54%;
	margin: 0 auto;
	display: block;
}
.opexCmnListTxt_item-top {
	margin: 20px 0;
	color: #a28e71;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	text-indent: 0.1em;
	letter-spacing: 0.1em;
}
.opexCmnListTxt_item-btm {
	text-indent: 0.1em;
	letter-spacing: 0.1em;
	line-height: 180%;
}
@media screen and (max-width: 767px){
	.opexCmnBtmCont {
		padding: 25px 0 40px;
	}
	.opexCmnBtmTtl {
		margin-bottom: 30px;
		font-size: 16px;
	}
	.opexCmnListArea {
		width: 89%;
		display: block;
	}
	.opexCmnList {
		width: 100%;
		margin-bottom: 25px;
		padding-bottom: 25px;
		display: flex;
		justify-content: space-between;
	}
	.opexCmnList:last-of-type {
		margin: 0;
		padding: 0;
	}
	.opexCmnList:after {
		content: '';
		position: absolute;
		top: auto;
		bottom: 0;
		right: 0;
		width: 100%;
		height: 1px;
		background-color: #d4d4d4;
		display: block;
	}
	.opexCmnList:last-of-type:after {
		display: none;
	}
	.cs-arrow {
		top: auto;
		bottom: 0;
		right: 0;
		left: 0;
		margin: auto;
		padding: 1% 0;
	}
	.cs-arrow:before {
		width: 8px;
		height: 8px;
		border-top: solid 1px #a28e71;
		border-right: solid 1px #a28e71;
		-ms-transform: rotate(135deg);
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.opexCmnList_img {
		width: 44%;
	}
	.opexCmnList_txt {
		width: 52%;
	}
	.opexCmnListTxt_item-top {
		margin: 0 0 5px;
		font-size: 12px;
		text-align: left;
	}
	.opexCmnListTxt_item-btm {
		font-size: 11px;
	}
}
/*-------------------------------------------------
|-  
|-  achievementBlock
|-
-------------------------------------------------*/
.achievementBlock {
	margin-bottom: 110px;
	padding: 75px 0 165px;
	background-color: #f0f0f0;
}
.achievementWrap {
	width: 74%;
	max-width: 1040px;
	margin: 0 auto;
}
.achievementTtl {
	margin-bottom: 25px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	text-indent: 0.1em;
	letter-spacing: 0.1em;
}
.cs-achievementTtlSub {
	margin-top: 15px;
	font-size: 15px;
	font-weight: normal;
	display: block;
}
/*--- searchWrap ----------------*/
.searchWrap {
	width: 100%;
	margin-bottom: 5px;
}
.searchTtl {
	width: 170px;
	padding: 10px 0;
	color: #a28e71;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	text-indent: 0.1em;
	letter-spacing: 0.1em;
	background-color: #e3ddd4;
}
.cs-searchTtlIcon {
	width: 7%;
	margin-left: 5%;
}
.searchArea {
	padding: 50px 0;
	box-sizing: border-box;
	background-color: #e3ddd4;
}
.searchCont {
	width: 89%;
	margin: 0 auto 45px;
	display: flex;
	justify-content: space-between;
}
.searchAreaList {
	position: relative;
	width: 55%;
}
.searchAreaList:after {
	content: '';
	position: absolute;
	top: 0;
	right: -4%;
	width: 1px;
	height: 100%;
	background-color: #eaeaea;
	display: block;
}
.cs-searchAreaIcon {
	width: 3.3%;
	margin-right: 1%;
}
.searchDateList {
	width: 41%;
}
.cs-checkDateIcon {
	width: 4%;
	margin-right: 2%;
}
.searchSubTtl {
	margin-bottom: 10px;
	color: #a28e71;
	font-weight: bold;
	text-indent: 0.1em;
	letter-spacing: 0.1em;
}
.searchSelectArea {
	position: relative;
	width: 32%;
	margin-right: 2%;
	float: left;
}
.searchSelectArea:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 15px;
	width: 6px;
	height: 6px;
	margin-top: -4px;
	border: 0px;
	border-bottom: solid 2px #d4d4d4;
	border-right: solid 2px #d4d4d4;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.searchSelectArea:nth-child(4),
.searchSelectArea:nth-child(6) {
	margin-right: 0;
}
.searchSelectArea.date {
	width: 48%;
}
.txtBox {
	margin-right: 0;
}
.txtBox:after {
	display: none;
}
.searchSelect {
	width: 100%;
	padding: 10px 5%;
	color: #a28e71;
	font-weight: bold;
	text-indent: 0.1em;
	letter-spacing: 0.1em;
	border: 1px solid #bfbfbf;
	border-radius: 0;
	background-color: #fff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.cs-txtBox {
	width: 100%;
	padding: 10px 5%;
	box-sizing: border-box;
	color: #a28e71;
	font-weight: bold;
	text-indent: 0.1em;
	letter-spacing: 0.1em;
	border: 1px solid #bfbfbf;
	border-radius: 0;
}
/*--- searchBtn ----------------*/
.searchBtn {
	width: 58%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
.searchBtn_item {
	width: 49%;
}
.cs-resetBtn {
	position: relative;
	width: 100%;
	padding: 10px 0;
	border: 1px solid #a28e71;
	box-sizing: border-box;
	background-color: #fff;
	color: #a28e71;
	font-weight: bold;
	text-indent: 0.3em;
	letter-spacing: 0.3em;
	cursor: pointer;
	transition: all .2s;
}
.cs-resetBtn:after {
	content: '';
	position: absolute;
	top: 39%;
	right: 5%;
	width: 6px;
	height: 6px;
	border-top: solid 2px #a28e71;
	border-right: solid 2px #a28e71;
	border-radius: 1px;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: all .2s;
}
.cs-resetBtn:hover:after {
	right: 4%;
}
.cs-resetBtn:hover {
	opacity: 0.8;
	transition: all .2s;
}
.cs-pushBtn {
	position: relative;
	width: 100%;
	padding: 10px 0;
	border: 1px solid #a28e71;
	box-sizing: border-box;
	background-color: #a28e71;
	color: #fff;
	font-weight: bold;
	text-indent: 0.3em;
	letter-spacing: 0.3em;
	cursor: pointer;
	transition: all .2s;
}
.cs-pushBtn:after {
	content: '';
	position: absolute;
	top: 39%;
	right: 5%;
	width: 6px;
	height: 6px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	border-radius: 1px;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transition: all .2s;
}
.cs-pushBtn:hover:after {
	right: 4%;
}
.cs-pushBtn:hover {
	opacity: 0.8;
	transition: all .2s;
}
/*--- achievementListWrap ----------------*/
.achievementListWrap {
	padding: 50px 0 55px;
	background-color: #fff;
}
.achievementList {
	width: 89%;
	margin: 0 auto 45px;
}
.achievementList:last-child {
	margin: 0 auto;
}
.achievementList:nth-child(n + 9) {
	display: none;
}
.achievementListTtl {
	font-size: 16px;
	font-weight: bold;
	text-indent: 0.1em;
	letter-spacing: 0.1em;
}
.achievementListBtn {
	width: 150px;
	margin: 100px auto 0;
	cursor: pointer;
	transition: .2s;
}
.achievementListBtn:hover {
	transition: .2s;
	opacity: .8;
}
@media screen and (max-width: 767px){
	.achievementBlock {
		margin-bottom: 20px;
		padding: 30px 0 20px;
	}
	.achievementWrap {
		width: 89%;
	}
	.achievementTtl {
		font-size: 16px;
	}
	.cs-achievementTtlSub {
		margin-top: 5px;
		font-size: 13px;
		line-height: 250%;
	}
	/*--- searchWrap ----------------*/
	.searchWrap {
		margin-bottom: 3px;
	}
	.searchTtl {
		width: 105px;
		padding: 5px 0;
		font-size: 10px;
	}
	.cs-searchTtlIcon {
		width: 10%;
	}
	/*--- searchArea ----------------*/
	.searchArea {
		padding: 25px 0;
	}
	.searchCont {
		width: 91%;
		margin: 0 auto 25px;
		display: block;
	}
	.searchAreaList {
		width: 100%;
		margin-bottom: 10px;
	}
	.searchDateList {
		width: 100%;
	}
	.searchSelectArea {
		width: 100%;
		margin: 0 0 5px 0;
		float: none;
	}
	.searchSelectArea:after {
		border-bottom: solid 1px #d4d4d4;
		border-right: solid 1px #d4d4d4;
	}
	.searchSelectArea.date {
		width: 100%;
	}
	.searchSubTtl {
		margin-bottom: 5px;
		font-size: 12px;
	}
	.cs-searchAreaIcon {
		width: 6%;
	}
	.cs-checkDateIcon {
		width: 5%;
		vertical-align: middle;
	}
	.searchSelect, .cs-txtBox {
		padding: 5px 3%;
		font-size: 13px;
	}
	.searchBtn {
		width: 89%;
	}
	.searchBtn_item {
		width: 49.5%;
	}
	.cs-resetBtn, .cs-pushBtn {
		padding: 5px 0;
		font-size: 13px;
		text-indent: 0;
		letter-spacing: 0;
	}
	/*--- achievementListWrap ----------------*/
	.achievementListWrap {
		padding: 23px 0 15px;
	}
	.achievementList {
		width: 91%;
		margin: 0 auto 15px;
	}
	.achievementListTtl {
		font-size: 13px;
	}
	.achievementListBtn {
		width: 32%;
		margin: 40px auto 0;
	}
}
/*--- tab ----------------*/
.tab {
	width: 100%;
	display: flex;
}
.tab_item {
	position: relative;
	width: 25%;
	padding: 10px 0;
	color: #fff;
	font-weight: bold;
	text-align: center;
	text-indent: 0.2em;
	letter-spacing: 0.2em;
	background-color: #a28e71;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	box-sizing: border-box;
	cursor: pointer;
}
.tab_item:last-child {
	border-right: 0;
}
.tab_item.current {
	border-bottom: 0;
}
.tab_item-bgCol {
	background-color: #dad2c6;
	cursor: auto;
}
.tab_item-finish.tab_item-bgCol:before {
	background-color: #afa18f;
}
.tab_item-finish:before {
	content: '\6E08';
	position: absolute;
	top: 50%;
	-webkit-transform : translateY(-50%);
	transform : translateY(-50%);
	left: 5%;
	width: 21px;
	font-size: 13px;
	font-weight: normal;
	background-color: #756754;
	display: block;
}
.tab_item-photo:after {
	content: '';
	position: absolute;
	top: 50%;
	-webkit-transform : translateY(-50%);
	transform : translateY(-50%);
	right: 5%;
	width: 17px;
	height: 16px;
	background-image: url(/assets/img/icon_opex_photo.svg);
	background-repeat: no-repeat;
	display: block;
}
.tabSp {
	display: none;
}
.content {
	display: none;
	padding: 16px 0;
	background-color: #a28e71;
}
@media screen and (max-width: 1030px){
	.tab_item {
		font-size: 1.1vw;
	}
	.tab_item-finish:before {
		width: 15px;
		font-size: 11px;
	}
	.tab_item-photo:after {
		width: 14px;
		height: 14px;
	}
}
@media screen and (max-width: 767px){
	.tabPc {
		display: none;
	}
	.tabSp {
		display: flex;
	}
	.tab_itemSp {
		position: relative;
		width: 25%;
		padding: 3px 0 15px;
		color: #fff;
		font-size: 10px;
		text-align: center;
		text-indent: 0;
		letter-spacing: 0;
		background-color: #a28e71;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
		display: flex;
		align-items: flex-end;
	}
	.tab_itemSp:after {
		content: '';
		position: absolute;
		bottom: 13%;
		right: 0;
		left: 0;
		width: 5px;
		height: 5px;
		margin: auto;
		border: 0px;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		border-radius: 1px;
		-ms-transform: rotate(135deg);
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.tab_itemSp.tab_item-bgCol:after {
		display: none;
	}
	.tab_item-bgCol {
		background-color: #dad2c6;
	}
	.tab_item-bgCol .tab_item-finish {
		background-color: #afa18f;
	}
	.tab_itemSp:last-child {
		border-right: 0;
	}
	.tab_itemSp.current {
		border-bottom: 0;
	}
	.tab_itemSp.current:after {
		content: '';
		position: absolute;
		bottom: 8%;
		right: 0;
		left: 0;
		width: 5px;
		height: 5px;
		margin: auto;
		border: 0px;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		border-radius: 1px;
		-ms-transform: rotate(-45deg);
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.cs-tabTxt {
		width: 100%;
		margin-top: 3px;
		font-weight: bold;
		clear: both;
	}
	.tab_item-finish:before {
		display: none;
	}
	.tab_item-finish {
		width: 15px;
		margin-left: 3px;
		font-size: 10px;
		background-color: #756754;
		display: block;
		float: left;
	}
	.tab_item-photo:after {
		display: none;
	}
	.tab_item-photo {
		width: 15px;
		height: 16px;
		margin-left: 3px;
		background-image: url(/assets/img/icon_opex_photo.svg);
		background-repeat: no-repeat;
		display: block;
		float: left;
	}
}
/*--- tabContents ----------------*/
.content {
	display: none;
}
.content.current {
	display: block;
}
.achievementPhoto {
	width: 96%;
	margin: 0 auto 15px;
}
.achievementPhoto_item {
	position: relative;
	width: 24.5%;
	margin-right: 5px;
	padding-top: 19%;
	background-color: #efefef;
	float: left;
	cursor: pointer;
}
.achievementPhoto_item:last-child {
	margin-right: 0;
}
.achievementPhoto_item:after {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 25px;
	height: 25px;
	background-color: #2a2a2a;
	background-image: url(/assets/img/icon_opex_zoom.svg);
	background-size: 50%;
	background-position: center;
	background-repeat: no-repeat;
	display: block;
}
.cs-achievementPhoto {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	margin: auto;
	display: block;
}
.achievementBox {
	width: 96%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.achievementBox_date {
	color: #fff;
	font-weight: bold;
	text-indent: 0.1em;
	letter-spacing: 0.1em;
}
.cs-dateTxt {
	font-weight: bold;
}
.achievementBox_close {
	width: 8.5%;
	cursor: pointer;
}
@media screen and (max-width: 767px){
	.achievementPhoto_item {
		width: 49.3%;
		margin: 0 3px 3px 0;
		padding-top: 34%;
	}
	.achievementPhoto_item:nth-child(2n){
		margin-right: 0;
	}
	.content {
		padding: 10px 0;
	}
	.achievementPhoto {
		width: 93%;
		margin: 0 auto 5px;
	}
	.achievementBox_date {
		font-size: 10px;
	}
	.achievementBox {
		width: 93%;
	}
	.achievementBox_close {
		width: 18%;
	}
	.achievementPhoto_item:after {
		width: 18px;
		height: 18px;
		background-size: 45%;
	}
}
/* モーダル コンテンツエリア */
.modalImg {
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform : translate(-50%,-50%);
	transform : translate(-50%,-50%);
	width: auto;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	color: #666;
	position: fixed;
	z-index: 120;
}
/* モーダル 背景エリア */
#modalBg {
	display:none;
	width:100%;
	height:100%;
	background-color: rgba(0,0,0,0.5);
	position:fixed;
	top:0;
	left:0;
	z-index: 110;
}
@media screen and (max-width: 767px){
	.modalImg {
		width: 90%;
	}
}
/*-------------------------------------------------
|-  
|-  opexBtnBlock
|-
-------------------------------------------------*/
.opexBtnBlock {
	position: relative;
	width: 100%;
	margin-bottom: 135px;
	padding-bottom: 200px;
}
.opexBtnBlock:after {
	content: '';
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: #d4d4d4;
	display: block;
}
.opexTopBtn {
	position: relative;
	width: 23%;
	max-width: 323px;
	margin: 0 auto;
}
.cs-topLink {
	position: relative;
	width: 100%;
	padding: 10px 0;
	color: #fff;
	font-weight: bold;
	text-align: center;
	text-indent: 0.2em;
	letter-spacing: 0.2em;
	background-color: #2a2a2a;
	display: block;
	transition: all .2s;
}
.cs-topLink:hover {
	opacity: 0.8;
	transition: all .2s;
}
.cs-topLink:before {
	content: '';
	position: absolute;
	top: 45%;
	left: 4%;
	width: 5px;
	height: 5px;
	border: 0px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	border-radius: 1px;
	-ms-transform: rotate(225deg);
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
	transition: all .2s;
}
.cs-topLink:hover:before {
	left: 1.8%;
}
@media screen and (max-width: 767px){
	.opexBtnBlock {
		margin-bottom: 40px;
		padding-bottom: 85px;
	}
	.opexTopBtn {
		width: 89%;
		max-width: 100%;
		margin: 0 auto;
	}
	.cs-topLink {
		padding: 5px 0;
		font-size: 13px;
	}
	.cs-topLink:before {
		top: 40%;
	}
}
/*-------------------------------------------------
|-  cmn
|-  cmnBtnLinkBlock
|-
-------------------------------------------------*/
.cmnBtnLinkBlock {
	margin: 0 auto 105px;
	display: block;
}
.cmnBtnLinkArea {
	margin-bottom: 45px;
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 767px){
	.cmnBtnLinkBlock {
		margin: 0 auto 56px;
	}
	.cmnBtnLinkArea {
		margin: 0 auto 15px;
		display: block;
	}
}