html,
body {
	width: 100%;
}

img{
	max-width: 100%;
}

.hide_pctb{
	display: none;
}
@media screen and (max-width:640px) {
	.hide_pctb{
		display:block;
	}
}

.hide_sp{
}
@media screen and (max-width:640px) {
	.hide_sp{
		display: none;
	}
}

.corporate-logo{
	max-width:140px;
}
	.corporate-logo__img{
		width: 100%;
		height: 60px;
	}
	@media screen and (max-width:960px) {
		.corporate-logo {
			max-width:95px;
		}
	}

.gnav{
	font-size:13px;
}
	.gnav_item{
		display: inline;
		margin-left:15px;
		font-weight: bold;
	}
	.gnav_link{
		color: #968158 !important;
	}
	.gnav_toggle,
	.gnav_close{
		display: none;
	}
	@media screen and (max-width:960px) {
		.gnav{
			display: none;
			position: absolute;
			width: 100vw;
			height: 100vh;
			left: 0;
			top:55px;
			background-color:rgba(0,0,0,0.6);
			font-size:14px;
			letter-spacing: 0.1em;
		}
			.gnav_item{
				display:block;
				margin-left:0px;
				border-bottom: solid 1px #a1a2a2;
			}
			.gnav_link,
			.gnav_close{
				display:block;
				padding:10px 4%;
			}
			.gnav_link{
				position: relative;
				background-color: #e0e1e1;
			}
			.gnav_link:after{
				box-sizing: content-box;
				display: block;
				position: absolute;
				top: 46%;
				right: 15px;
				width: 6px;
				height: 6px;
				margin-top: -3px;
				border-top: 2px solid #968158;
				border-right: 2px solid #968158;
				content: "";
				-webkit-transform: rotate(135deg);
				transform: rotate(135deg);
			}

			.gnav_toggle,
			.gnav_close{
				display:block;
			}
			.gnav_toggle{
				color: #968158;
				font-size: 25px;
				width: 1.28571429em;
				text-align: center;
			}
			.gnav_close{
				width: 100%;
				background-color: #000000;
				color: #FFF;
			}
	}

.main {
	margin-top:80px;
}
@media screen and (max-width:960px) {
	.main{
		margin-top: 40px;
	}
}

.gotop {
	bottom: 20px;
	z-index: 10000;
}

.container{
	width: 100%;
	max-width: 960px;
	margin:0 auto;
}
	.container--1080{
		max-width: 1080px;
	}

.pad-lr-sptb{
}
@media screen and (max-width: 1024px) {
	.pad-lr-sptb{
		padding-left: 3%;
		padding-right: 3%;
	}
}

.bg-gray{
	padding-top: 30px;
	padding-bottom: 30px;
	background-color: #f8f7f1;
}

.mainvisual{
	position: relative;
	width: 100%;
	height: 591px;
	overflow: hidden;
	background-color: #DA1238;
}
	.mainvisual_border{
		position: relative;
		display: block;
		width: 100%;
		height: 7px;
		background: linear-gradient(90deg, #d4961d 0%, #d69a21 0.47%, #dfaa32 3.11%, #e5b63d 6.39%, #e9bc44 11%, #eabe46 23.81%, #f4d060 33.39%, #fcdf77 44.08%, #ffe580 50.79%, #f8e47a 76.72%, #d29219 100%);
	}
	.mainvisual_img{
		position: relative;
		left: 50%;
		top: 0;
		width: 1704px;
		max-width:none;
		height: 577px;
		margin-left: -852px;
	}
	@media screen and (max-width:800px) {
		.mainvisual{
			width:auto;
			height:auto;
		}
			.mainvisual_border{
				display: none;
			}
			.mainvisual_img{
				position:static;
				width:100%;
				max-width:none;
				height:auto;
				margin-left:0;
			}
	}

.intro{
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.05em;
}
	@media screen and (max-width: 640px) {
		.intro{
			font-size:4.7vw;
		}
	}

.c_red{
	color: #cc173e;
}

.ttl-ribbon{
	display: flex;
	justify-content: center;
}
	.ttl-ribbon_in {
		display: inline-block;
		position: relative;
		height: 48px;/*リボンの高さ*/
		line-height: 48px;/*リボンの高さ*/
		text-align: center;
		margin:35px 0;
		padding: 0 45px;/*横の大きさ*/
		font-size: 19px;/*文字の大きさ*/
		background: #C11700;/*塗りつぶし色*/
		color: #FFF;/*文字色*/
		letter-spacing: 0.05em;
	}
	.ttl-ribbon_in:before, .ttl-ribbon_in:after {
		position: absolute;
		content: '';
		width: 0px;
		height: 0px;
		z-index: 1;
	}
	.ttl-ribbon_in:before {
		top: 0;
		left: 0;
		border-width: 24px 0px 24px 15px;
		border-color: transparent transparent transparent #fff;
		border-style: solid;
	}
	.ttl-ribbon_in:after {
		top: 0;
		right: 0;
		border-width: 24px 15px 24px 0px;
		border-color: transparent #fff transparent transparent;
		border-style: solid;
	}
	@media screen and (max-width: 640px) {
			.ttl-ribbon_in {
				width: 100%;
				font-size:5.0vw;
				padding:0 20px;
			}
	}

.point {
	display: flex;
	justify-content:center;
}
	.point_item {
		flex-basis:43%;
		text-align: center;
	}
	.point_label {
		display: inline-block;
		margin:0 auto 7px auto;
		padding: 0 20px;
		font-weight: bold;
		font-size: 17px;
		color: #cc173e;
		border: 1px solid #CCC;
		border-radius:20px;
		line-height: 1.4;
	}
	.point_txt {
		font-weight: bold;
		font-size: 19px;
	}
	@media screen and (max-width: 960px) {
		.point {
			display:block;
		}
			.point_item {
				margin-bottom: 25px;
			}
	}
	@media screen and (max-width: 640px) {
			.point_label {
				font-size:4.0vw;
			}
			.point_txt {
				font-size:5.0vw;
			}
	}

.criterion {
	max-width: 733px;
	margin:30px auto;
	background: #fff url(../images/bgi_box_criterion_pc_m.webp) center top repeat-y;
	background-size: contain;
}
	.criterion_bg-t {
		background: transparent url(../images/bgi_box_criterion_pc_t.webp) center top no-repeat;
		background-size: contain;
	}
	.criterion_bg-b {
		background: transparent url(../images/bgi_box_criterion_pc_b.webp) center bottom no-repeat;
		background-size: contain;
		padding: 30px 11%;
	}
	.criterion_ttl {
		font-size: 17px;
		text-align: center;
		padding-bottom: 10px;
		margin-bottom: 20px;
		border-bottom: 2px solid #e5e5e5;
	}
	.criterion_list {
		display: flex;
		flex-wrap: wrap;
		height:50px;
		flex-direction:column;
		font-size: 15px;
	}
	.criterion_item {
		width: 50%;
	}
	@media screen and (max-width: 960px) {
			.criterion_list {
				display:block;
				height:auto;
			}
			.criterion_item {
				width:100%;
			}
	}
	@media screen and (max-width: 640px) {
		.criterion {
			background-image:url(../images/bgi_box_criterion_sp_m.webp);
		}
			.criterion_bg-t {
				background-image:url(../images/bgi_box_criterion_sp_t.webp);
			}
			.criterion_bg-b {
				background-image:url(../images/bgi_box_criterion_sp_b.webp);
				padding:30px 8%;
			}
			.criterion_ttl {
				font-size:5.0vw;
			}
			.criterion_item {
				font-size:4.5vw;
			}
	}

.tab {
	max-width: 890px;
	margin:0 auto;
}
	.tab_control {
		display: flex;
		justify-content: space-between
	}
	.tab_button {
		flex-basis: 32.5%;
		padding: 0;
		border-radius: 0;
		font-weight: normal;
		background:transparent url(../images/bgi_tab_gray.webp) right top no-repeat;
	}
	.tab_button--selected{
		background-image: url(../images/bgi_tab_red.webp);
	}
	.tab_button--selected .tab_link{
		cursor: default;
		pointer-events: none;
		opacity: 1;
	}
	.tab_link {
		display: block;
		height:3em;
		padding:1em 0 0 0;
		font-size: 22px;
		line-height: 1;
		text-align: center;
		color: #FFF !important;
		text-decoration: none !important;
		letter-spacing: 0.2em;
	}
	.tab_contents{
		position: relative;
		min-height:600px;
		overflow: hidden;
	}
	.tab_content{
		width: 100%;
		position: absolute;
		left: 0;
		top: 0;
		background-color: #fff;
		z-index: 1000;
	}
	@media screen and (max-width: 640px) {
			.tab_link {
				font-size: 17px;
			}
	}

.oishii {
	padding:25px 4.5%;
}
	.oishii_ttl{
	}
	.oishii_ttl-img{
		width: 250px;
		display: block;
		margin:0px auto 20px auto;
	}
	.oishii_shop {
		margin-bottom: 40px;
		padding-top: 45px;
		border-top: 1px solid #ccc;
	}
	.oishii_shop-ttl {
		border-left: 6px solid #cc173e;
		padding-left: 15px;
		margin-bottom: 30px;
	}
	.oishii_shop-catch {
		font-size: 18px;
	}
	.oishii_shop-name {
		font-size: 28px;
		font-weight: bold;
		text-align: left;
	}
	.oishii_shop-name--small{
		font-size: 18px;
	}
	.oishii_shop-detail{
		padding-top:30px;
	}
	.oishii_shop-detail:after {
		content: "";
		clear: both;
		display: block;
	}
	.oishii_shop-left{
		width: 56.51%;
		float: left;
	}
	.oishii_shop-right {
		width: 41%;
		float: right;
	}
	.oishii_slide-imgs{
		margin-bottom:20px;
	}
	.oishii_slide-imgs .slick-dots{
		width: 100% !important;
		display: flex;
		justify-content: center;
	}
	.oishii_slide-imgs .slick-dots li{
		margin:3px 3px 5px 0px;
		cursor: pointer;
		border: 2px solid #FFF;
	}
	.oishii_slide-imgs .slick-dots img{
		width: 97px;
	}
	.oishii_slide-imgs .slick-dots li:hover{
		opacity: 0.7;
	}
	.oishii_slide-imgs .slick-dots li.slick-active{
		border: 2px solid #e0d68a;
	}
	.oishii_slide-img{
	}
	.oishii_arrow-prev:hover,
	.oishii_arrow-next:hover {
		opacity:1.0;
		transition:none;
	}
	.oishii_arrow-prev::after,
	.oishii_arrow-next::after {
		display: block;
		position: absolute;
		z-index: 9999;
		top: 40%;
		width: 15px;
		height: 15px;
		margin-top: -10px;
		content: "";
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.oishii_arrow-prev::after {
		left: 3%;
		border-bottom: 3px solid #fff;
		border-left: 3px solid #fff;
	}
	.oishii_arrow-next::after {
		right: 3%;
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
	}
	.slick-arrow.slick-disabled::after{
		display: none;
	}
	.oishii_shop-info-ttl:before{
		display: inline-block;
		content:'';
		width: 1px;
		height: 1px;
		border: 6px solid #cc173e;
		border-radius: 50%;
		margin-right: 5px;
		background-color: #cc173e;
	}
	.oishii_shop-info-ttl{
		font-size: 16px;
		font-weight: bold;
		margin-bottom:10px;
		text-align: left;
	}
	.oishii_shop-info{
		display: flex;
		margin-bottom: 10px;
	}
	.oishii_shop-info-term {
		flex-basis: 6em;
		flex-shrink: 0;
	}
	.oishii_shop-info-div {
		flex-basis: 1.4em;
		flex-shrink: 0;
	}
	.oishii_shop-info-desc {
	}
	@media screen and (max-width: 640px) {
			.oishii_ttl{
				margin-bottom:30px;
			}
			.oishii_ttl-img{
				width: 200px;
			}
			.oishii_shop-catch {
				font-size: 14px;
			}
			.oishii_shop-catch br{
				display:none;
			}
			.oishii_shop-name {
				font-size: 22px;
				font-weight: bold;
			}
			.oishii_shop-left{
				float:none;
				width: 100%;
			}
			.oishii_shop-right {
				float:none;
				width: 100%;
			}
			.oishii_arrow-prev{
				position:absolute;
				left: 0;
				top: 0;
				width:9%;
				height:73.0%;
				z-index: 10;
			}
			.oishii_arrow-next{
				position:absolute;
				right: 0;
				top: 0;
				width:9%;
				height:73.0%;
				z-index: 10;
			}
			.oishii_arrow-prev::after,
			.oishii_arrow-next::after {
				top: 50%;
				margin-top:-5px;
				z-index: 1000;
			}
			.oishii_arrow-prev::after {
				left:25%;
			}
			.oishii_arrow-next::after {
				right:25%;
			}
	}

.contact {
	margin-top: 40px;
}
	.contact_ttl {
		text-align: center;
		font-size: 16px;
		font-weight: bold;
		background-color: #cccccc;
		border-radius: 20px;
		max-width:15.5em;
	}
	.contact_tel:before{
		display: inline-block;
		content: '';
		width: 28px;
		height: 36px;
		background:url(../images/ico_phone.svg) 0 0 no-repeat;
		vertical-align:middle;
		margin:-5px 2px 0 0;
	}
	.contact_tel {
		font-size: 33px;
	}
	@media screen and (max-width: 640px) {
		.contact {
			margin-top:20px;
		}
			.contact_ttl{
				margin: auto;
			}
			.contact_tel {
				text-align: center;
			}
	}


.to-ranking{
	text-align: center;
	padding-top: 50px;
	position: relative;
	z-index: 2000;
}
	.to-ranking_img{
		width: 300px;
	}
	@media screen and (max-width: 640px) {
		.to-ranking{
			padding-top:30px;
		}
	}

/* footer 注釈調整 */
.footer-nolink-att {
	margin-top: 3.5em;
}
@media screen and (max-width: 640px) {
	.footer-nolink-att {
		margin-top: 2em;
	}
}
