@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_body.jpg");
	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 240px;
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
	text-align: center;
}
@media screen and (max-width: 480px) {
	footer {
		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;
}


/* -----------------------------------------------
 [3. 2025onoff_womens(レイアウト)]
-------------------------------------------------- */
.body {
	background: url(../images/bg_body.jpg) center top fixed repeat-x #E0E0E0;
	font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 480px) {
	.body {
		background-image: none;
	}
}
main {
	background-color: #fff;
}
img {
	max-width: 100%;
}

/* header */
header {
	z-index: 1;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.lineupLink {
	position: relative;
	margin: .5em .6em 0 0;
	padding: .4em .5em .4em 1em;
	border: solid 1px #6737B4;
	border-radius: 3em;
	background: linear-gradient(120deg, #4C0CDC 10%, #8681FF 40%, #5D18AD 100%);
	font-family: "Noto Sans JP", sans-serif;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 3rem;
	font-weight: 500;
	text-shadow: -.05em -.05em 0 #42416E;
	transition: .3s ease;
}
@media screen and (max-width: 480px) {
	.lineupLink {
		font-size: 1.5rem;
	}
}
.lineupLink:active,
.lineupLink:visited,
.lineupLink:focus {
	filter: none;
	color: #fff;
}
.lineupLink:hover {
	filter: brightness(120%);
	color: #fff;
}
.lineupLink::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: solid 1px #9769DE;
	border-radius: 3em;
}
.lineupLink::after {
	content: "";
	width: .5em;
	height: .3em;
	margin-left: .3em;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	background-color: currentColor;
}

/* kv */
.kv {
	position: relative;
}
.kv::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 50%;
	background: linear-gradient(to bottom, rgba(54, 72, 42, 0.3), rgba(54, 72, 42, 0));
}
.kv__copy {
	position: absolute;
	top: 11%;
	left: 0;
	width: 100%;
}
.kv__copy div {
	width: 29.33%;
	margin: 0 2.5% 0 auto;
}
.kv__copy div img {
	width: 100%;
	height: auto;
}
.kv__copy h1 {
	width: 84.5%;
	margin: 11% auto 0;
}

/* section */
.section {
	position: relative;
}
.section::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	aspect-ratio: 375 / 200;
	background: url(../images/section_bg.png) left top / cover no-repeat;
	mix-blend-mode: multiply;
}
.section > * {
	position: relative;
}

/* ttl */
.ttl {
	height: 14.5em;
	display: flex;
	justify-content: center;
	flex-direction: column;
	font-size: 2rem;
}
@media screen and (max-width: 480px) {
	.ttl {
		font-size: 1rem;
	}
}
.ttl h2 {
	margin: 0;
	padding: 0;
	font-family: "Cormorant", serif;
	font-size: 2.5em;
	font-weight: 600;
	color: #68359B;
}
.ttl p {
	margin-top: .77em;
	font-family: "Noto Serif JP", serif;
	font-size: 1.3em;
	font-weight: 400;
	color: #000;
}

/* intro */
.intro {
	padding: 17% 5%;
	background: linear-gradient(to bottom, #E2D9EB, #B297D5);
	text-align: center;
	font-size: 2rem;
}
@media screen and (max-width: 480px) {
	.intro {
		font-size: 1rem;
	}
}
.intro::before {
	background-image: url(../images/intro_bg.jpg);
	mix-blend-mode: color-burn;
}
.intro__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 3.5em;
	font-weight: 400;
	color: #4E377B;
}
.intro__title::after {
	content: "";
	display: block;
	width: 100%;
	height: .28em;
	margin-top: .5em;
	background: url(../images/intro_colors.svg) center center / contain no-repeat;
}
.intro__copy {
	margin: 1em 0 3em;
	line-height: 1.4;
	font-family: "Noto Serif JP", serif;
	font-size: 1.8em;
}
.intro__copy span {
	display: block;
	margin-bottom: .5em;
}
.intro__copy strong {
	font-size: 1.27em;
	font-weight: 400;
}

/* DESIGN */
.design__block {
	margin-bottom: 15%;
	font-size: 2rem;
}
@media screen and (max-width: 480px) {
	.design__block {
		font-size: 1rem;
	}
}
.design__block:last-child {
	margin-bottom: 0;
}
.design__inner {
	width: 90%;
	margin: 0 auto;
}
.design__inner.mt {
	margin-top: 5em;
}
.design__subttl {
	line-height: 1.4;
	font-size: 2.5em;
	font-weight: 400;
}
.design__subttl.center {
	text-align: center;
}
.design__subttl.mb {
	margin-bottom: 1.2em;
}
.design__copy {
	margin-top: 1em;
	line-height: 1.78;
	font-size: 1.4em;
}
.design__text {
	line-height: 1.9;
	font-size: 1.3em;
}
.design__text.center {
	text-align: center;
}
.design__notes {
	margin-top: .5em;
	line-height: 1.6;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.1em;
}
.design__notes li {
	position: relative;
	margin-top: .25em;
	padding-left: 1.2em;
}
.design__notes li.purple {
	color: #68359B;
}
.design__notes li.tgreen {
	color: #227797;
}
.design__notes li::before {
	content: "※";
	position: absolute;
	left: 0;
}
.design__itemName strong {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5em;
}
.design__itemName span {
	display: block;
	margin-top: .5em;
	line-height: 1.63;
	font-size: 1.1em;
}
.design__img02 {
	position: relative;
	margin-top: 2em;
}
.design__img02 figcaption {
	position: absolute;
	top: 2em;
	left: 5%;
}
.design__img03 {
	position: relative;
	margin: -5% 0 5em 5%;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-end;
}
.design__img03 img {
	width: 63%;
}
.design__img05 {
	margin-top: 3em;
}
.design__slider {
	position: relative;
	margin-top: 2em;
}
.design__slider .slick-arrow {
	position: absolute;
	display: block;
	background: url(../images/slick_arrow_on.svg);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	top: calc(50% - 1.25em);
	width: 1.5em;
	height: 2.5em;
}
.design__slider .type-2 .slick-arrow {
	top: 38%;
}
.design__slider .slick-arrow.slick-disabled {
	background-image: url(../images/slick_arrow_off.svg);
	cursor: default;
}
.design__slider .slick-arrow.prevBtn {
	left: 2.6%;
}
.design__slider .slick-arrow.nextBtn {
	right: 2.6%;
	transform: scaleX(-1);
}
.design__slider .slider__info {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 0 5%;
}
.design__slider .customDots .slick-dots li {
	display: inline-block;
	margin-right: .5em;
}
.design__slider .customDots .slick-dots li button {
	position: relative;
	width: 2.2em;
	height: 2.2em;
	border: solid .2em #fff;
	border-radius: 50%;
	background-color: currentColor;
}
.design__slider .customDots .slick-dots li button::before {
	content: "";
	position: absolute;
	display: block;
	top: -.2em;
	left: -.2em;
	width: calc(100% + .4em);
	height: calc(100% + .4em);
	border: solid .1em #fff;
	border-radius: 50%;
	opacity: .6;
}
.design__slider .customDots .slick-dots li.slick-active button::before {
	border-color: currentColor;
}
.design__slider .customDots.type-1 .slick-dots li button.dot-1 { color: #4E377B; }
.design__slider .customDots.type-1 .slick-dots li button.dot-2 { color: #558ED4; }
.design__slider .customDots.type-1 .slick-dots li button.dot-3 { color: #529EB1; }
.design__slider .customDots.type-2 .slick-dots li button.dot-1 { color: #4E377B; }
.design__slider .customDots.type-2 .slick-dots li button.dot-2 { color: #D46968; }
.design__slider .customDots.type-2 .slick-dots li button.dot-3 { color: #558ED4; }
.design__slider .customDots.type-2 .slick-dots li button.dot-4 { color: #529EB1; }
.design__slider .design__price {
	margin-top: 1em;
}
.design__slider .design__price li {
	margin-top: .5em;
	font-size: 1.3em;
}

/* TECHNOLOGY */
.tech__block {
	width: 90%;
	margin: 5em auto 0;
	font-size: 2rem;
}
@media screen and (max-width: 480px) {
	.tech__block {
		font-size: 1rem;
	}
}
.tech__block.mt0 {
	margin-top: 0;
}
.tech__copy {
	text-align: center;
	font-size: 2.3em;
}
.tech__subttl .number {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.8em;
	font-weight: 500;
	color: #68359B;
}
.tech__subttl .number span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1.66em;
	height: 1.66em;
	margin-left: .4em;
	padding-bottom: .1em;
	background: url(../images/tech_num.svg) center center / contain no-repeat;
	line-height: 1;
	font-size: 1.28em;
	font-weight: 700;
	color: #fff;
}
.tech__subttl .text {
	margin-top: .5em;
	line-height: 2;
	text-align: center;
	font-size: 1.7em;
	font-weight: 400;
}
.tech__img {
	margin-top: 2.5em;
}
.tech__minittl {
	margin: 2.5em 0 1em;
	text-align: center;
	font-size: 1.7em;
	color: #8EC31F;
}
.tech__table {
	width: 100%;
	font-family: "Noto Sans JP", sans-serif;
}
.tech__table caption {
	text-align: left;
	font-size: 1.3em;
}
.tech__table th,
.tech__table td {
	width: 28%;
	padding: .8em 0;
	border-bottom: solid .1em #D6D6D6;
	font-size: 1.1em;
	font-weight: 400;
}
.tech__table thead th {
	padding-top: 0;
	vertical-align: bottom;
}
.tech__table thead th:first-child,
.tech__table tbody th:first-child {
	width: 16%;
	text-align: left;
}
.tech__table thead th img {
	display: block;
	width: 5em;
	margin: 0 auto .2em;
}
.tech__table thead th strong {
	display: block;
	margin-bottom: .3em;
	font-size: 1.54em;
}
.tech__table tbody td {
	text-align: center;
}
.tech__table tbody td strong {
	font-size: 1.45em;
}
.tech__subcopy {
	margin: 1.3em 0 2.3em;
	line-height: 1.9;
	text-align: center;
	font-size: 1.3em;
}
.tech__subcopy strong {
	color: #91C120;
}

/* LINE UP */
.lineup {
	background-color: #efefef;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2rem;
}
@media screen and (max-width: 480px) {
	.lineup {
		font-size: 1rem;
	}
}
.lineup__block {
	padding-top: 3em;
}
.lineup__block figure {
	position: relative;
}
.lineup__block figure figcaption {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 0 5%;
}
.lineup__name {
	margin-bottom: .25em;
	line-height: .95;
	font-family: "Cormorant", serif;
	font-size: 4em;
	font-weight: 500;
	color: #68369B;
}
.lineup__price {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
}
.lineup__price dt {
	width: 50%;
	padding-bottom: .5em;
	font-size: 1.2em;
	color: #505050;
}
.lineup__price dd {
	width: 50%;
	text-align: right;
	color: #411E6B;
}
.lineup__price dd small {
	font-size: 1.2em;
}
.lineup__price dd strong {
	padding-left: .1em;
	font-family: "Oswald", sans-serif;
	font-size: 3em;
}
.lineup__price dd strong span {
	font-size: .73em;
}
.lineup__btnarea {
	padding: 1em 5% 10%;
	background-color: #C7BCDD;
}
.lineup__btnarea a {
	height: 3.33em;
	display: flex;
	justify-content: center;
	align-items: center;
	border: solid 1px #69379B;
	background-color: #69379B;
	font-size: 1.5em;
	font-weight: 700;
	color: #fff;
	transition: .3s ease-in-out;
}
.lineup__btnarea a:hover {
	background-color: #fff;
	color: #69379B;
}
.lineup__btnarea p {
	margin-top: 1em;
	font-size: 1.2em;
	color: #505050;
}





/* YOUTUBE */
.youtube {
	padding-top: 0;
	background-color: transparent;
	font-size: 2rem;
}
@media screen and (max-width: 480px) {
	.youtube {
		font-size: 1rem;
	}
}
.youtube p {
	margin-top: 2em;
	line-height: 1.9;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.3em;
}

/* MAGAZINE */
.magazine {
	padding-top: 0;
	background-color: transparent;
	font-size: 2rem;
}
@media screen and (max-width: 480px) {
	.magazine {
		font-size: 1rem;
	}
}
.magazine p {
	margin-top: 2em;
	line-height: 1.9;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.3em;
}

/* BLOG */
.staffBlog {
	padding-top: 0;
	background-color: transparent;
}
.homeBlogEntries__entry__link .homeBlogEntries__entry__image {
	margin-bottom: 0;
}
.homeBlogEntries__entry__link .content-entry {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2rem;
}
@media screen and (max-width: 480px) {
	.homeBlogEntries__entry__link .content-entry {
		font-size: 1rem;
	}
}
.homeBlogEntries__entry__link .homeBlogEntries__entry__date {
	margin-bottom: .75em;
	font-weight: 500;
	color: #68359B;
}
.homeBlogEntries__entry__link .homeBlogEntries__entry__title {
	padding-bottom: 1em;
	line-height: 1.4;
	font-size: 1.3em;
	font-weight: 500;
}
.homeBlogEntries__entry__link .homeBlogEntries__entry__name {
	padding: 0 1em;
	border: none;
	text-align: left;
	font-size: 1em;
	color: #68359B;
}

/* staffBlogLink */
.staffBlogLink {
	border-color: #69379B;
	background-color: #69379B;
	font-family: "Noto Sans JP", sans-serif;
	color: #fff;
}
.staffBlogLink:hover {
	color: #69379B;
}
.staffBlogLink:hover::after {
	border-color: #69379B;
}

.pickupLink li a {
	font-family: "Noto Sans JP", sans-serif;
}

/* footer */
footer {
	padding-bottom: 100px;
}
@media screen and (max-width: 480px) {
	footer {
		padding-bottom: 50px;
	}
}