@charset "UTF-8";
/* CSS Document */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}
/* -----------------------------------------------
 [1. Base(ベース)]
-------------------------------------------------- */
html,body {
	width: 100%;
	height: 100%;
}
html {
  font-size: 62.5%; /* sets the base font to 10px for easier math */
  -webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-overflow-scrolling: touch;
}
body {
  font-family: 'Noto Sans JP', 'Roboto', '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'M PLUS 1p','Lato', sans-serif;
  font-weight: 400;
  font-size: 1.5rem;   /* sets the default sizing to make sure nothing is actually 10px */
  font-feature-settings: "palt";
  line-height: 1.4;
  color: #000;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@media screen and (min-width: 741px) {
body {
	min-width: 1000px;
	margin: auto;
}
}	
* {
	-webkit-box-sizing: border-box; /* border-box ------------------------------ */
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

*:before,
*:after  {
	-webkit-box-sizing: border-box; /* border-box ------------------------------ */
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
h1,h2,h3,h4,h5,h6 {
	line-height: 1.2;
}
html,body,div,span,object,iframe,
h1,h2,h3,h4,h5,h6,p,blockquote,pre,
a,abbr,acronym,address,code,del,em,img,strong,
dl,dt,dd,ol,ul,li,
fieldset,form,label,
table,caption,tbody,tfoot,thead,tr,th,td{
	margin: 0;
	padding: 0;
	font-style: normal;
}
ul,ol,li {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
dl, dl dd  {
  margin: 0;
}
img {
	vertical-align: bottom;
	line-height: 1.0;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
	font-weight: inherit;
}
figure,
figcaption {
  margin: 0;
  font-size: inherit;
}

blockquote, q {
	quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

a {
  color: #000;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #595959;
}
a:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
canvas {
	image-rendering: optimizeQuality;
	image-rendering: -moz-crisp-edges;
	image-rendering: -webkit-optimize-contrast;
	image-rendering: optimize-contrast;
	-ms-interpolation-mode: nearest-neighbor;
}
button {
  border: 0;
  background: transparent;
  -moz-box-shadow: 0 0 0 0 transparent;
  -webkit-box-shadow: 0 0 0 0 transparent;
  box-shadow: 0 0 0 0 transparent;
}
.clearfix:after {
	display: block;
	clear: both;
	content: "";
}

/* -----------------------------------------------
 [2. Layout(レイアウト)]
-------------------------------------------------- */
.body {
	background-image: url("../images/bg.png");
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}
main {
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	background: #ededed;
}
@media screen and (max-width: 480px) {
  main {
    max-width: 100%;
  }
	img {
		width:100%;
	}
}

.warp {
	width: 750px;
	margin: 0 auto;
}
@media screen and (max-width: 480px) {
	.warp {
		width: 100%;
		margin: 0 auto;
	}
}
.warp::after {
	display: block;
	clear: both;
	content: "";
}
.ttl {
	color: #fff;
	text-align: center;
	height: 240px;
	width: 100%;
	line-height: 1;
	background-image: url("../images/ttl_bg.png");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}
@media screen and (max-width: 480px) {
	.ttl {
		height: 120px;
	}
}
.ttl h2 {
	font-family: 'Oswald', sans-serif;
	font-size: 7.9rem;
	font-weight: 900;
	width: 100%;
	padding-top: 64px;
}
@media screen and (max-width: 480px) {
	.ttl h2 {
		font-size: 4.0rem;
		padding-top: 29px;
	}
}
.ttl p {
	font-size: 2.9rem;
	font-weight: 700;
	width: 100%;
}
@media screen and (max-width: 480px) {
	.ttl p {
		font-size: 1.5rem;
	}
}
/*メニュー
-------------------------------------------------- */
#hamburger {
	position: fixed;
	top: 0;
	width: 750px;
	margin: 0 calc(50% - 375px);
	z-index: 999;
}
@media screen and (max-width: 480px) {
	#hamburger {
		width: 100%;
		margin: 0;
	}
}
.hamButton {
  display : block;
  position: absolute;
  z-index : 3;
  right : 0;
  top   : 0;
  width : 90px;
  height: 90px;
  cursor: pointer;
  text-align: center;
	background-color: #000;
}
@media screen and (max-width: 480px) {
	.hamButton {
		width : 45px;
		height: 45px;
	}
}
.hamButton span {
  display : block;
  position: absolute;
  width   : 52px;
  height  : 4px;
  left    : 20px;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamButton span:nth-child(1) {
  top: 28px;
}
.hamButton span:nth-child(2) {
  top: 44px;
}
.hamButton span:nth-child(3) {
  top: 60px;
}
@media screen and (max-width: 480px) {
	.hamButton span {
		width   : 26px;
		height  : 2px;
		left    : 10px;
	}
	.hamButton span:nth-child(1) {
		top: 14px;
	}
	.hamButton span:nth-child(2) {
		top: 22px;
	}
	.hamButton span:nth-child(3) {
		top: 30px;
	}
}
/* ナビ開いてる時のボタン */
.hamButton.active span:nth-child(1) {
  top : 44px;
  left: 20px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}
@media screen and (max-width: 480px) {
	.hamButton.active span:nth-child(1) {
		top : 22px;
		left: 10px;
	}
}
.hamButton.active span:nth-child(2),
.hamButton.active span:nth-child(3) {
  top: 44px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}
@media screen and (max-width: 480px) {
	.hamButton.active span:nth-child(2),
	.hamButton.active span:nth-child(3) {
		top: 22px;
	}
}
.globalMenu {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #fff;
  background: #000;
  text-align: center;
  width: 100%;
	padding-top: 100px;
  opacity: 0;
  transition: opacity .3s ease, visibility .3s ease;
	visibility: hidden;
	font-weight: 700;
	font-size: 2.1rem;
}
@media screen and (max-width: 480px) {
	.globalMenu {
		font-size: 1.2rem;
		padding-top: 80px;
	}
}
.globalMenu ul {
  margin: 0 auto;
  padding: 0;
	width: 100vw;
}
.globalMenu ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
	text-align: left;
}
.globalMenu ul li:last-child {
  padding-bottom: 0;
}
@media only screen and (min-width: 768px) {
	.globalMenu ul li:hover{
		background :#ddd;
	}
}
.globalMenu ul li a {
  display: inline-flex;
	align-items: center;
	width: 100vw;
  color: #fff;
  padding: 0 calc(50% - 375px);
  text-decoration :none;
}
@media screen and (max-width: 480px) {
.globalMenu ul li a {
		padding: 10px 20px;
	}
}
@media only screen and (min-width: 768px) {
	.globalMenu ul li:hover a {
		color: #000;
	}
}
.globalMenu ul li a span {
	font-family: 'Montserrat', sans-serif;
	font-weight: 300;
	font-size: 5.0rem;
	width: 8em;
	display: inline-flex;
}
@media screen and (max-width: 480px) {
	.globalMenu ul li a span {
		font-size: 2.4rem;
	}
}
.globalMenu ol {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
  margin: 50px auto 0;
  padding: 0 20px;
	width: 750px;
}
@media screen and (max-width: 480px) {
	.globalMenu ol {
		padding: 0 20px;
		width: 100%;
	}
}
.globalMenu ol li {
  padding: 0;
	width: 100%;
	text-align: left;
}
.globalMenu ol li:last-of-type {
	margin-top: 20px;
}
.globalMenu ol li a {
	position: relative;
  display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 80px;
  color: #fff;
	background-color: #32772A;
  text-decoration :none;
  transition: .4s all;
}
@media screen and (max-width: 480px) {
	.globalMenu ol li a {
		height: 60px;
		font-size: 1.6rem;
		line-height: 1.4;
		text-align: center;
	}
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .globalMenu ol li a {/* IE11 */
		padding-top: 12px;
	}
}
@media only screen and (min-width: 768px) {
	.globalMenu ol li a:hover {
		color: #32772A;
		background-color: #fff;
	}
	.globalMenu ol li a:hover::after {
		border-color: #32772A;	
	}
}
.globalMenu ol li a::after {
	position: absolute;
	content: "";
	right: 20px;
	display: inline-block;
	width: 12px;
	height: 12px;
	margin: 0 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
@media screen and (max-width: 480px) {
	.globalMenu ol li a::after {
		right: 4px;
		width: 8px;
		height: 8px;
		border-width: 1px;
	}
}
@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .globalMenu ol li a::after {/* IE11 */
		top: 35px;
	}
}
/* このクラスを、jQueryで付与・削除する */
.globalMenu.active {
	opacity: 100;
	height: 100vh;
	visibility: visible;
}
/* header
-------------------------------------------------- */
header {
	position: relative;
	width: 100%;
	max-width: 750px;
	margin: 0 auto -90px;
}
@media screen and (max-width: 480px) {
	header {
		width: 100%;
		margin: 0 auto -45px;
	}
}
header .logoLink img {
	height: 90px;
}
@media screen and (max-width: 480px) {
	header .logoLink img {
		height: 45px;
		width: auto;
	}
}
/*--------------------------------------------------*/

#section_movie .ttl h2 {
	padding-top: 85px;
}
@media screen and (max-width: 480px) {
	#section_movie .ttl h2 {
		padding-top: 38px;
	}
}
.youtube {
	background-color: #EFEFEF;
	padding: 60px 50px;
}
@media screen and (max-width: 480px) {
	.youtube {
		padding: 30px 25px;
	}
}
.youtubeIframe {
	position: relative;
	padding-bottom: 56.5%;
	height: 0;
	overflow: hidden;
}
.youtubeIframe iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}
.youtube p {
	font-size: 3.0rem;
	word-break: break-all;
	padding: 18px 0 36px;
}
@media screen and (max-width: 480px) {
	.youtube p {
		font-size: 1.5rem;
		padding: 9px 0 18px;
	}
}
.magazine {
	background-color: #EFEFEF;
	padding: 60px 50px;
}
@media screen and (max-width: 480px) {
	.magazine {
		padding: 30px 25px;
	}
}
.magazine img {
	width: 100%;
}
.magazine p {
	font-size: 3.0rem;
	word-break: break-all;
	padding: 18px 0 0;
}
@media screen and (max-width: 480px) {
	.magazine p {
		font-size: 1.5rem;
		padding: 9px 0 0;
	}
}
.staffBlog {
	/*margin-bottom: 30px;*/
	background-color: #fff;
	padding: 70px 30px 80px;
}
@media screen and (max-width: 480px) {
	.staffBlog {
		margin-bottom: 10px;
		padding: 30px 25px 35px;
	}
}
.staffBlogLink {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100px;
	background-color: #28893A;
	border: solid 1px #28893A;
	color: #fff;
	font-size: 2.7rem;
	font-weight: 700;
	transition: 0.3s ease-in-out;
	margin-top: 40px;
}
@media screen and (max-width: 480px) {
	.staffBlogLink {
		height: 50px;
		color: #fff;
		font-size: 1.4rem;
		margin-top: 20px;
	}
}
@media only screen and (max-device-width:320px) {/* iPhone 5・SE */
	.staffBlogLink {
		font-size: 1.2rem;
	}
}
.staffBlogLink::after {
	position: absolute;
	content: "";
	right: 20px;
	display: inline-block;
	width: 12px;
	height: 12px;
	margin: 0 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: 0.3s ease-in-out;
}
@media screen and (max-width: 480px) {
	.staffBlogLink::after {
		right: 5px;
		width: 8px;
		height: 8px;
		margin: 0 10px;
		border-width: 1px;
	}
}
.staffBlogLink:hover {
	color: #28893A;
	background-color: #fff;
}
.staffBlogLink:hover::after {
	border-color: #28893A;
}

.ef-blogs {
	justify-content: space-between;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
.ef-blogs .ef-item {
	position: relative;
	width: 330px;
	margin-bottom: 55px;
}
@media screen and (max-width: 480px) {
	.ef-blogs .ef-item {
		width: 48%;
		margin-bottom: 30px;
	}
}
.js-photo-ofi img {
	max-width: inherit;
	max-height: inherit;
	width: 100%;
	height: 100%;
	-o-object-fit: scale-down;
	object-fit: scale-down;
	font-family: 'object-fit: scale-down;';
	position: absolute;
	left: 0;
	top: 0;
	vertical-align: middle;
}
.homeBlogEntries__entry__link .homeBlogEntries__entry__image {
	position: relative;
	display: block;
	height: 0;
	background-color: #EFEFEF;
	padding-bottom: 100%;
	overflow: hidden;
	margin-bottom: 25px;
}
@media screen and (max-width: 480px) {
	.homeBlogEntries__entry__link .homeBlogEntries__entry__image {
		margin-bottom: 10px;
	}
}
.homeBlogEntries__entry__link .homeBlogEntries__entry__image img {
	max-width: inherit;
	max-height: inherit;
	width: 100%;
	height: 100%;
	-o-object-fit: scale-down;
	object-fit: scale-down;
	position: absolute;
	left: 0;
	top: 0;
	vertical-align: middle;
	transition: all 0.3s ease;
}
.homeBlogEntries__entry__link {
	display: block;
	background-color: #fff;
	width: 100%;
}
.homeBlogEntries__entry__link .content-entry {
	padding: 15px;
}
@media screen and (max-width: 480px) {
	.homeBlogEntries__entry__link .content-entry {
		padding: 10px;
	}
}
.homeBlogEntries__entry__link .homeBlogEntries__entry__date {
	color: #740003;
	font-size: 2.4rem;
	line-height: 1;
	margin-bottom: 10px;
	transition: all 0.3s ease;
}
@media screen and (max-width: 480px) {
	.homeBlogEntries__entry__link .homeBlogEntries__entry__date {
		font-size: 1.2rem;
		margin-bottom: 5px;
	}
}
.homeBlogEntries__entry__link .homeBlogEntries__entry__title {
	padding-bottom: 2em;
	margin-bottom: 10px;
	font-size: 2.8rem;
	transition: all 0.3s ease;
}
@media screen and (max-width: 480px) {
	.homeBlogEntries__entry__link .homeBlogEntries__entry__title {
		font-size: 1.4rem;
		margin-bottom: 5px;
	}
}
.homeBlogEntries__entry__link .homeBlogEntries__entry__name {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	color: #740003;
	font-size: 2.4rem;
	padding: 6px;
	text-align: center;
	border: solid 1px #740003;
	border-radius: 6px;
	transition: all 0.3s ease;
}
@media screen and (max-width: 480px) {
	.homeBlogEntries__entry__link .homeBlogEntries__entry__name {
		font-size: 1.2rem;
		padding: 3px;
		border-radius: 4px;
	}
}
@media only screen and (min-width: 768px) {
	.homeBlogEntries__entry__link:hover .homeBlogEntries__entry__title {
    opacity: 0.8;
	}
	.homeBlogEntries__entry__link:hover .homeBlogEntries__entry__datee {
    opacity: 0.8;
	}
	.homeBlogEntries__entry__link:hover .homeBlogEntries__entry__name {
    opacity: 0.8;
	}
	.homeBlogEntries__entry__link:hover .homeBlogEntries__entry__image img {
    opacity: 0.8;
    transform: scale(1.03);
	}
}
#section_end {
	background-color: #fff;
}
.pickupLink {
	background-color: #D6D6D6;
	padding: 65px 50px;
}
@media screen and (max-width: 480px) {
	.pickupLink {
		padding: 32px 25px;
	}
}
.pickupLink li:first-of-type {
	margin-bottom: 40px;
}
@media screen and (max-width: 480px) {
	.pickupLink li:first-of-type {
		margin-bottom: 20px;
	}
}
.pickupLink li a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100px;
	background-color: #28893A;
	border: solid 1px #28893A;
	color: #fff;
	font-size: 2.7rem;
	font-weight: 700;
	transition: 0.3s ease-in-out;
}
@media screen and (max-width: 480px) {
	.pickupLink li a {
		height: 50px;
		color: #fff;
		font-size: 1.4rem;
	}
}
@media only screen and (max-device-width:320px) {/* iPhone 5・SE */
	.pickupLink li a {
		font-size: 1.2rem;
	}
}
.pickupLink li a::after {
	position: absolute;
	content: "";
	right: 20px;
	display: inline-block;
	width: 12px;
	height: 12px;
	margin: 0 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: 0.3s ease-in-out;
}
@media screen and (max-width: 480px) {
	.pickupLink li a::after {
		right: 5px;
		width: 8px;
		height: 8px;
		margin: 0 10px;
		border-width: 1px;
	}
}
.pickupLink li a:hover {
	color: #28893A;
	background-color: #fff;
}
.pickupLink li a:hover::after {
	border-color: #28893A;
}
.panel h3 {
    color: #fff;
    text-align: center;
    font-size: 4rem;
    margin: 4rem 0 5rem;
}
@media screen and (max-width: 480px) {
   .panel h3 {
        font-size: 2rem;
        margin: 2rem 0 2.5rem;
    } 
}

/* footer
-------------------------------------------------- */
footer {
  background: #000;
  color: #fff;
  padding: 100px 0 100px;
  /*padding: 100px 0 240px;*/
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	text-align: center;
}
@media screen and (max-width: 480px) {
	footer {
		padding: 50px 0 50px;
    /*padding: 50px 0 120px;*/
		width: 100%;
	}
}
footer img {
  width: 360px;
  height: auto;
}
footer small {
  font-size: 2.2rem;
}
@media screen and (max-width: 480px) {
	footer small {
		font-size: 1.1rem;
	}
}
footer a {
	display: block;
  margin: 0 auto 20px;
  width: 360px;
}
@media screen and (max-width: 480px) {
	footer a {
		display: block;
		margin: 0 auto 3px;
		width: 180px;
	}
}
footer a img {
  width: 100%;
  height: auto;
	transition: 0.3s ease-in-out;
}
footer a:hover img {
  opacity: 0.8;
}
#footerBnr {
    position: fixed;
    bottom: .5rem;
    width: 100%;
    z-index: 99;
    text-align: center;
}
#footerBnr a {
	display: block;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
    border-radius: 90px;
    z-index: 1;
}
#footerBnr a img {
    width: 98%;
	transition: 0.3s ease-in-out;
}
#footerBnr a:hover img {
	filter: brightness(160%);
}
p.shopseal {
    width: 45%;
    font-size: 3rem;
    font-weight: 600;
    color: #29893a;
    line-height: 3.5rem;
    padding: 1.5rem;
    background: #fff;
    margin: 3.5rem 0 0;
    border: solid 2px #29893a;
}
@media screen and (max-width: 480px) {
    p.shopseal {
        font-size: 1.5rem;
        line-height: 2rem;
        margin: 1.5rem 0 0;
        padding: 0.5rem 1rem;
    }
}
p.caution {
    color: #fff;
    font-size: 2rem;
    padding-top: 2rem;
}
@media screen and (max-width: 480px) {
    p.caution {
        font-size: 1.2rem;
        padding-top: 1rem;
    }  
}
.reflection{
display:inline-block;
position:relative;
overflow:hidden;
}
.reflection:after {
content:"";
height:100%;
width:30px;
position:absolute;
top:-180px;
left:0;
background-color: #fff;
opacity:0;
-webkit-transform: rotate(45deg);
-webkit-animation: reflection 2s ease-in-out infinite;
}
@keyframes reflection {
0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
div.karte-widget__container,div._karte-temp-btn__1ajW_ {
    display: none!important;
}



/* =============== FA-I ============================== */

/* Base Settings
---------------------------------------- */
body {
	background: linear-gradient(90deg, #5C5C5C 0%, #999 50%, #5C5C5C 100%);
	letter-spacing: .05em;
}
main {
	background-color: #FFF;
}
img {
	max-width: 100%;
}

/* Common
---------------------------------------- */
.l_container {
	width: min(65rem, calc((325 / 375) * 100vw));
	margin-inline: auto;
}
.ttl {
	background-color: #6F1A4D;
}

/* Header
---------------------------------------- */
header {
	height: calc((40 / 16) * 1em);
	margin-bottom: calc((40 / 16) * -1em);
	font-size: min(3.2rem, calc((16 / 375) * 100vw));
}
.button_lineup {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	width: min(280px, calc((130 / 375) * 100vw));
	height: 100%;
	background: linear-gradient(90deg, #f8e310 0%, #ffa252 100%);
	display: flex;
	justify-content: center;
	align-items: center;
	transition: opacity .3s ease;

	&::after {
		content: "";
		width: .5em;
		aspect-ratio: 8 / 7;
		background-color: currentColor;
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		margin-left: .5em;
	}
	@media (hover: hover) {
		&:hover {
			color: currentColor;
			opacity: .9;
		}
	}
}

/* Kv
---------------------------------------- */
.kv {
	aspect-ratio: 375 / 600;
	padding: min(20px, calc((10 / 375) * 100vw));
	background: linear-gradient(90deg, #161A1D 0%, #242A2D 50%, #161A1D 100%);
}
.kv_inner {
	width: 100%;
	height: 100%;
	border: solid min(14px, calc((7 / 375) * 100vw));
	border-image: linear-gradient(90deg, #797679 0%, #FDFDFD 50%, #6A676A 100%);
	border-image-slice: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
@media screen and (max-width: 480px) {
}

/* Intro
---------------------------------------- */
.intro {
	background-color: #161A1D;
	color: #FFF;
}
.intro_inner_lg {
	width: calc((345 / 375) * 100%);
	margin-inline: auto;
	padding: min(100px, calc((50 / 375) * 100%)) 0 min(8rem, calc((40 / 375) * 100%));
}
.intro_title {
	width: calc((241 / 330) * 100%);
	margin-inline: auto;

	img {
		width: 100%;
		height: auto;
	}
}
.intro_copy {
	margin: 1.2em 0;
	line-height: 1.4;
	text-align: center;
	font-size: min(3.6rem, calc((18 / 375) * 100vw));
	font-weight: 700;
}
.intro_info {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 calc((15 / 330) * 100%);

	dl {
		border: solid 2px #28893A;
		background-color: #FFF;
		text-align: center;

		dt {
			padding: .3em;
			background-color: #28893A;
			font-size: min(3.6rem, calc((18 / 375) * 100vw));
			font-weight: 700;
		}
		dd {
			padding: .7em 0;
			background-color: #FFF;
			font-size: min(3.4rem, calc((17 / 375) * 100vw));
			font-weight: 700;
			color: #0E132B;

			strong {
				font-size: min(5.2rem, calc((26 / 375) * 100vw));
			}
			span {
				font-size: min(3rem, calc((15 / 375) * 100vw));
			}
		}
	}
}
.intro_inner_sm {
	width: calc((330 / 375) * 100%);
	margin-inline: auto;
	padding-bottom: min(12rem, calc((60 / 375) * 100%));
}
.intro_subttl {
	padding: min(4rem, calc((20 / 375) * 100vw));
	border-style: solid;
	border-width: min(.6rem, calc((3 / 375) * 100vw)) 0;
	border-image: linear-gradient(90deg, #272727 0%, #777 50%, #272727 100%);
	border-image-slice: 1;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	line-height: 1;
	font-size: min(5rem, calc((25 / 375) * 100vw));

	img {
		width: min(26.8rem, calc((134 / 375) * 100vw));
	}
}
.intro_text {
	margin-top: 1em;
	line-height: 2;
	text-align: justify;
	font-size: min(3rem, calc((15 / 375) * 100vw));
}

/* Consultation
---------------------------------------- */
.consultation_block01 {
	padding: min(8rem, calc((40 / 375) * 100vw)) min(5rem, calc((25 / 375) * 100vw)) min(5rem, calc((25 / 375) * 100vw));
	background-color: #5C5C5C;
	color: #FFF;

	p {
		position: relative;
		margin-bottom: 1em;
		padding: .8em;
		background-color: #28893A;
		text-align: center;
		font-size: min(3.4rem, calc((17 / 375) * 100vw));
		font-weight: 700;
		color: #FFF;

		&::after {
			content: "";
			position: absolute;
			bottom: -.6em;
			left: calc(50% - .4em);
			width: .8em;
			height: .6em;
			background-color: #28893A;
			clip-path: polygon(0 0, 100% 0, 50% 100%);
		}
	}
	h2 {
		margin-bottom: .5em;
		text-align: center;
		font-size: min(5.4rem, calc((27 / 375) * 100vw));
		font-weight: 900;

		strong {
			color: #FFEE00;
			font-weight: 900;
		}
	}
	ul {
		li {
			position: relative;
			margin-top: .4em;
			padding-left: 1.2em;
			font-size: min(3.4rem, calc((17 / 375) * 100vw));
			font-weight: 500;
			letter-spacing: .15em;

			&::before {
				content: "";
				position: absolute;
				top: .4em;
				left: 0;
				width: .82em;
				aspect-ratio: 1;
				border-radius: 50%;
				background-color: #28893A;
			}
		}
	}
}
.consultation_block02 {
	position: relative;
	padding: min(12rem, calc((60 / 375) * 100vw)) min(5rem, calc((25 / 375) * 100vw)) min(5rem, calc((25 / 375) * 100vw));
	background: linear-gradient(#D9D9D9, #FFF);

	&::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		aspect-ratio: 375 / 40;
		background-color: #5C5C5C;
		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	p:first-child {
		text-align: center;
		font-size: min(4.4rem, calc((22 / 375) * 100vw));
		font-weight: 900;
		color: #29893A;
	}
	h3 {
		margin: .5em 0;
		padding-bottom: .2em;
		border-bottom: solid 2px currentColor;
		text-align: center;
		font-size: min(5.4rem, calc((28 / 375) * 100vw));
		font-weight: 900;
		color: #000;
	}
	p:last-child {
		line-height: calc(25 / 15);
		text-align: justify;
		font-size: min(3rem, calc((15 / 375) * 100vw));
	}
}

/* Feature
---------------------------------------- */
.feature {
	padding-bottom: min(12rem, calc((60 / 375) * 100vw));
	background-color: #060000;
	color: #FFF;
}
.feature_header {
	width: calc((325 / 375) * 100%);
	margin-inline: auto;
	padding: min(10rem, calc((50 / 375) * 100vw)) 0;

	p {
		position: relative;
		margin-bottom: 1em;
		padding: .7em 0;
		background: linear-gradient(#FFF, #D6D6D6);
		text-align: center;
		font-size: min(4.6rem, calc((23 / 375) * 100vw));
		font-weight: 700;
		color: #000;

		&::after {
			content: "";
			position: absolute;
			bottom: -.6em;
			left: calc(50% - .4em);
			width: .8em;
			height: .6em;
			background-color: #D6D6D6;
			clip-path: polygon(0 0, 100% 0, 50% 100%);
		}
		> strong {
			font-size: calc((30 / 23) * 1em);

			strong {
				font-size: calc((33 / 30) * 1em);
			}
		}
	}
	h2 {
		line-height: 1.4;
		text-align: center;
		font-size: min(5rem, calc((25 / 375) * 100vw));

		strong {
			color: #FFEE00;
		}
		em {
			font-size: calc((30 / 25) * 1em);
		}
	}
}
.feature_block {
	h3 {
		margin-bottom: 1em;
		line-height: 1.4;
		text-align: center;
		font-size: min(3.6rem, calc((18 / 385) * 100vw));
		font-weight: 700;

		strong {
			font-size: calc((28 / 18) * 1em);
		}
	}
	figure {
		figcaption:first-child {
			text-align: center;
			font-size: min(3.6rem, calc((18 / 375) * 100vw));
			font-weight: 700;
		}
	}
}
.feature_text {
	margin-top: 1em;
	line-height: calc(25 / 15);
	/* text-align: justify; */
	font-size: min(3rem, calc((15 / 375) * 100vw));
	letter-spacing: .05em;

	strong {
		font-weight: 400;
		color: #FFEE00;
	}
}
.feature_box01 {
	margin-bottom: min(14rem, calc((70 / 375) * 100vw));
}
.feature_box02 {
	position: relative;
	margin-bottom: min(18rem, calc((90 / 375) * 100vw));

	div {
		position: absolute;
		top: calc((252 / 495) * 100%);
		left: calc((55 / 375) * 100%);
		width: calc((295 / 375) * 100%);
	}
	h4 {
		font-size: min(4.8rem, calc((24 / 375) * 100vw));

		strong {
			font-size: calc((40 / 24) * 1em);
		}
	}
	p:last-child {
		margin-top: calc((36 / 15) * 1em);
	}
}
.feature_box03 {
	padding-top: min(9.2rem, calc((48 / 375) * 100vw));

	p {
		width: calc((325 / 375) * 100%);
		margin-inline: auto;
	}
}
.feature_comment {
	width: calc((325 / 375) * 100%);
	margin-top: min(8rem, calc((40 / 375) * 100vw));
	margin-inline: auto;
	border: solid 1px #FFF;

	h4 {
		padding: .3em;
		background-color: #FFF;
		text-align: center;
		font-size: min(4.4rem, calc((22 / 375) * 100vw));
		color: #000;
	}
	figure {
		position: relative;

		figcaption {
			position: absolute;
			top: 50%;
			left: 5%;
			transform: translateY(-50%);
			font-size: min(3rem, calc((15 / 375) * 100vw));
			letter-spacing: .05em;
			color: #000;

			strong {
				font-size: calc((18 / 15) * 1em);
			}
		}
	}
	p {
		width: calc((285 / 325) * 100%);
		margin-inline: auto;
		margin-bottom: 1em;
	}
}
.feature_hr {
	border: none;
	width: 100%;
	height: min(.6rem, calc((3 / 375) * 100vw));
	margin: min(14rem, calc((70 / 375) * 100vw)) 0;
	background: linear-gradient(90deg, #272727 0%, #777 50%, #272727 100%);
}

/* Campaign
---------------------------------------- */
.campaign {
	padding-bottom: min(6rem, calc((30 / 375) * 100vw));
	background-color: #3E3E3E;
}
.campaign_inner {
	width: calc((335 / 375) * 100%);
	margin: min(6rem, calc((30 / 375) * 100vw)) auto 0;
	padding: min(4rem, calc((20 / 375) * 100vw));
	border: solid 1px #707070;
	background: linear-gradient(#F7F7F7, #DDD);
}
.campaign_point {
	text-align: center;
}
.campaign_copy01 {
	margin-bottom: .5em;
	line-height: calc(31 / 22);
	text-align: center;
	font-size: min(4.4rem, calc((22 / 375) * 100vw));
	font-weight: 700;
}
.campaign_copy02 {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: flex-end;
	line-height: 1;
	text-align: center;

	> span {
		position: absolute;
		top: .2em;
		right: 0;
		font-size: min(4.6rem, calc((23 / 375) * 100vw));
		font-weight: 900;
	}
	> strong {
		margin-right: .1em;
		font-family: 'Oswald', sans-serif;
		font-size: min(11.4rem, calc((57 / 375) * 100vw));
		color: #D70427;

		strong {
			font-size: calc((98 / 57) * 1em);
		}
	}
	> em {
		width: min(23.6rem, calc((118 / 375) * 100vw));
		transform: translateY(-.2em);

		img {
			width: 100%;
			height: auto;
		}
	}
}
.campaign_more {
	margin: 1em 0 .7em;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: .5em;
	font-size: min(4rem, calc((20 / 375) * 100vw));
	font-weight: 700;

	&::before, &::after {
		content: "";
		height: 0;
		border-top: solid 2px currentColor;
	}
}
.campaign_item {
	margin-top: 1em;
	line-height: calc(23 / 14);
	font-size: min(2.8rem, calc((14 / 375) * 100vw));
}
.campaign_notes {
	line-height: calc(23 / 12);
	font-size: min(2.4rem, calc((12 / 375) * 100vw));
}
.campaign_date {
	margin-top: min(3.2rem, calc((16 / 375) * 100vw));
	text-align: center;

	div {
		display: inline-block;
		padding: .3em 1em .5em;
		background-color: #000;
		line-height: 1;
		font-size: min(4.2rem, calc((21 / 375) * 100vw));
		font-weight: 900;
		color: #FFF;

		strong {
			margin: 0 .1em;
			font-size: calc((29 / 21) * 1em);
		}
	}
	p {
		margin: 1em 0;
		text-align: center;
		font-size: min(2.3rem, calc((13 / 375) * 100vw));
	}
}

/* LineUp
---------------------------------------- */
.lineup_inner {
	padding: min(4.8rem, calc((24 / 375) * 100vw)) 0 min(11.6rem, calc((58 / 375) * 100vw));
	letter-spacing: 0;

}
.lineup_image {
	position: relative;
	margin-bottom: min(2.2rem, calc((11 / 375) * 100vw));

	figcaption {
		position: absolute;
		bottom: 0;
		left: 0;
		width: min(31.6rem, calc((158 / 375) * 100vw));
	}
}
.lineup_item_name {
	width: calc((153 / 158) * 100%);
	margin-bottom: min(5rem, calc((25 / 375) * 100vw));

	img {
		display: block;
		width: 100%;
	}
	span {
		display: block;
		margin-top: .5em;
		font-size: min(2.8rem, calc((14 / 375) * 100vw));
		font-weight: 700;
	}
}
.lineup_item_caption {
	margin-top: .8em;
	font-size: min(2.4rem, calc((12 / 375) * 100vw));
}
.lineup_item_price {
	li {
		display: flex;
		justify-content: flex-end;
		align-items: baseline;

		span {
			font-size: min(2.4rem, calc((12 / 375) * 100vw));
		}
		> strong {
			width: 52%;
			text-align: right;
			font-family: 'Oswald', sans-serif;
			font-size: min(4.4rem, calc((22 / 375) * 100vw));

			&::before {
				content: "㋱";
				margin-right: .2em;
				font-family: 'Noto Sans JP', sans-serif;
				font-size: min(2.4rem, calc((12 / 375) * 100vw));
				font-weight: 400;
			}
			strong {
				font-size: calc((30 / 22) * 1em);
			}
			&::after {
				content: "（税込）";
				font-family: 'Noto Sans JP', sans-serif;
				font-size: min(2.4rem, calc((12 / 375) * 100vw));
				font-weight: 400;
			}
		}
	}
}
.lineup_detail {
	margin-top: min(5.6rem, calc((28 / 375) * 100vw));

	img {
		width: 100%;
	}
	figcaption {
		margin-top: 1em;
		font-size: min(2rem, calc((10 / 375) * 100vw));
	}
}
.lineup_button {
	margin-bottom: min(3rem, calc((15 / 375) * 100vw));
}
.lineup_text {
	margin-top: .5em;
	font-size: min(2.4rem, calc((12 / 375) * 100vw));
}

.pickupLink {
	background-color: #3A3B3C;
}
#footerBnr {
	bottom: min(3rem, calc((15 / 375) * 100vw));
	
	a {
		width: min(71rem, calc((355 / 375) * 100vw));

		img {
			width: 100%;
		}
	}
}
