﻿@charset "utf-8";
/* CSS Document */

/*
===== SLIDER ==========================================
*/
#indexmainBox {
  max-height:500px;
  overflow: hidden;
}

#indexmainBox .slick-list.draggable {
  width: 100%;
}

#indexmainBox .indexSlideWrap {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  vertical-align: middle;
}

/*dots*/
#indexmainBox .mainSlider .slick-dots {
  bottom: 20px;
}

.slick-dots li,
.slick-dots li button {
  width: 16px !important;
  height: 16px !important;
}

.slick-dots li button:before {
  content: "" !important;
  width: 13px !important;
  height: 13px !important;
  border-radius: 8px;
  opacity: 1 !important;
}

#indexmainBox .slick-slider .slick-dots li.slick-active button:before {
  background: var(--color-orange);
  box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, .5);
}

#indexmainBox .slick-slider .slick-dots li button:before {
  background: #fff;
}

.bannerWrap {
  text-align: center;
  margin: 30px auto 0;
  max-width: 1080px;
}

/* .slick-list.draggable {
  width: calc(100% - 100px);
  overflow: hidden;
  margin: 0 auto;
} */
 
/*==================================================
  index : banner
==================================================*/
.indexPage__bnrBox {
  margin: var(--gutter) auto;
}

.indexPage__bnrBox__contact{
	background:url(../img/common/bnr_contact.webp) no-repeat center center;
	background-size:contain;
	aspect-ratio: 1140 / 300;
	width:100%;
	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:var(--color-main);
    text-align:center;
    font-size: 1rem;
}
.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 var(--color-main);
    border-radius:5px;
    color:var(--color-main);
    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(../img/common/icon_phone.svg) no-repeat left 16% center;
    background-size: auto 11vw;
    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: 10px;
    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;
}
.indexPage .bgColor {
	background: var(--color-waterblue);
	padding: 4% 0;
}

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

/*==================================================
  recordBox
==================================================*/
.recordBox .itemList {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 4%;
}
.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__tablettl {
	font-size: 36px;
}

.indexPage .recordBox .recordBox__btn {
	margin: 4% 0;
}

.indexPage .recordBox__table {
	margin-top:1%;
	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{
	width: min(100%,761px);
	height: auto;
}

.indexPage .shopInfoBox__subTtlBox{
	padding: 50px 0;
}
.indexPage .shopInfoBox__subTtlBox img{
	width: min(100%,700px);
	height: auto;
}

.indexPage .shopInfoBox__inBox{
	display:flex;
	justify-content: center;
	align-items: center;
	gap: var(--gutter);
	margin-bottom: 2em;
}
.indexPage .shopInfoBox__inBox__left{
	width: 350px;
	flex-shrink: 0;
}
/*.indexPage .shopInfoBox__inBox__right{
	width: calc(100% - 380px);
}*/
.indexPage .shopInfoBox__inBox__ttl{
	margin-bottom:2%;
}
.indexPage .shopInfoBox__inBox__ttl img{
	max-width: 233px;
	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;
	margin-bottom: 20px;
	font-size: 16px;
}
/*.indexPage .shopInfoBox__inBox__item dt::before{
	content:"■";
}*/
.indexPage .shopInfoBox__inBox__item .fax{
	margin-left:1em;
}

.indexPage .shopInfoBox__inBox__tel{
	width:100%;
	margin-top: 20px;
}
.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-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(../img/index/eventBox_bg.webp) 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%;
	overflow: hidden;
	position: relative;
	padding-bottom: var(--gutter-narrow);
}
.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-size: 1.2em;
	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:"・";
}

.eventBox__item__info__span {
	font-size: clamp(0.625rem, 0.527rem + 0.49vw, 0.875rem);
}

#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(../img/common/slide_prev.webp) no-repeat center center !important;
    background-size: 20px auto !important;
		left: -30px !important;
}
#eventArrows .slick-next {
    background: url(../img/common/slide_next.webp) no-repeat center center !important;
    background-size: 20px auto !important;
		right: -30px !important;
}
#eventArrows .slick-prev::before,
#eventArrows .slick-next::before {
    display: none;
}
.indexPage .eventBox .slick-dots {
    bottom: 0;
}
.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 {
	min-width: 100%;
	width:100%;
	height: auto;
	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: var(--color-waterblue);
}
.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;
}

/*///////////////////////////////////////////////////////////

スマホ版（0px～767px）

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

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

	.indexPage__bnrBox__contact{
		background: url(../img/common/footBnr_contact.webp) 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;
	}


	/*==================================================
	  スマホ版 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{
		margin-bottom: 0.5em;
	}

	/*==================================================
	  スマホ版 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__right {
		width: 55%;
	}
	.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;
	}	

	.indexPage .shopInfoBox__inBox__item dt {
		margin-bottom: 0;
		font-size: 15px;
	}
	
	/*==================================================
	  スマホ版 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;
		flex-flow: column wrap;
		justify-content: center;
		padding: 5% 5% 0;
		max-width: 100%;
	}
	.indexPage .eventBox .itemList .item {
		width: 100%;
		margin-bottom: 1em;
		max-width:inherit;
		background:#fff;
		border:1px solid #111;
	}
	.indexPage .eventBox .itemList .item a {
		display: flex;
		position: relative;
	}
	.indexPage .eventBox__item__photo {
		width: 35%;
		height: 90px;
		overflow: hidden;
	}
	.indexPage .eventBox__item__photo img {
		max-width: 100%;
    min-width: 100%;
    object-fit: cover;
	}
	.indexPage .eventBox__item__info {
		padding: .5em 4%;
		width: 65%;
	}
	.indexPage .eventBox__item__info__title h3 {
		font-weight: bold;
    margin: .5em 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
	}
	.indexPage .eventBox__item__info__span {
		position: absolute;
		bottom: 0;
		right: 1em;
		width: 10em;
		height: 2em;
		text-align: right;
		overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
	}
	.indexPage .eventBox__item__info__span * {
		display: inline;
	}
	
	#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;
	}
} 
/* スマホ版ここまで ------------------------------------- */