@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.mainVisual {
	margin-bottom: 184px;
	height: 750px;
	position: relative;
}
.mainVisual .slideList {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.mainVisual .slideList li {
	display: block !important;
	overflow: hidden;
	position: relative;
}
.mainVisual .slideList li .photo {
	/* transform: scale(1.05,1); */
	transform: scale(1,1);
	height: 750px;
}
.mainVisual .slideList .slick-dots {
	position: absolute;
	right: calc(50% - 620px);
	top: 40px;
	bottom: 0;
	width: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	z-index: 15;
}
.mainVisual .slideList .slick-dots li {
	margin: 10px 0;
	height: 42px;
	width: 42px;
	transition: .3s;
	position: relative;
}
.mainVisual .slideList .slick-dots li::before {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	transform: translate(-50%,-50%);
	content: "";
	background-color: #fff;
}
.mainVisual .slideList .slick-dots li.slick-active::before {
	background-color: #bab097;
}
.mainVisual .slideList .slick-dots li::after {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	content: "";
	border: 1px solid #bab097;
	box-sizing: border-box;
	clip-path: polygon(50% 50%, 0% 0%, 0% 0%);
	transform: rotate(135deg);
}
.mainVisual .slideList .slick-dots li.slick-active::after {
	animation: sector 7500ms linear forwards;
}
@keyframes sector{
	from {
		clip-path: polygon(50% 50%, 0% 0%, 0% 0%);
	}
	25% {
		clip-path: polygon(50% 50%, 0% 0%, 100% 0%);
	}
	25.1% {
		clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 0%);
	}
	50%{
		clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%);
	}
	50.1%{
		clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 100% 100%);
	}
	75%{
		clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 0% 100%);
	}
	75.1%{
		clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 100%);
	}
	to{
		clip-path: polygon(50% 50%, 0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 0%);
	}
}
.mainVisual .slideList .slick-dots li button {
	display: none;
}
.mainVisual .slideList li .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* transform: scale(1.1); */
	transform: scale(1);
}
.mainVisual .slideList li.on .photo {
	/* transform: scale(1.1); */
	transform: scale(1);
	transition: 2.5s linear;
}
.mainVisual .slideList li.on .photo img {
	/* transform: scale(1); */
	transform: scale(1.1);
	transition: 10s linear;
}
.mainVisual .content {
	width: 1200px;
	height: 100%;
	position: relative;
	z-index: 10;
}
.mainVisual .slideList .slideItem .imgTxt {
	margin-left: -390px;
    position: absolute;
    width: 100%;
    bottom: 92px;
    left: 0;
    text-align: center;
}
.mainVisual .slideList .slideItem .imgTxt.imgTxtRight {
    margin-left: 0;
    width: 8vw;
    top: 200px;
    right: calc(50% - 500px);
    left: unset;
}
.mainVisual .slideList .slideItem .imgTxt img {
	width: 410px !important;
	margin: 0 auto;
}
.mainVisual .slideList .slide02 .imgTxt {
	bottom: 172px;
}
.mainVisual .slideList .slide03 .imgTxt {
	bottom: 280px;
}
.mainVisual .scrolldown1 {
	position:absolute;
	right: 7px;
	bottom: 80px;
	height: 80px;
}
.mainVisual .scrolldown1::after{
	content: "";
	position: absolute;
	top: 0;
	width: 1px;
	height: 80px;
	background: #fff;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height: 80px;
		opacity: 1;
	}
	100%{
		height:0;
		top: 100px;
		opacity: 0;
	}
}
#main .trust h2 {
	position: relative;
	margin: 0 0 22px 160px;
	color: #3B372C;
	font-size: 3.2rem;
	font-weight: 500;
	letter-spacing: 0.15em;
}
#main .trust h2 .bg {
	position: relative;
	display: inline-block;
}
#main .trust h2 .bg::before {
	position: absolute;
    width: 100vw;
    right: -2px;
    top: -73px;
    bottom: -419px;
    background-color: #EBE7DB;
    content: "";
    z-index: -1;
}
#main .trust .content {
	width: 1280px;
}
#main .trust .imgBox {
	margin-bottom: 80px;
	flex-direction: row-reverse;
}
#main .trust .textBox {
	width: 740px;
	margin-left: 160px;
}
#main .trust .photoBox {
	margin: 33px 0 0 -600px;
	width: calc(50% + 70px);
}
#main .trust p {
	margin-bottom: 36px;
	width: 310px;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	line-height: 1.89;
}
#main .works {
	padding: 50px 0 70px;
	background: url("../img/index/works_bg.jpg") no-repeat center center;
	background-size: cover;
}
#main .works .content {
	width: 1080px;
}
#main .works .textList {
	margin-bottom: 80px;
}
#main .works .textList li {
	padding: 30px 60px 22px;
	width: 360px;
	color: #fff;
	box-sizing: border-box;
	border-right: 1px solid #fff;
}
#main .works .textList li:last-child {
	border-right: none;
}
#main .works .textList li .ttl {
	margin-bottom: 50px;
	font-size: 2.8rem;
	letter-spacing: 0.4em;
	text-align: center;
}
#main .works .textList li .txt {
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	line-height: 1.89;
}
#main .works .comLink {
	width: auto;
}
#main .works .comLink a {
	margin: 0 60px;
	padding: 25px 23px 26px 30px;
	color: #fff;
	border-color: #fff;
	letter-spacing: 0.4em;
	background: url("../img/common/icon04.png") no-repeat right 58px center;
	background-size: 13px 13px;
}
@media all and (min-width: 961px) {
	#main .works .comLink a:hover {
		color: #3B372C;
		background-color: #EBE7DB;
		border-color: #EBE7DB;
		background-image: url("../img/common/icon03.png");
	}
}
#main .infoBox {
	padding: 59px 0;
}
#main .infoBox .shopBox {
	width: 468px;
}
#main .infoBox .shopBox .phoList {
	margin: -20px 0 116px;
}
#main .infoBox .shopBox li {
	margin-top: 20px;
	width: 222px;
	position: relative;
}
#main .infoBox .shopBox li a {
	display: block;
}
#main .infoBox .shopBox li a:hover {
	opacity: 0.7;
}
#main .infoBox .shopBox li .txt {
	padding: 5px 5px 4px 7px;
	position: absolute;
	bottom: 10px;
	left: 10px;
	color: #fff;
	display: inline-block;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	background-color: #FF0000;
}
#main .infoBox .newsBox {
	width: 386px;
}
#main .infoBox .newsBox .pho {
	margin-bottom: 40px;
}
#main .infoBox .comLink {
	margin: 0 auto;
}
#main .infoBox .comLink a {
	background: url("../img/common/icon05.png") no-repeat right 17px center;
	background-size: 14px 14px;
}
@media all and (min-width: 961px) {
	#main .infoBox .comLink a:hover {
		color: #fff;
		border-color: #BAB097;
		background-color: #BAB097;
		background-image: url("../img/common/icon01.png");
	}
}
#main .linkBox {
	margin-bottom: 80px;
	padding: 116px 0 84px;
	background: url("../img/index/link_bg.jpg") no-repeat center center;
	background-size: cover;
}
#main .linkBox .comLink {
	width: auto;
}
#main .linkBox .comLink a {
	padding: 46px 23px 45px 30px;
	color: #fff;
	border-color: #fff;
	letter-spacing: 0.4em;
	background: url("../img/common/icon04.png") no-repeat right 38px center;
	background-size: 13px 13px;
}
@media all and (min-width: 961px) {
	#main .linkBox .comLink a:hover {
		color: #3B372C;
		border-color: #EBE7DB;
		background-color: #EBE7DB;
		background-image: url("../img/common/icon03.png");
	}
}
@media all and (max-width: 960px) {
	.mainVisual {
		margin-bottom: 107px;
		height: 600px;
		position: relative;
	}
	.mainVisual .slideList li {
		height: 600px;
	}
	.mainVisual .slideList li .photo {
		height: unset;
	}
	.mainVisual .slideList .slick-dots {
		right: 0;
		left: 0;
		top: auto;
		bottom: 30px;
		width: auto;
		flex-direction: row;
	}
	.mainVisual .slideList .slick-dots li {
		margin: 0 9px;
	}
	.mainVisual .content {
		width: auto;
	}
	.mainVisual .slideList .slideItem .imgTxt {
		margin-left: -27px;
		bottom: 133px;
	}
	.mainVisual .slideList .slideItem .imgTxt.imgTxtRight {
		width: 60px;
		right: 60px;
		top: 140px;
	}
	.mainVisual .slideList .slideItem .imgTxt img {
		width: 260px !important;
	}
	.mainVisual .slideList .slide02 .imgTxt {
		bottom: 133px;
	}
	.mainVisual .slideList .slide03 .imgTxt {
		bottom: 307px;
	}
	.mainVisual .scrolldown1{
		display: none;
	}
	#main .trust {
		margin-bottom: 60px;
	}
	#main .trust h2 {
		position: relative;
		margin: 0 0 36px;
		font-size: 2.4rem;
		line-height: 1.75;
	}
	#main .trust h2 .bg::before {
		width: 100vw;
		right: -11px;
		top: -26px;
		bottom: -118px;
	}
	#main .trust .content {
		width: auto;
	}
	#main .trust .imgBox {
		margin-bottom: 0;
		display: block;
	}
	#main .trust .textBox {
		width: auto;
		margin-left: 0;
	}
	#main .trust .photoBox {
		margin: 0 -30px 35px auto;
		width: calc(50% + 146px);
	}
	#main .trust p {
		margin-bottom: 64px;
		width: auto;
		font-size: 1.6rem;
		line-height: 1.69;
	}
	#main .works {
		padding: 36px 0 41px;
		background: url("../img/index/sp_works_bg.jpg") no-repeat center center;
		background-size: cover;
	}
	#main .works .content {
		width: auto;
	}
	#main .works .textList {
		margin-bottom: 33px;
		display: block;
	}
	#main .works .textList li {
		margin-bottom: 20px;
		padding: 0 0 14px;
		width: auto;
		border-right: none;
		border-bottom: 1px solid #fff;
	}
	#main .works .textList li:last-child {
		padding-bottom: 0;
		margin-bottom: 0;
		border-bottom: none;
	}
	#main .works .textList li .ttl {
		margin-bottom: 13px;
		font-size: 2rem;
		text-align: left;
	}
	#main .works .textList li .txt {
		font-size: 1.6rem;
		line-height: 1.69;
	}
	#main .works .comLink {
		width: 260px;
	}
	#main .works .comLink a {
		margin: 0;
		padding: 13px 23px 11px 30px;
		color: #3B372C;
		border-color: #EBE7DB;
		letter-spacing: 0.15em;
		background: #EBE7DB url(../img/common/icon03.png) no-repeat right 19px center;
		background-size: 13px 13px;
	}
	#main .infoBox {
		padding: 41px 0 81px;
	}
	#main .infoBox .content {
		display: block;
	}
	#main .infoBox .shopBox {
		margin-bottom: 80px;
		width: auto;
	}
	#main .infoBox .shopBox .phoList {
		margin: -14px 1px 40px;
		justify-content: space-between;
	}
	#main .infoBox .shopBox li {
		margin-top: 14px;
		width: 47.3%;
	}
	#main .infoBox .shopBox li .txt {
		padding: 1px 3px 0px 2px;
		left: 7px;
		font-size: 1rem;
	}
	#main .infoBox .newsBox {
		margin: 0 1px;
		width: auto;
	}
	#main .infoBox .comLink a {
		color: #fff;
		border-color: #BAB097;
		background: #BAB097 url("../img/common/icon01.png") no-repeat right 17px center;
		background-size: 14px 14px;
	}
	#main .infoBox .newsBox .pho {
		text-align: center;
	}
	#main .infoBox .newsBox .pho img {
		width: 100%;
	}
	#main .linkBox {
		margin-bottom: 80px;
		padding: 45px 0 45px;
		background: url("../img/index/sp_link_bg.jpg") no-repeat center center;
		background-size: cover;
	}
	#main .linkBox .comLink {
		width: auto;
	}
	#main .linkBox .comLink a {
		padding: 28px 37px 26px 42px;
		letter-spacing: 0.15em;
		background: url(../img/common/icon04.png) no-repeat right 26px center;
		background-size: 13px 13px;
	}
}
#gHeader {
	position: absolute;
}
body.fixed #gHeader h1,
#gHeader.fixed h1 {
	width: 244px;
}
body.fixed #gHeader h1 a img,
#gHeader.fixed h1 a img {
	opacity: 0;
}
#gHeader.fixed {
	position: fixed;
	background-color: #fff;
	transform: translateY(-100%);
	animation: headershow .5s forwards;
}
body.fixed #gHeader {
	position: fixed;
	background-color: #fff;
}
body.fixed #gHeader h1 a,
#gHeader.fixed h1 a {
	display: block;
	opacity: 1;
	background: url("../img/common/h_logo.svg") no-repeat left center;
}
body.fixed #gHeader .hBox,
#gHeader.fixed .hBox {
	max-width: 1280px;
	margin: 17px auto 16px;
}
body.fixed #gHeader .rBox,
#gHeader.fixed .rBox {
	max-width: 805px;
}
body.fixed #gHeader .rBox .link ,
#gHeader.fixed .rBox .link {
	margin-right: 0;
}
body.fixed #gHeader .rBox .link a,
#gHeader.fixed .rBox .link a {
	padding: 12px 10px 10px;
	background-color: #8D6C23;
}
body.fixed #gHeader #gNavi,
#gHeader.fixed #gNavi {
	margin-right: 25px;
}
body.fixed #gHeader li a,
#gHeader.fixed #gNavi li a {
	color: #3B372C;
	background: url("../img/common/icon11.png") no-repeat right 3px center;
	background-size: 9px 9px;
}
@media all and (min-width: 961px) {
	body.fixed #gHeader .rBox .link a,
	#gHeader.fixed .rBox .link a:hover {
		color: #8D6C23;
		border: 1px solid #8D6C23;
		background-color: #fff;
	}
}
body.fixed #gHeader, 
#gHeader.fixed #gNavi li:last-child a {
	background: none;
	position: relative;
}
body.fixed #gHeader, 
#gHeader.fixed #gNavi li:last-child a::before {
	background-image: url("../img/common/icon07.png");
}
@keyframes headershow {
	0% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(0);
	}
}
@media all and (max-width: 960px) {
	body.fixed #gHeader .hBox h1,
	#gHeader.fixed .hBox h1 {
		width: 230px;
	}
	body.fixed #gHeader,
	#gHeader.fixed {
		padding: 20px 65px 18px 31px;
	}
	body.fixed #gHeader h1 a {
		background: none;
	}
	#gHeader.fixed h1 a {
		background: url("../img/common/sp_h_logo.svg") no-repeat left center;
		background-size: 230px 32px;
	}
	body.fixed #gHeader h1 a img {
		opacity: 1;
	}
	#gHeader.fixed h1 a:hover img,
	#gHeader.fixed h1 a img {
		opacity: 0 !important;
	}
	body.fixed #gHeader .hBox,
	#gHeader.fixed .hBox {
		max-width: inherit;
		margin: 0 auto;
	}
	body.fixed #gHeader, #gHeader.fixed #gNavi li:last-child a::before {
		background: none;
	}
	body.fixed #gHeader .menu,
	#gHeader.fixed .menu {
		top: 0;
	}
	body.fixed #gHeader .menu::after,
	#gHeader.fixed .menu::after {
		background-image: url("../img/common/sp_menu.png");
	}
	body.fixed #gHeader .menu::after {
		background-image: url("../img/common/close.png");
	}
	#gHeader.fixed .menu.on::after {
		background-image: url("../img/common/sp_close.png");
	}
	body.fixed #gHeader .menu span {
		background-color: #fff;
	}
	#gHeader.fixed .menu span {
		background-color: #3B372C;
	}
	body.fixed #gHeader {
		position: fixed;
	}
	#gHeader.fixed #gNavi li:last-child a {
		margin-top: 19px;
		position: fixed;
	}
}
.pageTop {
	display: none;
}