@charset "utf-8";
/* CSS Document */
/*==================================================
  fvBox
==================================================*/
.indexPage .fvBox {
    background: url(/share/img/index/fv_bg.jpg) no-repeat;
    background-size: cover;
    background-position: bottom;
    overflow: hidden;
 }
.indexPage .fvBox__inBox{
	position:relative;
	padding: 4% 0;
}
.indexPage .fvBox__inBox::before{
	content:"";
	width:27%;
	height:120%;
	max-height:425px;
	background: url(/share/img/index/fv_person.png) no-repeat right bottom;
	background-size: contain;
	position:absolute;
	bottom:0;
	right: 0%;
}
.indexPage .fvBox__image {
	width: 60%;
	text-align: center;
	margin: 0 28% 0 auto;
	}
.indexPage .fvBox__record {
    display: block;
    margin: 4% 33% 0 auto;
    width: 50%;
}
.indexPage .fvBox__record__point{
	/* margin: 0 5%; */
}
.indexPage .fvBox__btn{
  margin-top: 20px;
 }
 
/*==================================================
  index : banner
==================================================*/
.indexPage__bnrBox {
    margin: var(--gutter) auto;
}

.indexPage__bnrBox__contact{
	background:url(/share/img/index/bnr_contact.png) no-repeat center center;
	background-size:contain;
	width:100%;
	height:17.5vw;
	max-height:200px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;	
}

/*==================================================
  index common : campaign banner
==================================================*/
.bnrBox__campaign{
	margin-top: var(--gutter);
	margin-bottom: var(--gutter);
}

/*==================================================
  index common : smpTelBox
==================================================*/
.smpTelBox{
    margin:3% auto;
    width:90%;
	max-width:800px;
}
.smpTelBox .smpTelBox__fukidashi{
    color:#eb5e00;
    text-align:center;
    font-size:3vw;
}
.smpTelBox .smpTelBox__fukidashi::before{
    content:"/";
    display:inline-block;
    transform: scale(-1, 1) translateX(3px);
}
.smpTelBox .smpTelBox__fukidashi::after{
    content:"/";
    display:inline-block;
    transform: translateX(3px);
}
.smpTelBox .smpTelBox__btn{
    border:2px solid #eb5e00;
    border-radius:5px;
    color:#eb5e00;
    font-size:3vw;
    box-shadow:inset 0 -2px 0 0 rgba(0,0,0,.2);
    margin:2% 0;
    padding:3% 2% 3% 30%;
    background: #fff url(/share/img/common/icon_smp01.png) no-repeat left 12% center;
    background-size: auto 10vw;
    position:relative;
    overflow:hidden;
}
.smpTelBox .smpTelBox__btn a{
    font-size:7.2vw;
    font-weight:700;
    line-height:1.0;
}
.smpTelBox .smpTelBox__btn a::after{
    content:"";
    display:block;
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
}
.smpTelBox .smpTelBox__caution{
    font-size:2vw;
    text-align:center;
}
@media screen and (min-width: 1024px) {
	.smpTelBox .smpTelBox__fukidashi{
		font-size:32px;
	}
	.smpTelBox .smpTelBox__btn{
		font-size:32px;
		background-size: auto 104px;
		background-position: left 12% center;
	}
	.smpTelBox .smpTelBox__btn a{
		font-size:74px;
	}
	.smpTelBox .smpTelBox__caution{
		font-size:14px;
	}
}
/*==================================================
  index common : ttl
==================================================*/
.indexPage .ttlBox{
    position:relative;
	padding-bottom:35px;
}
.indexPage .ttlBox::after{
	content:"";
	display:block;
	width:60px;
	height:5px;
	background:var(--color-main);
	position:absolute;
	bottom:0;
	left:50%;
	transform: translateX(-50%);
}
.indexPage .ttlBox h2{
	font-size:36px;
	font-weight:700;
}
.indexPage .ttlBox p{
	font-size:16px;
	margin-top:20px;
}

/*==================================================
  index common : btn_archive
==================================================*/
.indexPage .btn_archive{
    font-size: 18px;
    font-weight:bold;
    width: 60%;
	max-width:380px;
    padding-top: 20px;
	padding-bottom: 20px;
    text-align:center;
}

/*==================================================
  image
==================================================*/
.indexPage img {
    width: 100%;
    height: auto;
}

/*==================================================
  recordBox
==================================================*/
.recordBox .itemList{
	display: flex;
	flex-wrap: wrap;
}
.recordBox .itemList .item{
	width:31%;
	max-width:350px;
	background:#fff;
	border:1px solid #111;
	margin-top:4%;
}
.recordBox .itemList .item:nth-of-type(3n-1){
	margin-right:3.5%;
	margin-left:3.5%;
}
.recordBox .itemList .item a{
	display:block;
}
.recordBox__item__photo{
	height:19.5vw; 
	max-height:230px;
	overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.recordBox .recordBox__item__photo img{
	width:100%;
	height:100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.recordBox__item__info{
	padding: 4%;
}

.recordBox__item__info__date{
	font-size:12px;
	margin: 1% 0;
}
.recordBox__item__info__title{
	font-weight: bold;
}

.indexPage .recordBox__table{
	margin-top:4%;
	margin-bottom: 4%;
}

/*==================================================
  shopInfoBox
==================================================*/
.indexPage .shopInfoBox {
    margin: var(--gutter-wide) auto var(--gutter);
}

.indexPage .shopInfoBox .ttlBox{
	padding:0 0 80px;
}
.indexPage .shopInfoBox .ttlBox::after{
	content:none;
}
.indexPage .shopInfoBox .ttlBox img{
	max-width: 500px;
	height: auto;
}

.indexPage .shopInfoBox__subTtlBox{
	padding: 50px 0;
}
.indexPage .shopInfoBox__subTtlBox img{
	max-width: 611px;
	height: auto;
}

.indexPage .shopInfoBox__inBox{
	display:flex;
	justify-content: center;
}
.indexPage .shopInfoBox__inBox__left{
	width: 340px;
	flex-shrink: 0;
}
.indexPage .shopInfoBox__inBox__right{
	margin-left:20px;
}
.indexPage .shopInfoBox__inBox__ttl{
	margin-bottom:2%;
}
.indexPage .shopInfoBox__inBox__ttl img{
	max-width: 64px;
	height: auto;
}

.indexPage .shopInfoBox__inBox__shopList{
	display:flex;
	flex-wrap:wrap;
}
.indexPage .shopInfoBox__inBox__item{
	margin:3% 10px 3% 0;
}
.indexPage .shopInfoBox__inBox__item dt{
	font-weight: bold;
}
.indexPage .shopInfoBox__inBox__item dt::before{
	content:"■";
}
.indexPage .shopInfoBox__inBox__item .fax{
	margin-left:1em;
}

.indexPage .shopInfoBox__inBox__tel{
	width:100%;
}
.indexPage .shopInfoBox__inBox__tel .phone{
	font-size:2.5em;
	font-weight:bold;
	display:flex;
	align-items:center;
}
.indexPage .shopInfoBox__inBox__tel .phone::before{
	content:"TEL";
	font-size:14px;
	border:1px solid #111;
	padding:0.25em 0.5em;
	margin-right:0.5em;
	vertical-align: middle;
}
.indexPage .shopInfoBox__inBox__tel .time{
	padding-left:3.5em;
}

/*==================================================
  pointBox
==================================================*/
.indexPage .pointBox{
	padding: 4% 0;
    background: url(/share/img/index/pointBox_bg.jpg) no-repeat center center;
	background-size: cover;
}
.indexPage .pointBox .ttlBox::after{
	background: #111;
}

.indexPage .pointBox ul{
	display:flex;
	justify-content: center;
	margin: 3% auto 50px;
}
.indexPage .pointBox .pointBox__inBox__item{
	margin-top:3%;
	margin-right:2%;
	width:22vw;
	height:22vw;
	max-width:230px;
	max-height:230px;
}
.indexPage .pointBox .pointBox__inBox__item:last-of-type{
	margin-right:0;
}

.indexPage .pointBox .pointBox__inBox__item a{
	display:flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items:center;
	background:#fff;
	border:1px solid #111;
	width:100%;
	height:100%;
	padding-bottom:12.5%;
	position:relative;
}
.indexPage .pointBox .pointBox__inBox__item a::before,
.indexPage .pointBox .pointBox__inBox__item a::after{
	content:"";
	position:absolute;
}
.indexPage .pointBox .pointBox__inBox__item a::before{
	width:26px;
	height:26px;
	background:#111;
	bottom:-5px;
	right:-5px;
}
.indexPage .pointBox .pointBox__inBox__item a::after{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 5px;
	border-color: transparent transparent transparent #fff;
	bottom:3px;
	right:5px;
}
.indexPage .pointBox .pointBox__inBox__item a img{
	width:60%;
	height:auto;
}
.indexPage .pointBox .pointBox__inBox__item__text{
	font-size:1.2em;
	font-weight:bold;
	display:block;
	margin-top:0.5em;
	text-align:center;
}

@media screen and (min-width: 1024px) {
	.indexPage .pointBox .pointBox__inBox__item__text{
		font-size:1.4em;
	}
}

/*==================================================
  reasonBox
==================================================*/
.indexPage .reasonBox{
	margin: var(--gutter) auto;
}
.indexPage .reasonBox .ttlBox h2 span{
	font-size:1.4em;
}

.indexPage .reasonBox .itemList{
	display:flex;
	flex-wrap:wrap;
	justify-content: center;
	margin: 4% auto 0;
}
.indexPage .reasonBox .reasonBox__inBox__item{
	margin-bottom:4%;
	max-width:30%;
}
.indexPage .reasonBox .reasonBox__inBox__item:nth-of-type(3n-1){
	margin-right:3%;
	margin-left:3%;
}

.indexPage .reasonBox .reasonBox__inBox__item__head{
	display:flex;
	align-items:center;
	padding-bottom:2em;
	position:relative;
}
.indexPage .reasonBox .reasonBox__inBox__item__head img{
	width:56px;
	height:auto;
}
.indexPage .reasonBox .reasonBox__inBox__item__text{
	font-size:1.2em;
	font-weight:bold;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	height:3em;
	margin-top:10%;
	padding-left:20%;
}
.indexPage .reasonBox .reasonBox__inBox__item__text::before{
	content:"";
	position:absolute;
	top:40px;
	left:75px;
	height:5vw;
	max-height:60px;
	border-left:1px solid #111;
	transform: rotate(45deg);
}

.indexPage .reasonBox .reasonBox__inBox__item__photo{
	position:relative;
}
.indexPage .reasonBox .reasonBox__inBox__item__photo::before,
.indexPage .reasonBox .reasonBox__inBox__item__photo::after{
	content:"";
	position:absolute;
}
.indexPage .reasonBox .reasonBox__inBox__item__photo::before{
	width:26px;
	height:26px;
	background:#ff0;
	border:1px solid #111;
	bottom:-5px;
	right:-5px;
}
.indexPage .reasonBox .reasonBox__inBox__item__photo::after{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 5px;
	border-color: transparent transparent transparent #111;
	bottom:3px;
	right:5px;
}

@media screen and (min-width: 1024px) {
	.indexPage .reasonBox .reasonBox__inBox__item__text{
		font-size:1.4em;
	}
}

/*==================================================
  eventBox
==================================================*/
.indexPage .eventBox {
    padding: 4% 0;
    background: url(/share/img/index/eventBox_bg.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
	overflow:hidden;
}
.indexPage .eventBox .ttlBox::after {
	background:#111;
}

.indexPage .eventBox .itemList{
	display: flex;
	justify-content: center;
	margin: 4% auto;
	max-width: 90%;
}
.eventBox .itemList .item{
	width:31%;
	max-width:350px;
	background:#fff;
	border:1px solid #111;
	margin:0 1.2vw;
}
.eventBox .itemList .item a{
	display:block;
}

.eventBox__item__photo{
	height:19.5vw;
	max-height:230px;
	overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
	position:relative;
}
.eventBox .eventBox__item__photo img{
	width:100%;
	height:100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.eventBox__item__info{
	padding: 4%;
}
.eventBox__item__info__title{
	font-weight: bold;
	margin:2% 0;
}
.eventBox__item__info__span ul{
	display:flex;
	flex-wrap:wrap;
}
.eventBox__item__info__span li:not(:last-child)::after{
	content:"・";
}

#eventArrows {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
    display: flex;
    justify-content: space-between;
    height: 20px;
    padding: 0;
    z-index: 2;
	max-width:90%;
}
#eventArrows .slick-prev,
#eventArrows .slick-next {
    height: 40px !important;
}
#eventArrows .slick-prev {
    background: url(/share/img/common/slide_prev.png) no-repeat center center !important;
    background-size: 20px auto !important;
}
#eventArrows .slick-next {
    background: url(/share/img/common/slide_next.png) no-repeat center center !important;
    background-size: 20px auto !important;
}
#eventArrows .slick-prev::before,
#eventArrows .slick-next::before {
    display: none;
}
.indexPage .eventBox .slick-dots {
    bottom: -10%;
}
.indexPage .eventBox .slick-track {
    min-width: 1140px;
}
@media all and (-ms-high-contrast: none) { /* IEではslick-dotsを非表示 */
    .indexPage .slick-dots {
        display: none !important;
    }
}

/*==================================================
  columnBox（投稿と共通）
==================================================*/
.indexPage .columnBox {
    padding: 0 0 4%;
}

.columnBox .itemList{
	margin-top:4%;
	display: flex;
	flex-wrap: wrap;
}
.columnBox .itemList .item{
	width:31%;
	max-width:350px;
	background:#fff;
	border:1px solid #111;
	margin-bottom:4%;
}
.columnBox .itemList .item:nth-of-type(3n-1){
	margin-right:3.5%;
	margin-left:3.5%;
}
.columnBox__item__photo{
	height:16.5vw; 
	max-height:230px;
	overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.columnBox .columnBox__item__photo img{
	width:100%;
	height:100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.columnBox__item__info{
	padding: 4%;
}
.columnBox__item__icon .icon{
	margin-bottom:5px;
}
.columnBox__item__title h3{
	padding:0.5em 0;
	font-weight: bold;
}

/*==================================================
  newsBox（投稿と共通）
==================================================*/
.indexPage .newsBox {
    padding: 4% 0;
	background:url(/share/img/index/newsBox_bg.jpg);
}
.newsBox .itemList {
	margin:3% auto;
}
.newsBox .itemList .item {
	border-bottom:1px solid #666;
}
.newsBox .itemList .item a{
	display:block;
    padding: 1em;
	position:relative;
}
.newsBox .itemList .item a::after{
	content:"";
	width: 8px;
	height: 8px;
	display:block;
	border-top:1px solid #111;
	border-right:1px solid #111;
	position:absolute;
	top:50%;
	right:1em;
	transform: rotate(45deg) translateY(-50%);
}

.newsBox .item .date{
	font-weight:bold;
}
.newsBox .item h3,
.newsBox .item .icon {
    margin-left: 1em;
}
.newsBox .item h3{
    display: inline;
	vertical-align:middle;
}

/*==================================================
  bottomBox
==================================================*/
.indexPage .bottomBox ul{
	display:flex;
	justify-content: center;
	margin: 30px auto;
	flex-wrap: wrap;
}

.indexPage .bottomBox ul li{
	max-width:24%;
	margin-bottom: 20px;
}

.indexPage .bottomBox ul li+li {
	margin-left: 20px;
}
.indexPage .bottomBox ul li:nth-child(4n+1) {
	margin-left: 0;
}
/*///////////////////////////////////////////////////////////

タブレット版（768px～1139px）

///////////////////////////////////////////////////////////*/
@media only screen and (min-width: 768px) and (max-width: 1139px) {
	.indexPage .bottomBox ul li+li {
		margin-left: 1%;
	}
}
/*///////////////////////////////////////////////////////////

スマホ版（0px～767px）

///////////////////////////////////////////////////////////*/
@media only screen and (max-width: 767px) {
	/*==================================================
	  スマホ版 fvBox
	==================================================*/
	.indexPage .fvBox__inBox{
		position:relative;
		padding: 5% 0;
	}
	.indexPage .fvBox__inBox::before{
		content:none;
	}
	.indexPage .fvBox__image {
		width: 80%;
		text-align: center;
		margin: 0 auto;
	 }
	.indexPage .fvBox__record {
		display: block;
		flex-direction: column-reverse;
		width: 70%;
		margin: 5% auto;
	}
	.indexPage .fvBox__record__point{
		margin: 2% auto;
	}
	.indexPage .fvBox__record__count{
		margin: 0 15%;
	}

	/*==================================================
	  スマホ版 index : banner
	==================================================*/
	.indexPage__bnrBox {
		margin: var(--gutter) auto;
	}

	.indexPage__bnrBox__contact{
		background:url(/share/img/index/bnr_contact_half.png) no-repeat center center;
		background-size:contain;
		height:43.5vw;
	}
	/*==================================================
	  スマホ版 index common : campaign banner
	==================================================*/
	.bnrBox__campaign{
		margin-top: var(--gutter);
		margin-bottom: var(--gutter);
	}

	/*==================================================
	  スマホ版 index common : ttl
	==================================================*/
	.indexPage .ttlBox{
		position:relative;
		padding-bottom:2em;
		margin-bottom:var(--gutter);
	}
	.indexPage .ttlBox::after{
		content:"";
		display:block;
		width:60px;
		height:5px;
		background:var(--color-main);
		position:absolute;
		bottom:0;
		left:50%;
		transform: translateX(-50%);
	}
	.indexPage .ttlBox h2{
		font-size:2em;
		font-weight:700;
	}
	.indexPage .ttlBox p{
		font-size:1em;
		margin-top:10px;
	}

	/*==================================================
	  スマホ版 index common : btn_archive
	==================================================*/
	.indexPage .btn_archive{
		font-size: 1.2em;
		width: 90%;
		max-width:380px;
		padding-top: 0.8em;
		padding-bottom: 0.8em;
	}

	/*==================================================
	  スマホ版 recordBox
	==================================================*/
	.indexPage .recordBox{
		margin-top: var(--gutter-wide);
	}
	.indexPage .recordBox .itemList{
		display: flex;
		flex-wrap: wrap;
	}
	.indexPage .recordBox .itemList .item{
		width:48%;
		margin:4% 1% 0;
	}
	.indexPage .recordBox .itemList .item:nth-of-type(3n-1){
		margin:4% 1% 0;
	}
	.indexPage .recordBox__item__photo{
		height:31.5vw; 
	}
	
	.indexPage .recordBox .icon{
		font-size:0.8em;
	}

	/*==================================================
	  スマホ版 shopInfoBox
	==================================================*/
	.indexPage .shopInfoBox .ttlBox{
		padding:0 0 6%;
		margin-bottom:3%;
	}
	.indexPage .shopInfoBox__subTtlBox{
		padding: 4% 0;
	}

	.indexPage .shopInfoBox__inBox__left{
		width: 42%;
		flex-shrink: 0;
	}
	.indexPage .shopInfoBox__inBox__shopList{
		flex-direction: column;
	}
	.indexPage .shopInfoBox__inBox__item{
		font-size:0.9em;
	}
	.indexPage .shopInfoBox__inBox__item .tel,
	.indexPage .shopInfoBox__inBox__item .fax{
		display:inline-block;
		margin-left:0;
	}	
	
	/*==================================================
	  スマホ版 pointBox
	==================================================*/
	.indexPage .pointBox{
		padding: 8% 0;
	}
	.indexPage .pointBox ul{
		margin:4% auto;
		flex-wrap:wrap;
	}	
	.indexPage .pointBox .pointBox__inBox__item,
	.indexPage .pointBox .pointBox__inBox__item:nth-of-type(3n-1){
		width:40vw;
		height:40vw;
		margin: 0 2% 8%;
	}
	
	.indexPage .pointBox .pointBox__inBox__item__text{
		font-size:3.5vw;
	}

	/*==================================================
	  スマホ版 reasonBox
	==================================================*/
	.indexPage .reasonBox{
		margin: var(--gutter) auto var(--gutter-wide);
	}
	.indexPage .reasonBox .reasonBox__inBox__item,
	.indexPage .reasonBox .reasonBox__inBox__item:nth-of-type(3n-1){
		max-width:48%;
		margin: 0 1% 4%;
	}
	
	.indexPage .reasonBox .reasonBox__inBox__item__head{
		padding-bottom:1em;
	}
	.indexPage .reasonBox .reasonBox__inBox__item__head img{
		width:6vw;
	}
	.indexPage .reasonBox .reasonBox__inBox__item__text{
		font-size:3.5vw;
	}
	.indexPage .reasonBox .reasonBox__inBox__item__text::before{
		top:8vw;
		left:8vw;
		height:32px;
	}
	
	/*==================================================
	  スマホ版 eventBox
	==================================================*/
	.indexPage .eventBox .itemList{
		display: flex;
		justify-content: center;
		margin: 10% auto 4%;
		max-width: 68%;
	}
	.indexPage .eventBox .itemList .item{
		width:60%;
		max-width:inherit;
		background:#fff;
		border:1px solid #111;
		margin:0 1.2vw;
	}
	.indexPage .eventBox__item__photo{
		height:58.5vw;
	}
	.indexPage .eventBox__item__info__title{
		display:flex;
		align-items: center;
		height: 3.5em;
	}
	.indexPage .eventBox__item__info__span{
		height: 3.5em;
		font-size: 0.9em;
	}
	
	#eventArrows{
		max-width:80%;
	}

	/*==================================================
	  スマホ版 columnBox（投稿と共通）
	==================================================*/
	.columnBox {
		padding: 0 0 4%;
	}
	.columnBox .itemList{
		margin: 4% auto;
	}
	.columnBox .itemList .item,
	.columnBox .itemList .item:nth-of-type(3n-1){
		width:48%;
		margin:0 1% 4%;
	}

	.columnBox__item__photo{
		height:29.5vw; 
	}

	/*==================================================
	  スマホ版 newsBox（投稿と共通）
	==================================================*/
	.indexPage .newsBox {
		margin-top: var(--gutter);
	}
	.newsBox .itemList {
		margin:4% auto;
	}
	.newsBox .item .date{
		display:block;
	}
	.newsBox .item h3{
		margin-left: 0;
	}

	/*==================================================
	  スマホ版 bottomBox
	==================================================*/
	.indexPage .bottomBox ul{
		margin: 4% auto;
		flex-wrap: wrap;
		justify-content: center;
	}
	.indexPage .bottomBox ul li{
		max-width:48%;
		margin:0 1% 2%;
	}
	.indexPage .bottomBox ul li+li {
		margin-left: unset;
	}
} /* スマホ版ここまで ------------------------------------- */