@charset "utf-8";
/* CSS Document */
/*====================================
Reset
====================================*/
html{
	width: 100%;
	font-size: 2.66666vw; /* 画面幅375pxの時1rem=10px */
	font-weight: 400;
}
body{
	min-width: 320px;
	line-height: 1;
	position: relative;
	overflow-x: hidden;
	overflow-wrap: break-word;
	word-wrap: break-word;
	font-family: "Zen Maru Gothic","メイリオ","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #231815;
	background: #F2FAFF;
}

@media print,screen and (min-width: 600px) {
	html{
		font-size: 0.6944444vw; /* 画面幅1440pxの時1rem=10px */
	}
}
@media print,screen and (min-width: 1440px) {
	html{
		font-size: 10px;
	}
}

img{
	width: 100%;
	height: auto;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a{
	text-decoration: none;
	color:inherit;
}
svg{
	width: 100%;
	height: 100%;
}
a,
input, textarea, button, label, select,
.js--btn-hamburger{
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	outline: 0;
}
::selection {
	background: rgba(0, 60, 128, .2);
}

/*====================================
Common
====================================*/
.anchor{
	display: block;
	width: 0;
	height: 0;
}
.width--cmn{
	margin-left: auto;
	margin-right: auto;
	width: 33.5rem;
}
.fw--500{
	font-weight: 500;
}
.fw--700{
	font-weight: 700;
}
.fw--900{
	font-weight: 900;
}
.font--potta{
	font-family: "Potta One", system-ui;
}

@media only screen and (max-width: 599px) {
	.disp--pc{
		display: none !important;
	}
	.anchor{
		padding-top: 8rem;
		margin-top: -8rem;
	}
}

@media print,screen and (min-width: 600px) {
	.disp--sp{
		display: none !important;
	}
	.width--cmn{
		width: 124rem;
	}
}

/* アイコン
--------------------------------------*/
.icon--svg{
	display: block;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-position: center;
	mask-size: contain;
	-webkit-mask-size: contain;
	background: #231815;
	transition: background .3s ease;
}
.icon--arrow-bg{
	mask-image: url(../img/common/icon-arrow-bg.svg);
	-webkit-mask-image: url(../img/common/icon-arrow-bg.svg);
}
.icon--cart{
	mask-image: url(../img/common/icon-cart.svg);
	-webkit-mask-image: url(../img/common/icon-cart.svg);
}
.icon--shop{
	mask-image: url(../img/common/icon-shop.svg);
	-webkit-mask-image: url(../img/common/icon-shop.svg);
}
.icon--fish{
	mask-image: url(../img/common/icon-fish.svg);
	-webkit-mask-image: url(../img/common/icon-fish.svg);
}
.icon--megaphone{
	mask-image: url(../img/common/icon-megaphone.svg);
	-webkit-mask-image: url(../img/common/icon-megaphone.svg);
}
.icon--map-pin{
	mask-image: url(../img/common/icon-map-pin.svg);
	-webkit-mask-image: url(../img/common/icon-map-pin.svg);
}
.icon--arrow{
	mask-image: url(../img/common/icon-arrow.svg);
	-webkit-mask-image: url(../img/common/icon-arrow.svg);
}
.icon--seabird{
	mask-image: url(../img/common/icon-seabird.svg);
	-webkit-mask-image: url(../img/common/icon-seabird.svg);
}
.icon--company-logo{
	mask-image: url(../img/common/company-logo.svg);
	-webkit-mask-image: url(../img/common/company-logo.svg);
}
.shape--blob-circle{
	mask-image: url(../img/common/shape-blob-circle.svg);
	-webkit-mask-image: url(../img/common/shape-blob-circle.svg);
}
.shape--wavy-circle{
	mask-image: url(../img/common/shape-wavy-circle.svg);
	-webkit-mask-image: url(../img/common/shape-wavy-circle.svg);
}


/* タイトル
--------------------------------------*/
.sec-pagettl{
	padding-top: 14.5rem;
}
.sec-pagettl .container-pagettl{
	padding: 5.5rem 0 12rem 0;
	display: flex;
	justify-content: center;
}
.sec-pagettl .pagettl{
	font-size: 4rem;
}

/* パンくず
--------------------------------------*/
.pnkz{
	font-size: 1.3rem;
	display: flex;
}
.pnkz .arrow{
	display: inline-block;
	width: 0.6rem;
	height: 0.7rem;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	background-color: #727171;
	margin: 0 1rem;
	margin-top: calc((1em - 0.7rem) / 2);
}
.pnkz span:nth-child(5),
.pnkz span:nth-child(7) {
	max-width: 40%;
}
.pnkz .txt--line-clamp{
	-webkit-line-clamp: 1;
	max-height: 1em;
}

/* 色
--------------------------------------*/
.c--white{
	color: #fff !important;
}
.c--black{
	color: #231815 !important;
}
.c--blue{
	color: #003C80 !important;
}
.c--light-blue{
	color: #F2FAFF !important;
}
.c--brown{
	color: #584228 !important;
}

.bg--white{
	background-color: #fff !important;
}
.bg--black{
	background-color: #231815 !important;
}
.bg--blue{
	background-color: #003C80 !important;
}
.bg--light-blue{
	background-color: #F2FAFF !important;
}
.bg--navy{
	background-color: #002D60 !important;
}
.bg--yellow{
	background-color: #FEFE24 !important;
}
.bg--red{
	background-color: #D43A02 !important;
}
.bg--brown{
	background-color: #584228 !important;
}

/* ホバー
--------------------------------------*/
@media print,screen and (min-width: 600px) {
	.hover--c-white,
	.hover--c-blue{
		transition: color .3s ease;
	}
	a.hover--c-white:hover,
	a:hover .hover--c-white{
		color: #fff !important;
	}
	a.hover--c-blue:hover,
	a:hover .hover--c-blue{
		color: #003C80 !important;
	}

	.hover--bg-white,
	.hover--bg-black,
	.hover--bg-blue,
	.hover--bg-yellow{
		transition: background .3s ease, color .3s ease;
	}
	a.hover--bg-white:hover,
	a:hover .hover--bg-white,
	button.hover--bg-white:hover,
	button:hover .hover--bg-white{
		background-color: #fff !important;
	}
	a.hover--bg-black:hover,
	a:hover .hover--bg-black{
		background-color: #000 !important;
	}
	a.hover--bg-blue:hover,
	a:hover .hover--bg-blue{
		background-color: #003C80 !important;
	}
	a.hover--bg-yellow:hover,
	a:hover .hover--bg-yellow{
		background-color: #FEFE24 !important;
	}

	.hover--underline{
		background-position: right bottom;
		background-size: 0 100%;
		background-image: linear-gradient(to bottom, transparent calc(100% - 1px), currentColor 1px);
		background-repeat: no-repeat;
		transition: color .3s ease, background-size 0.6s cubic-bezier(0.19, 1, 0.22, 1);
	}
	a.hover--underline:hover,
	a:hover .hover--underline,
	.has--dd:hover > .hover--underline,
	.js--btn-popup.hover--underline:hover,
	.js--btn-popup:hover .hover--underline{
		background-position: left bottom;
		background-size: 100% 100%;
	}

	.hover--opacity,
	.hover--img-opacity > img{
		transition: opacity .3s ease;
	}
	a.hover--opacity:hover,
	a:hover .hover--opacity,
	a.hover--img-opacity:hover > img,
	a:hover .hover--img-opacity > img{
		opacity: 0.5;
	}
	.hover--img-zoom{
		position: relative;
	}
	.hover--img-zoom > img{
		transition: transform .3s ease-in-out;
	}
	a.hover--img-zoom:hover > img,
	a:hover .hover--img-zoom > img{
		transform: scale(1.1);
	}
}

/* 画像
--------------------------------------*/
.img--fit img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* IE */
.browser--ie .img--fit{
	position: relative;
	overflow: hidden;
}
.browser--ie .img--fit img{
	width: auto;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.img--posted{
	display: block;
	width: 100%;
	position: relative;
	height: 0;
	overflow: hidden;
	padding-bottom: 75.196%;
}
.img--posted > img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.img--dummy{
	box-sizing: border-box;
	background-color: #fff;
	border: 1px solid #DEDEDE;
}
.img--dummy .logo{
	background-color: #DEDEDE;
	position: absolute;
	width: 13.4rem;
	height: 7.8rem;
	left: calc((100% - 13.4rem) / 2);
	top: calc((100% - 7.8rem) / 2);
}

/* テキスト
--------------------------------------*/
div.txt--i,
p.txt--i,
ul.txt--i > li,
li.txt--i{
	padding-left: 1em;
	text-indent: -1em;
}
.txt--u{
	text-decoration: underline;
}
.txt--center{
	text-align: center;
}
.txt--v{
	writing-mode: vertical-rl;
	text-orientation: upright;
	letter-spacing: 0.11em;
	min-width: 1em;
}

@media print,screen and (min-width: 600px) {
	.txt--u:hover{
		text-decoration: none;
	}
}

.txt--cmn{
	font-size: 1.6rem;
	line-height: 1.5;
}
.txt--cmn-p-margin p:not(:first-child){
	margin-top: 1.5em;
}

.txt--line-clamp{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	max-height: calc(1.93em * 2);
	overflow: hidden;
}
.txt--line-clamp a{
	transition: color .3s ease;
}
.txt--line-clamp .hover--underline{
	transition: background-size 1.5s cubic-bezier(0.19, 1, 0.22, 1), color .3s ease;
}


/* iframe処理
--------------------------------------*/
.gmap--wrap{
	position: relative;
	width: 100%;
	overflow: hidden;
	padding-top: 106.66%;
}
.gmap--wrap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*====================================
parts
===================================*/
.ttl--cmn1,
.shape--rough-rounded{
	position: relative;
	box-sizing: border-box;
	min-height: 6rem;
	border-radius: 10rem;
}
.ttl--cmn1 .ttl--cmn1-txt,
.shape--rough-rounded .shape--rough-rounded-txt{
	position: relative;
	z-index: 2;
	font-weight: 700;
	line-height: 1.5;
}
.ttl--cmn1 .ttl--cmn1-bg1,
.ttl--cmn1 .ttl--cmn1-bg2,
.shape--rough-rounded .shape--rough-rounded-bg1,
.shape--rough-rounded .shape--rough-rounded-bg2{
	position: absolute;
	pointer-events: none;
	z-index: 0;
	width: 6rem;
	height: 100%;
}
.ttl--cmn1 .ttl--cmn1-bg1,
.shape--rough-rounded .shape--rough-rounded-bg1{
	left: 0;
}
.ttl--cmn1 .ttl--cmn1-bg2,
.shape--rough-rounded .shape--rough-rounded-bg2{
	right: 0;
}
.ttl--cmn1 .ttl--cmn1-bg1:before,
.ttl--cmn1 .ttl--cmn1-bg2:before,
.ttl--cmn1 .ttl--cmn1-bg1:after,
.ttl--cmn1 .ttl--cmn1-bg2:after,
.shape--rough-rounded .shape--rough-rounded-bg1:before,
.shape--rough-rounded .shape--rough-rounded-bg2:before,
.shape--rough-rounded .shape--rough-rounded-bg1:after,
.shape--rough-rounded .shape--rough-rounded-bg2:after{
	display: block;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-size: 100% auto;
	-webkit-mask-size: 100% auto;
	transition: background .3s ease;
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	width: 6rem;
	height: 3rem;
	background-repeat: no-repeat;
	background-size: 6rem 3rem;
}
.ttl--cmn1 .ttl--cmn1-bg1:before,
.shape--rough-rounded .shape--rough-rounded-bg1:before{
	mask-image: url(../img/common/shape-rough-rounded-bg1.svg);
	-webkit-mask-image: url(../img/common/shape-rough-rounded-bg1.svg);
	mask-position: right bottom;
	-webkit-mask-position: right bottom;
	left: 0;
}
.ttl--cmn1 .ttl--cmn1-bg1:after,
.shape--rough-rounded .shape--rough-rounded-bg1:after{
	mask-image: url(../img/common/shape-rough-rounded-bg4.svg);
	-webkit-mask-image: url(../img/common/shape-rough-rounded-bg4.svg);
	mask-position: right top;
	-webkit-mask-position: right top;
	left: 0;
}
.ttl--cmn1 .ttl--cmn1-bg2:before,
.shape--rough-rounded .shape--rough-rounded-bg2:before{
	mask-image: url(../img/common/shape-rough-rounded-bg2.svg);
	-webkit-mask-image: url(../img/common/shape-rough-rounded-bg2.svg);
	mask-position: left bottom;
	-webkit-mask-position: left bottom;
	right: 0;
}
.ttl--cmn1 .ttl--cmn1-bg2:after,
.shape--rough-rounded .shape--rough-rounded-bg2:after{
	mask-image: url(../img/common/shape-rough-rounded-bg3.svg);
	-webkit-mask-image: url(../img/common/shape-rough-rounded-bg3.svg);
	mask-position: left top;
	-webkit-mask-position: left top;
	right: 0;
}
.ttl--cmn1{
	padding: 1.5rem 3rem;
	margin-bottom: 3rem;
	background: linear-gradient(to right, transparent 0%, transparent 5.9rem, #003C80 5.9rem, #003C80 calc(100% - 5.9rem), transparent calc(100% - 5.9rem), transparent 100%);
}
.ttl--cmn1 .ttl--cmn1-txt{
	color: #fff;
	font-size: 2rem;
}
.ttl--cmn1 .ttl--cmn1-bg1,
.ttl--cmn1 .ttl--cmn1-bg2{
	background: linear-gradient(to bottom, transparent 0%, transparent 3rem, #003C80 3rem, #003C80 calc(100% - 3rem), transparent calc(100% - 3rem), transparent 100%);
	top: 0;
	height: 100%;
}
.ttl--cmn1 .ttl--cmn1-bg1:before,
.ttl--cmn1 .ttl--cmn1-bg2:before,
.ttl--cmn1 .ttl--cmn1-bg1:after,
.ttl--cmn1 .ttl--cmn1-bg2:after{
	background: #003C80;
}
.ttl--cmn1 .ttl--cmn1-bg1:before,
.ttl--cmn1 .ttl--cmn1-bg2:before{
	top: 0;
}
.ttl--cmn1 .ttl--cmn1-bg1:after,
.ttl--cmn1 .ttl--cmn1-bg2:after{
	bottom: 0;
}
.shape--rough-rounded{
	background: linear-gradient(to right, transparent 0%, transparent 6rem, #fff 6rem, #fff calc(100% - 6rem), transparent calc(100% - 6rem), transparent 100%);
}
a.shape--rough-rounded{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 6.8rem;
	transition: background .3s ease;
}
.shape--rough-rounded:before{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	height: 100%;
	width: calc(100% - 6rem * 2);
	top: 0;
	left: 6rem;
	background-color: #fff;
	transition: background .3s ease;
}
.shape--rough-rounded .shape--rough-rounded-txt{
	color: #003c80;
	font-size: 1.6rem;
}
.shape--rough-rounded .shape--rough-rounded-bg1,
.shape--rough-rounded .shape--rough-rounded-bg2{
	top: 3rem;
	height: calc(100% - 3rem * 2);
	background-color: #fff;
	transition: background .3s ease;
}
.shape--rough-rounded .shape--rough-rounded-bg1:before,
.shape--rough-rounded .shape--rough-rounded-bg2:before,
.shape--rough-rounded .shape--rough-rounded-bg1:after,
.shape--rough-rounded .shape--rough-rounded-bg2:after{
	background: #fff;
}
.shape--rough-rounded .shape--rough-rounded-bg1:before,
.shape--rough-rounded .shape--rough-rounded-bg2:before{
	top: -3rem;
}
.shape--rough-rounded .shape--rough-rounded-bg1:after,
.shape--rough-rounded .shape--rough-rounded-bg2:after{
	bottom: -3rem;
}

.shape--rough-rounded.bg--blue:before,
.shape--rough-rounded.bg--blue .shape--rough-rounded-bg1,
.shape--rough-rounded.bg--blue .shape--rough-rounded-bg2,
.shape--rough-rounded.bg--blue .shape--rough-rounded-bg1:before,
.shape--rough-rounded.bg--blue .shape--rough-rounded-bg2:before,
.shape--rough-rounded.bg--blue .shape--rough-rounded-bg1:after,
.shape--rough-rounded.bg--blue .shape--rough-rounded-bg2:after{
	background-color: #003c80;
}

@media print,screen and (min-width: 600px) {
	a.shape--rough-rounded.hover--bg-blue:hover:before,
	a:hover .shape--rough-rounded.hover--bg-blue:before,
	a.shape--rough-rounded.hover--bg-blue:hover .shape--rough-rounded-bg1,
	a.shape--rough-rounded.hover--bg-blue:hover .shape--rough-rounded-bg2,
	a.shape--rough-rounded.hover--bg-blue:hover .shape--rough-rounded-bg1:before,
	a.shape--rough-rounded.hover--bg-blue:hover .shape--rough-rounded-bg2:before,
	a.shape--rough-rounded.hover--bg-blue:hover .shape--rough-rounded-bg1:after,
	a.shape--rough-rounded.hover--bg-blue:hover .shape--rough-rounded-bg2:after,
	a:hover .shape--rough-rounded.hover--bg-blue .shape--rough-rounded-bg1,
	a:hover .shape--rough-rounded.hover--bg-blue .shape--rough-rounded-bg2,
	a:hover .shape--rough-rounded.hover--bg-blue .shape--rough-rounded-bg1:before,
	a:hover .shape--rough-rounded.hover--bg-blue .shape--rough-rounded-bg2:before,
	a:hover .shape--rough-rounded.hover--bg-blue .shape--rough-rounded-bg1:after,
	a:hover .shape--rough-rounded.hover--bg-blue .shape--rough-rounded-bg2:after{
		background: #003C80;
	}
	a.shape--rough-rounded.hover--bg-yellow:hover:before,
	a:hover .shape--rough-rounded.hover--bg-yellow:before,
	a.shape--rough-rounded.hover--bg-yellow:hover .shape--rough-rounded-bg1,
	a.shape--rough-rounded.hover--bg-yellow:hover .shape--rough-rounded-bg2,
	a.shape--rough-rounded.hover--bg-yellow:hover .shape--rough-rounded-bg1:before,
	a.shape--rough-rounded.hover--bg-yellow:hover .shape--rough-rounded-bg2:before,
	a.shape--rough-rounded.hover--bg-yellow:hover .shape--rough-rounded-bg1:after,
	a.shape--rough-rounded.hover--bg-yellow:hover .shape--rough-rounded-bg2:after,
	a:hover .shape--rough-rounded.hover--bg-yellow .shape--rough-rounded-bg1,
	a:hover .shape--rough-rounded.hover--bg-yellow .shape--rough-rounded-bg2,
	a:hover .shape--rough-rounded.hover--bg-yellow .shape--rough-rounded-bg1:before,
	a:hover .shape--rough-rounded.hover--bg-yellow .shape--rough-rounded-bg2:before,
	a:hover .shape--rough-rounded.hover--bg-yellow .shape--rough-rounded-bg1:after,
	a:hover .shape--rough-rounded.hover--bg-yellow .shape--rough-rounded-bg2:after{
		background: #FEFE24;
	}
}

.ttl--deco1{
	text-align: center;
}
.ttl--deco1 .ttl--deco1-inner{
	display: inline-block;
	position: relative;
	padding-left: 4.8rem;
	padding-right: 4.7rem;
	padding-top: 2rem;
}
.ttl--deco1 .ttl--deco1-left,
.ttl--deco1 .ttl--deco1-right,
.ttl--deco1 .ttl--deco1-center{
	position: absolute;
	pointer-events: none;
}
.ttl--deco1 .ttl--deco1-left{
	mask-image: url(../img/common/shape-ttl-deco1-left.svg);
	-webkit-mask-image: url(../img/common/shape-ttl-deco1-left.svg);
	width: 4.2rem;
	height: 4.3rem;
	left: 0;
	top: 0.7rem;
}
.ttl--deco1 .ttl--deco1-right{
	mask-image: url(../img/common/shape-ttl-deco1-right.svg);
	-webkit-mask-image: url(../img/common/shape-ttl-deco1-right.svg);
	width: 4.5rem;
	height: 4rem;
	right: 0;
	top: 1rem;
}
.ttl--deco1 .ttl--deco1-center{
	mask-image: url(../img/common/icon-seabird.svg);
	-webkit-mask-image: url(../img/common/icon-seabird.svg);
	width: 4.3rem;
	height: 0.9rem;
	top: 0;
	left: calc((100% - 4.3rem) / 2);
}
.ttl--deco1 .ttl--deco1-ttl{
	font-size: 4rem;
	line-height: 1.075;
}

@media only screen and (max-width: 599px) {
	.ttl--deco1.sp--2line .ttl--deco1-inner{
		padding-left: 5.8rem;
		padding-right: 5.7rem;
	}
	.ttl--deco1.sp--2line .ttl--deco1-left{
		top: 2.7rem;
	}
	.ttl--deco1.sp--2line .ttl--deco1-right{
		top: 3rem;
	}
}

@media print,screen and (min-width: 600px) {
	.ttl--cmn1,
	.shape--rough-rounded{
		font-size: 3.6rem;
		line-height: 1.77;
	}
	.ttl--cmn1{
		margin-bottom: 4.5rem;
	}

	.ttl--deco1 .ttl--deco1-inner{
		padding-left: 5.3rem;
		padding-right: 5.7rem;
		padding-top: 3.2rem;
	}
	.ttl--deco1 .ttl--deco1-left{
		width: 5.3rem;
		height: 5.4rem;
		top: 0.8rem;
	}
	.ttl--deco1 .ttl--deco1-right{
		width: 5.7rem;
		height: 5rem;
		top: 1.2rem;
	}
	.ttl--deco1 .ttl--deco1-center{
		width: 5.5rem;
		height: 1.2rem;
		left: calc((100% - 5.5rem) / 2);
	}
	.ttl--deco1 .ttl--deco1-ttl{
		font-size: 4.6rem;
	}
}

/*====================================
header
====================================*/
/* hamburger-btn
--------------------------------------*/
.hamburger-btn{
	box-sizing: border-box;
	cursor: pointer;
	position: fixed;
	z-index: 1001;
	width: 5rem;
	height: 5rem;
	top: 2rem;
	right: 2rem;
}
.hamburger-btn-bg{
	mask-image: url(../img/common/hamburger-btn-bg.svg);
	-webkit-mask-image: url(../img/common/hamburger-btn-bg.svg);
	width: 100%;
	height: 100%;
	background-color: #003C80;
	transition: transform 0.35s ease;
}
.hamburger-btn-inner{
	display: block;
	position: absolute;
	width: 2rem;
	height: 1.6rem;
	top: 1.7rem;
	right: 1.4rem;
	transition: transform 0.35s ease;
	z-index: 2;
}
.hamburger-btn span{
	position: absolute;
	top: 0;
	right: 0;
	width: 2rem;
	height: 1px;
	background-color: #fff;
	transition: transform 0.35s ease, opacity 0.35s ease, background .3s ease;
}
.hamburger-btn span:nth-child(2){
	top: 0.8rem;
}
.hamburger-btn span:last-child{
	top: 1.6rem;
}

.hamburger-btn.is--open .hamburger-btn-bg{
	background-color: #fff;
}
.hamburger-btn.is--open .hamburger-btn-inner{
	transform: rotate(360deg);
}
.hamburger-btn.is--open .hamburger-btn-bg{
	transform: rotate(-180deg);
}
.hamburger-btn.is--open span{
	background-color: #003C80;
}
.hamburger-btn.is--open span:first-child,
.hamburger-btn.is--open span:last-child{
	top: 50%;
}
.hamburger-btn.is--open span:first-child{
	transform: rotate(-45deg);
}
.hamburger-btn.is--open span:nth-child(2){
	opacity: 0;
}
.hamburger-btn.is--open span:last-child{
	transform: rotate(45deg);
}

/* hamburger menu
--------------------------------------*/
#hamburger-menu{
	z-index:1000;
	position: fixed;
	box-sizing: border-box;
	width: 30rem;
	height: 100vh;
	top: 0;
	right: -30rem;
	transition: transform 0.35s ease;
}
#hamburger-menu.is--open{
	transform: translateX(-30rem);
}
#hamburger-menu .menu-inner{
	box-sizing: border-box;
	overflow-y: scroll;
	position: relative;
	width: 100%;
	height: 100%;
	padding: 10rem 3rem;
}
#hamburger-menu .hamburger-btn-block{
	padding-bottom: 1rem;
}
#hamburger-menu .hamburger-btn-block .btn{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 6rem;
	width: 100%;
	border-radius: 1rem;
}
#hamburger-menu .hamburger-btn-block .btn .icon{
	width: 2.2rem;
	height: 2rem;
	margin-right: 1rem;
}
#hamburger-menu .hamburger-nav-block .nav-item:not(:last-child){
	background-image: linear-gradient(to right, #fff, #fff 0.1rem, transparent 0.1rem, transparent 0.7rem);
	background-size: 0.7rem 1px;
	background-position: left bottom;
	background-repeat: repeat-x;
}
#hamburger-menu .hamburger-nav-block .nav-item-inner{
	box-sizing: border-box;
	min-height: 8.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#hamburger-menu .hamburger-nav-block .nav-item .box-icon{
	box-sizing: border-box;
	width: 9.1rem;
	padding-right: 1.5rem;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
#hamburger-menu .hamburger-nav-block .nav-item .box-txt{
	flex: 1;
}
#hamburger-menu .hamburger-nav-block .nav-item .icon--shop{
	width: 1.8rem;
	height: 1.7rem;
}
#hamburger-menu .hamburger-nav-block .nav-item .icon--fish{
	width: 2.2rem;
	height: 1.7rem;
}
#hamburger-menu .hamburger-nav-block .nav-item .icon--megaphone{
	width: 2rem;
	height: 1.7rem;
}
#hamburger-menu .hamburger-nav-block .nav-item .icon--map-pin{
	width: 1.6rem;
	height: 1.9rem;
}

/* hamburger-layer */
#hamburger-layer{
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	z-index:999;
	pointer-events: none;
	opacity: 0;
	transition: opacity .3s ease;
}
#hamburger-layer.is--open{
	pointer-events: auto;
	opacity: 1;
}

/* header
--------------------------------------*/
header{
	box-sizing: border-box;
	position: absolute;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
}
.header-logo-container{
	position: absolute;
	top: 0;
	left: 0;
}
.header-logo-container .header-logo{
	width: 16.4rem;
	height: 14.5rem;
	overflow: hidden;
	display: block;
}
.header-logo-container .header-logo-logo,
.header-logo-container .header-logo-txt,
.header-logo-container .header-logo-bg{
	position: absolute;
}
.header-logo-container .header-logo-logo{
	top: 1.5rem;
	left: 1.5rem;
	width: 11.6rem;
	z-index: 2;
}
.header-logo-container .header-logo-txt{
	left: 1.1rem;
	top: 8.5rem;
	font-size: 1.1rem;
	line-height: 1.45;
	z-index: 2;
}
.header-logo-container .header-logo-bg{
	bottom: 0;
	right: 0;
	width: 19.9rem;
}

@media print,screen and (min-width: 600px) {
	header{
		position: fixed;
		top: 0;
		left: 0;
	}
	.header-logo-container .header-logo{
		display: block;
		width: 21.9rem;
		height: 19.4rem;
	}
	.header-logo-container .header-logo-logo{
		top: 3rem;
		left: 3rem;
		width: 13.4rem;
	}
	.header-logo-container .header-logo-txt{
		left: 3.5rem;
		top: 11.4rem;
	}
	.header-logo-container .header-logo-bg{
		width: 26.652rem;
	}
	.header-nav-container{
		position: absolute;
		top: 4rem;
		right: 4rem;
	}
	.header-nav-container .gnav{
		display: flex;
	}
	.header-nav-container .gnav .nav-item{
		width: 12rem;
		height: 12rem;
	}
	.header-nav-container .gnav .nav-item:not(:last-child){
		margin-right: 1rem;
	}
	.header-nav-container .gnav .nav-item-inner{
		display: block;
		position: relative;
		width: 100%;
		height: 100%;
		box-sizing: border-box;
	}
	.header-nav-container .gnav .nav-item1 .nav-item-inner,
	.header-nav-container .gnav .nav-item2 .nav-item-inner,
	.header-nav-container .gnav .nav-item3 .nav-item-inner{
		background: url(../img/common/gnav-item-bg.jpg) no-repeat center center;
		background-size: cover;
	}
	.header-nav-container .gnav .nav-item1 .nav-item-inner{
		mask-image: url(../img/common/gnav-item-shape1.svg);
		-webkit-mask-image: url(../img/common/gnav-item-shape1.svg);
	}
	.header-nav-container .gnav .nav-item2 .nav-item-inner{
		mask-image: url(../img/common/gnav-item-shape2.svg);
		-webkit-mask-image: url(../img/common/gnav-item-shape2.svg);
	}
	.header-nav-container .gnav .nav-item3 .nav-item-inner{
		mask-image: url(../img/common/gnav-item-shape3.svg);
		-webkit-mask-image: url(../img/common/gnav-item-shape3.svg);
	}
	.header-nav-container .gnav .nav-item4 .nav-item-inner{
		mask-image: url(../img/common/gnav-item-shape4.svg);
		-webkit-mask-image: url(../img/common/gnav-item-shape4.svg);
	}
	.header-nav-container .gnav .nav-item .hover-bg{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		pointer-events: none;
		transition: opacity .3s ease;
	}
	.header-nav-container .gnav .nav-item .nav-item-inner:hover .hover-bg{
		opacity: 1;
	}
	.header-nav-container .gnav .nav-item .box-icon,
	.header-nav-container .gnav .nav-item .box-txt{
		position: relative;
		z-index: 2;
		width: 100%;
	}
	.header-nav-container .gnav .nav-item .box-icon{
		box-sizing: border-box;
		height: 5.7rem;
		padding-bottom: 0.87rem;
		display: flex;
		justify-content: center;
		align-items: flex-end;
	}
	.header-nav-container .gnav .nav-item .icon--shop{
		width: 1.8rem;
		height: 1.716rem;
	}
	.header-nav-container .gnav .nav-item .icon--fish{
		width: 2.2rem;
		height: 1.742rem;
	}
	.header-nav-container .gnav .nav-item .icon--megaphone{
		width: 2rem;
		height: 1.656rem;
	}
	.header-nav-container .gnav .nav-item .icon--cart{
		width: 2.185rem;
		height: 2.023rem;
		margin-bottom: 0.1rem;
	}
	.header-nav-container .gnav .nav-item .box-txt{
		font-size: 1.4rem;
		line-height: 1.28;
		min-height: calc(1.28em * 2);
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.header-nav-container .gnav .nav-item5 .icon-wrap{
		width: 1.999rem;
		height: 2.367rem;
		margin: 0 auto;
		position: relative;
	}
	.header-nav-container .gnav .nav-item5 .icon-bg{
		position: absolute;
		width: 1rem;
		height: 1rem;
		left: calc((100% - 1rem) / 2);
		top: 0.5rem;
	}
	.header-nav-container .gnav .nav-item5 .icon{
		position: relative;
		z-index: 2;
		width: 100%;
		height: 100%;
	}
}

/*===============================
footer
===============================*/
footer{
	padding-bottom: 44rem;
	background:
		url(../img/common/footer-bottom-bg-sp.png) no-repeat center bottom,
		url(../img/common/footer-top-bg-sp.jpg) no-repeat center top 50rem;
	background-size: 100%;
}

/* float-bnr-container
--------------------------------------*/
.float-bnr-container{
	position: fixed;
	bottom: 0;
	z-index: 100;
}
.float-bnr-container .btn{
	width: 8rem;
	height: 8rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.float-bnr-container .btn .txt{
	font-size: 1.2rem;
	line-height: 1.16;
}
.float-bnr-container .btn-to-access .icon-wrap{
	width: 1.2rem;
	height: 1.4rem;
	margin: 0 auto 0.7rem auto;
	position: relative;
}
.float-bnr-container .btn-to-access .icon-bg{
	position: absolute;
	width: 0.7rem;
	height: 0.7rem;
	left: calc((100% - 0.7rem) / 2);
	top: 0.1rem;
}
.float-bnr-container .btn-to-access .icon{
	position: relative;
	z-index: 2;
	width: 100%;
	height: 100%;
}
.float-bnr-container .btn-to-top .icon{
	width: 1.4rem;
	height: 1.4rem;
	margin: 0 auto 0.3rem auto;
	transform: rotate(-90deg);
}

.js--float-bnr{
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s ease;
}
.js--float-bnr.is--scroll{
	opacity: 1;
	pointer-events: auto;
}

@media only screen and (max-width: 599px) {
	.float-bnr-container{
		width: 100%;
		left: 0;
	}
	.float-bnr-container .container-inner{
		padding-bottom: 1.5rem;
		width: 33.5rem;
		margin-left: auto;
		margin-right: auto;
		display: flex;
		justify-content: space-between;
	}
}

@media print,screen and (min-width: 600px) {
	.float-bnr-container{
		right: 4rem;
		bottom: 8rem;
	}
}

/* onlineshop
--------------------------------------*/
.footer-sec-onlineshop{
	padding-top: 4.8rem;
	padding-bottom: 12.4rem;
	overflow: hidden;
}
.footer-sec-onlineshop .container-onlineshop{
	box-sizing: border-box;
	position: relative;
	min-height: 52.6rem;
	padding-top: 9.1rem;
}
.footer-sec-onlineshop .container-onlineshop .bg,
.footer-sec-onlineshop .container-onlineshop .deco{
	position: absolute;
	pointer-events: none;
}
.footer-sec-onlineshop .container-onlineshop .bg{
	width: 52.6rem;
	height: 52.6rem;
	top: 0;
	left: calc((100% - 52.6rem) / 2);
}
.footer-sec-onlineshop .container-onlineshop .wave{
	width: 44rem;
	right: -11.9rem;
	bottom: -6.7rem;
}
.footer-sec-onlineshop .container-onlineshop .deco1{
	width: 17.4rem;
}
.footer-sec-onlineshop .container-onlineshop .deco2{
	width: 17.5rem;
	transform: rotate(-25deg);
	transform-origin: center center;
}
.footer-sec-onlineshop .container-onlineshop .deco3{
	width: 12rem;
	transform: rotate(-9deg);
	transform-origin: center center;
}
.footer-sec-onlineshop .container-onlineshop .container-inner{
	position: relative;
	z-index: 2;
}
.footer-sec-onlineshop .container-onlineshop .block-ttl{
	margin-bottom: 3rem;
}
.footer-sec-onlineshop .container-onlineshop .block-txt{
	position: relative;
	line-height: 2;
}
.footer-sec-onlineshop .container-onlineshop .block-txt .box-arrow{
	position: absolute;
	width: 5.2rem;
	height: 5.2rem;
	right: 0;
	top: calc((100% - 5.2rem) / 2);
}
.footer-sec-onlineshop .container-onlineshop .block-txt .box-arrow .btn{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.footer-sec-onlineshop .container-onlineshop .block-txt .box-arrow .arrow{
	width: 1.555rem;
	height: 1.552rem;
}
.footer-sec-onlineshop .container-onlineshop .block-btn{
	margin-top: 3rem;
}
.footer-sec-onlineshop .container-onlineshop .block-btn .icon{
	width: 2.4rem;
	height: 2.2rem;
	margin-right: 1rem;
	position: relative;
	z-index: 2;
}

@media only screen and (max-width: 599px) {
	.footer-sec-onlineshop .container-onlineshop .deco1{
		bottom: -12.4rem;
		left: 0;
	}
	.footer-sec-onlineshop .container-onlineshop .deco2{
		right: 0.4rem;
		top: -4.2rem;
	}
	.footer-sec-onlineshop .container-onlineshop .deco3{
		left: 2.7rem;
		top: -4.8rem;
	}
	.footer-sec-onlineshop .container-onlineshop .block-txt{
		padding-right: 6.2rem;
	}
}

@media print,screen and (min-width: 600px) {
	footer{
		padding-bottom: 62.1rem;
		background-image:
			url(../img/common/footer-bottom-bg-pc.png),
			url(../img/common/footer-top-bg-pc.jpg);
		background-position: center bottom, center top 39.5rem;
		background-size: 144rem auto, 200rem auto;
	}
	.footer-sec-onlineshop{
		background: url(../img/common/footer-onlineshop-bg-pc.png) no-repeat center top;
		background-position: top center;
		background-size: 200rem auto;
		margin-top: -21.4rem;
		padding-top: 5.8rem;
		padding-bottom: 9.1rem;
	}
	.footer-sec-onlineshop .container-onlineshop{
		width: 68.27rem;
		min-height: 68.27rem;
		margin: 0 auto;
		padding-top: 21.3rem;
	}
	.footer-sec-onlineshop .container-onlineshop .bg{
		width: 68.27rem;
		height: 68.27rem;
		left: calc((100% - 68.27rem) / 2);
	}
	.footer-sec-onlineshop .container-onlineshop .wave{
		width: 59.1rem;
		right: -7.23rem;
		bottom: -9.13rem;
	}
	.footer-sec-onlineshop .container-onlineshop .deco1{
		width: 21.641rem;
		top: -1rem;
		right: -1.83rem;
	}
	.footer-sec-onlineshop .container-onlineshop .deco2{
		width: 24.693rem;
		left: -6.32rem;
		bottom: 9rem;
	}
	.footer-sec-onlineshop .container-onlineshop .deco3{
		transform: rotate(-11deg);
		width: 18.414rem;
		bottom: -1rem;
		left: 4.62rem;
	}
	.footer-sec-onlineshop .container-onlineshop .container-inner{
		width: 100%;
		margin: 0;
	}
	.footer-sec-onlineshop .container-onlineshop .block-ttl{
		margin-bottom: 4rem;
	}
	.footer-sec-onlineshop .container-onlineshop .block-ttl .block-inner{
		padding-left: 5.3rem;
		padding-right: 5.7rem;
		padding-top: 3.2rem;
	}
	.footer-sec-onlineshop .container-onlineshop .block-ttl .ttl-deco-left{
		width: 5.3rem;
		top: 0.8rem;
	}
	.footer-sec-onlineshop .container-onlineshop .block-ttl .ttl-deco-right{
		width: 5.7rem;
		top: 1.2rem;
	}
	.footer-sec-onlineshop .container-onlineshop .block-ttl .ttl-deco-center{
		width: 5.5rem;
		left: calc((100% - 5.5rem) / 2);
	}
	.footer-sec-onlineshop .container-onlineshop .block-ttl .ttl{
		font-size: 4.6rem;
	}
	.footer-sec-onlineshop .container-onlineshop .block-txt .box-arrow{
		width: 10rem;
		height: 10rem;
		top: calc((100% - 10rem) / 2);
		right: -5rem;
	}
	.footer-sec-onlineshop .container-onlineshop .block-txt .box-arrow .arrow{
		width: 2.8rem;
		height: 2.6rem;
	}
	.footer-sec-onlineshop .container-onlineshop .block-btn{
		margin-top: 6rem;
	}
	.footer-sec-onlineshop .container-onlineshop .block-btn .btn{
		width: 33.8rem;
		margin-left: auto;
		margin-right: auto;
	}
}

/* sns
--------------------------------------*/
.footer-sec-sns{
	padding-top: 8.3rem;
}
.footer-sec-sns .container-sns{
	box-sizing: border-box;
	position: relative;
	border-radius: 2rem;
	padding: 8rem 2.5rem 3rem 2.5rem;
}
.footer-sec-sns .container-sns .block-ttl{
	position: absolute;
	left: 0;
	top: -6rem;
	display: flex;
	align-items: flex-start;
}
.footer-sec-sns .container-sns .block-ttl .box-sub-ttl{
	order: 2;
	background: url(../img/common/sns-bg-cream-fabric.jpg) no-repeat center center;
	background-size: cover;
	font-size: 1.8rem;
	margin-left: 0.6rem;
	padding: 1.1rem 0.4rem;
}
.footer-sec-sns .container-sns .block-ttl .box-ttl{
	font-size: 2.8rem;
	padding: 1rem 0.4rem;
}
.footer-sec-sns .container-sns .block-sns{
	display: flex;
	align-items: center;
}
.footer-sec-sns .container-sns .block-sns .sns-item{
	width: 6rem;
	height: 6rem;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.footer-sec-sns .container-sns .block-sns .sns-item:not(:last-child){
	margin-right: 2rem;
}
.footer-sec-sns .container-sns .block-sns .icon--facebook{
	mask-image: url(../img/common/icon-facebook.svg);
	-webkit-mask-image: url(../img/common/icon-facebook.svg);
	width: 1.4rem;
	height: 2.585rem;
}
.footer-sec-sns .container-sns .block-sns .icon--instagram{
	mask-image: url(../img/common/icon-instagram.svg);
	-webkit-mask-image: url(../img/common/icon-instagram.svg);
	width: 2.399rem;
	height: 2.399rem;
}
.footer-sec-sns .container-sns .block-sns .icon--twitter-x{
	mask-image: url(../img/common/icon-twitter-x.svg);
	-webkit-mask-image: url(../img/common/icon-twitter-x.svg);
	width: 2.399rem;
	height: 2.399rem;
}

@media only screen and (max-width: 599px) {
	.footer-sec-onlineshop .container-onlineshop .block-txt{
		padding-right: 6.2rem;
	}

	.footer-sec-sns .container-sns .block-ttl{
		width: 100%;
		justify-content: center;
	}
	.footer-sec-sns .container-sns .block-sns{
		margin-top: 3rem;
		justify-content: center;
	}
}

@media print,screen and (min-width: 600px) {
	.footer-sec-sns{
		padding-top: 6.6rem;
	}
	.footer-sec-sns .container-sns{
		width: 112rem;
		padding: 5rem 5rem 5rem 16rem;
		display: flex;
	}
	.footer-sec-sns .container-sns .block-ttl{
		top: -2.1rem;
		left: 4rem;
	}
	.footer-sec-sns .container-sns .block-sns{
		margin-left: 6rem;
	}
	.footer-sec-sns .container-sns .block-sns .sns-item:not(:last-child){
		margin-right: 1rem;
	}
}

/* logo
--------------------------------------*/
.footer-sec-logo{
	padding-top: 8rem;
}
.footer-sec-logo .footer-logo{
	width: 16.9rem;
	display: block;
}
.footer-sec-logo .footer-logo-txt{
	font-size: 1.1rem;
	line-height: 1.45;
	margin-top: 1rem;
}
.footer-sec-logo .copyright{
	font-size: 1.2rem;
	color: #aaa;
}

@media only screen and (max-width: 599px) {
	.footer-sec-logo .footer-logo{
		margin: 0 auto;
	}
	.footer-sec-logo .block-copyright{
		margin-top: 6rem;
	}
	.footer-sec-logo .block-copyright .box-copyright{
		text-align: center;
	}
}

@media print,screen and (min-width: 600px) {
	.footer-sec-logo{
		padding-top: 6.7rem;
	}
	.footer-sec-logo .container-logo{
		display: flex;
		justify-content: space-between;
	}
	.footer-sec-logo .block-logo{
		order: 2;
	}
	.footer-sec-logo .footer-logo{
		width: 22.8rem;
	}
	.footer-sec-logo .block-copyright{
		order: 1;
		padding-top: 3.7rem;
	}
	.footer-sec-logo .footer-nav .nav-list{
		display: flex;
	}
	.footer-sec-logo .footer-nav .nav-item:not(:last-child){
		margin-right: 3rem;
	}
	.footer-sec-logo .footer-nav .nav-item-txt{
		display: inline-block;
		position: relative;
		padding-left: 1.2rem;
	}
	.footer-sec-logo .footer-nav .nav-item-txt:before{
		content: '';
		display: block;
		position: absolute;
		pointer-events: none;
		left: 0;
		top: calc((1.5em - 0.7rem) / 2);
		width: 0.6rem;
		height: 0.7rem;
		background-color: #231815;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
	}
	.footer-sec-logo .block-copyright .box-copyright{
		margin-top: 4rem;
	}
}

/*====================================
top
====================================*/
body.page--top{
	background-color: #fff;
}
body.page--top footer{
	background-image:
		url(../img/common/footer-bottom-bg-sp.png),
		url(../img/common/footer-top-bg-white-grad-sp.jpg);
}

@media print,screen and (min-width: 600px) {
	body.page--top footer{
		background-image:
			url(../img/common/footer-bottom-bg-pc.png),
			url(../img/common/footer-top-bg-white-grad-pc.jpg);
		background-size: 200rem auto;
	}
}

/* top
--------------------------------------*/
#top .sec-main{
	box-sizing: border-box;
	background: url(../img/top/main-bg-sp.jpg) no-repeat center top;
	background-size: 100% auto;
	position: relative;
	height: 63.1rem;
}
#top .sec-main .sec-ttl{
	width: 33.7rem;
	transform: rotate(-2deg);
}
#top .sec-main .block-catch{
	font-size: 2.2rem;
	line-height: 1.9;
}

@media only screen and (max-width: 599px) {
	#top .sec-main{
		padding-top: 20.6rem;
	}
	#top .sec-main .sec-ttl{
		margin-left: auto;
		margin-right: auto;
	}
	#top .sec-main .block-catch{
		text-align: center;
		margin-top: 1.1rem;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-main{
		background-image: url(../img/top/main-bg-pc.jpg);
		background-size: 200rem auto;
		min-height: 76.2rem;
	}
	#top .sec-main .sec-ttl{
		position: absolute;
		left: calc((100% - 124rem) / 2 + 7.9rem);
		top: 34.8rem;
		width: 55.498rem;
	}
	#top .sec-main .block-catch{
		position: absolute;
		left: calc((100% - 124rem) / 2 + 68.5rem);
		top: 43.9rem;
	}
	#top .sec-main .main-deco.deco1{
		position: absolute;
		width: 15.7rem;
		right: calc((100% - 124rem) / 2 + 7rem);
		bottom: 12.6rem;
	}
}

/* news
--------------------------------------*/
#top .sec-news-wrap{
	margin-top: -14.3rem;
	background: url(../img/top/news-bg-sp.png) no-repeat center top;
	background-size: 100% auto;
	position: relative;
	z-index: 2;
}
#top .sec-news-wrap .main-deco{
	position: absolute;
	pointer-events: none;
}
#top .sec-news-wrap .main-deco.deco1{
	width: 10.3rem;
	left: 3.4rem;
	top: 6.1rem;
}
#top .sec-news-wrap .main-deco.deco2{
	width: 11.3rem;
	left: 12.4rem;
	top: 0.4rem;
	animation: swing 2s infinite;
	transform-origin: bottom center;
}
#top .sec-news-wrap .main-deco.deco3{
	width: 16.7rem;
	right: 0.6rem;
	top: 10.3rem;
	animation: swing 2s infinite;
	animation-delay: 1s;
	transform-origin: bottom center;
}
#top .sec-news-wrap .btn-to-access{
	position: absolute;
	top: 0.4rem;
	right: 2rem;
	width: 12rem;
	height: 12rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#top .sec-news-wrap .btn-to-access .icon-wrap{
	width: 1.999rem;
	height: 2.367rem;
	margin: 0 auto 0.65rem auto;
	position: relative;
}
#top .sec-news-wrap .btn-to-access .icon-bg{
	position: absolute;
	width: 1rem;
	height: 1rem;
	left: calc((100% - 1rem) / 2);
	top: 0.5rem;
}
#top .sec-news-wrap .btn-to-access .icon{
	position: relative;
	z-index: 2;
	width: 100%;
	height: 100%;
}
#top .sec-news-wrap .btn-to-access .txt{
	font-size: 1.4rem;
	line-height: 1.14;
}

#top .sec-news{
	position: relative;
	padding-top: 22rem;
}
#top .sec-news .block-news{
	box-sizing: border-box;
	padding: 2.5rem 1rem 2.5rem 2.5rem;
	border-radius: 2rem;
}
#top .sec-news .block-news .box-ttl{
	display: flex;
	align-items: center;
	margin-bottom: 2rem;
}
#top .sec-news .block-news .box-ttl .icon{
	width: 2.6rem;
	height: 2.152rem;
	margin-right: 1.4rem;
}
#top .sec-news .block-news .box-ttl .ttl{
	font-size: 2.4rem;
}
#top .sec-news .block-news .scorll-area{
	overflow-y: scroll;
	height: 33.5rem;
	padding-right: 3rem;
}
#top .sec-news .block-news .scorll-area::-webkit-scrollbar{
	width: 1rem;
}
#top .sec-news .block-news .scorll-area::-webkit-scrollbar-track{
	background-color: #F5F5F5;
	border-radius: 0.5rem;
}
#top .sec-news .block-news .scorll-area::-webkit-scrollbar-thumb{
	background-color: #003C80;
	border-radius: 0.5rem;
}
#top .sec-news .block-news .article-card:not(:last-child){
	padding-bottom: 2rem;
	background-image: linear-gradient(to right, #231815, #231815 0.1rem, transparent 0.1rem, transparent 0.7rem);
	background-size: 0.7rem 1px;
	background-position: left bottom;
	background-repeat: repeat-x;
}
#top .sec-news .block-news .article-card:not(:first-child){
	padding-top: 2rem;
}
#top .sec-news .block-news .article-ttl{
	margin-top: 1rem;
	margin-bottom: 1rem;
}
#top .sec-news .block-sns{
	box-sizing: border-box;
	padding: 2rem 1.8rem;
	border-radius: 2rem;
}
#top .sec-news .block-sns iframe{
	width: 100% !important;
	height: 40rem;
}

@keyframes swing {
	50% {
		transform: rotate3d(0, 0, 1, 15deg);
	}
	60% {
		transform: rotate3d(0, 0, 1, -10deg);
	}
	70% {
		transform: rotate3d(0, 0, 1, 5deg);
	}
	80% {
		transform: rotate3d(0, 0, 1, -5deg);
	}
	to {
		transform: rotate3d(0, 0, 1, 0deg);
	}
}

@media only screen and (max-width: 599px) {
	#top .sec-news-wrap{
		overflow: hidden;
	}

	#top .sec-news .block-sns{
		margin-top: 2rem;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-news-wrap{
		margin-top: -15.6rem;
		background-image: url(../img/top/news-bg-pc.png);
		background-size: 200rem auto;
	}
	#top .sec-news-wrap .main-deco.deco2{
		width: 17rem;
		top: -0.852rem;
		left: calc((100% - 124rem) / 2 + 4.23rem);
	}
	#top .sec-news-wrap .main-deco.deco3{
		width: 26.8rem;
		top: -1rem;
		right: calc((100% - 124rem) / 2 + 5rem);
	}
	#top .sec-news-wrap .btn-to-access{
		top: -6.32rem;
		right: calc((100% - 124rem) / 2 - 6rem);
	}

	#top .sec-news{
		padding-top: 23rem;
	}
	#top .sec-news .container-news{
		display: flex;
		justify-content: space-between;
	}
	#top .sec-news .block-news{
		width: 86rem;
		padding: 5rem 1rem 4rem 4rem;
	}
	#top .sec-news .block-news .scorll-area{
		padding-right: 5rem;
	}
	#top .sec-news .block-sns{
		width: 34rem;
	}
	#top .sec-news .block-news .article-card:not(:last-child){
		padding-bottom: 3rem;
	}
	#top .sec-news .block-news .article-card:not(:first-child){
		padding-top: 3rem;
	}
	#top .sec-news .block-sns{
		padding: 2rem;
	}
}

/* isomaru
--------------------------------------*/
#top .sec-isomaru{
	padding-top: 6rem;
	padding-bottom: 14.6rem;
	overflow: hidden;
	position: relative;
}
#top .sec-isomaru .container-ttl .block-ttl{
	position: relative;
}
#top .sec-isomaru .container-ttl .block-ttl .line{
	font-size: 3rem;
}
#top .sec-isomaru .container-ttl .block-ttl .line1 .line{
	padding: 0.2rem 5.1rem 0.2rem 2.3rem;
}
#top .sec-isomaru .container-ttl .block-ttl .line2 .line{
	padding: 0.2rem 5.3rem 0.2rem 2.5rem;
	margin-top: 0.8rem;
	position: relative;
}
#top .sec-isomaru .container-ttl .block-ttl .line2 .ttl-deco{
	position: absolute;
	pointer-events: none;
	width: 13.4rem;
	bottom: -11.6rem;
	left: -4.2rem;
}
#top .sec-isomaru .container-ttl .block-txt{
	font-size: 1.8rem;
	line-height: 2.11;
}
#top .sec-isomaru .container-ttl .block-txt p:not(:last-child){
	margin-bottom: 2.11em;
}
#top .sec-isomaru .container-img{
	width: 48.8rem;
	position: relative;
	pointer-events: none;
}
#top .sec-isomaru .container-img .img2{
	position: absolute;
	width: 11rem;
	top: 12.5rem;
	left: 7rem;
	animation: mochimochi 1s infinite;
}
#top .sec-isomaru .container-img .img3{
	position: absolute;
	width: 10.185rem;
	transform: rotate(-11deg);
	top: 16.61rem;
	left: 13.05rem;
}
#top .sec-isomaru .container-img .el-shine{
	position: absolute;
	bottom: 8.94rem;
	left: 7.69rem;
	width: 19.93rem;
	height: 10.466rem;
	mask-image: url(../img/top/isomaru-shape-tai.svg);
	-webkit-mask-image: url(../img/top/isomaru-shape-tai.svg);
	background: transparent;
}
#top .sec-isomaru .container-img .el-shine:before{
	content: '';
	display: block;
	position: absolute;
	pointer-events: none;
	top: 18rem;
	left: 0;
	width: 3rem;
	height: 100%;
	background-color: rgba(255, 255, 255, .75);
	animation: kiran 3s ease-in-out infinite;
}
#top .sec-isomaru .container-loop{
	display: flex;
	width: 100vw;
	overflow: hidden;
	height: 10rem;
	position: absolute;
	bottom: 2.5rem;
	left: 0;
}
#top .sec-isomaru .container-loop .loop-item{
	display: flex;
}
#top .sec-isomaru .container-loop .loop-item:first-child{
	animation: top-isomaru-infinity-left-loop 60s -30s linear infinite;
}
#top .sec-isomaru .container-loop .loop-item:last-child{
	animation: top-isomaru-infinity-left-loop2 60s linear infinite;
}
#top .sec-isomaru .container-loop .loop-item .txt{
	font-size: 10rem;
	margin-right: 5rem;
}

@keyframes mochimochi {
	0% {
		transform: scale(1, 0.8);
	}
	20% {
		transform: scale(0.8, 1.1);
	}
	90% {
		transform: scale(1, 1);
	}
	100% {
		transform: scale(1, 0.8);
	}
}

@keyframes kiran {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { transform: scale(4) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}

@keyframes top-isomaru-infinity-left-loop {
	from {
		transform: translateX(100%);
	}
	to {
		transform: translateX(-100%);
	}
}
@keyframes top-isomaru-infinity-left-loop2 {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-200%);
	}
}

@media only screen and (max-width: 599px) {
	#top .sec-isomaru .container-ttl .block-ttl{
		margin-bottom: 13.6rem;
	}
	#top .sec-isomaru .container-ttl .block-ttl .line{
		display: inline-block;
	}
	#top .sec-isomaru .container-ttl .block-ttl .line2{
		text-align: right;
	}
	#top .sec-isomaru .container-img{
		margin-top: 3rem;
		margin-left: 1rem;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-isomaru{
		padding-top: 12.8rem;
		padding-bottom: 7.45rem;
	}
	#top .sec-isomaru .container-ttl{
		display: flex;
		min-height: 73.6rem;
	}
	#top .sec-isomaru .container-ttl .block-ttl{
			display: flex;
		align-items: flex-start;
		flex-direction: row-reverse;
		padding-left: 11.05rem;
		margin-right: 6.05rem;
	}
	#top .sec-isomaru .container-ttl .block-ttl .line-wrap .line{
		font-size: 3.6rem;
		padding: 2.4rem 0.2rem;
		writing-mode: vertical-rl;
		text-orientation: upright;
		letter-spacing: 0.11em;
		min-width: 1em;
	}
	#top .sec-isomaru .container-ttl .block-ttl .line2 .line{
		margin-right: 1rem;
		margin-top: 6rem;
	}
	#top .sec-isomaru .container-ttl .block-ttl .line2 .ttl-deco{
		width: 24.8rem;
		bottom: -15.6rem;
		left: -13.9rem;
	}
	#top .sec-isomaru .container-ttl .block-txt{
		padding-top: 10rem;
	}
	#top .sec-isomaru .container-img{
		width: 90.646rem;
		position: absolute;
		top: 1.51rem;
		right: calc((100% - 124rem) / 2 - 31.71rem);
	}
	#top .sec-isomaru .container-img .img2{
		width: 20.6rem;
		top: 23.19rem;
		left: 12.93rem;
	}
	#top .sec-isomaru .container-img .img3{
		width: 18.9rem;
		top: 30.85rem;
		left: 24.2rem;
	}
	#top .sec-isomaru .container-img .el-shine{
		width: 36.962rem;
		height: 19.411rem;
		left: 14.21rem;
		bottom: 16.54rem;
	}
	#top .sec-isomaru .container-loop{
		height: 14.5rem;
		bottom: 4.5rem;
	}
	#top .sec-isomaru .container-loop .loop-item:first-child{
		animation: top-isomaru-infinity-left-loop 80s -40s linear infinite;
	}
	#top .sec-isomaru .container-loop .loop-item:last-child{
		animation: top-isomaru-infinity-left-loop2 80s linear infinite;
	}
	#top .sec-isomaru .container-loop .loop-item .txt{
		font-size: 15rem;
		margin-right: 10rem;
	}
}

/* omiyage
--------------------------------------*/
#top .sec-omiyage{
	border-radius: 5rem 5rem 0 0;
	padding-top: 6rem;
	overflow: hidden;
}
#top .sec-omiyage .container-omiyage{
	box-sizing: border-box;
	position: relative;
	z-index: 2;
	border-radius: 2rem;
}
#top .sec-omiyage .container-omiyage:not(:last-child){
	margin-bottom: 7.6rem;
}
#top .sec-omiyage .container-ttl{
	margin-bottom: 8.1rem;
}
#top .sec-omiyage .block1,
#top .sec-omiyage .block2,
#top .sec-omiyage .block3{
	position: relative;
	z-index: 2;
}
#top .sec-omiyage .deco{
	position: absolute;
	pointer-events: none;
}
#top .sec-omiyage .item-num-baloon{
	position: absolute;
	z-index: 5;
	transform: rotate(-15deg);
	width: 9rem;
}
#top .sec-omiyage .item-num-baloon .txt{
	position: absolute;
	width: 100%;
	left: 0;
	top: 1.3rem;
	font-size: 3.3rem;
}
#top .sec-omiyage .container1 .block1 .box-txt .item-ttl,
#top .sec-omiyage .container2 .block1 .box-txt .item-ttl{
	font-size: 2.2rem;
	line-height: 1.54;
	margin-bottom: 2rem;
}
#top .sec-omiyage .item-baloon{
	position: absolute;
}
#top .sec-omiyage .item-baloon .txt{
	position: absolute;
	font-size: 1.4rem;
	width: 100%;
}

#top .sec-omiyage .container1 .block1{
	padding-bottom: 3.6rem;
}
#top .sec-omiyage .container1 .block1 .box-txt{
	position: relative;
	width: calc(100% - 2.5rem * 2);
}
#top .sec-omiyage .container1 .block1 .deco3{
	width: 3.9rem;
	transform: rotate(-26deg);
	bottom: -6rem;
}
#top .sec-omiyage .container1 .block1-1{
	margin-top: 0.5rem;
	margin-bottom: 2rem;
	position: relative;
	padding-bottom: 27.1rem;
	overflow: hidden;
	width: 100vw;
	margin-left: calc((100vw - 100%) / 2 * -1);
}
#top .sec-omiyage .container1 .block1 .deco1{
	width: 6.2rem;
	height: 2rem;
	transform: rotate(-9deg);
}
#top .sec-omiyage .container1 .block1-1 .deco1{
	bottom: 6.6rem;
	left: 1.1rem;
}
#top .sec-omiyage .container1 .block1-1 .deco2{
	width: 3.9rem;
	transform: rotate(-26deg);
	bottom: 17rem;
	right: 12.2rem;
	z-index: 3;
}
#top .sec-omiyage .container1 .block1-1 .deco3{
	width: 5.7rem;
	transform: rotate(-9deg);
	left: 9.3rem;
	bottom: 3.4rem;
}
#top .sec-omiyage .container1 .block1 .img1{
	position: absolute;
	width: 22rem;
}
#top .sec-omiyage .container1 .block1-1 .img1{
	bottom: 0;
	right: -2.2rem;
}
#top .sec-omiyage .container1 .block1 .img3{
	position: relative;
	padding-top: 6rem;
}
#top .sec-omiyage .container1 .block1 .img3 > img{
	width: 40.2rem;
	position: relative;
	left: calc((40.2rem - 100vw) / 2 * -1);
}
#top .sec-omiyage .container1 .block1 .img3 .item-baloon{
	width: 16.986rem;
	transform: rotate(18deg);
	top: 0;
	right: -1.9rem;
}
#top .sec-omiyage .container1 .block1 .img3 .item-baloon .txt{
	transform: rotate(-9deg);
	line-height: 1.42;
	top: 4rem;
	left: 0.5rem;
}
#top .sec-omiyage .container1 .img4{
	position: absolute;
	z-index: 2;
	width: 17.4rem;
}
#top .sec-omiyage .container1 .img4 > img{
	animation: pikopiko 1s steps(2, start) infinite;
}
#top .sec-omiyage .container1 .img4 .item-baloon{
	position: absolute;
	transform: rotate(-5deg);
}
#top .sec-omiyage .container1 .img4 .item-baloon .txt{
	left: 0.2rem;
	top: 3.3rem;
}
#top .sec-omiyage .container1 .block1 .img4{
	bottom: 13rem;
	left: 1.7rem;
}
#top .sec-omiyage .container1 .block1 .img4 .item-baloon{
	width: 13.6rem;
	right: -15.5rem;
	bottom: 7rem;
}
#top .sec-omiyage .container1 .block2 .deco1{
	width: 7.6rem;
	transform: rotate(10deg);
	left: 6.9rem;
	top: 3.5rem;
}
#top .sec-omiyage .container1 .block2 .img2{
	width: 28rem;
	position: relative;
	z-index: 2;
}
#top .sec-omiyage .container1 .block3{
	padding-bottom: 1.6rem;
	z-index: 3;
}
#top .sec-omiyage .container1 .block3 .deco4{
	transform: rotate(-34deg);
	width: 3.9rem;
	left: 12.5rem;
	bottom: 2.3rem;
}
#top .sec-omiyage .container1 .block3 .deco6{
	width: 7.6rem;
	bottom: 0;
	z-index: 3;
}

#top .sec-omiyage .container2 .block1{
	padding: 4rem 2.5rem 22.3rem 2.5rem;
}
#top .sec-omiyage .container2 .block1 .deco1{
	width: 6.2rem;
	height: 2rem;
	transform: rotate(32deg);
	top: -1.51rem;
}
#top .sec-omiyage .container2 .block1-1{
	margin-top: 3rem;
	position: relative;
	overflow: hidden;
	width: 100vw;
	margin-left: calc((100vw - 100%) / 2 * -1);
	padding-bottom: 3rem;
}
#top .sec-omiyage .container2 .block1-1 .img1 > img{
	width: 47.8rem;
	position: relative;
	left: calc((47.8rem - 100vw) / 2 * -1);
}
#top .sec-omiyage .container2 .block1-1 .deco5{
	width: 5.8rem;
	bottom: 0;
	right: 3.8rem;
	transform: rotate(-15deg);
}
#top .sec-omiyage .container2 .block1 .box-txt{
	position: relative;
}
#top .sec-omiyage .container2 .block2 .deco1{
	transform: rotate(-12deg);
	width: 8.5rem;
	bottom: 0.8rem;
	left: -0.4rem;
}
#top .sec-omiyage .container2 .block2 .img2{
	position: absolute;
	width: 23.9rem;
	top: -19.4rem;
	right: 0rem;
}
#top .sec-omiyage .container2 .block2 .img2-1{
	position: relative;
	z-index: 2;
	animation: kougo-hyoji 1s infinite;
}
#top .sec-omiyage .container2 .block2 .img2-2{
	animation: kougo-hyoji 1s infinite;
	animation-delay: 0.5s;
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
}
#top .sec-omiyage .container2 .block2 .img2 .item-baloon2{
	width: 15.3rem;
	transform: rotate(-10deg);
	top: 1rem;
	left: -12.5rem;
}
#top .sec-omiyage .container2 .block2 .img2 .item-baloon2 .txt{
	transform: rotate(5deg);
	width: 100%;
	right: -0.3rem;
	top: 2.5rem;
}
#top .sec-omiyage .container2 .block3{
	padding-bottom: 6rem;
}
#top .sec-omiyage .container2 .block3 .deco5{
	width: 5rem;
	transform: rotate(-28deg);
	bottom: 2.4rem;
}
#top .sec-omiyage .container2 .block3 .deco6{
	width: 7.4rem;
	transform: rotate(7deg);
	right: 1rem;
	bottom: 31rem;
}
#top .sec-omiyage .container2 .block3 .deco7{
	width: 4.8rem;
	bottom: 0;
	right: calc((100% - 4.8rem) / 2);
}
#top .sec-omiyage .container2 .block3 .deco8{
	transform: rotate(-18deg);
	width: 2.5rem;
	bottom: 32.1rem;
	left: 2.1rem;
}
#top .sec-omiyage .container2 .block3 .img3{
	width: 36.4rem;
	position: relative;
}
#top .sec-omiyage .container2 .block3 .img3 .item-baloon1{
	width: 16.7rem;
	transform: rotate(16deg);
	top: 2.2rem;
	right: -6.5rem;
}
#top .sec-omiyage .container2 .block3 .img3 .item-baloon1 .txt{
	transform: rotate(-6deg);
	font-size: 1.3rem;
	right: -0.2rem;
	top: 3.9rem;
}
#top .sec-omiyage .container2 .block3 .img4{
	width: 35.9rem;
	position: relative;
}
#top .sec-omiyage .container2 .block3 .img4 .item-baloon{
	width: 13.4rem;
	transform: rotate(-5deg);
	top: -1.8rem;
	left: 7.1rem;
}
#top .sec-omiyage .container2 .block3 .img4 .item-baloon .txt{
	transform: rotate(5deg);
	line-height: 1.35;
	right: 0;
	top: 2.2rem;
}

@keyframes pikopiko {
  0% {
    transform: rotate(10deg);
  }
  to {
    transform: rotate(-10deg);
  }
}

@keyframes kougo-hyoji {
	0% {
		opacity: 0;
	}
	49.9%{
		opacity: 0;
	}
	50%{
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}

@media only screen and (max-width: 599px) {
	#top .sec-omiyage .container1 .item-num-baloon{
		top: -6rem;
		left: 0.7rem;
	}
	#top .sec-omiyage .container1 .block1 .box-txt{
		padding-top: 2.5rem;
		margin-left: auto;
		margin-right: auto;
	}
	#top .sec-omiyage .container1 .block2{
		width: 100vw;
		margin-left: calc((100vw - 100%) / 2 * -1);
		overflow: hidden;
	}
	#top .sec-omiyage .container1 .block2 .img2{
		margin-left: auto;
		margin-right: -4.3rem;
	}
	#top .sec-omiyage .container1 .block3 .deco6{
		left: 1.6rem;
	}

	#top .sec-omiyage .container2 .item-num-baloon{
		left: 2.7rem;
		top: -3.5rem;
	}
	#top .sec-omiyage .container2 .block1 .deco1{
		right: 3rem;
	}
	#top .sec-omiyage .container2 .block1 .deco2{
		bottom: 17.75rem;
	}
	#top .sec-omiyage .container2 .block2 .img1{
		width: 100vw;
		margin-left: calc((100vw - 100%) / 2 * -1);
		overflow: hidden;
	}
	#top .sec-omiyage .container2 .block2 .img1{
		position: relative;
		z-index: 3;
	}
	#top .sec-omiyage .container2 .block2 .img1 img{
		width: 72.5rem;
		position: relative;
		left: calc((72.5rem - 100vw) / 2 * -1);
	}
	#top .sec-omiyage .container2 .block3 .deco5{
		left: 1.3rem;
	}
	#top .sec-omiyage .container2 .block3 .img3{
		left: -7.7rem;
	}
	#top .sec-omiyage .container2 .block3 .img4{
		margin-top: 5.3rem;
		margin-left: -1.1rem;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-omiyage{
		width: calc(100% - 2rem * 2);
		padding-top: 11rem;
		margin-left: auto;
		margin-right: auto;
	}
	#top .sec-omiyage .container-ttl{
		margin-bottom: 3.5rem;
	}
	#top .sec-omiyage .item-num-baloon{
		width: 11.3rem;
		top: -1.6rem;
		left: 4rem;
	}
	#top .sec-omiyage .item-num-baloon .txt{
		font-size: 4.2rem;
	}

	#top .sec-omiyage .container1 .block1{
		padding: 6rem 10rem 4.2rem 10rem;
		z-index: 3;
	}
	#top .sec-omiyage .container1 .block1 .img1{
		width: 44rem;
		top: 5rem;
		left: 9rem;
	}
	#top .sec-omiyage .container1 .block1 .box-txt{
		width: 54rem;
		padding-top: 5rem;
		margin-left: auto;
		margin-right: 0;
	}
	#top .sec-omiyage .container1 .block1 .deco1{
		top: -1.5rem;
		left: -4.32rem;
	}
	#top .sec-omiyage .container1 .block1 .deco2{
		width: 12.1rem;
		transform: rotate(10deg);
		top: -1.1rem;
		right: -3.35rem;
	}
	#top .sec-omiyage .container1 .block1 .deco3{
		bottom: -6.3rem;
		right: 0.5rem;
	}
	#top .sec-omiyage .container1 .block2 .img2{
		position: absolute;
		right: 8.1rem;
		top: 5.84rem;
	}
	#top .sec-omiyage .container1 .block2 .img2 .item-baloon{
		position: absolute;
		transform: rotate(18deg);
		width: 17rem;
		top: -1.9rem;
		right: -0.6rem;
	}
	#top .sec-omiyage .container1 .block2 .img2 .item-baloon .txt{
		transform: rotate(-9deg);
		line-height: 1.42;
		top: 3.8rem;
		left: 0.8rem;
	}
	#top .sec-omiyage .container1 .block2 .img3{
		width: 80rem;
		margin: 0 auto;
	}
	#top .sec-omiyage .container1 .block3{
		padding-bottom: 8rem;
	}
	#top .sec-omiyage .container1 .block3 .img4{
		width: 39.2rem;
		left: 4.4rem;
		bottom: 0;
	}
	#top .sec-omiyage .container1 .block3 .img4 .item-baloon{
		transform: rotate(-5deg);
		width: 14.7rem;
		top: -9.7rem;
		left: -1.79rem;
	}
	#top .sec-omiyage .container1 .block3 .img4 .item-baloon .txt{
		font-size: 1.6rem;
	}
	#top .sec-omiyage .container1 .block3 .deco4{
		left: 4rem;
		bottom: 33.5rem;
	}
	#top .sec-omiyage .container1 .block3 .deco5{
		transform: rotate(-9deg);
		width: 7.246rem;
		bottom: 2.9rem;
		right: 12.3rem;
	}
	#top .sec-omiyage .container1 .block3 .deco6{
		right: 2.39rem;
	}

	#top .sec-omiyage .container2 .block1{
		padding: 10rem 6.65rem 18.5rem 6.65rem;
	}
	#top .sec-omiyage .container2 .block1 .deco1{
		top: 3.42rem;
		left: 25.61rem;
	}
	#top .sec-omiyage .container2 .block1 .deco2{
		transform: rotate(-15deg);
		width: 5.856rem;
		top: 5.07rem;
		right: 26.63rem;
	}
	#top .sec-omiyage .container2 .block1 .deco3{
		width: 8.5rem;
		transform: rotate(-12deg);
		bottom: 12.23rem;
		left: 20.23rem;
	}
	#top .sec-omiyage .container2 .block1 .deco4{
		width: 2.5rem;
		transform: rotate(-18deg);
		left: 26.24rem;
		bottom: 8.14rem;
	}
	#top .sec-omiyage .container2 .block1 .box-txt .item-ttl{
		margin-bottom: 2.9rem;
	}
	#top .sec-omiyage .container2 .block1 .box-txt .item-txt{
		width: 27.4rem;
	}
	#top .sec-omiyage .container2 .block2{
		position: absolute;
		pointer-events: none;
		width: 72.506rem;
		top: 16.45rem;
		right: 15.32rem;
	}
	#top .sec-omiyage .container2 .block2 .img2{
		position: absolute;
		right: -18.22rem;
		top: 0;
		width: 36.9rem;
	}
	#top .sec-omiyage .container2 .block2 .img2 .item-baloon1{
		transform: rotate(3deg);
		width: 19.646rem;
		top: -6.82rem;
		right: 6.51rem;
	}
	#top .sec-omiyage .container2 .block2 .img2 .item-baloon1 .txt{
		transform: rotate(-3deg);
		right: -0.2rem;
		top: 4.4rem;
	}
	#top .sec-omiyage .container2 .block3{
		margin-top: -0.694rem;
		padding: 0 0 7.1rem 8rem;
	}
	#top .sec-omiyage .container2 .block3 .deco5{
		right: 56.52rem;
		bottom: 22.8rem;
	}
	#top .sec-omiyage .container2 .block3 .deco6{
		width: 7.379rem;
		right: 53.35rem;
		bottom: 9.78rem;
	}
	#top .sec-omiyage .container2 .block3 .deco7{
		width: 4.866rem;
		right: 62rem;
	}
	#top .sec-omiyage .container2 .block3 .img3{
		width: 50.921rem;
	}
	#top .sec-omiyage .container2 .block3 .img3 .item-baloon{
		width: 18.303rem;
		transform: rotate(-7deg);
		top: -12.8rem;
		left: -5.8rem;
	}
	#top .sec-omiyage .container2 .block3 .img3 .item-baloon .txt{
		top: 3rem;
		right: 0;
		font-size: 1.6rem;
		line-height: 1.5;
	}
	#top .sec-omiyage .container2 .block3 .img4{
		position: absolute;
		width: 49.8rem;
		right: 4.59rem;
		bottom: 0.46rem;
	}
	#top .sec-omiyage .container2 .block3 .img4 .item-baloon{
		top: -2.1rem;
		left: 12.35rem;
		width: 14.9rem;
	}
	#top .sec-omiyage .container2 .block3 .img4 .item-baloon .txt{
		font-size: 1.7rem;
		line-height: 1.4;
		transform: rotate(4deg);
		top: 2.2rem;
	}
}

/* promotion
--------------------------------------*/
#top .sec-promotion{
	position: relative;
	overflow: hidden;
	background: linear-gradient(to bottom, transparent 0%, transparent 6.1rem, #003C80 6.1rem, #003C80 calc(100% - 4.9rem), transparent calc(100% - 4.9rem), transparent 100%);
	padding-top: 12.3rem;
	padding-bottom: 21rem;
	margin-top: -8rem;
}
#top .sec-promotion .bg{
	position: absolute;
	pointer-events: none;
	left: 0;
}
#top .sec-promotion .bg-top{
	top: 0;
}
#top .sec-promotion .bg-bottom{
	bottom: 0;
}
#top .sec-promotion .deco{
	position: absolute;
	pointer-events: none;
}
#top .sec-promotion .deco1{
	width: 6.3rem;
	height: 1.4rem;
	transform: rotate(-11deg);
	left: 2rem;
}
#top .sec-promotion .deco2{
	width: 7.7rem;
	transform: rotate(7deg);
	right: 2.1rem;
	top: 33.5rem;
}
#top .sec-promotion .deco3{
	width: 8.2rem;
	transform: rotate(16deg);
	bottom: 5.7rem;
	right: 7.3rem;
}
#top .sec-promotion .deco4{
	width: 4rem;
	transform: rotate(12deg);
	right: 3.5rem;
	bottom: 9.4rem;
}
#top .sec-promotion .block-ttl-wrap{
	display: flex;
}
#top .sec-promotion .block-ttl{
	position: relative;
	width: 19.2rem;
	min-height: 23.4rem;
}
#top .sec-promotion .block-ttl .wave{
	position: absolute;
	transform: rotate(4deg);
	width: 33.5rem;
	left: -13.3rem;
}
#top .sec-promotion .block-ttl .signboard{
	position: relative;
	z-index: 2;
}
#top .sec-promotion .block-ttl .ttl{
	font-size: 2.8rem;
	line-height: 1.21;
	position: absolute;
	z-index: 3;
	top: 7.8rem;
	left: 0;
	width: 100%;
}
#top .sec-promotion .block-txt{
	flex: 1;
	padding-top: 2.4rem;
}
#top .sec-promotion .block-txt .box-ttl{
	font-size: 2.2rem;
	line-height: 1.54;
	margin-bottom: 3.5rem;
}
#top .sec-promotion .block-img .box-img{
	position: relative;
}
#top .sec-promotion .block-img .item-img{
	mask-image: url(../img/top/promotion-img-shape.svg);
	-webkit-mask-image: url(../img/top/promotion-img-shape.svg);
	width: 100%;
	height: 25.8rem;
}
#top .sec-promotion .block-img .item-catch{
	position: absolute;
	left: 0;
	top: 23rem;
}
#top .sec-promotion .block-img .item-catch .line:not(:first-child){
	margin-top: 0.6rem;
}
#top .sec-promotion .block-img .item-catch span{
	display: inline-block;
	background: url(../img/top/promotion-bg-cream-fabric.jpg) no-repeat center center;
	background-size: cover;
	font-size: 2.4rem;
	padding: 0.6rem 2rem;
}

@media only screen and (max-width: 599px) {
	#top .sec-promotion .deco1{
		bottom: 11.4rem;
	}
	#top .sec-promotion .block-ttl .wave{
		top: 9.7rem;
	}
	#top .sec-promotion .block-ttl .signboard{
		position: absolute;
		width: 22rem;
		right: -0.8rem;
		top: 0;
	}
	#top .sec-promotion .block-img{
		margin-top: 2rem;
	}
	#top .sec-promotion .block-img .item-catch .line{
		text-align: center;
	}
	#top .sec-promotion .block-img .item-catch .line:nth-child(1){
		padding-right: 1.5rem;
	}
	#top .sec-promotion .block-img .item-catch .line:nth-child(2){
		padding-left: 4.1rem;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-promotion{
		background: linear-gradient(to bottom, transparent 0%, transparent 22rem, #003C80 22rem, #003C80 calc(100% - 27.2rem), transparent calc(100% - 27.2rem), transparent 100%);
		padding-top: 33.5rem;
		padding-bottom: 27.8rem;
		margin-top: -25.9rem;
	}
	#top .sec-promotion .bg{
		width: 200rem;
		left: calc((100% - 200rem) / 2);
	}
	#top .sec-promotion .container-promotion{
		display: flex;
	}
	#top .sec-promotion .deco1{
		width: 6.317rem;
		height: 1.378rem;
		top: 30.98rem;
		left: calc((100% - 124rem) / 2 + 33.1rem);
	}
	#top .sec-promotion .deco2{
		width: 7.753rem;
		top: 27.9rem;
		right: calc((100% - 124rem) / 2 - 3.7rem);
	}
	#top .sec-promotion .deco3{
		width: 8.232rem;
		bottom: 18.2rem;
		right: calc((100% - 124rem) / 2 + 35.4rem);
	}
	#top .sec-promotion .deco4{
		width: 4.039rem;
		bottom: 16.82rem;
		right: calc((100% - 124rem) / 2 + 30.2rem);
	}
	#top .sec-promotion .block-ttl-wrap{
		flex: 1;
	}
	#top .sec-promotion .block-ttl{
		width: 32.85rem;
	}
	#top .sec-promotion .block-ttl .wave{
		width: 48.6rem;
		bottom: -13.1rem;
		left: -15.3rem;
	}
	#top .sec-promotion .block-ttl .ttl{
		font-size: 3.6rem;
		line-height: 1.36;
		top: 12.1rem;
	}
	#top .sec-promotion .block-txt{
		padding-left: 6rem;
		padding-top: 8rem;
	}
	#top .sec-promotion .block-txt .box-ttl,
	#top .sec-promotion .block-txt .box-txt{
		width: 44rem;
	}
	#top .sec-promotion .block-img{
		width: 36rem;
		padding-top: 6rem;
	}
	#top .sec-promotion .block-img .item-img{
		height: 27.771rem;
	}
	#top .sec-promotion .block-img .item-catch{
		left: -2rem;
		top: 23.9rem;
	}
	#top .sec-promotion .block-img .item-catch .line:nth-child(2){
		margin-left: 4rem;
	}
}

/* pickup
--------------------------------------*/
#top .sec-pickup-wrap{
	background: url(../img/top/pickup-bg-sp.jpg) no-repeat center top;
	background-size: 100% auto;
	margin-top: -9.1rem;
}
#top .sec-pickup{
	padding-top: 14.3rem;
}
#top .sec-pickup .container-ttl{
	margin-bottom: 2rem;
}
#top .sec-pickup .article-card{
	box-sizing: border-box;
	border-radius: 2rem;
	padding: 2.5rem;
}
#top .sec-pickup .article-img{
	border-radius: 1.6rem;
}
#top .sec-pickup .article-ttl{
	padding-top: 1.5rem;
	padding-bottom: 1rem;
	font-size: 2.4rem;
	line-height: 1.5;
	margin-bottom: 1.5rem;
	background-image: linear-gradient(to right, #231815, #231815 0.1rem, transparent 0.1rem, transparent 0.7rem);
	background-size: 0.7rem 1px;
	background-position: left bottom;
	background-repeat: repeat-x;
}
#top .sec-pickup .container-btn{
	margin-top: 2rem;
}

@media only screen and (max-width: 599px) {
	#top .sec-pickup .article-card:not(:last-child){
		margin-bottom: 2rem;
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-pickup-wrap{
		background-image: url(../img/top/pickup-bg-pc.jpg);
		background-size: 200rem auto;
		margin-top: -27.3rem;
	}
	#top .sec-pickup{
		padding-top: 20rem;
	}
	#top .sec-pickup .container-ttl{
		margin-bottom: 4rem;
	}
	#top .sec-pickup .container-pickup{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	#top .sec-pickup .article-card{
		width: calc((100% - 4rem) / 2);
		padding: 4rem 4rem 5rem 4rem;
	}
	#top .sec-pickup .article-card:nth-child(n+3){
		margin-top: 4rem;
	}
	#top .sec-pickup .article-ttl{
		padding-top: 3rem;
		margin-bottom: 3rem;
	}
	#top .sec-pickup .article-txt{
		padding: 0 2rem;
	}
	#top .sec-pickup .container-btn{
		margin-top: 4rem;
	}
	#top .sec-pickup .container-btn .btn{
		width: 33.758rem;
		margin: 0 auto;
	}
}

/* shipping
--------------------------------------*/
#top .sec-shipping{
	padding-top: 2rem;
}
#top .sec-shipping .container-shipping{
	box-sizing: border-box;
	position: relative;
	border-radius: 2rem;
	overflow: hidden;
	background: #EEEBE9;
}
#top .sec-shipping .container-shipping .block-txt{
	padding: 3rem 3rem 1.5rem 3rem;
}
#top .sec-shipping .container-shipping .box-ttl{
	margin-bottom: 2rem;
}
#top .sec-shipping .container-shipping .box-ttl .item-sub-ttl{
	position: relative;
	display: inline-block;
	font-size: 1.4rem;
	margin-bottom: 1rem;
	padding-top: 1.18rem;
}
#top .sec-shipping .container-shipping .box-ttl .item-sub-ttl .deco{
	position: absolute;
	width: 2.25rem;
	right: -1.68rem;
	top: 0;
}
#top .sec-shipping .container-shipping .box-ttl .item-ttl .ttl{
	font-size: 2.4rem;
	padding: 0.6rem 0 0.6rem 0.6rem;
}
#top .sec-shipping .container-shipping .box-note{
	margin-top: 1rem;
	font-size: 1.4rem;
	line-height: 1.71;
}

@media only screen and (max-width: 599px) {
}

@media print,screen and (min-width: 600px) {
	#top .sec-shipping{
		padding-top: 4rem;
	}
	#top .sec-shipping .container-shipping .block-txt{
		padding: 4.9rem 0 8rem 8rem;
	}
	#top .sec-shipping .container-shipping .box-ttl{
		margin-bottom: 3rem;
	}
	#top .sec-shipping .container-shipping .box-ttl .item-ttl .ttl{
		display: inline-block;
	}
	#top .sec-shipping .container-shipping .box-txt,
	#top .sec-shipping .container-shipping .box-note{
		width: 56.7rem;
	}
	#top .sec-shipping .container-shipping .box-ttl .item-ttl .ttl{
		padding: 0.6rem 1.4rem 0.6rem 2rem;
	}
	#top .sec-shipping .container-shipping .box-note{
		margin-top: 2rem;
	}
	#top .sec-shipping .container-shipping .img1,
	#top .sec-shipping .container-shipping .img2{
		position: absolute;
		pointer-events: none;
	}
	#top .sec-shipping .container-shipping .img1{
		width: 48.809rem;
		right: 0;
		top: 0;
	}
	#top .sec-shipping .container-shipping .img2{
		width: 36.7rem;
		bottom: 0;
		right: 30.3rem;
	}
}

/* access
--------------------------------------*/
#top .sec-access{
	padding-top: 6rem;
	padding-bottom: 3.8rem;
}
#top .sec-access .container-ttl{
	margin-bottom: 3.3rem;
}
#top .sec-access .container-access .block-ttl .box-sub-ttl .box-inner{
	display: inline-block;
	background: url(../img/top/access-bg-cream-fabric.jpg) no-repeat center center;
	background-size: cover;
	font-size: 1.8rem;
	padding: 0.4rem 1.6rem ;
}
#top .sec-access .container-access .block-ttl .box-ttl .box-inner{
	display: inline-block;
	font-size: 2.8rem;
	padding: 0.4rem 3.2rem 0.4rem 1.6rem;
}
#top .sec-access .container-access .block-txt table{
	box-sizing: border-box;
	width: 100%;
}
#top .sec-access .container-access .block-txt th,
#top .sec-access .container-access .block-txt td{
	box-sizing: border-box;
}
#top .sec-access .container-access .block-txt th{
	padding-top: 2rem;
	padding-bottom: 1rem;
}
#top .sec-access .container-access .block-txt td{
	padding-bottom: 2rem;
	background-image: linear-gradient(to right, #231815, #231815 0.1rem, transparent 0.1rem, transparent 0.7rem);
	background-size: 0.7rem 1px;
	background-position: left bottom;
	background-repeat: repeat-x;
}
#top .sec-access .container-access .block-map{
	position: relative;
	padding-bottom: 6rem;
}
#top .sec-access .container-access .btn-to-link{
	position: absolute;
	bottom: 0;
	left: calc((100% - 12rem) / 2);
	width: 12rem;
	height: 12rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#top .sec-access .container-access .btn-to-link .icon-wrap{
	width: 1.999rem;
	height: 2.367rem;
	margin: 0 auto 0.65rem auto;
	position: relative;
}
#top .sec-access .container-access .btn-to-link .icon-bg{
	position: absolute;
	width: 1rem;
	height: 1rem;
	left: calc((100% - 1rem) / 2);
	top: 0.5rem;
}
#top .sec-access .container-access .btn-to-link .icon{
	position: relative;
	z-index: 2;
	width: 100%;
	height: 100%;
}
#top .sec-access .container-access .btn-to-link .txt{
	font-size: 1.4rem;
	line-height: 1.14;
}

@media only screen and (max-width: 599px) {
	#top .sec-access .container-access .block-ttl{
		margin: 0 auto 3rem auto;
		width: calc(100% - 1.7rem * 2);
	}
	#top .sec-access .container-access .block-ttl .box-sub-ttl{
		margin-bottom: 0.8rem;
	}
	#top .sec-access .container-access .block-txt th,
	#top .sec-access .container-access .block-txt td{
		display: block;
	}
	#top .sec-access .container-access .block-map{
		margin-top: 3rem;
	}
	#top .sec-access .container-access .block-map .box-map{
		width: 100vw;
		margin-left: calc((100vw - 100%) / 2 * -1);
	}
}

@media print,screen and (min-width: 600px) {
	#top .sec-access{
		padding-top: 10rem;
		padding-bottom: 19.5rem;
	}
	#top .sec-access .container-ttl{
		margin-bottom: 2rem;
	}
	#top .sec-access .container-access{
		display: flex;
		align-items: flex-start;
	}
	#top .sec-access .container-access .block-ttl{
		display: flex;
		align-items: flex-start;
		order: 3;
		margin-left: 7.2rem;
	}
	#top .sec-access .container-access .block-ttl .box-sub-ttl{
		order: 2;
	}
	#top .sec-access .container-access .block-ttl .box-sub-ttl .box-inner{
		margin-left: 0.6rem;
		padding: 1.1rem 0.4rem;
	}
	#top .sec-access .container-access .block-ttl .box-ttl .box-inner{
		padding: 1rem 0.4rem;
	}
	#top .sec-access .container-access .block-ttl .box-inner{
		writing-mode: vertical-rl;
		text-orientation: upright;
		letter-spacing: 0.11em;
		min-width: 1em;
	}
	#top .sec-access .container-access .block-txt{
		order: 2;
		flex: 1;
		padding-top: 4rem;
	}
	#top .sec-access .container-access .block-txt th,
	#top .sec-access .container-access .block-txt td{
		padding: 2rem 0;
		background-image: linear-gradient(to right, #231815, #231815 0.1rem, transparent 0.1rem, transparent 0.7rem);
		background-size: 0.7rem 1px;
		background-position: left bottom;
		background-repeat: repeat-x;
	}
	#top .sec-access .container-access .block-txt th{
		width: 12rem;
		padding-left: 2rem;
	}
	#top .sec-access .container-access .block-map{
		order: 1;
		padding-top: 2rem;
		padding-bottom: 3rem;
		margin-right: 6rem;
		width: 48rem;
	}
	#top .sec-access .container-access .block-map .gmap--wrap{
		padding-top: 83.33%;
		border-radius: 2rem;
	}
	#top .sec-access .container-access .btn-to-link{
		left: -3rem;
	}
}

/*====================================
product archive
====================================*/
#product.page--archive .sec-lead{
	padding-top: 4rem;
	margin-bottom: 4rem;
	font-size: 1.8rem;
	line-height: 1.66;
}

#product.page--archive .sec-cat-article-wrap{
	padding-bottom: 32.9rem;
}
#product.page--archive .sec-cat-article:not(:first-child){
	margin-top: 8rem;
}
#product.page--archive .sec-cat-article .container-article{
	display: flex;
	flex-wrap: wrap;
}
#product.page--archive .sec-cat-article .article-card{
	width: calc((100% - 1.9rem) / 2);
}
#product.page--archive .sec-cat-article .article-img{
	border-radius: 1.6rem;
}
#product.page--archive .sec-cat-article .article-ttl{
	font-size: 1.8rem;
	line-height: 1.5;
	margin-top: 1.5rem;
	margin-bottom: 1rem;
}

@media only screen and (max-width: 599px) {
	#product.page--archive .sec-cat-article .container-article{
		justify-content: space-between;
	}
	#product.page--archive .sec-cat-article .article-card:nth-child(n+3){
		margin-top: 3rem;
	}
}

@media print,screen and (min-width: 600px) {
	#product.page--archive .sec-lead{
		padding-top: 5rem;
		margin-bottom: 5rem;
	}

	#product.page--archive .sec-cat-article-wrap{
		padding-bottom: 33.2rem;
	}
	#product.page--archive .sec-cat-article:not(:first-child){
		margin-top: 15rem;
	}
	#product.page--archive .sec-cat-article .article-card{
		width: calc((100% - 3.2rem * 3) / 4);
	}
	#product.page--archive .sec-cat-article .article-card:not(:nth-child(4n)){
		margin-right: 3.2rem;
	}
	#product.page--archive .sec-cat-article .article-card:nth-child(n+5){
		margin-top: 6rem;
	}
}

/*====================================
product category
====================================*/
#product.page--category .sec-cat{
	padding-top: 3rem;
	padding-bottom: 19.3rem;
}
#product.page--category .sec-cat .article-card{
	box-sizing: border-box;
	border-radius: 2rem;
	padding: 2.5rem;
}
#product.page--category .sec-cat .article-card-inner{
	display: block;
}
#product.page--category .sec-cat .article-img{
	border-radius: 1.6rem;
}
#product.page--category .sec-cat .article-arrow{
	position: absolute;
	bottom: 0;
	right: 0;
	width: 5.2rem;
	height: 5.2rem;
	z-index: 3;
}
#product.page--category .sec-cat .article-arrow .arrow{
	position: absolute;
	bottom: 1.5rem;
	right: 1.5rem;
	width: 1.2rem;
	height: 1.4rem;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
#product.page--category .sec-cat .article-ttl{
	padding-top: 1.5rem;
	padding-bottom: 1rem;
	font-size: 2.4rem;
	line-height: 1.5;
	margin-bottom: 1.5rem;
	background-image: linear-gradient(to right, #231815, #231815 0.1rem, transparent 0.1rem, transparent 0.7rem);
	background-size: 0.7rem 1px;
	background-position: left bottom;
	background-repeat: repeat-x;
}

@media only screen and (max-width: 599px) {
	#product.page--category .sec-cat .article-card:not(:first-child){
		margin-top: 2rem;
	}
}

@media print,screen and (min-width: 600px) {
	#product.page--category .sec-cat{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding-top: 5rem;
		padding-bottom: 33.2rem;
	}
	#product.page--category .sec-cat .article-card{
		width: calc((100% - 4rem) / 2);
		padding: 4rem;
	}
	#product.page--category .sec-cat .article-card:nth-child(n+3){
		margin-top: 4rem;
	}
	#product.page--category .sec-cat .article-arrow{
		width: 7.2rem;
		height: 7.2rem;
	}
	#product.page--category .sec-cat .article-arrow .arrow{
		width: 1.7rem;
		height: 2rem;
		bottom: 2rem;
		right: 2rem;
	}
	#product.page--category .sec-cat .article-ttl{
		padding: 3rem 2rem 1rem 2rem;
		margin-bottom: 3rem;
	}
	#product.page--category .sec-cat .article-txt{
		padding: 0 2rem;
	}
}

/*====================================
page404
====================================*/
#page404 .sec-404{
	padding-bottom: 19.3rem;
}
#page404 .sec-404 .btn{
	margin-top: 5rem;
}

@media print,screen and (min-width: 600px) {
	#page404 .sec-404{
		padding-bottom: 33.2rem;
	}
	#page404 .sec-404 .btn{
		width: 33.758rem;
		margin: 8rem auto 0 auto;
	}
}

/*====================================

====================================*/

/*
--------------------------------------*/

@media only screen and (max-width: 599px) {
}

@media print,screen and (min-width: 600px) {
}


