@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

html,body{
	margin: 0;
	padding: 0;
	font-size: 10px;
	width: 100vw;
	box-sizing: border-box;
	color: #403d3c;
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","ヒラギノ角ゴシック",メイリオ,Meiryo,Osaka,ＭＳ Ｐゴシック,MS PGothic,"Helvetica Neue",Arial,Meiryo,sans-serif;
	font-weight: 400;
	letter-spacing: .15em;
	overflow-x: hidden;
}
*{
	margin: 0;
	padding: 0;
}
img{
	display: block;
	width: 100%;
	vertical-align: bottom;
}
ul{
	list-style: none;
}
a{
	color: inherit;
	text-decoration: none;
}
span{
	display: inline-block;
}
.inner{
	width: 84%;
	max-width: 1024px;
	margin: 0 auto;
}

/* ----- header ----- */
.head-line{
	background: #000;
	padding: 12px 3.9vw 12px 3.3vw;
}
.head-line .icon_wrap{
	display: flex;
	justify-content: space-between;
	align-content: center;
	width: 16vw;
}
.head-line .icon_wrap .icon_cont{
	width: 33.33%;
}
header h1{
	width: 47.5%;
	max-width: 278px;
	margin: 0 auto;
	padding: 4vw 0 5.6vw;
}


/* ----- footer ----- */
footer{
	margin-top: 12.18vw;
	background: #231815;
}
footer p{
	text-align: center;
	font-size: calc(.8rem + (1vw - 0.38rem) * 2.3932);
	color: #fff;
	padding: 1.25em 0;
}


/* ----- main ----- */
.mv{
	position: relative;
}
.mv h2{
	font-family: "Hiragino Mincho ProN","ヒラギノ明朝 ProN","Hiragino Mincho Pro","ヒラギノ明朝 Pro","Noto Serif JP", serif;
	font-size: calc(1.5rem + (1vw - 0.38rem) * 4.2735);
	font-weight: 500;
	line-height: 2;
	letter-spacing: .15em;
	position: absolute;
	top: 7.5%;
	left: 4.79%;
}
h3.sec-ttl{
	text-align: center;
	font-family: mrs-eaves-roman-all-small-ca, serif;
	font-weight: 400;
	font-size: calc(3.2rem + (1vw - 0.38rem) * 8.8889);
	line-height: 1;
	letter-spacing: .08em;
	margin: 7.8vw 0 3.5vw;
	white-space: nowrap;
}
h3.sec-ttl span{
	display: block;
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","ヒラギノ角ゴシック",メイリオ,Meiryo,Osaka,ＭＳ Ｐゴシック,MS PGothic,"Helvetica Neue",Arial,Meiryo,sans-serif;
	font-size: calc(1.1rem + (1vw - 0.38rem) * 3.2479);
	margin-bottom: .3em;
	letter-spacing: .15em;
}
.sec-lead{
	text-align: center;
	font-size: calc(1.48rem + (1vw - 0.38rem) * 3.9658);
	font-family: "Hiragino Mincho ProN","ヒラギノ明朝 ProN","Hiragino Mincho Pro","ヒラギノ明朝 Pro","Noto Serif JP", serif;
	letter-spacing: 0;
	white-space: nowrap;
	line-height: 1.6;
}
.text{
	font-size: calc(1.4rem + (1vw - 0.38rem) * 3.7607);	
	text-align: justify;
	line-height: 1.55;
}
.info-list{
	margin-bottom: 14.16vw;
}
.info-list .info_cont{
	padding: 5.8vw 0;
	border-bottom: 1px solid #b1a89c;
}
.info-list .label{
	font-size: calc(1rem + (1vw - 0.38rem) * 3.0769);
	font-weight: bold;
	letter-spacing: .1em;
	width: 12em;
	text-align: center;
	padding: .6em 0;
	border-radius: 2em;
	background: #d0cac2;
	color: #fff;
	line-height: 1;
	margin-right: .5em;
}
.info-list .date{
	font-size: calc(1rem + (1vw - 0.38rem) * 2.7350);
}
.info-list .cont_text{
	font-size: calc(1rem + (1vw - 0.38rem) * 3.0769);
	margin-top: 1.25em;
	line-height: 1.57em;
}
.brand .brand_cont{
	margin-top: 10vw;
}
.brand .brand_cont .logo{
	margin: 5.5vw auto 3.6vw;
}
.brand .yasai .logo{
	width: 59.25%;
}
.brand .ocean .logo{
	width: 55.57%;
}
.brand .brand-name{
	font-family: "Hiragino Mincho ProN","ヒラギノ明朝 ProN","Hiragino Mincho Pro","ヒラギノ明朝 Pro","Noto Serif JP", serif;
	font-size: calc(2.422rem + (1vw - 0.38rem) * 6.4581);
	text-align: center;
	font-weight: 400;
	letter-spacing: .32em;
	margin-bottom: 5.5vw;
}
.brand .ocean .brand-name{
	letter-spacing: .15em;
}
.brand .brand-name span{
	display: block;
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","ヒラギノ角ゴシック",メイリオ,Meiryo,Osaka,ＭＳ Ｐゴシック,MS PGothic,"Helvetica Neue",Arial,Meiryo,sans-serif;
	font-size: calc(1.172rem + (1vw - 0.38rem) * 3.1248);
	margin-bottom: .3em;
	letter-spacing: .2em;
}
.brand .brand_cont .text{
	margin-bottom: 11vw;
}
.brand .link-wrap{
	display: flex;
	justify-content: space-between;
	width: 108%;
	margin-left: -4%;
}
.brand .link-wrap a{
	font-family: "source-code-variable", sans-serif;
	font-variation-settings: "wght" 500;
	display: block;
	width: 48.43%;
	text-align: center;
	font-size: calc(1.328rem + (1vw - 0.38rem) * 3.5419);
	line-height: 1;
	padding: .7em;
	background: #a0948c;
	color: #fff;
	border-radius: 5px;
	box-sizing: border-box;
}
.brand .link-wrap a:after{
	display: inline-block;
	content: "";
	width: 1em;
	height: 1em;
	background: no-repeat center/100% auto url(../img/img_re2507/icon_tab.png);
	margin-left: .5em;
	vertical-align: -.1em;
}
.brand{
	margin-bottom: 13.54vw;
}
.company{
	margin-bottom: 12.5vw;
}
.shop .shop-list_wrap{
	margin: 8.85vw auto 13.54vw;
}
.shop .sub_sec-ttl{
	text-align: center;
	font-family: "Hiragino Mincho ProN","ヒラギノ明朝 ProN","Hiragino Mincho Pro","ヒラギノ明朝 Pro","Noto Serif JP", serif;
	font-size: calc(1.641rem + (1vw - 0.38rem) * 4.3744);
	font-weight: 400;
	letter-spacing: .2em;
	margin-bottom: 1.5em;
}
.shop .shop-name{
	font-size: calc(1.328rem + (1vw - 0.38rem) * 3.2000);
	text-decoration: underline;
	margin: .88em 0;
}
.shop .addr{
	font-size: calc(1rem + (1vw - 0.38rem) * 3.0769);
}
.shop .shop_list li{
	margin-bottom: 8.33vw;
}
.online-shop .shop_list{
	display: flex;
	justify-content: space-between;
}
.online-shop .shop_list li{
	width: 47.5%;
}
.online-shop .shop_list .addr a{
	font-size: calc(.7rem + (1vw - 0.38rem) * 1.8803);
	letter-spacing: 0;
}
.online-shop .shop_list .shop-name{
	font-size: calc(1rem + (1vw - 0.38rem) * 2.7350);
}
.online-shop .shop_list .shop-name{
	margin-bottom: .3em;
}
.associated_co .co_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.associated_co .co_list li{
	width: 44.75%;
}
.associated_co .co_list li.miyakan, .associated_co .co_list li.sskfoods{
	width: 45.75%;
	margin-top: 2.625vw;
}

@media (max-width:959px){
	.pc_only{display: none!important;}

	/* ----- header ----- */
	header{
		width: 100vw;
		background: #fff;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 1000000000;
		box-sizing: border-box;	
	}
	.head-line_cont{
		display: flex;
		justify-content: space-between;
		align-content: center;
	}
	.head-line_cont .nav_btn, .head-line_cont .close_btn{
		width: 5.8vw;
		height: 4.2vw;
		position: relative;
	}
	.head-line_cont .nav_btn span{
		display: block;
		width: 100%;
		height: 2px;
		background: #fff;
		border-radius: 2px;
		position: absolute;
		left: 0;
	}
	.head-line_cont .nav_btn span:first-of-type{
		top: 0;
	}
	.head-line_cont .nav_btn span:nth-of-type(2){
		top: 50%;
	}
	.head-line_cont .nav_btn span:last-of-type{
		top: 100%;
	}
	.head-line_cont .sld_nav{
		position: fixed;
		top: 0;
		left: 0;
		height: 100vh;
		width: 90vw;
		background: #fff;
		padding: 12px 3.3vw;
		box-sizing: border-box;
		transform: translateX(-100%);
		transition: .4s ease all;
		z-index: 10000000000;
	}
	.head-line_cont .sld_nav.open{
		transform: translateX(0);
	}
	.head-line_cont .close_btn{
		margin-bottom: 22px;
	}
	.head-line_cont .close_btn:before,.head-line_cont .close_btn:after{
		display: block;
		content: "";
		width: 100%;
		height: 2px;
		border-radius: 2px;
		background: #403d3c;
		position: absolute;
		transform-origin: center;
		left: 0;
		top: calc(50% - 1px);
	}
	.head-line_cont .close_btn:before{
		transform: rotate(45deg);
	}
	.head-line_cont .close_btn:after{
		transform: rotate(-45deg);
	}
	.head-line_cont .sld_nav li{
		font-size: calc(1.4rem + (1vw - 0.38rem) * 3.7607);
		border-bottom: 1px solid #403d3c;
	}
	.head-line_cont .sld_nav li a{
		display: inline-block;
		padding: 1em 0;
	}


	/* ----- main ----- */
	h3.sec-ttl, .sec-lead{
		width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}
	.associated_co .co_list li.miyakan{
		margin-left: 1.875%;
	}
}

@media (min-width:960px){
	.sp_only{display: none!important;}

	.to-top{
		width: 120px;
		height: 120px;
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed;
		right: 6vw;
		bottom: 6vw;
	}
	.to-top a{
		border-radius: 120px;
		background: #000;
		width: 100%;
		height: 100%;
		text-align: center;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		transition: .4s ease;
	}
	.to-top a:hover{
		opacity: .6;	
	}
	.to-top .btn_cont{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}
	.to-top .arrow{
		width: 15px;
		height: 15px;
		display: block;
		transform: rotate(45deg);
		position: relative;
		margin-bottom: 5px;
	}
	.to-top .arrow:before{
		display: block;
		content: "";
		width: calc(100% - 1px);
		height: 2px;
		background: #fff;
		border-radius: 2px;
		position: absolute;
		left: -1px;
		top: 0;
	}
	.to-top .arrow:after{
		display: block;
		content: "";
		width: 100%;
		height: 2px;
		background: #fff;
		border-radius: 2px;
		transform-origin: left top;
		transform: rotate(90deg);
		position: absolute;
		top: 0;
		left: 0;
	}
	.to-top .text{
		width: 100%;
		font-family: mrs-eaves-roman-all-small-ca, serif;
		font-weight: 400;
		font-size: 27px;
		line-height: .8;
		color: #fff;
		text-align: center;
	}

	/* ----- header ----- */
	.head-line{
		padding: 8px 0;
	}
	.head-line .icon_wrap{
		margin: 0 1vw 0 auto;
		width: 4.6%;
	}
	.head-line .icon_wrap .icon_cont{
		width: 39.28%;
	}
	header h1{
		padding: 45px 0 60px;
	}
	.nav-list{
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: 18px;
	}
	.nav-list a{
		font-size: 16px;
		font-weight: 600;
	}
	.nav-list li{
		position: relative;
	}
	.nav-list li:after{
		display: block;
		content: "";
		width: 102%;
		height: 1px;
		background: #000;
		position: absolute;
		left: -1%;
		bottom: -5px;
		transform-origin: center;
		transform: scale(0);
		transition: .4s ease;
	}
	.nav-list li:hover:after{
		transform: scale(1);
	}
	.nav-list li:not(:last-of-type){
		margin-right: min(95px,6.7vw);
	}


	/* ----- footer ----- */
	footer{
		margin-top: 90px;
	}
	footer p{
		font-size: 14px;
	}


	/* ----- main ----- */
	.mv h2{
		font-size: calc(1.9rem + (1vw - 0.96rem) * 2.0455);
		left: 13.42%;
		top: 34.57%;
	}
	h3.sec-ttl{
		font-size: 54px;
/*		margin: 75px auto 65px;*/
		margin: 75px auto 45px;
	}
	h3.sec-ttl span{
		font-size: 16px;
	}
	.sec-lead{
		font-size: 22px;
		letter-spacing: .09em;
	}
	.text{
		font-size: 16px;
	}

	.info-list{
		margin-bottom: 50px;
	}
	.info-list .info_cont{
		padding: 15px 0;
	}
	.info-list .info_cont a{
		display: flex;
		align-items: center;
		transition: .4s ease;
	}
	.info-list .info_cont a:hover{
		opacity: .6;
	}
	.info-list .label{
		font-size: 12px;
	}
	.info-list .date{
		font-size: 12px;
		width: calc(26% - 14px);
	}
	.info-list .cont_text{
		font-size: 14px;
		margin: 0 0 0 1em;
		width: 74%;
	}
	.brand, .company, .shop{
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 30px;
	}
	.brand > , .company > , .shop > {
		width: 100%;
	}
	.brand .ph{
		order: 2;
		margin: 80px 0 15px;
	}
	.brand .inner.ttl-lead_wrap{
		order: 1;
	}
	.brand .inner:not(.ttl-lead_wrap){
		order: 3;
	}
	.brand .brand_cont{
		margin-top: 88px;
		display: flex;
		justify-content: space-between;
	}
	.brand .brand_cont .img_box{
		width: 50%;
	}
	.brand .brand_cont .text_box{
		width: 45.5%;
		position: relative;
	}
	.brand .yasai .img_box{
		order: 2;
	}
	.brand .yasai .text_box{
		order: 1;
	}
	.brand .yasai .logo{
		width: 69%;
		margin: 0 auto 4% 0;
	}
	.brand .ocean .logo{
		width: 64.4%;
		margin: 1.9% auto 6.5% 0;
	}
	.brand .brand-name{
		font-size: 30px;
		text-align: left;
		margin-bottom: 4%;
	}
	.brand .brand-name span{
		font-size: 14px;
	    margin-bottom: .1em;
	}
	.brand .brand_cont .text{
		margin: 0;
		letter-spacing: .09em;
        line-height: 1.8;
	}
	.brand .yasai.brand_cont .text{
    	width: 96%;
	}
	.brand .link-wrap{
		width: 100%;
		margin: 0;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	.brand .link-wrap a{
		font-size: 18px;
	}
	.company .ph{
		order: 2;
		margin: 75px 0 10px;
	}
	.company .inner{
		order: 1;
	}
	.shop .ph{
		order: 2;
		margin: 75px 0 0;
	}
	.shop .inner.ttl-lead_wrap{
		order: 1;
	}
	.shop .shop-list_wrap{
		order: 3;
		width: 100%;
	}
	.shop .online-shop{
		order: 4;
		width: 100%;
	}
	.shop .shop-list_wrap{
		margin: 75px auto 70px;
	}
	.shop .sub_sec-ttl{
		font-size: 26px;
	}
	.shop .shop_list{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.shop .shop_list li{
		width: 48.8%;
		margin-bottom: 90px;
	}
	.shop .shop-name{
		font-size: 20px;
	}
	.shop .addr, .online-shop .shop_list .addr a{
		font-size: 16px;
	}
	.online-shop .shop_list .shop-name{
		font-size: 22px;
	}
	.associated_co .co_list{
		align-items: center;
		margin-top: 75px;
	}
	.associated_co .co_list li{
		width: 22.65%;
	}
	.associated_co .co_list li.miyakan, .associated_co .co_list li.sskfoods{
		width: 23.24%;
		margin: 0;
	}
}




/* ----- 企業情報ページ用 ----- */
.p-company main{
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", "Sawarabi Mincho", serif;
}
.p-company .heading{
	position: relative;
}
.p-company h2{
	color: #fff;
	font-size: 43px;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	top: 40%;
	font-weight: 400;
	letter-spacing: 8px;
	text-align: center;
}
.p-company h2 span{
	display: block;
	font-size: 23px;
	letter-spacing: 2px;
}
.p-company h3{
	text-align: left;
	font-weight: 400;
	font-size: 37px;
	letter-spacing: 6px;
	margin: 90px 0 45px;
}
.p-company .history h3{
	margin-top: 140px;
}
.p-company table{
	width: 100%;
	border-top: 1px solid #c2c2c2;
}
.p-company tr{
	border-bottom: 1px solid #c2c2c2;
    display: block; 
}
.p-company th,.p-company td{
	font-weight: 400;
	font-size: 17px;
	font-family: 'Noto Sans JP', sans-serif;
}
.p-company .c-profile th{
	width: 135px;
	padding: 28px 0;
	letter-spacing: 1em;
	text-align: left;
	padding-left: 20px;
	box-sizing: border-box;
}
.p-company .c-profile th.space{
	letter-spacing: .3em;
}
.p-company .c-profile td{
	padding-left: 30px;
	letter-spacing: 2px;
}
.p-company .history th{
	width: 195px;
	padding: 28px 0;
	letter-spacing: 2px;
	text-align: left;
	padding-left: 20px;
	box-sizing: border-box;
}
.p-company .history td{
	padding-left: 40px;
	letter-spacing: 2px;
}
.p-company .history{
	margin-bottom: 170px;
}
.p-company .link a{
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	font-size: 16px;
	margin-top: 30px;
	margin-left: 10px;
	display: inline-block;
	padding: 5px 34px 5px 0;
	background: no-repeat center right/23px url(../../img/renewal/top/btn_gray.png);
}
.p-company .link a{
	transition: .4s;
}
@media (max-width:959px){
	/*企業情報ページ*/
	.p-company .inner{
		width: 90%;
	}
	.p-company .heading{
		height: 350px;
		overflow: hidden;
	}
	.p-company .heading img{
		height: 110%;
		width: auto;
		margin-left: -80%;
	}
	.p-company h2{
		font-size: 33px;
	}
	.p-company h2 span{
		font-size: 13px;
	}
	.p-company h3{
		font-size: 24px;
		margin: 50px 0 20px;
	}
	.p-company .c-profile th,.p-company .history th{
		padding: 15px 0;
		font-size: 13px;
		width: 90px;
		text-align: center;
	}
	.p-company .c-profile th.space{
	    text-indent: -.7em;
	}
	.p-company .c-profile td,.p-company .history td{
		font-size: 13px;
		padding-left: 0;
	}
	.p-company .link a{
	    font-size: 14px;
    	background-size: 17px;
	    padding: 5px 28px 3px 0;
	    margin-top: 15px;
	}
	.p-company .history h3{
		margin-top: 60px;
	}
	.p-company .history{
		margin-bottom: 70px;
	}
}