/*ポップアップ */

.popup {

  position: fixed;

  left: 0;

  top: 0;

  width: 100%;

  height: 100%;

  z-index: 9999;

  opacity: 0;

  visibility: hidden;

  transition: .6s;

}

.popup.is-show {

  opacity: 1;

  visibility: visible;

}

.popup-inner {

  position: absolute;

  left: 50%;

  top: 50%;

  transform: translate(-50%,-50%);

  width: 80%;

  max-width: 600px;

  padding: 50px;

  background-color: #fff;

  z-index: 2;

}

.popup-inner a:hover {

	text-decoration: none;

}

.popup-txt {

	color: #333;

	line-height: 2.0;

}

.close-btn {

  position: absolute;

  right: 0;

  top: 0;

  width: 50px;

  height: 50px;

  line-height: 50px;

  text-align: center;

  cursor: pointer;

	font-size: 40px;

}

.black-background {

  position: absolute;

  left: 0;

  top: 0;

  width: 100%;

  height: 100%;

  background-color: rgba(0,0,0,.8);

  z-index: 1;

  cursor: pointer;

}

/*ポップアップここまで */


span.br {
	display: inline-block;
}


/* header */

body {
	font-family: 'Shippori Mincho B1', serif;
	margin-top: 210px;
}

.ec-headerNav {
    display: flex;
}

.ec-layoutRole__header {
	background-image: linear-gradient(180deg, rgba(0, 0, 0, 1), rgba(8, 25, 45, 1));
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	z-index: 999;
	border-bottom: #DBA21C 2px solid;
}

.ec-layoutRole__header a {
	color: #fff;
}

.h-tel,.h-tel a {
	color: #D24A5B;
	font-weight: bold;
	font-size: 24px;
	text-align: center;
	line-height: 0.2;
	margin-top: 5px;
}

.h-tel span {
	font-size: 16px;
}

.h-tel img {
	width: 24px;
	height: 24px;
}

/* 子カテゴリツリー */

.ec-itemNav__nav li.has-child {
	position: relative;

}

.ec-itemNav__nav li.has-child a.itemlist {
	background-color: #08192D !important;
}

.ec-itemNav__nav li.has-child ul{
	position: absolute;
	left:0;
	top:42px;
	z-index: 4;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
	display:grid ;
	padding: 10px;
	width: 250px;
	background-color: rgba(255,255,255,.8);
	backdrop-filter: blur(4px);
}

.ec-itemNav__nav li.has-child ul li {
 font-size: 16px;
 margin: 0;
}

.ec-itemNav__nav li.has-child ul li:hover {
	background: transparent;
}

.ec-itemNav__nav li.has-child ul li a {
	display: block;
	padding: 3px 5px;
	height: fit-content;
	position: relative;
	background: transparent;
	color: #333;
	border: none;
}

.ec-itemNav__nav li.has-child ul li a::after {
	position: absolute;
	content: "";
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	border-bottom: 1px dotted #dcdcdc;
}


.ec-itemNav__nav li.has-child ul a:hover {
	border: none;
}

.ec-itemNav__nav li.has-child:hover > ul,
.ec-itemNav__nav li.has-child ul li:hover > ul,
.ec-itemNav__nav li.has-child:active > ul,
.ec-itemNav__nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}

.ec-itemNav__nav > li:hover li:hover > a {
    background: transparent;
}

.ec-headerNaviRole {
	max-width: 1180px;
	padding: 25px 20px;
}

.ec-headerNav {
    display: flex;
}

.ec-headerNaviRole .ec-headerNaviRole__nav a {
	display: flex;
}

.ec-headerNaviRole .ec-headerNaviRole__search {
    margin-top: 0px;
}

.ec-headerNav .ec-headerNav__itemLink {
    flex-shrink: 0;
}

.ec-headerNaviRole .ec-headerNaviRole__left {
    width: auto;
}

.ec-headerNaviRole__left h1 {

	margin: 0;

}

.ec-headerNaviRole__left h1 img {

	width: auto;

}

.ec_icon {

	display: flex;

	align-items: center;

}

.ec_menu {

	margin-top: 15px;

}

.ec_menu nav ul {

	display: flex;

	list-style-type: none;

	margin: 0;

    padding: 0;

}

.ec_menu nav ul li {

    margin-left: 30px;

}

.ec_menu nav ul li:first-child {

    margin-left: 0px;

}

.ec-headerNav .ec-headerNav__itemLink,
.ec-headerNav .ec-headerNav__itemIcon {
	color: #fff;
	font-weight: bold;
}

.ec-headerNaviRole .ec-headerNaviRole__right {

	flex-direction: column;

    align-items: end;

	width: auto;

	margin-left: auto;

}



.ec-headerNav .ec-headerNav__itemIcon {

    margin-right: 10px;

}

.ec-headerSearch .ec-headerSearch__keyword {

	border-radius: 0px;

	width: 250px;

	margin-right: 20px;

}

.ec-headerSearch .ec-headerSearch__keyword .ec-icon {
	display: block;    	
}

.ec-itemNav__nav {
	background-color: #08192D;
	margin-bottom: 10px;
	border-right: 1px solid #fff;
}

.ec-itemNav__nav li a {
	color: #fff;
	border-left:1px solid #fff;
	background-color: #08192D;
	padding: 5px 10px;
	font-size: 18px;
}

.ec-itemNav__nav li a:hover {
	color: #fff;
	background-color: #08192D;
	padding: 5px 10px;
	opacity: 0.8;
}


/* mv_wrap  */



.mv_wrap {
	background-image: url(../img/top/mainimg.jpg);
	width: 100vw;
    margin-left: calc(50% - 50vw);
	height: 600px;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	position: relative;
	border-bottom: 3px solid #08192D;
}


.mv_wrap2 {
	height: 300px;
	width: 100%;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}



/* main */

.ec-wrap {
	overflow: hidden;
	background: #08192D;
	color: #fff;
	position: relative;
	z-index: 1;
}

.ec-layoutRole .ec-layoutRole__contents {

    max-width: 1180px;

	padding: 0 20px;
	

}

.ec-role {

	max-width: 1140px;

	padding: 0;
	color: #fff;

}

.ec-subtitle {

	margin-bottom: 50px;

	display: flex;

	align-items: center;

}

.ec-more {

	margin-left: auto;
	margin-right: 5px;

}

.ec-more a {

	color: #000;

} 

.ec-morebtn {

	display: inline-block;

	vertical-align: middle;

    margin-left: 15px;

    border-radius: 50%;

    width: 20px;

    height: 20px;

    color: white;

    text-align: center;

    background: black;

    cursor: pointer;

	line-height: 1.35;

    transform: rotate(-90deg);

}

.ec-guest .ec-guest__actions a {
	color: #333;
}


.ec-secHeading {

	margin-top: 0px;

	margin-bottom: 0px;

}

.ec-secHeading .ec-secHeading__en {

	font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;

	font-size: 30px;

	letter-spacing: 1px;
	color: #252525;
}

.ec-secHeading .ec-secHeading__line {

	width: auto;

	height: auto;

	background: unset;

	font-size: 16px;

}

.ec-secHeading .ec-secHeading__line {

    margin: 0 10px 0 70px;

}

.ec-secHeading .ec-secHeading__ja {

    vertical-align: baseline;

}

/* おすすめ商品 */

.container h2 {
	text-align: center;
	margin: 0 auto;
	width: fit-content;
	font-size: 30px;
	border-bottom: #DBA21C 2px solid;
	padding-bottom: 5px;
	margin-bottom: 30px;
}
.ec-shelfRole {
	color: #fff;
	margin-top: 70px;
}

.reccomend_items {
	margin: 100px 0;
}

.reccomend_inner {
	display: flex;
	justify-content: space-between;
}

.reccomend_inner a {
	display: block;
	transition: all .4s;
}

.reccomend_inner a:hover {
	transform: translateY(-5px);
}

/* こだわり */

.concept  {
	margin-bottom: 100px;
}

.concept .container p {
	font-size: 18px;
	line-height: 1.7;
}

.concept .container .f-point {
	width: 100%;
	height: 500px;
	gap: 30px;
}


.concept .container .f-point a {
	display: block;
	margin: 0 auto;
	color: #333;
	background-color: rgba(255,255,255,.8);
	padding: 5px 10px;
	text-shadow: none;
	margin-top: 20px;
	width: fit-content;
}

.concept .container .f-point a:hover {
	text-decoration: none;
	opacity: .8;
}

/* news */

.ec-newsRole .ec-role {
	max-width: 1180px;
	padding: 0 20px;
}

.ec-newItemRole {

    padding: 0 0 20px;

}

.ec-newsRole .ec-subtitle {

	border-bottom: 1px solid #ccc;

	padding-bottom: 25px;

	margin-bottom: 25px;

}

.ec-newsRole .ec-newsRole__news {

    border: none;
	color: #fff;
    padding: 0px;
	font-family: 'Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
	font-size: 16px;
}

.ec-newsRole .ec-newsRole__newsItem {

    padding: 0px;

	margin-bottom: 25px;

}

.ec-newsRole .ec-newsRole__newsItem:not(:last-of-type) {

    border-bottom: 0px;

}

.ec-newsRole {
	padding: 50px 0 80px;
	background: #394757;
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

.ec-newsRole .container h2 {
	transform: translateX(25%);
}

.ec-newsRole .ec-newsRole__newsHeading {

    align-items: baseline;

}

.ec-newsRole .ec-newsRole__newsDate,
.ec-newsRole .ec-newsRole__newsTitle {
 	color: #fff;
    font-weight: bold;
	font-family: 'Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
	font-size: 16px;
}

.ec-newsRole .ec-newsRole__newsCloseBtn {
	color: #333;
	background-color: #fff;
}

/* pickup */



.ec-shelfRole {

    padding-left: 0px;

    padding-right: 0px;

	margin-bottom: 50px;

	margin-top: 80px;

    max-width: 1180px;

}

.ec-shelfGrid {

	margin-bottom: 0px;

}

.ec-shelfGrid__item dl {

	margin-bottom: 0px;

	margin-top: 1rem;

}

.item_price {

	margin-bottom: 0px;

	margin-top: 5px;

}

.item_price span {

	font-size: 13px;

}

.ec-shelfGrid .ec-shelfGrid__item { 

	margin-bottom: 30px;

}



/* 商品を選ぶボタン */

.menubtn {
	position: relative;
}

.menubtn::after {
	position: absolute;
	content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	z-index: -1;
	background: url(../img/top/bg_menu.png)no-repeat center/contain;
	width: 1920px;
	height: 332px;
}

.menubtn_inner a {
	display: block;
	transition: all .3s;
}

.menubtn_inner a:hover {
	filter: brightness(1.2);
}

.menubtn_inner {
	display: grid;
	grid-template-columns: 340px 340px 340px;
	justify-content: space-between;
	row-gap: 40px;
}


/* 当店は小回りの利くお店を目指しています */
.infomation {
	font-size: 18px;
	margin-top: 150px;
	position: relative;
}

.infomation::after {
	position: absolute;
	content: "";
	top: -70px;
	left: 0px;
	z-index: -1;
	background: url(../img/top/bg_shopname.png)no-repeat center center/contain;
	width: 620px;
	height: 175px;
}

.infomation ul {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	row-gap: 30px;
}

.infomation ul li {
	border-bottom: 1px dotted #fff;
	width: fit-content;
}

.infomation ul li::before {
	content: url(../img/top/icon_gold.png);
    margin-right: 10px;
    vertical-align: middle;
	transform: translateY(-10px);
}

.infomation p {
	text-align: center;
	line-height: 1.7;
}

.infomation p:first-of-type {
	margin-top: 50px;
}

.infomation p:nth-of-type(3) {
	margin-top: 30px;
}

.infomation p:last-of-type {
	margin-bottom: 70px;
}

.infomation p a,
.infomation p a:hover,
.infomation p a:visited {
	text-decoration: none;
	color: #fff;
}

span.emphasys {
	font-weight: bold;
	border-bottom: 1px solid #fff;
}

/* 配達エリア */
#deliverarea {
	scroll-margin-top: 300px;
}

.deliver_wrap {
	display: flex;
	justify-content: space-around;
}
.deliver_title h3 {
	font-size: 18px;
}

.deliver_inner {
	display: flex;
	font-size: 18px;
	gap: 30px;
}

.deliver_inner ul {
	list-style:none;
	margin: 0;
	padding: 0;
}

.deliver_inner ul li::before {
	content: "・";
	margin-left: 5px;
}

.deliver .container p {
	font-size: 18px;
	text-align: center;
}

.deliver .container p a {
	color: #4CD2FF;
}

.deliver .container p:first-of-type {
	margin-top: 30px;
}

.deliver {
	margin-bottom: 100px;
}

/* 店舗所在地 */

.place_inner {
	display: flex;
	gap: 50px;
	transform: translateX(-10%);
	justify-content: center;
}

iframe {
	width: 45%;
	aspect-ratio: 16/9; 
	position: relative;
  }

.place {
	position: relative;
}

.place::after {
	position: absolute;
	content: "";
	bottom: -70px;
	left: -200px;
	z-index: -1;
	background: url(../img/top/bg_map.png)no-repeat center center/contain;
	width: 600px;
	height: 150px;
}


.place::before {
	position: absolute;
	content: "";
	bottom: -70px;
	right: -100px;
	z-index: -1;
	background: url(../img/top/bg_shopname.png)no-repeat center center/contain;
	width: 620px;
	height: 175px;
}
  
.place_info dl {
	display: flex;
	gap: 20px;
	font-size: 18px;
} 

/* お問い合わせ */
.contactform {
	margin-top: 150px;
	margin-bottom: 50px;
}

.contact_inner {
	display: flex;
	justify-content: space-around;
	margin-top: 50px;
}

.contact_inner a {
	display: block;
	width: 400px;
	height: 100px;
	color: #fff;
}

.contact_inner a:hover,
.contact_inner a:visited {
	text-decoration: none;
	color: #fff;
}

.contact_inner a:hover {
	opacity: .8;
}

.contact_inner img {
	width: 26px;
	height: fit-content;
	margin-right: 10px;
}

.contact_inner .contact_left a {
	font-weight: bold;
	text-align: center;
	background-color: #992634;
	border: #DBA21C 2px solid;
	display: grid;
	align-content: center;
	font-size: 18px;
}

span.contact_tel {
	font-size: 30px;
}

.contact_left {
	font-size: 18px;
}

.contact_left p {
	padding: 20px 0;
	text-align: center;
}

.contact_left dl {
	display: flex;
	gap: 20px;
}

.contact_left dt {
	color: #333;
	background-color: #DBA21C;
	width: 170px;
	height: 30px;
	display: grid;
	place-items: center;
}

.contact_inner .contact_right a {
	border: 1px solid #fff;
	font-size: 24px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #08192D;
}

.contact_right {
	position: relative;
}

.contact_right::after {
	position: absolute;
	content: "";
	bottom: -20px;
    right: -90%;
	width: 504px;
	height: 195px;
	background: url(../img/top/bg_contact.png)no-repeat center/contain;
}



/* footer */

#side_p {
	position: fixed;
	font-size: 16px;
	top: 220px;
	right: 5px;
	z-index: 999;
	color: #fff;
}

#pagetop {
	position: fixed;
	bottom: 30px;
	right: 100px;
	z-index: 999;
	display: none;
}

#mail{
	position: fixed;
	top:300px;
	right: 0;
	z-index: 999;
}

#line{
	position: fixed;
	top:570px;
	right: 0;
	z-index: 999;
}

.ec-footerRole {

    padding-top: 80px;

	margin-top: 0px;
	color: #333;
	border: 0px;
	background-color: #fff;
	border-top: 3px solid #DBA21C;
}

.ec-footerRole .ec-footerRole__inner {

    max-width: 1180px;
	background-color: #fff;
    padding: 0 20px;


}

.ec-footerRole .ec-footerRole__inner img {
	background-color: #fff;
	width: auto;

}

.f-tel {

	display: flex;
	font-size: 15px;
	margin-top: 40px;

}

.f-tel p:first-child {
	margin-right: 10px;

}

.f-add {

	display: flex;

	font-size: 15px;

	margin-top: 15px;

}

.f-add p:first-child {

	margin-right: 10px;

}

.ec-footerRole__inner {

	display: flex;

}

.f-menu {

	width: 300px;

	margin-right: 30px;

	margin-left: auto;

}

.f-menu2 {

	width: 420px;

}

.f-menuin {

	display: flex;
	gap: 50px;
}



.f-menutitle {
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #333;
	font-weight: bold;
}


.ec-footerRole__inner {


}

.ec-footerRole__inner ul {

	list-style-type: none;

	padding-left: 0;

}

.ec-footerRole__inner ul a {

	color: #333;

}

.ec-footerRole__inner ul li {

	margin-bottom: 15px;
	display: flex;

}

.ec-footerRole__inner ul li::before {

	content: "-";

	margin-right: 5px;

	color: #333;

}

.ec-footerTitle__copyright {

	margin-top: 80px;

    text-align: center;
	font-family: 'Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
    padding: 10px 0;
       color: #333;
}

.ec-footerTitle__copyright a {

    color: #333;

}
.pc {
	display: block;
}
.sp {
	display: none;
}

/* page_contents */

.page_contents {
	margin-top: 0px;
	margin-bottom: 60px;
}
.ec-searchnavRole {
	max-width: 1140px;
	padding: 0;
}
.ec-pageHeader h1 {
    margin: 50px 0px 50px;
	border: 0px;
	padding: 0;
}
.ec-contactRole p {
    margin: 0 0 20px;
	color: #fff;
}

#privacy-policy {
	line-height: 2;
	margin-top: 50px;
}
.ttl {
	font-weight: bold;
	margin-top: 20px;
}

/* 北海吟寿司のこだわり */

.kodawari_r,.kodawari_l {
	display: flex;
	justify-content: center;
	gap: 50px;
	margin-top: 100px;
	position: relative;
}

.kodawari_r::after {
	position: absolute;
	content: "";
	bottom: -50px;
	left: -20px;
	z-index: -1;
	background: url(../img/top/bg_point.png) no-repeat center/contain;
	width: 402px;
	height: 412px;
}

.kodawari_l::after {
	position: absolute;
	content: "";
	bottom: -50px;
	right: -20px;
	z-index: -1;
	background: url(../img/top/bg_point.png) no-repeat center/contain;
	width: 402px;
	height: 412px;
}

.kodawari_inner {
	width: 500px;
	line-height: 2;
}

.kodawari_inner h3 {
	margin: 0 0 30px 0 ;
	padding-bottom: 5px;
	border-bottom: 2px solid #DDA01D;
	width: fit-content;
}

.f-point {
	background: url(../img/top/bg_f-point.jpg)no-repeat center/contain;
	width: 1160px;
	height: 780px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.f-point img {
	width: fit-content;
}

.f-point p {
	width: 1000px;
	line-height: 2;
	font-size: 26px;
	font-weight : bold;
	color       : #ffffff;
	text-shadow:  2px  2px 10px #777 ,
				 -2px  2px 10px #777 ,
				  2px -2px 10px #777 ,
				 -2px -2px 10px #777;
}

.f-point h3 {
	text-align: center;
}

span.yellow {
	color: #FFFF26;
}

/* Q&A */

.faq .container {
	padding:0;
}

.faq dl {
	margin-bottom: 40px;
	line-height: 2;
}

.faq dt {
	margin-bottom: 20px;
	font-size: 20px;
	border-bottom: 1px solid #fff;
}

.faq dd a {
	text-decoration: underline;
	color: #4CD2FF;
}

.faq dd a:hover {
	opacity: .8;
}

/* 商品一覧 */

.ec-searchnavRole {
	max-width: 1140px;
	padding: 0;
	margin-top: 50px;

}
.ec-searchnavRole__counter {
	color: #fff;
}

.page_contents > .ec-shelfRole {
    margin-bottom: 0px;
    margin-top: 0px;
}
.ec-searchnavRole .ec-searchnavRole__infos {
    padding-left: 0px;
    padding-right: 0px;
    max-width: 1140px;
}
.ec-topicpath {
    padding: 0 0 10px;
    border: 0;
    font-size: 16px;
}
.ec-blockBtn--action {
    background-color: #363636;
	border: 1px solid #fff;
	font-family: 'Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}
.ec-blockBtn--action:hover {
    color: #fff;
    background-color: #6a6a6a;
    border-color: #e9e9e9;
}

.form-check-label {
	color: #333;
}

.ec-totalBox__btn p.small {
	color: #f00;
}

/* 商品詳細 */
.ec-productRole .ec-productRole__profile {
	color: #fff;
	font-family: 'Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}

.ec-login__actions .ec-blockBtn--cancel {
    background-color: unset;
	color: #333;
	border: #333 1px solid;
	font-family: 'Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}

.ec-login__actions .ec-blockBtn--cancel:hover {
    background-color: unset;
	color: #333;
	border: #333 1px solid;
	opacity: 0.7;
	font-family: 'Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}

.ec-totalBox .ec-totalBox__btn a {
	color: #333;
}

#ec-modal-header {
	color: #333;
}

.ec-productRole__btn {
	color :#fff;
	border: 1px solid #fff;
}

.ec-productRole__btn .ec-blockBtn--cancel {
	color: #fff;
}

.ec-blockBtn--cancel {
    background-color: unset;
	color: #333;
	border: #333 1px solid;
	font-family: 'Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}

.ec-blockBtn--cancel:hover {
    background-color: unset;
	color: #fff;
	border: #fff 1px solid;
	opacity: 0.7;
}
.ec-productRole__description {
	margin-top: 30px;
}
.ec-productRole {
    padding-left: 0px;
    padding-right: 0px;
    max-width: 1140px;
	margin-top: 50px;
}
.ec-sliderItemRole {
    padding-left: 0px;
    padding-right: 30px;
    max-width: 1140px;
}
.ec-productRole .ec-productRole__title .ec-headingTitle {
    font-size: 25px;
    padding-top: 20px;
	font-weight: bold;
	color: #fff;
}
.ec-shelfGrid .ec-shelfGrid__item .ec-productRole__btn {
	margin-bottom:0px;
}
.ec-price .ec-price__price {
    padding: 0 0.3em 0 0;
    font-size: 22px;
}
.ec-productRole .ec-productRole__price {
	border-bottom: 0px;
}
.ec-productRole .ec-productRole__tags {
    margin: 0px;
    padding: 0;
    padding-bottom: 0px;
    border-bottom: 0px dotted ;
}
.ec-productRole .ec-productRole__category {
    border-bottom: 0px;
}

.ec-guest .ec-guest__actions a {
	color: #333;
}


/* お問合せ */

.ec-contactRole {
    padding-left: 0px;
    padding-right: 0px;
    max-width: 1140px;
	color: #fff;
}

.ec-input input, .ec-birth input, .ec-select input, .ec-halfInput input, .ec-numberInput input, .ec-zipInput input, .ec-telInput input {
    width: 92%;
}
.ec-input textarea {
	width: 92%;
}



.ec-off1Grid .ec-off1Grid__cell {
    margin-left: 0px;
}

/* 特定商 */

.ec-off1Grid .ec-off1Grid__cell {
    width: 100%;
}

.ec-borderedDefs {
    border-top: 0px dotted #ccc;
}

.ec-heading-bold {
	margin-top: 20px;
	margin-bottom: 20px;
}

.ec-borderedDefs dt {
	line-height: 2.5;
	padding: 25px 0;
    width: 23%;
	border-bottom: 1px solid #ccc;
}

.ec-borderedDefs dd {
    line-height: 2.5;
	width: 77%;
	margin: 0px;
	padding: 25px 0 25px 25px;
	border-bottom: 1px dotted #ccc;
}
.ec-borderedDefs dl {
    flex-wrap: nowrap;
    padding: 0px;
	border: 0px;
}
.ec-borderedDefs dl:first-child dt {
	padding: 5px 0 25px;
}
.ec-borderedDefs dl:first-child dd {
	padding: 5px 0 25px 25px;;
}
.ec-label {
    margin-bottom: 0px;
}


/* プライバシーポリシー */

.ec-privacy ol {
	padding: 0 0 0 1em;
}
.ec-privacy ol li ol {
	margin-top: 20px;
	margin-bottom: 20px;
}
.ec-privacy ol li ol li {
	margin-bottom: 20px;
	list-style: circle;
}
.ec-privacy ol li ol li span {
	margin-bottom: 10px;

}
.ec-off1Grid__cell {
	margin-bottom: 20px;
}
.pri-title {
	margin-bottom: 10px;
}

/* ご利用ガイド */

.ec-guide h2 {
    font-size: 22px;
    font-weight: bold;
	padding-top: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ccc;
    margin: 0;
	font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
}
.ec-guide .ec-guidetitle {
	padding-top: 0px;
}
.ec-guide-in h3 {
	font-size: 16px;
	font-weight: bold;
}

.ec-guide-in h3::before {
	content:"●";
	color: #ccc;
	margin-right: 10px;
}
.ec-guide-in h4 {
	font-size: 16px;
	font-weight: bold;
	margin-top: 1em;
}
.ec-guide p {
	margin-top: 1em;
	line-height: 1.7; 
}
.ec-guide ol li {
	line-height: 1.7; 
}
.ec-notice {
	color: red;
}
.pad {
	display: none;
}

.ec-registerRole {
    margin: 0;
    padding-left: 0px;
    padding-right: 0px;
    max-width: 1140px;
	color: #fff;
}

/*購入画面*/

.ec-blockBtn.ec-cartNavi--cancel {
	color: #333;
	font-family: 'Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}

.ec-cartRole {
	color: #fff;
}

.ec-cartHeader {
	color: #333;
}

.ec-cartRole a {
	color: #4CD2FF;
}

.ec-cartRole__actions a {
	color: #fff;
}
.ec-guest .ec-guest__inner {
	color: #333;
}

.ec-customerRole {
	color: #fff;
}

.ec-required {
	color: #ffffff;
	background-color: #DE5D50;
	font-family: 'Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
	padding: 0 5px;
}

p.small {
	font-family: 'Yu Gothic UI','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
	font-size: 14px;
	padding-bottom: 10px;
}


.ec-orderRole__detail p,
#customer_detail_box,
.ec-select label,.ec-radio span,.ec-select,
.ec-orderDelivery .ec-orderDelivery__title,ec-orderDelivery__actions,
.ec-blockRadio  {
	color: #fff;
}

.ec-registerRole .ec-blockBtn--cancel,
.ec-cartRole__actions .ec-blockBtn--cancel {
	color: #fff;
	border: 1px solid #fff;
}


@media (max-width: 1024px) {

.ec-headerSearch .ec-headerSearch__keyword {
    width: 180px;
}
.ec_concept {
	background-size: cover;
}
.ec-footertitle {
	margin-right: 15px;
}

.f-menu {
    width: 140px;
	margin-right: 15px;
}
.f-menu2 {
    width: 350px;
}
.ec_menu nav ul li {
    margin-left: 30px;
}
.ec_concept_left {
	margin-right: 20px;
}
.ec_concept .ec-role h3 {
    font-size: 25px;
}
.ec_concept_right {
	width: 50%;
	flex-shrink: 0;
}

.ec_concept_right p br {
	display: none;
}
.f-tel {
	flex-direction: column;
	font-size: 16px;
}
.f-add {
	flex-direction: column;
	font-size: 16px;
}
.pad {
	display: block;
}

.ec-newsRole .container h2 {
	transform: translateX(0);
}


.deliver_wrap {
	display: block;
}

.deliver_inner {
	flex-wrap: wrap;
	row-gap: 2vw;
	column-gap: 30px;

}

.place_inner {
	display: block;
	transform: translateX(0);
}

iframe {
	width: 100%;
}

.place_info {
	margin-top: 6.33vw;
}

.place::after {
	top: 50vw;
}

.place::before {
    position: absolute;
    content: "";
    bottom: 0px;
    right: 0;
    z-index: -1;
    background: url(../img/top/bg_shopname.png)no-repeat center center/contain;
    width: 70vw;
    height: 17.95vw;
}


}
@media (max-width: 920px) {
.pc {
	display: none;
}

.sp {
	display: block;
}
	.h-tel, .h-tel a {
		font-size: 16px;
	}

	.h-tel span {
		font-size: 14px;
	}

	.container,
	.ec-layoutRole__mainBottom {
		width: 96vw;
		margin: 0 auto;
	}
	
	.ec-layoutRole .ec-layoutRole__contents {
		padding: 0;
	}

.ec-headerNav .ec-headerNav__item span {
	display: none;
}
.ec_concept {
    background-image: url(../img/top/concept_back3.png);
}
.ec_menu nav ul li {
    margin-left: 15px;
    font-size: 14px;
}
.ec-itemNav__nav {
	display: flex;
}

.reccomend_inner {
	flex-wrap: wrap;
}
.menubtn_inner {
	grid-template-columns: 1fr 1fr;
	place-items: center;
}


/*トップページ　北海吟寿司のこだわり*/
.concept .container {
	padding: 0;
}

.concept .f-point p {
	font-size: 16px;
}

.concept .container .f-point {
	gap: 0;
	height: 133.33vw;
}

.concept .container .f-point img {
	width: 94vw;
}

.infomation ul li::before {
	margin-top: 2vw;
}

.contactform {
	margin-top: 0;
	padding-top: 13.33vw;
}

.contact_inner {
	flex-direction: column;
	align-items: center;
}

.contact_inner a {
	width: 90vw;
	height: 24vw;
}

.contact_inner .contact_left a.pc {
	display: none;
}

.contact_right::after {
    position: absolute;
    content: "";
    bottom: -60%;
    right: -20%;
    width: 64vw;
    height: 24vw;
    background: url(../img/top/bg_contact.png)no-repeat center/contain;
    z-index: -1;
}

.btn_contact.sp a {
	display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 4vw;
    font-size: 7vw;
}

.btn_contact.sp {
	position: relative;
}

.btn_contact.sp::after {
	content: "ご注文はお電話からも受付中!";
	position: absolute;
    top: 4vw;
    left: 50%;
    transform: translateX(-50%);
    font-size: 4vw;
    width: 100%;
    text-align: center;
}

.ec-more2 {
	width: 100%;
    padding: 10px 0;
    border: 1px solid #ddd;
    text-align: center;
}
.ec-more2 a {
	color: #fff;
	font-weight: 500;
}
.ec-more2 {
    font-weight: bold;
    padding: 15px 0;
    border: 1px solid #ddd;
    background-color: #363636;
}


.infomation ul li {
	text-indent: -2em;
   padding-left: 2em;
   padding-bottom: 2vw;
}

#pagetop {
	right: 15px;
	bottom: 22vw;
}

.ec-footerRole {
	margin-bottom: 22vw;
} 

.footer_btn {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100vw;
	display: flex !important;
	justify-content: center;
	align-items: center;
	z-index: 99;
}

.footer_btn a {
	display: block;
	font-size: clamp(1rem, 0rem + 4.267vw, 2rem);
	height: 20vw;
	display: grid;
	place-items: center;
	color: #fff;
}

.footer_btn a:first-of-type {
	background-color: #DDA01D;
	width: 50vw;
}
.footer_btn a:last-of-type {
	background-color: #00B800;
	width: 50vw;
}

.footer_btn a p {
	text-align: center;
	padding-left: 1.5em;
	position: relative;
}

.footer_btn .line::before {
	position: absolute;
	content: "";
	background-image: url(../img/top/img_line.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 8vw;
	height: 8vw;
	top: 50%;
	left: -4vw;
	transform: translateY(-50%);
}

.footer_btn .yoyaku::before {
	position: absolute;
	content: "";
	background-image: url(../img/top/img_mail.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 8vw;
	height: 6vw;
	top: 50%;
	left: -2vw;
	transform: translateY(-50%);
}

.menubtn::after {
	position: absolute;
	content: "";
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	z-index: -1;
	background: none;
	width: 0;
	height: 0;
}

/* 北海吟寿司のこだわり */

.kodawari_r{
	flex-direction: column;
	gap: 6.33vw;
	margin-top: 13.33vw;
	position: relative;
}

.kodawari_l {
	flex-direction: column-reverse;
	gap: 6.33vw;
	margin-top: 13.33vw;
	position: relative;
}

.kodawari_r::after {
	position: absolute;
	content: "";
	top:0px;
	left: 0px;
	z-index: -1;
	background: url(../img/top/bg_point.png) no-repeat center/contain;
	width: 42.67vw;
	height: 43.73vw;
}

.kodawari_l::after {
	position: absolute;
	content: "";
	top: 0px;
	right: 0px;
	z-index: -1;
	background: url(../img/top/bg_point.png) no-repeat center/contain;
	width: 42.67vw;
	height: 43.73vw;
}

.kodawari_inner {
	width: 96vw;
	line-height: 2;
}

.kodawari_inner h3 {
	margin: 0 0 30px 0 ;
	padding-bottom: 5px;
	border-bottom: 2px solid #DDA01D;
	width: fit-content;
}

.f-point {
	background: url(../img/top/bg_f-point_sp.jpg)no-repeat center/contain;
	width: 96vw;
	height: 133.33vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.f-point img {
	width: fit-content;
}

.f-point h3 {
	width: 94vw;
}

.f-point p {
	width: 96vw;
	line-height: 2;
	font-size: 16px;
	padding: 0 2vw;
	font-weight : bold;
	color       : #ffffff;
	text-shadow:  2px  2px 10px #777 ,
				 -2px  2px 10px #777 ,
				  2px -2px 10px #777 ,
				 -2px -2px 10px #777;
}

}

@media (max-width: 767px) {
.container,
.ec-layoutRole__mainBottom {
	width: 96vw;
	margin: 0 auto;
}

.ec-itemNav__nav {
    display: block;
}
.ec-cartNavi .ec-cartNavi__icon {
	color: #fff;
}
.ec-layoutRole .ec-layoutRole__contents {
	padding: 0;
}

.pc {
	display: none;
}
.pad {
	display: none;
}

.sp {
	display: block;
}
.ec-cartNavi {
    padding: 10px 0 0 10px;
}
.ec-headerNaviRole .ec-headerNaviRole__right {
    margin-right: 50px;
}
.ec-headerNav .ec-headerNav__itemIcon {
    margin-right: 0px;
}
.ec-headerNavSP {
	top: 35px;
    right: 10px;
    left: auto;
}
.ec-headerNaviRole .ec-headerNaviRole__left {
    width: 150px;
}

body {
	margin-top: 132px;
	background-color: #08192D;
}

.mv_wrap {
    background-image: url(../img/top/sp_mainimg.jpg);
    width: 100vw;
    margin-left: calc(50% - 50vw);
    height: 126.67vw;
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
}
.mv_wrap2 {
	height: 250px;
	width: 100vw;
    margin-left: calc(50% - 50vw);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}

/* draw */

.ec-drawerRole {
    top: 0;
    left: unset;
    right: 0;
}
.ec-drawerRole {
    transform: translateX(300px);
}
.ec-drawerRoleClose {
    left: unset;
    right: 270px;
}
.ec-drawerRole {
	background-color: #333;
}
.ec-drawerRole .ec-headerLinkArea .ec-headerLink__item {
    background-color: #333;
}

/* main */
.ec-secHeading .ec-secHeading__line {
    margin: 0 10px 0 40px;
}

.ec-more2 {
	width: 100%;
    padding: 10px 0;
    border: 1px solid #ddd;
    text-align: center;
}
.ec-more2 a {
	color: #fff;
	font-weight: 500;
}
.ec-more2 {
    font-weight: bold;
    padding: 15px 0;
    border: 1px solid #ddd;
    background-color: #363636;
}

.reccomend_inner {
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 6.33vw;
}

/* news */


	.ec-newsRole {
	padding: 40px 0;
}
.ec-shelfRole {
    margin-bottom: 30px;
    margin-top: 50px;
}
/* menubutton */

.menubtn_inner {
	gap: 6.33vw;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.infomation ul {
	display: flex;
	flex-direction: column;
	gap: 6.33vw;
	padding: 0;
}

.infomation ul li {
	text-indent: -2em;
   padding-left: 2em;
   padding-bottom: 2vw;
}



/* footer */
.ec-footerRole {
	padding-top: 6.33vw;
}
.ec-footerRole__inner {
    display: block;
}

.ec-footerRole__inner ul a {
	font-size: 16px;
}

.f-menutitle {
	font-weight: bold;
	font-size: 18px;
}

.f-menu {
    width: 100%;
	margin-top: 0px;
}
.f-menu2 {
    width: 100%;
	margin-top: 30px;
}
.f-menuin {
	display: block;
}
.f-menuin ul {
    width: 100%;
	margin-bottom: 0px;
}
.f-menuin ul:first-child {
    width: 100%;
}
.f-menuin ul a {
    display: block;
}
.ec-footerRole__inner ul li {
	padding-bottom: 10px;
    border-bottom: 1px dotted #fff;
}
.ec-footerRole__inner ul li::before {
    content: "";
    margin-right: 0px;
}
.ec-footerTitle__copyright {
    margin-top: 30px;
}
.ec-footerTitle__copyright a {
    font-size: 12px;
}
.ec-footertitle {
	margin-top: 40px;
}

/* page */

.page_contents .ec-secHeading .ec-secHeading__ja {
    display: block;
	margin-top: 10px;
}
.page_contents .ec-secHeading .ec-secHeading__line {
    display: none;
}


/* contact */

.ec-contactRole p {
    margin: 16px 0 0;
}
.ec-contactRole .ec-para-normal {
    margin: 0 0 16px 0;
}
.ec-borderedDefs dl {
    display: block;
	padding: 0;
}
.ec-borderedDefs dt {
    width: 100%;
	border-bottom: 0px;
	padding: 10px 0 0 0;
}
.ec-borderedDefs dd {
    margin: 0;
	padding: 0 0 10px 0;
}
.ec-borderedDefs dl:first-child dt {
	padding: 0;
}
.ec-borderedDefs dl:first-child dd {
	padding: 0 0 10px 1em;
}

.ec-input input, .ec-birth input, .ec-select input, .ec-halfInput input, .ec-numberInput input, .ec-zipInput input, .ec-telInput input {
    width: 100%;
}
.ec-input textarea {
	width: 100%;
}
.ec-layoutRole .ec-layoutRole__main {
	width: 96vw;
	margin: 0 auto;
}

.ec-pageHeader h1 {
	margin: 6.33vw 0;
	font-size: 24px;
}

.ec-borderedDefs dd,
.ec-borderedDefs dt,
.ec-borderedDefs dl{
	width: 100%;
}

.ec-borderedDefs dt {
	position: relative;
}

.ec-borderedDefs dt::before {
	content: "●";
	color: #fff;
	margin-left: 2vw;
}

.ec-borderedDefs dd {
	padding-left: 1em;
}

.ec-borderedDefs dd a {
	color: #fff;
}

}

