@charset "UTF-8";
/*
 * common.css
 * 
 */

/* !HTML5 elements
---------------------------------------------------------- */
header, footer, nav, section, aside, article
{ display: block;}

/* !Reseting
---------------------------------------------------------- */
body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td
{ margin: 0; padding: 0;}
input, textarea
{ margin: 0; font-size: 100%;}
label
{ cursor: pointer;}
table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
fieldset, img
{ border: 0;}
img
{ vertical-align: top; max-width: 100%;}
address, caption, cite, code, dfn, em, th, var
{ font-style: normal; font-weight: normal;}
ol, ul
{ list-style: none;}
caption, th
{ text-align: left;}
h1, h2, h3, h4, h5, h6
{ font-size: 100%; font-weight: normal;}
q:after, q:before
{ content:'';}
a, input,select,textarea,button
{ outline: none; }
abbr, acronym
{ border: 0;}

select::-ms-expand {
	display: none;
} 
input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check{
	display: none;
} 
select,
input[type=radio],
input[type=checkbox],
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	font-family: "Zen Old Mincho", serif;
	font-size: 1em;
}
input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear{
	display: none;
}
input[type=reset],
input[type=button],
input[type=submit]  {
  font-family: "Zen Old Mincho", serif;
  cursor: pointer;
}

/* !Clearfix
---------------------------------------------------------- */
.clearfix {
	display: block;
	min-height: 1%;
}
.clearfix:after {
	clear: both;
	content:".";
	display: block;
	height: 0;
	visibility: hidden;
}
* html .clearfix {
	height: 1%;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}
/* !Layout
---------------------------------------------------------- */
html { 
	overflow-y: scroll;
	font-size: 62.5%;
}
html.bigSize {
	font-size: 75%;
}
html.no-move {
	overflow: hidden;
}
body {
	font-family: "Zen Old Mincho", serif;
	font-size: 1.8rem;
	font-weight: 600;
	-webkit-text-size-adjust: none;
	line-height: 1.5;
	color: #1F1E30;
}

@media screen and (max-width: 1100px) {
  html { 
    font-size: calc(100vw / 110);
  }
  html.bigSize { 
    font-size: calc(120vw / 110);
  }
}
@media screen and (max-width: 767px) {
	html { 
		font-size: 62.5%;
	}
	html.bigSize {
		font-size: 75%;
	}
	
	body {
		font-size: 1.4rem;
	}
}


*{ 
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}

/* !Base Fonts -------------------------------------------------------------- */
a {
	color: inherit;
	text-decoration: none;
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}

a:hover {
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}

.op img,
.op input {
	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;	
}
.op:hover img,
.op:hover input {
	opacity: .7;
	-webkit-opacity: .7;
	-moz-opacity: .7;
	filter: alpha(opacity=70);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=70)"; /* IE 8 */
	-webkit-transition: opacity 0.5s ease-out;
	-moz-transition: opacity 0.5s ease-out;
	-ms-transition: opacity 0.5s ease-out;
	transition: opacity 0.5s ease-out;
}

.fwN { font-weight: normal;}
.fwB { font-weight: bold;} 
sup   { font-size: 8px; vertical-align: top;}
sub   { font-size: 8px; vertical-align: baseline;}

/* !Inline Align ------------------------------------------------------------ */
.taL { text-align: left   !important;}
.taC { text-align: center !important;}
.taR { text-align: right  !important;}
.vaT { vertical-align: top    !important;}
.vaM { vertical-align: middle !important;}
.vaB { vertical-align: bottom !important;}
.blockC { margin-right: auto; margin-left: auto; text-align: left;}
* html .blockC { margin-right: 0; margin-left: 0;}
.blockR { margin-left: auto; text-align: left;}
* html .blockR { margin-left: 0;}

/* !Floats ------------------------------------------------------------------ */
.flL    { display: inline; float: left;}
.flR    { display: inline; float: right;}
.flImgL { display: inline; float: left; margin-right: 10px;}
.flImgR { display: inline; float: right; margin-left: 10px;}
.ftBox  { overflow: hidden;}

/* !Tools ------------------------------------------------------------------- */
.clear { clear: both;}
.block { display: block !important;}
.hide  { display: none !important;}
.bgN   { background: none !important;}
.tdU   { text-decoration: underline;}
.tdN   { text-decoration: none;}

/* !JavaScript -------------------------------------------------------------- */
.over { /* ロールオーバー呼び出し用 */ }

@media screen and (min-width: 768px) {
	.sp {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.pc {
		display: none;
	}
}

/* !wrapper
---------------------------------------------------------- */
#wrapper {
	position: relative;
	background: url(../img/common/bg.png)repeat-y;
	background-size: 100%;
}

.overplay {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	transition-duration: 0.3s;
	z-index: 99;
	width: 100%;
	height: 100vh;
	z-index: 99;
	background:rgba(255,255,255,0.2);
	backdrop-filter: blur(1rem) saturate(115%);
	-webkit-backdrop-filter: blur(1rem) saturate(115%);
}

/* !header
---------------------------------------------------------- */
#header {
	position: absolute;
	left: 0;
	top: 0;
	padding: 6rem;
	width: 100%;
}

#headerLogo {
	position: relative;
	z-index: 99;
}
#headerLogo img {
	width: 11.2rem;
}

.btnMenu {
	cursor: pointer;
	position: fixed;
	right: 4.8rem;
	top: 4rem;
	z-index: 101;
	width: 6rem;
	height: 6.8rem;
	background: url(../img/common/icon_menu.svg)no-repeat center;
	background-size: 100%;
	mix-blend-mode: difference;
	color: #fff;
} 
.btnMenu.active {
	background-image: url(../img/common/icon_menu_close.svg);
}

#gNavi {
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	visibility: hidden;
	opacity: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition-duration: 0.3s;
	z-index: 100;
	padding: 22rem 8.6rem;
	height: 100vh;
	width: 100%;
	max-width: 46rem;
	background: #1F1E30;
	color: #fff;
}
#gNavi.open {
	visibility: visible;
	opacity: 1;
}
#gNavi li {
	margin-bottom: 4rem;
	font-size: 2.5rem;
}
#gNavi li a {
	display: block;
	position: relative;
}
#gNavi li a:before {
	content: "";
	opacity: 0;
	position: absolute;
	right: calc(100% + 1rem);
	top: 50%;
	transform: translateY(-50%);
	transition-duration: 0.3s;
	width: 4.7rem;
	height: 0.5rem;
	background: url(../img/common/icon_hd_pre.svg)no-repeat center;
	background-size: 100%;
}
#gNavi li a.on:before {
	opacity: 1;
}
#gNavi .functionSns {
	margin-top: 8.8rem;
}

/* pc */
@media screen and (min-width: 768px) {
	
	#gNavi li a:hover:before {
		opacity: 1;
	}
	
}
/* sp */
@media screen and (max-width: 767px) {
	#header {
	    padding: 1rem;
	}
	
	#headerLogo img {
	    width: 5.6rem;
	}
	
	.btnMenu {
	    right: 2rem;
	    top: 2rem;
	    width: 3.8rem;
	    height: 4.2rem;
	}
	 
	#gNavi {
		padding: 8rem 2rem 8rem 4.8rem;
	}
	#gNavi li {
	    position: relative;
	    margin-bottom: 2.4rem;
	    font-size: 2rem;
	}
	
	#gNavi .functionSns {
	    margin-top: 4.8rem;
	}
	
}

/* !footer
---------------------------------------------------------- */
.pageTop {
	cursor: pointer;
	display: none;
	position: fixed;
	right: 3.6rem;
	bottom: 3rem;
	z-index: 5;
}

#footer {
	overflow: hidden;
	position: relative;
	z-index: 99;
	margin-top: 5rem;
	padding-top: 10rem;
}
.footerIn {
	padding: 39rem 0 3rem;
	background: #1F1E30;
	text-align: center;
	color: #fff;
}

#footer .decorationWaves .wave {
	right: -1rem;
}
#footer .decorationWaves .wave1 {
	top: 0;
}
#footer .decorationWaves .wave2 {
	top: 7.552vw;
}
.footLogo img {
	width: 11.2rem;
}

#footer .functionSns {
	justify-content: center;
	margin-top: 5.4rem;
}

#copyright {
	margin-top: 13.5rem;
	text-align: center;
	font-size: 1.4rem;
}
/* sp */
@media screen and (max-width: 767px) {
	.pageTop {
	    right: 2rem;
	    bottom: 2rem;
		width: 4.8rem;
	}
	
	#footer {
		padding-top: 5rem;
	}
	#footer .decorationWaves .wave {
	    right: -10%;
	}
	#footer .decorationWaves .wave1 {
	    top: 2rem;
	}
	#footer .decorationWaves .wave2 {
	    top: 7rem;
	}
	.footerIn {
		padding: 16rem 0 3rem;
	}
	
	#copyright {
	    margin-top: 6rem;
	    font-size: 1.2rem;
	}
	
}


/* !common
---------------------------------------------------------- */ 
#teaser {
	overflow: hidden;
}
#teaser .inner {
	display: flex;
	align-items: center;
	position: relative;
	z-index: 2;
	height: 47rem;
}
#teaser .inner:before {
	content: "";
	position: absolute;
	left: -1rem;
	top: 0;
	z-index: -1;
	width: 100vw;
	height: 100%;
	background: url(../img/common/bg_teaser.png)no-repeat left bottom;
	background-size: auto calc(100% + 8.5rem);
}
#teaser .head {
	margin-left: 7rem;
	padding-bottom: 2rem;
	background: url(../img/common/icon_headl_pre_wh2.png)no-repeat center bottom;
	background-size: 100%;
	color: #fff;
	font-size: 5rem;
}

#breadcrumb {
	padding: 3.2rem 0;
}
#breadcrumb ul {
	display: flex;
}
#breadcrumb li + li:before {
	content: "＞";
}

/* pc */
@media screen and (min-width: 768px) {
	
	#breadcrumb li a:hover {
		text-decoration: underline;
	}
	
}
/* sp */
@media screen and (max-width: 767px) {
	#teaser .inner {
		height: 22rem;
	}
	#teaser .inner:before {
		left: 5.6rem;
		width: calc(100% - 2rem);
		background-size: auto calc(100% + 4.5rem);
	}
	#teaser .head {
	    margin-left: 6.8rem;
	    padding-bottom: 1rem;
	    font-size: 2.4rem;
	}
	
	#breadcrumb {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding: 1.6rem 0;
		margin-bottom: 1.6rem;
		width: 100%;
	}
	#breadcrumb li {
	    word-break: keep-all;
	    white-space: nowrap;
	}
}
 
.inner {
	margin: 0 auto;
	padding: 0 5rem;
	max-width: 110rem;
}

.functionSns {
	display: flex;
	align-items: center;
	gap: 0 4.8rem;
}

.commonTxtSize {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0 1.2rem;
	padding: 2.3rem 3.2rem;
	text-align: right;
	font-size: 1.4rem;
}
.commonTxtSize .size {
	display: flex;
	overflow: hidden;
	border-radius: 0.9rem;
	border: 1px solid #000;
	font-size: 1.3rem
}
.commonTxtSize .size a {
	display: flex;
	align-items: center;
	line-height: 1;
	color: #A5A5A5;
}

.commonTxtSize .size a.is-active {
	background: #000;
	color: #fff;;
}

.commonTxtSize .normal {
	padding: 0.7rem 0.9rem;
}
.commonTxtSize .big {
	padding: 0.5rem 0.9rem;
}

.btnLinks {
	display: flex;
	gap: 1.2rem;
	padding: 14.8rem 0;
	width: 100%;
}
.btnLinks .btn {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 2rem;
	min-height: 24.4rem;
	width: 100%;
	background: url(../img/common/bor_link.png)no-repeat center;
	background-size: 100% 100%;
	text-align: center;
}
.btnLinks .btn:after {
	content: "";
	position: absolute;
	right: 6rem;
	top: 0;
	transition-duration: 0.3s;
	width: 4.2rem;
	height: 100%;
	background: url(../img/common/icon_link_red.svg)no-repeat center;
	background-size: 100%;
}
.btnLinks .big {
	font-size: 3rem;
}
.btnLinks .note {
	margin-top: 2rem;
}
.btnLinks.column {
	flex-direction: column;
	gap: 3.2rem 0;
}
.btnLinks.column .btn:after {
	right: 8.5rem;
}

.btnLinks.anchors {
	padding: 4.5rem 0 11.4rem;
}
/*.btnLinks.anchors .btn {
	padding-bottom: 1.2rem;
}*/
.btnLinks.anchors .btn:after {
    right: auto;
	left: 50%;
    top: calc(100% - 5rem);
	transform: rotate(90deg) translateX(-50%);
	transform-origin: 0% 50%;
    width: 2rem;
    height: 2rem;
}

.anchorsCate {
	display: flex;
	justify-content: center;
	gap: 1.8rem;
	margin-bottom: 11.5rem;
}
.anchorsCate a {
	display: block;
	position: relative;
	width: 100%;
}
.anchorsCate a:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	transition-duration: 0.3s;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: #A0A0A0;
	mix-blend-mode: multiply;
}
.anchorsCate a:after {
	content: "";
	position: absolute;
	left: 50%;
	top: calc(100% - 5rem);
	z-index: 2;
	transform: rotate(90deg) translateX(-50%);
	transform-origin: 0% 50%;
	width: 2rem;
	height: 2rem;
	background: url(../img/common/icon_link_red.svg) no-repeat center;
	background-size: 100%;
}

.anchorsCate img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.anchorsCate .head {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 100%;
	text-align: center;
	color: #fff;
	font-size: 3rem;
}

.btnDetail {
	margin-top: 2.4rem;
}
.btnDetail .btn {
	display: inline-block;
	align-items: center;
	gap: 0 0.6rem;
	position: relative;
	padding: 0 4rem 2.2rem 1.2rem;
	background: url(../img/common/icon_link_red.svg) no-repeat right 1.5rem top 0.5rem;
	background-size: 2rem;
	font-size: 2rem;
}
.btnDetail .btn:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	height: 0.5rem;
	width: 100%;
	background: url(../img/common/bor_headl.png)no-repeat center bottom;
	background-size: 100% 100%;
}

.headL {
	margin-bottom: 13rem;
	padding-left: 5.5rem;
	background: url(../img/common/icon_headl_pre.png)no-repeat left center;
	background-size: 1rem 100%;
	-ms-writing-mode: tb-rl;            /* IE用　*/
  -webkit-writing-mode: vertical-rl;  /* chrome用　*/
  -o-writing-mode: vertical-rl;       /* opera用　*/
  writing-mode: vertical-rl;
  text-orientation: upright;
	line-height: 1.2;
	font-size: 5rem;
}

.headM {
	margin-bottom: 10rem;
	text-align: center;
	font-size: 5rem;
}

.headS {
	padding-left: 2.6rem;
	margin-bottom: 2.4rem;
	background: url(../img/common/icon_headl_pre_red.png)no-repeat left center;
	background-size: auto 100%;
	line-height: 1.45;
	letter-spacing: 0.1em;
	font-size: 4rem;
	font-weight: 400;
}

.headXS {
	font-size: 2.4rem;
	margin-bottom: 2.4rem;
	line-height: 1.5;
	font-weight: 400;
	letter-spacing: .05em;
}

.decorationWaves .wave {
	position: absolute;
	z-index: 2;
	width: 63.125%;
	max-width: 121.2rem;
}
.decorationWaves .wave img {
	width: 100%;
}

.decorationFish {
	pointer-events: none;
	position: absolute;
	left: 50%;
	width: 51.875%;
	max-width: 99.6rem;
}
.decorationFish .fish {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.wp-pagenavi {
	display: block;
	position: relative;
	margin: 4.2rem auto 0;
	max-width: 16.4rem;
	height: 2.6rem;
	font-size: 0;
}
.wp-pagenavi a:not(.previouspostslink):not(.nextpostslink),
.wp-pagenavi span {
    display: none;
}
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink,
.wp-pagenavi:before,
.wp-pagenavi:after {
	display: block;
	width: 2.6rem;
	height: 2.6rem;
	background: no-repeat center;
	background-size: auto 100%;
	border: 0;
	padding: 0;
	margin: 0;
	position: absolute;
	top: 0;
	z-index: 1;
}
.wp-pagenavi a.previouspostslink {
	background-image: url(../img/common/icon_left_red.svg);
	left: 0;
	z-index: 2;

}
.wp-pagenavi a.nextpostslink {
	background-image: url(../img/common/icon_right_red.svg);
	right: 0;
	z-index: 2;
}
.wp-pagenavi:before {
	background-image: url(../img/common/icon_left_gray.svg);
	left: 0;
	content: '';
	pointer-events: none;
}
.wp-pagenavi:after {
	background-image: url(../img/common/icon_right_gray.svg);
	right: 0;
	content: '';
	pointer-events: none;
}

.pageList {
	position: relative;
	margin: 12rem auto 0;
	max-width: 16.4rem;
	text-align: center;
}
.pageList .prev,
.pageList .next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2.6rem;
	height: 2.6rem;
	background: no-repeat center;
	background-size: auto 100%;
}
.pageList .prev {
	left: 0;
	background-image: url(../img/common/icon_left_red.svg);
}
.pageList .next {
	right: 0;
	background-image: url(../img/common/icon_right_red.svg);
}

.colorRed {
	color: #BA0000;
}
.colorWh {
	color: #fff;
}

.mealBanner {
	position: relative;
}
.mealBanner img {
	object-fit: cover;
	width: 100%;
	height: 63rem;
}
.mealBanner .head {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	max-height: calc(100% - 10rem);
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	word-wrap: break-word;
	word-break:break-all;
	color: #fff;
	font-size: 4rem;
}

/* pc */
@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
		cursor: default;
	}
	
	.btnLinks .btn:hover {
		color: #888;
	}
	.btnLinks .btn:hover:after {
		right: 5rem;
	}
	.btnLinks.column .btn:hover:after {
		right: 7.5rem;
	}
	
	.anchorsCate a:hover:before {
		opacity: 0;
	}
	 
	.btnDetail .btn:hover {
		background-position: right top 0.5rem;
	}
	.btnDetail .btn:hover:after {
		background-image: url(../img/common/bor_headl_red.png);
	}
	
	.functionSns a:hover {
		opacity: 0.7;
	}
	
	.previouspostslink:hover,
	.nextpostslink:hover {
		opacity: 0.7;
	}
	
	.pageList .list:hover {
		text-decoration: underline;
	}
}
/* sp */
@media screen and (max-width: 767px) {
	.inner {
		padding: 0 2rem;
	}
	
	
	.functionSns {
		gap: 0 3.2rem;
	}
	.functionSns img {
		width: 2.4rem;
	}
	
	.commonTxtSize {
		padding: 1.6rem 2rem;
	}
	.commonTxtSize .size {
		border-radius: 0.9rem;
		font-size: 1.2rem;
	}
	
	.btnLinks {
		flex-direction: column;
		gap: 1.6rem 0;
		padding: 3rem 0 6rem;
	}
	.btnLinks .btn {
		padding: 1.6rem 5.2rem 1.6rem 2rem;
	    min-height: 10rem;
		text-align: left;
	}
	.btnLinks .big {
	    font-size: 2rem;
	}	
	.btnLinks .btn:after {
		right: 2rem;
		width: 3rem;
	}
	.btnLinks .note {
	    margin-top: 1.2rem;
	}
	.btnLinks.column {
	    gap: 1.6rem 0;
	}
	.btnLinks.column .btn:after {
	    right: 2rem;
	}
	.btnLinks.anchors {
		padding: 3rem 0 5rem;
	}
	.btnLinks.anchors .btn {
		padding: 2rem 2rem 4rem;
		text-align: center;
	}
	.btnLinks.anchors .btn:after {
		top: auto;
		bottom: 2rem;
	}
	
	.anchorsCate {
		flex-wrap: wrap;
		margin-bottom: 6rem;
	}
	.anchorsCate .head {
		font-size: 2.4rem;
	}
	
	.btnDetail .btn {
	    gap: 0 0.6rem;
	    padding: 0 3rem 1.2rem 0.6rem;
	    background-position: right 0.8rem top 0.4rem;
	    background-size: 1.6rem;
	    font-size: 1.6rem;
	}
	
	.headL {
	    margin-bottom: 5rem;
	    padding-left: 2rem;
	    background-size: 0.6rem 100%;
	    font-size: 2.8rem;
	}
	
	.headM {
	    margin-bottom: 5rem;
	    font-size: 2.8rem;
	}
	
	.headS {
		padding-left: 1.6rem;
		font-size: 2.4rem;
	}

	.headXS {
		font-size: 1.8rem;
	}
	
	.decorationWaves .wave {
	    width: 100%;
	}
	
	.decorationFish {
	    left: 30%;
	    width: 80%;
	}
	
	.mealBanner img {
	    height: 32rem;
	}
	.mealBanner .head {
	    max-height: calc(100% - 8rem);
	    font-size: 2.6rem;
	}
	
	.pageList {
	    margin-top: 6rem;
	}
	
}

