@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .innTxt {
	margin-top: -116px;
}
#main .comMore.style01 {
	margin: -30px 14px 60px 0;
	text-align: right;
}
#main .concept {
	margin-bottom: 50px;
}
#main .concept .imgInner {
	position: relative;
	background-color: #fff;
	flex-direction: row-reverse;
}
#main .imgInner .textBox {
	padding: 20px 63px 25px;
	width: 50%;
	align-items: center;
	display: flex;
	position: relative;
}
#main .imgInner .photo {
	width: 50%;
}
#main .imgInner .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .imgInner .textBox h3 {
	margin-bottom: 62px;
	font-size: 2.7rem;
	font-weight: normal;
	text-align: center;
}
#main .imgInner .textBox p {
	font-size: 2rem;
	line-height: 1.6895;
	letter-spacing: 0.05em;
}
#main .imgInner .textBox p:not(:last-child) {
	margin-bottom: 34px;
}
#main .subBox {
	padding: 0 122px;
	margin: 0 -122px 64px;
	background: url("../img/index/photo04.jpg") no-repeat top 267px center / 100% auto;
}
#main .subBox .topImg {
	margin: 0 0 382px 179px;
}
#main .subBox .listBox {
	padding: 68px 39px 13px;
	background-color: #f1eeeb;
}
#main .subBox .listBox p {
	margin-bottom: 69px;
	text-align: center;
	font-size: 2rem;
	letter-spacing: 0.05em;
}
#main .subBox .listBox ul {
	margin: -43px 2px 48px 0;
}
#main .subBox .listBox ul li {
	margin-top: 43px;
	width: 47.3%;
}
#main .subBox .listBox ul li a {
	display: block;
	position: relative;
}
#main .subBox .listBox ul li a::before {
	width: 51px;
	height: 51px;
	position: absolute;
	right: 26px;
	bottom: 28px;
	background: url(../img/common/icon02.png) no-repeat left top / 100% 100%;
	content: '';
	z-index: 1;
}
#main .subBox .listBox ul li img {
	width: 100%;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}
#main .subBox .listBox .note {
	margin: 0 8px;
	text-align: right;
	font-family: 'kokumr';
	font-size: 1.237rem;
    font-weight: bold;
	letter-spacing: 0.22em;
}
#main .detail {
	flex-direction: row;
	background-color: #fff;
	padding: 12px 0 53px;
}
#main .detail .textBox {
	padding: 111px 0 0;
	margin-right: -300px;
	width: 40%;
	align-items: flex-start;
	justify-content: flex-end;
	position: relative;
	z-index: 5;
}
#main .detail .textBox .inner {
	max-width: 478px;
	padding: 54px 25px 92px;
	min-height: 340px;
	width: 100%;
	background-color: #F8F8F8;
	box-sizing: border-box;
}
#main .detail .photo {
	width: 70.5%;
}
#main .detail .photo a {
	display: block;
}
#main .detail .textBox p {
	font-size: 1.836rem;
}
#main .detail .textBox h3 {
	margin: 0 20px 33px 0;
	font-size: 2.45rem;
}
#main .imgInnerR {
	margin-bottom: 96px;
	padding-bottom: 24px;
	flex-direction: row-reverse;
}
#main .imgInnerR .textBox {
	padding-top: 20px;
	margin: 0 0 0 -300px;
	align-items: center;
	justify-content: flex-start;
}
#main .imgInnerR .textBox .inner {
	padding: 112px 25px 92px;
}
#main .info {
	margin: 0 auto;
	max-width: 1108px;
}
#main .info .lBox {
	width: 47.8%;
}
#main .info .rBox {
	margin-top: 28px;
	width: 46%;
	padding-right: 12px;
    box-sizing: border-box;
}
#main .info .lBox p {
	margin: 0 48px 20px;
	font-size: 1.588rem;
	letter-spacing: 0.075em;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#main .info .lBox .photo {
	margin: 0 0 81px;
	text-align: center;
}
#main .info .lBox .photo img {
	width: 91.2%;
}
#main .info .lBox ul li {
	width: 25%;
}
#main .info .lBox ul li a:hover {
	opacity: 0.7;
}
#main .info .lBox ul li img {
	width: 100%;
}
#main .info .rBox h3 {
	margin: 0 10px 59px;
	font-size: 2.153rem;
	font-weight: normal;
	letter-spacing: 0.075em;
}
#main .info .rBox ul {
	margin-bottom: 19px;
}
#main .info .rBox li {
	padding: 12px 0 5px 8px;
	font-size: 1.563rem;
	line-height: 1.6;
	letter-spacing: 0.075em;
	border-top: 4px solid #fff;
}
#main .info .rBox li span {
	margin-bottom: 11px;
	display: block;
}
#main .info .rBox li .size {
	margin: 4px 0 3px;
	display: block;
	font-size: 1.8rem;
	letter-spacing: 0.075em;
}
#main .info .rBox li.special {
	font-size: 1.459rem;
}
#main .info .rBox .comMore {
	padding-left: 6px;
}
.fancybox-button[disabled] {
	display: none !important;
}
@media all and (min-width: 961px) and (max-width: 1430px) {
	#main .innTxt {
		font-size: 1.4rem;
	}
}
@media all and (min-width: 961px) {
	#main .subBox .listBox ul li {
		display: block;
		overflow: hidden;
	}
	#main .subBox .listBox ul li a:hover img {
		transform: scale(1.1);
		-webkit-transform: scale(1.1);
	}
    .fancybox-button--close:hover {
        opacity: 0.7 !important;
    }
}
@media all and (max-width: 960px) {
	#main .mainImg img {
		width: 100%;
	}
	#main .innTxt {
		margin: 23px 20px 13px;
		text-align: center;
	}
	#main .comMore.style01 {
		margin: 0 0 17px;
		text-align: center;
	}
	#main .comMore.style01 a {
		max-width: 234px;
		font-size: 1.7rem;
	}
	#main .comMore.style01 a span {
		padding: 18px 92px 15px 12px;
		background-size: 64px auto;
		background-position: right 27px bottom 17px;
	}
	#main .concept {
		margin-bottom: 38px;
	}
	#main .imgInner {
		display: block;
	}
	#main .imgInner .textBox {
		margin: 0 !important;
		padding: 30px 25px 33px;
		width: auto !important;
		display: block !important;
	}
	#main .imgInner .photo {
		width: auto;
	}
	#main .imgInner .photo img {
		width: 100%;
	}
	#main .imgInner .textBox h3 {
		margin-bottom: 22px;
	}
	#main .imgInner .textBox p {
		font-size: 1.4rem;
		line-height: 2.14;
	}
	#main .imgInner .textBox p:not(:last-child) {
		margin-bottom: 30px;
	}
	#main .subBox {
		padding: 0;
		margin: 0 0 55px;
		background-image: url(../img/index/photo04_sp.jpg);
		background-position: top 165px center;
	}
	#main .subBox .topImg {
		margin: 0 15px 78.5%;
	}
	#main .subBox .topImg img {
		width: 100%;
	}
	#main .subBox .listBox {
		margin: 0 15px;
		padding: 43px 15px 12px;
	}
	#main .subBox .listBox p {
		margin-bottom: 30px;
		font-size: 1.4rem;
		line-height: 1.78;
	}
	#main .subBox .listBox ul {
		margin: 0 0 -4px;
		display: block;
	}
	#main .subBox .listBox ul li {
		margin: 0 0 15px;
		width: auto;
	}
	#main .subBox .listBox .note {
		margin: 0;
		font-style: italic;
	}
	#main .subBox .listBox ul li img {
		width: 100%;
	}
	#main .subBox .listBox ul li a::before {
		width: 31px;
		height: 31px;
		right: 9px;
		bottom: 10px;
	}
	#main .detail {
		padding: 16px 0 15px;
	}
	#main .detail .textBox {
		padding: 0 15px;
		margin: 0;
		width: auto;
		align-items: flex-start;
	}
	#main .detail .textBox p {
		margin-right: -10px;
		line-height: 1.78;
	}
	#main .detail .textBox .inner {
		padding: 54px 17px 38px;
		min-height: inherit;
		max-width: inherit;
	}
	#main .detail .photo {
		width: auto;
	}
	#main .detail .textBox h3 {
		margin: 0 0 21px;
	}
	#main .imgInnerR {
		margin-bottom: 41px;
		padding-bottom: 35px;
	}
	#main .imgInnerR .textBox {
		padding: 20px 0 0;
		margin: 0;
	}
	#main .imgInnerR .textBox .inner {
		padding: 39px 19px 46px;
	}
	#main .info {
		display: block;
	}
	#main .info .lBox {
		padding-right: 2px;
		width: auto;
	}
	#main .info .rBox {
		margin: 42px 15px 0;
		width: auto;
	}
	#main .info .lBox p {
		margin: 0 48px 44px;
        text-align: center;
	}
	#main .info .lBox .photo {
		margin-bottom: 50px;
		text-align: center;
	}
	#main .info .lBox .photo img {
		width: 91.8%;
	}
	#main .info .lBox ul {
		margin: 0 25px;
	}
	#main .info .lBox ul li {
		width: 28.3%;
	}
	#main .info .rBox h3 {
		margin: 0 10px 26px;
		font-size: 2.1rem;
		text-align: center;
	}
	#main .info .rBox ul {
		margin-bottom: 24px;
	}
	#main .info .rBox li {
		padding: 15px 0 8px 10px;
		font-size: 1.3rem;
		line-height: 1.77;
		border-top-width: 3px;
	}
	#main .info .rBox li.special {
		padding: 12px 0 5px 8px;
		font-size: 1.3rem;
	}
	#main .info .rBox li span {
		margin-bottom: 8px;
	}
	#main .info .rBox li:first-child {
		font-size: 1.4rem;
	}
	#main .info .rBox li .size {
		margin-top: 7px;
		font-size: 1.5rem;
	}
	#main .info .rBox .comMore {
		padding-left: 8px;
		text-align: center;
	}
}
@media all and (max-width: 374px) {
	#main .info .rBox .comMore a span {
		padding-right: 90px;
		background-position: right 20px bottom 21px;
		background-size: 60px;
	}
}
@media all and (max-width: 359px) {
	#main .innTxt {
		font-size: 1.3rem;
	}
}