@charset "UTF-8";
/* **********************************************
	トップページスタイル
		Header / Footer 
	
	スマホ(max-width: 768px)
	タブレット（min-width: 768px）and(max-width:960px)
	PC（min-width: 960px）
	
 ********************************************** */
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
}
/* =================================================
	本文エリア
 ================================================= */
#wrapper .contents {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto;
	padding: 0px;
	text-align: center;
	background: #fff;
	position: relative;
	z-index: 0;
}
.concept-bg-lazy {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background-position: left -10px bottom;
	background-repeat: no-repeat;
	background-size: 160% auto;
	/* 背景画像はここでは書かない！JSで後からつける */
}
#wrapper .contents::after {
	content: "";
	background-color: rgba(255,255,255,0.3);
	width: 100%;
	height: 100%;
	display:block;
	margin: auto;
	padding: 0px;
	position: absolute;
	top: auto;
	bottom: 0px;
	left: 0px;
	right: 0px;
	z-index: -1;
}
/* 白ƒ背景 */
#wrapper .contents_inner {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto;
	padding: 0px;
	text-align: center;
	background: #fff;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	.concept-bg-lazy {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
		background-position: left bottom;
		background-repeat: no-repeat;
		background-size: 100% auto;
		/* 背景画像はここでは書かない！JSで後からつける */
	}
	#wrapper .contents::after {
		content: "";
		background-color: rgba(255,255,255,0.5);
		width: 100%;
		height: 100%;
		display:block;
		margin: auto;
		padding: 0px;
		position: absolute;
		top: auto;
		bottom: 0px;
		left: 0px;
		right: 0px;
		z-index: -1;
	}
}
/* =================================================
	MV Area
 ================================================= */
.mvArea {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto 70px;
	padding: 0px;
	text-align: center;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	.mvArea {
		width: 100%;
		height: auto;
		display: block;
		margin: 0px auto 120px;
		padding: 0px;
		text-align: center;
	}
}
/* =================================================
	MV swiper
 ================================================= */
.mvswiper {
	width: 100%;
	height: 570px;
	margin: 0px auto;
	padding: 0px;
	text-align: center;
}
.mvswiper .swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}
.mvswiper .swiper-slide a {
	margin: 0px;
	padding: 0px;
}
.mvswiper .swiper-slide img {
	width: 100%;
	height: 570px;
	object-fit: cover;
}
.mvswiper .swiper-slide-active a .swiper-img,
.mvswiper .swiper-slide-duplicate-active a .swiper-img,
.mvswiper .swiper-slide-prev a .swiper-img {
	transform: scale(1);
	transition: all 0.7s ease;
}
.mvswiper .swiper-slide-active a:hover .swiper-img,
.mvswiper .swiper-slide-duplicate-active a:hover .swiper-img,
.mvswiper .swiper-slide-prev a:hover .swiper-img {
	transform: scale(1.02);
}
/* カスタマイズ ＞ ページネーション */
.mvswiper .swiper-horizontal>.swiper-pagination-bullets,
.mvswiper .swiper-pagination-bullets.swiper-pagination-horizontal,
.mvswiper .swiper-pagination-custom, .swiper-pagination-fraction {
	width: auto;
	top: var(--swiper-pagination-top, auto);
	bottom: var(--swiper-pagination-bottom, 20px);
	left: auto;
	right: 30px;
}
/* カスタマイズ ＞ ページネーションのサイズと色 */
.mvswiper .swiper-pagination-bullet {
	background-color: #fff;
	height: 10px;
	width: 10px;
}
/* 前への矢印 */
.mvswiper .swiper-button-prev {
	display: block;
	left: 3%;
	transition: all 0.3s ease;
}
.mvswiper .swiper-button-prev:after {
	content: '';
	width: 16px;
	height: 16px;
	border: 0;
	border-top: solid 2px #fff;
	border-left: solid 2px #fff;
	transform: rotate(-45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: auto;
	margin: auto;
	z-index: 10; /* 前に出す */
}
/* 次への矢印 */
.mvswiper .swiper-button-next {
	display: block;
	right: 3%;
	transition: all 0.3s ease;
}
.mvswiper .swiper-button-next:after {
	content: '';
	width: 16px;
	height: 16px;
	border: 0;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	left: auto;
	right: 0;
	margin: auto;
	z-index: 10; /* 前に出す */
}
.mvswiper .swiper-button-next,
.mvswiper .swiper-button-prev {
	display: block;
	--swiper-navigation-color: #fff!important;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* 前への矢印 */
	.mvswiper .swiper-button-prev {
		display: block;
		left: 5%;
		transition: all 0.3s ease;
	}
	.mvswiper .swiper-button-prev:hover {
		display: block;
		left: 4%;
	}
	.mvswiper .swiper-button-prev:before {
		content: '';
		width: 60px;
		height: 60px;
		background: rgba(30, 34, 170,0.35);
		border-radius: 50%;
		position: absolute;
		top: 0;
		bottom: 0;
		left: -20px;
		right: auto;
		margin: auto;
		z-index: 5; /* 前に出す */
		transition: all 0.3s ease;
	}
	.mvswiper .swiper-button-prev:hover:before {
		background: rgba(30, 34, 170,0.75);
	}
	.mvswiper .swiper-button-prev:after {
		content: '';
		width: 20px;
		height: 20px;
		border: 0;
		border-top: solid 2px #fff;
		border-left: solid 2px #fff;
		transform: rotate(-45deg);
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 10; /* 前に出す */
	}
	/* 次への矢印 */
	.mvswiper .swiper-button-next {
		display: block;
		right: 5%;
		transition: all 0.3s ease;
	}
	.mvswiper .swiper-button-next:hover {
		display: block;
		right: 4%;
	}
	.mvswiper .swiper-button-next:before {
		content: '';
		width: 60px;
		height: 60px;
		background: rgba(30, 34, 170,0.35);
		border-radius: 50%;
		position: absolute;
		top: 0;
		bottom: 0;
		left: auto;
		right: -20px;
		margin: auto;
		z-index: 5; /* 前に出す */
		transition: all 0.3s ease;
	}
	.mvswiper .swiper-button-next:hover:before {
		background: rgba(30, 34, 170,0.75);
	}
	.mvswiper .swiper-button-next:after {
		content: '';
		width: 20px;
		height: 20px;
		border: 0;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		transform: rotate(45deg);
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 10; /* 前に出す */
	}
	.mvswiper .swiper-button-next,
	.mvswiper .swiper-button-prev {
		display: block;
		--swiper-navigation-color: #fff!important;
	}
}
/* =================================================
	NEWSエリア
 ================================================= */
#wrapper .newsArea {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto;
	padding: 0px;
	position: relative;
	z-index: 1;
}
/* 下の丸 */
#wrapper .newsArea::before {
	content: "";
	width: 296px;
	height: 296px;
	display: block;
	margin: auto;
	padding: 0px;
	border-radius: 50%;
	background: rgba(211,212,255,0.2);
	position: absolute;
	top: -55px;
	bottom: auto;
	left: -75px;
	right: auto;
	z-index: -1;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	#wrapper .newsArea {
		width: 100%;
		max-width: 730px;
		height: auto;
		display: inline-block;
		margin: -15px 60px 0px auto;
		padding: 0px;
		position: relative;
		z-index: 1;
	}
	/* 下の丸 */
	#wrapper .newsArea::before {
		content: "";
		width: 350px;
		height: 350px;
		display: block;
		margin: auto;
		padding: 0px;
		border-radius: 50%;
		background: rgba(211,212,255,0.2);
		position: absolute;
		top: -55px;
		bottom: auto;
		left: -75px;
		right: auto;
		z-index: -1;
	}
}
/* 見出し */
.newsArea .mds,
.releaseArea .mds,
.productArea .mds,
.supportArea .mds {
	width: 90%;
	height: auto;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin: 0px auto;
	padding: 0px;
	text-align: left;
}
.newsArea .mds h2,
.releaseArea .mds h2,
.productArea .mds h2,
.supportArea .mds h2 {
	font-size: 48px;
	font-weight: 500;
	line-height: 60px;
	color: #d64045;
	white-space: nowrap;
}
.newsArea .mds h2 .h2-jp,
.releaseArea .mds h2 .h2-jp,
.supportArea .mds h2 .h2-jp {
	margin: 0px auto;
	padding: 0px 0px 10px 10px;
	font-size: 16px;
	font-weight: 400;
	line-height: 21px;
	color: #939393;
	white-space: nowrap;
	letter-spacing: 0.0125em;
}
.productArea .mds h2 .h2-jp {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto;
	padding: 0px 0px 10px 0px;
	font-size: 16px;
	font-weight: 400;
	line-height: 21px;
	color: #939393;
	white-space: nowrap;
	letter-spacing: 0.0125em;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* 見出し */
	.newsArea .mds,
	.releaseArea .mds,
	.productArea .mds,
	.supportArea .mds {
		width: 100%;
		max-width: 1100px;
		height: auto;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin: 0px auto;
		padding: 0px;
		text-align: left;
	}
	.newsArea .mds h2,
	.releaseArea .mds h2,
	.productArea .mds h2,
	.supportArea .mds h2 {
		font-size: 60px;
		font-weight: 400;
		line-height: 60px;
		color: #d64045;
	}
	.newsArea .mds h2 .h2-jp,
	.releaseArea .mds h2 .h2-jp,
	.productArea .mds h2 .h2-jp,
	.supportArea .mds h2 .h2-jp {
		margin: 0px auto;
		padding: 0px 0px 10px 30px;
		font-size: 21px;
		font-weight: 300;
		line-height: 21px;
		color: #939393;
		letter-spacing: 0.0125em;
	}
	.productArea .mds h2 .h2-jp {
		width: auto;
		height: auto;
		display: inline-block;
	}
}
/* 一覧リンク */
.newsArea .mds .listlink,
.releaseArea .mds .listlink,
.productArea .mds .listlink,
.supportArea .mds .listlink {
	width: 100%;
	height: 20px;
	display: block;
	margin: 22px 0px 0px 7px;
	padding: 0px;
	text-align: right;
	vertical-align: top;
	letter-spacing: 0.0125em;
}
.newsArea .mds .listlink a,
.releaseArea .mds .listlink a,
.productArea .mds .listlink a,
.supportArea .mds .listlink a {
	width: 100%;
	height: 20px;
	display: block;
	margin: 0px auto;
	padding: 0px 20px 0px 0px;
	text-align: right;
	font-size: 0px;
	font-weight: 400;
	line-height: 1.65em;
	color: #666;
	text-decoration: underline;
	white-space: nowrap;
	position: relative;
	transition: all 0.3s ease;
}
.newsArea .mds .listlink a::after,
.releaseArea .mds .listlink a::after,
.productArea .mds .listlink a::after,
.supportArea .mds .listlink a::after {
	content: "";
	width: 20px;
	height: 20px;
	display: block;
	margin: auto;
	padding: 0px;
	background-image: url(../../_img/cmn/icn_arrow_maru.png);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	border-radius: 12px;
	-webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: auto;
	transition: all 0.3s ease;
}
/* サポートのボタンのみ */
.supportArea .mds .listlink {
	margin: 22px 0px 0px 2px;
}
/* 製品情報のボタンのみ */
.productArea .mds .listlink {
	height: 70px;
	margin: 0px 0px 0px 4px;
}
.productArea .mds .listlink a {
	height: 70px;
}
.productArea .mds .listlink a::after {
	top: auto;
	bottom: -1px;
}
.newsArea .mds .listlink a:hover,
.releaseArea .mds .listlink a:hover,
.productArea .mds .listlink a:hover,
.supportArea .mds .listlink a:hover {
	opacity: 0.5;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	.newsArea .mds .listlink,
	.releaseArea .mds .listlink,
	.productArea .mds .listlink,
	.supportArea .mds .listlink {
		width: 118px;
		height: 20px;
		display: inline-block;
		margin: 24px 0px 0px 30px;;
		padding: 0px;
		text-align: left;
		vertical-align: top;
		letter-spacing: 0.0125em;
	}
	.newsArea .mds .listlink a,
	.releaseArea .mds .listlink a,
	.productArea .mds .listlink a,
	.supportArea .mds .listlink a {
		width: 110px;
		height: 20px;
		display: block;
		margin: 0px auto;
		padding: 0px 20px 0px 0px;
		text-align: right;
		font-size: 12px;
		font-weight: 400;
		line-height: 1.65em;
		color: #fff;
		text-decoration: none;
		white-space: nowrap;
		background: #91a3bb;
		border-radius: 0px 12px 12px 12px;
		position: relative;
		transition: all 0.3s ease;
		-webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.1);
		box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.1);
	}
	/* 製品情報のボタンのみ */
	.productArea .mds .listlink {
		width: 180px;
	}
	.productArea .mds .listlink a {
		width: 180px;
	}
	.newsArea .mds .listlink a::after,
	.releaseArea .mds .listlink a::after,
	.productArea .mds .listlink a::after,
	.supportArea .mds .listlink a::after {
		content: "";
		width: 12px;
		height: 12px;
		display: block;
		margin: auto;
		padding: 0px;
		background-image: url(../../_img/cmn/icn_arrow_maru.png);
		background-position: left center;
		background-repeat: no-repeat;
		background-size: 100% auto;
		position: absolute;
		top: 0px;
		bottom: 0px;
		left: auto;
		right: 4px;
		transition: all 0.3s ease;
	}
	.newsArea .mds .listlink a:hover,
	.releaseArea .mds .listlink a:hover,
	.productArea .mds .listlink a:hover,
	.supportArea .mds .listlink a:hover {
		opacity: 1;
		background: #596d88;
	}
}
/* 新着５件 */
.newsArea .postlist {
	width: 90%;
	height: auto;
	display: block;
	margin: 20px auto 0px;
	padding: 0px;
	text-align: center;
}
.newsArea .postlist a {
	width: 100%;
	height: auto;
	display: block;
	margin: 15px auto;
	padding: 0px 0px 15px;
	text-align: center;
	text-decoration: none;
	position: relative;
	transition: all 0.3s ease;
}
.newsArea .postlist a::after {
	content: "";
	width: 100%;
	height: 1px;
	display: block;
	margin: auto;
	padding: 0px;
	border-bottom: 1px dotted #231815;
	position: absolute;
	top: auto;
	bottom: 0;
	left: 0;
	right: auto;
}
.newsArea .postlist ul {
	width: 100%;
	height: auto;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 0px auto;
	padding: 0px;
	list-style: none;
}
.newsArea .postlist .icon {
	width: 70px;
	height: 24px;
	display: block;
	margin: 0px auto;
	padding: 0px;
	border-radius: 0px 5px 5px 0px;
	border: 1px solid #fff;
	box-shadow: 1px 1px 3px #ccc;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.75em;
	color: #fff;
	white-space: nowrap;
	flex-grow: 1;
}
.newsArea .postlist .icon_info {
	background: #32ade6;
}
.newsArea .postlist .icon_release {
	background: #d64045;
}
.newsArea .postlist .icon_recom {
	background: #ff9500;
}
.newsArea .postlist .date {
	width: calc(100% - 75px);
	height: 24px;
	display: block;
	margin: 0px auto;
	padding: 2px 20px 0px 10px;
	text-align: left;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.65em;
	color: #333;
	flex-grow: 1;
}
.newsArea .postlist .title {
	width: 100%;
	height: auto;
	display: block;
	margin: 5px auto 0px;
	padding: 0px;
	text-align: left;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.65em;
	color: #333;
	flex-grow: 5;
}
.newsArea .postlist a .title {
	color: #333;
}
.newsArea .postlist a:hover .title {
	color: #d64045;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* 新着５件 */
	.newsArea .postlist {
		width: 100%;
		height: auto;
		display: block;
		margin: 30px auto 0px;
		padding: 0px;
		text-align: center;
	}
	.newsArea .postlist a {
		width: 100%;
		height: auto;
		display: block;
		margin: 15px auto;
		padding: 0px 0px 15px;
		text-align: center;
		text-decoration: none;
		position: relative;
		transition: all 0.3s ease;
	}
	.newsArea .postlist a::after {
		content: "";
		width: 100%;
		height: 1px;
		display: block;
		margin: auto;
		padding: 0px;
		border-bottom: 1px dotted #231815;
		position: absolute;
		top: auto;
		bottom: 0;
		left: 0;
		right: auto;
	}
	/* Safariのみ */
	_::-webkit-full-page-media, _:future, :root .newsArea .postlist a::after {
		border-bottom: 2px dotted #231815;
	}
	.newsArea .postlist ul {
		width: 100%;
		height: auto;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		margin: 0px auto;
		padding: 0px;
		list-style: none;
	}
	.newsArea .postlist .icon {
		width: 70px;
		height: 24px;
		display: block;
		margin: 0px auto;
		padding: 0px;
		border-radius: 0px 5px 5px 0px;
		border: 1px solid #fff;
		box-shadow: 1px 1px 3px #ccc;
		font-size: 12px;
		font-weight: 500;
		line-height: 1.75em;
		color: #fff;
		white-space: nowrap;
		flex-grow: 1;
	}
	.newsArea .postlist .icon_info {
		background: #32ade6;
	}
	.newsArea .postlist .icon_release {
		background: #d64045;
	}
	.newsArea .postlist .icon_recom {
		background: #ff9500;
	}
	.newsArea .postlist .date {
		width: 100px;
		height: 24px;
		display: block;
		margin: 0px auto;
		padding: 0px 20px 0px 10px;
		font-size: 14px;
		font-weight: 400;
		line-height: 1.65em;
		color: #333;
		flex-grow: 1;
	}
	.newsArea .postlist .title {
		width: calc(100% - 200px);
		height: auto;
		display: block;
		margin: 0px auto;
		padding: 0px;
		text-align: left;
		font-size: 14px;
		font-weight: 400;
		line-height: 1.65em;
		color: #333;
		flex-grow: 5;
	}
}
/* もっと読むボタン配置（基本はcmn内） */
.newsArea .morebtn {
	width: 110px;
	height: auto;
	display: block;
	margin: 30px auto;
	padding: 0px;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* もっと読むボタン配置（基本はcmn内） */
	.newsArea .morebtn {
		width: 110px;
		height: auto;
		display: block;
		margin: 30px 0px 0px auto;
		padding: 0px;
	}
}
/* =================================================
	サイドバナーエリア
 ================================================= */
#wrapper .sidebnrArea {
	width: 100%;
	max-width: 310px;
	height: auto;
	display: block;
	margin: 60px auto;
	padding: 0px;
	vertical-align: top;
	position: relative;
	z-index: 1;
}
.sidebnrArea .bnrlink {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto 20px;
	padding: 0px;
}
.sidebnrArea .bnrlink a {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto;
	padding: 0px;
	transition: all 0.3s ease;
}
.sidebnrArea .bnrlink a:hover {
	opacity: 0.5;
}
.sidebnrArea .bnrlink a img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	#wrapper .sidebnrArea {
		width: 310px;
		max-width: initial;
		height: auto;
		display: inline-block;
		margin: 0px auto;
		padding: 0px;
		vertical-align: top;
	}
	.sidebnrArea .bnrlink {
		width: 100%;
		height: auto;
		display: block;
		margin: 0px auto 30px;
		padding: 0px;
	}
}
/* =================================================
	RELEASEエリア
 ================================================= */
#wrapper .releaseArea {
	width: 100%;
	height: auto;
	display: block;
	margin: 100px auto 0px;
	padding: 0px 0px 40px;
	background-color: #b9ede8;
	background-image: url(../../_img/top/bg_release.svg);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 500% auto;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	#wrapper .releaseArea {
		width: 100%;
		height: auto;
		display: block;
		margin: 60px auto 0px;
		padding: 0px 0px 40px;
		background-color: #b9ede8;
		background-image: url(../../_img/top/bg_release.svg);
		background-position: center top;
		background-repeat: no-repeat;
		background-size: 500% auto;
	}
}
/* 背景 */
#wrapper .releaseArea.anim.run {
	animation-name: yurayuraIN, yurayura;	/* １・２回目 */
	animation-duration: 4s, 20s;		/* 各時間 */
	animation-iteration-count: 1, infinite;	/* １回・繰り返し */
	animation-fill-mode: forwards, forwards;	/* 終了時そのまま */
	animation-delay: 0s, 4s;	/* １回目終わってから２回目 */
}
@keyframes yurayuraIN {
	0%{
	background-size: 500% auto;
	}
	100%{
	background-size: 300% auto;
	}
}
@keyframes yurayura {
	0%{
	background-size: 300% auto;
	background-position: center top;
	}
	20%{
	background-size: 310% auto;
	}
	33%{
	background-size: 315% auto;
	background-position: left top;
	}
	42%{
	background-size: 320% auto;
	}
	56%{
	background-size: 325% auto;
	background-position: center top;
	}
	70%{
	background-size: 315% auto;
	background-position: left top;
	}
	84%{
	background-size: 310% auto;
	background-position: right top;
	}
	100%{
	background-size: 300% auto;
	background-position: center top;
	}
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* 背景 */
	#wrapper .releaseArea.anim.run {
		animation-name: yurayuraIN, yurayura;	/* １・２回目 */
		animation-duration: 4s, 20s;		/* 各時間 */
		animation-iteration-count: 1, infinite;	/* １回・繰り返し */
		animation-fill-mode: forwards, forwards;	/* 終了時そのまま */
		animation-delay: 0s, 4s;	/* １回目終わってから２回目 */
	}
	@keyframes yurayuraIN {
		0%{
		background-size: 500% auto;
		}
		100%{
		background-size: 100% auto;
		}
	}
	@keyframes yurayura {
		0%{
		background-size: 100% auto;
		background-position: center top;
		}
		20%{
		background-size: 110% auto;
		}
		33%{
		background-size: 115% auto;
		background-position: left top;
		}
		42%{
		background-size: 120% auto;
		}
		56%{
		background-size: 125% auto;
		background-position: center top;
		}
		70%{
		background-size: 115% auto;
		}
		84%{
		background-size: 110% auto;
		background-position: right top;
		}
		100%{
		background-size: 100% auto;
		background-position: center top;
		}
	}
}



/* もっと読むボタン配置（基本はcmn内） */
.releaseArea .morebtn {
	width: 110px;
	height: 30px;
	display: block;
	margin: 0px auto 0px;
	padding: 0px;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* もっと読むボタン配置（基本はcmn内） */
	.releaseArea .morebtn {
		width: 110px;
		height: 30px;
		display: block;
		margin: 60px auto 0px;
		padding: 0px;
	}
}



/* リリース新着３件 */
.releaseArea .postlist_thumb.anim {
	width: 100%;
	height: auto;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin: 20px auto 30px;
	padding: 0px 20px;
	overflow-x: scroll;	/* 横スクロール */
	touch-action: auto !important;	/* 縦スクロールできなくなる */
	position: relative;
}
/* スワイプアイコン */
.releaseArea .postlist_thumb.anim::after {
	content: "";
	width: 150px;
	height: 150px;
	display: block;
	margin: auto;
	padding: 10px;
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	background-color: rgba(255,255,255,0.75);
	border-radius: 12px;
	background-image: url(../../_img/cmn/icn_swipe.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 130px auto;
	opacity: 0;
}
.releaseArea .postlist_thumb.anim.run::after {
	animation: swipe 2s 1s forwards;
}
@keyframes swipe {
	0% {
		opacity: 0;
	}
	30% {
		opacity: 1;
	}
	70% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
.releaseArea .postlist_thumb article {
	width: 300px;
	height: auto;
	display: block;
	margin: 0px 20px 0px 0px;
	padding: 0px;
}
.releaseArea .postlist_thumb article a {
	width: 300px;
	height: auto;
	display: block;
	margin: 0px auto 30px;
	padding: 0px;
	text-align: left;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.75em;
	color: #333;
	letter-spacing: 0.0125em;
	text-decoration: none;
	position: relative;
}
/* リリース画像（ズーム） */
.releaseArea .postlist_thumb article a .thumb {
	width: 300px;
	max-width: 340px;
	height: 155px;
	overflow: hidden;
	cursor: pointer;
}
.releaseArea .postlist_thumb article a .thumb img {
	width: 100%;
	height: auto;
	transition: transform 0.4s ease;
}
.releaseArea .postlist_thumb article a:hover .thumb img {
	transform: scale(1.1);
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* リリース新着３件 */
	.releaseArea .postlist_thumb.anim {
		width: 100%;
		max-width: 1100px;
		height: auto;
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		margin: 30px auto;
		padding: 0px;
		overflow-x: hidden;	/* 横スクロール */
		touch-action: inherit;	/* 縦スクロールできなくなる */
		position: relative;
	}
	/* スワイプアイコン */
	.releaseArea .postlist_thumb.anim::after {
		display: none;
	}
	.releaseArea .postlist_thumb.anim.run::after {
		display: none;
	}
	.releaseArea .postlist_thumb article {
		width: 340px;
		height: auto;
		display: block;
		margin: 0px;
		padding: 0px;
	}
	.releaseArea .postlist_thumb article a {
		width: 340px;
		height: auto;
		display: block;
		margin: 0px auto;
		padding: 0px;
		text-align: left;
		font-size: 13px;
		font-weight: 400;
		line-height: 1.75em;
		color: #333;
		letter-spacing: 0.025em;
		text-decoration: none;
		position: relative;
	}
	/* リリース画像（ズーム） */
	.releaseArea .postlist_thumb article a .thumb {
		width: 340px;
		max-width: 340px;
		height: 155px;
		overflow: hidden;
		cursor: pointer;
	}
	.releaseArea .postlist_thumb article a .thumb img {
		transition: transform 0.4s ease;
	}
	.releaseArea .postlist_thumb article a:hover .thumb img {
		transform: scale(1.1);
	}
}
/* タグ（長いのは隠す） */
.postlist_thumb article a ul.tag {
	width: auto;
	height: auto;
	display:block;
	margin: auto;
	padding: 0px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5em;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
	tet-align: right;
	position: absolute;
	top: 130px;
	bottom: auto;
	left: auto;
	right: 3px;
}
.postlist_thumb article a ul.tag li {
	width: auto;
	height: 24px;
	display: inline-block;
	margin: 0px 3px 0px 0px;
	padding: 3px 7px 3px 7px;
	background: #F7A9A8;
	border-radius: 0px 6px 6px 6px;
}
.postlist_thumb article a ul.tag li .tag_text {
	width: auto;
	max-width: 10em; /* 必要に応じて調整 */
	overflow: hidden;
	text-overflow: ellipsis;
	height: 20px;
	display:inline-block;
	margin: 0px auto;
	padding: 0px 3px 0px 1px;
	background: #F7A9A8;
	position: relative;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	.postlist_thumb article a ul.tag {
		top: 142px;
		bottom: auto;
		left: auto;
		right: 3px;
	}
}
/* テキスト */
.postlist_thumb article a h2 {
	width: 100%;
	height: auto;
	display:block;
	margin: 10px auto 0px;
	padding: 0px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.75em;
}
.postlist_thumb article a .title {
	width: 100%;
	height: auto;
	display:block;
	margin: 10px auto;
	padding: 0px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.65em;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* テキスト */
	.postlist_thumb article a h2 {
		width: 100%;
		height: auto;
		display:block;
		margin: 10px auto 0px;
		padding: 0px;
		font-size: 12px;
		font-weight: 400;
		line-height: 1.75em;
	}
	.postlist_thumb article a .title {
		width: 100%;
		height: auto;
		display:block;
		margin: 10px auto;
		padding: 0px;
		font-size: 16px;
		font-weight: 600;
		line-height: 1.5em;
		letter-spacing: -0.0125em;
	}
}
/* =================================================
	PRODUCTエリア
 ================================================= */
#wrapper .productArea {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto 100px;
	padding: 60px 0px 0px;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	#wrapper .productArea {
		width: 100%;
		height: auto;
		display: block;
		margin: 0px auto 100px;
		padding: 80px 0px 0px;
	}
}
/* ラインナップエリア */
.productArea .lineup {
	width: 100%;
	height: auto;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	margin: 10px auto 0px;
	padding: 0px;
}
.productArea .lineup a {
	flex-grow:1; /* 横幅均等 */
	width: calc(100% / 3);
	text-decoration: none;
	transition: all 0.2s ease;
}
.productArea .lineup a:hover {
	opacity: 0.75;
}
.productArea .lineup a figure {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto;
	padding: 0px;
	position: relative;
}
/* ラインナップ商品画像（ズーム） */
.productArea .lineup a figure .img-zoom {
	width: 120px;
	max-width: 120px;
	height: 120px;
	display: block;
	margin: 0px auto;
	padding: 10px;
	overflow: hidden;
	cursor: pointer;
}
.productArea .lineup a figure .img-zoom img {
	width: 100px;
	height: auto;
	transition: transform 0.3s ease;
}
.productArea .lineup a:hover figure .img-zoom img {
	transform: scale(1.1);
}
/* ラインナップのテキスト */
.productArea .lineup a figure figcaption {
	width: 100%;
	display:block;
	margin: 5px auto 0px;
	padding: 0px;
	text-align: center;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5em;
	color: #231815;
	transform-origin: top;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* ラインナップエリア */
	.productArea .lineup {
		width: 100%;
		max-width: 1100px;
		height: auto;
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		flex-wrap: wrap;
		margin: 40px auto 40px;
		padding: 0px;
	}
	.productArea .lineup a {
		flex-grow:1; /* 横幅均等 */
		width: calc(100% / 6);
		text-decoration: none;
		transition: all 0.2s ease;
	}
	.productArea .lineup a figure {
		width: 180px;
		height: 200px;
		display: block;
		margin: 0px auto 20px;
		padding: 0px;
		position: relative;
	}
	/* ラインナップ商品画像（ズーム） */
	.productArea .lineup a figure .img-zoom {
		width: 140px;
		max-width: 140px;
		height: 140px;
		display: block;
		margin: 0px auto;
		padding: 10px;
		overflow: hidden;
		cursor: pointer;
		border-radius: 10px;
	}
	.productArea .lineup a figure .img-zoom img {
		width: 120px;
		height: auto;
		transition: transform 0.3s ease;
	}
	.productArea .lineup a:hover figure .img-zoom img {
		transform: scale(1.1);
	}
	/* ラインナップのテキスト */
	.productArea .lineup a figure figcaption {
		margin: 10px auto 0px;
		font-size: 14px;
		font-weight: 400;
		line-height: 1.5em;
		color: #231815;
		transform: none;
	}
}
/* すべての製品からさがすボタン */
.productArea .viewallbtn {
	width: 80%;
	height: auto;
	display: block;
	margin: 40px auto;
	padding: 0px;
}
.productArea .viewallbtn .btn {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto;
	padding: 0px;
}
.productArea .viewallbtn .btn a {
	width: 100%;
	height: 75px;
	display:block;
	margin: 0px auto;
	padding: 0px 10px 0px 0px;
	border: 2px solid #d64045;
	border-radius: 10px;
	text-align: center;
	font-size: 19px;
	font-weight: 500;
	line-height: 3.65em;
	color: #333;
	text-decoration: none;
	position: relative;
	transition: all 0.2s ease;
}
.productArea .viewallbtn .btn a:hover {
	color: #d64045;
}
.productArea .viewallbtn .btn a::before {
	content: "";
	background-image: url(../../_img/cmn/icn_arrow_s.png);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 9px;
	height: 14px;
	display:block;
	margin: auto;
	padding: 0px;
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: auto;
	right: 30px;
	transition: all 0.2s ease;
}
.productArea .viewallbtn .btn a:hover::before {
	right: 25px;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* すべての製品からさがすボタン */
	.productArea .viewallbtn {
		width: 40%;
		max-width: 420px;
		height: auto;
		display: block;
		margin: 20px auto;
		padding: 0px;
	}
	.productArea .viewallbtn .btn {
		width: 100%;
		height: auto;
		display: block;
		margin: 0px auto;
		padding: 0px;
	}
	.productArea .viewallbtn .btn a {
		width: 100%;
		height: 75px;
		display:block;
		margin: 0px auto;
		padding: 0px 10px 0px 0px;
		border: 2px solid #d64045;
		border-radius: 10px;
		text-align: center;
		font-size: 19px;
		font-weight: 500;
		line-height: 3.65em;
		color: #333;
		text-decoration: none;
		position: relative;
		transition: all 0.2s ease;
	}
	.productArea .viewallbtn .btn a:hover {
		color: #d64045;
	}
	.productArea .viewallbtn .btn a::before {
		content: "";
		background-image: url(../../_img/cmn/icn_arrow_s.png);
		background-position: left center;
		background-repeat: no-repeat;
		background-size: 100% auto;
		width: 9px;
		height: 14px;
		display:block;
		margin: auto;
		padding: 0px;
		position: absolute;
		top: 0px;
		bottom: 0px;
		left: auto;
		right: 30px;
		transition: all 0.2s ease;
	}
	.productArea .viewallbtn .btn a:hover::before {
		right: 25px;
	}
}
/* =================================================
	SUPPORTエリア
 ================================================= */
#wrapper .supportArea {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto;
	padding: 50px 0px 0px 0px;
	background-color: #ffe6e5;
	position: relative;
}
#wrapper .supportArea::after {
	content: "";
	width: 100%;
	height: 350px;
	display: block;
	margin: auto;
	padding: 0px;
	background-image: url(../../_img/top/bg_support.svg);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 500% auto;
	position: absolute;
	top: auto;
	bottom: -350px;
	left: 0px;
	right: 0px;
	z-index: 0;
}
/* 背景 */
#wrapper .supportArea.anim.run::after {
	animation-name: yurayura2IN, yurayura2;	/* １・２回目 */
	animation-duration: 4s, 20s;		/* 各時間 */
	animation-iteration-count: 1, infinite;	/* １回・繰り返し */
	animation-fill-mode: forwards, forwards;	/* 終了時そのまま */
	animation-delay: 0s, 4s;	/* １回目終わってから２回目 */
}
@keyframes yurayura2IN {
	0%{
	background-size: 500% auto;
	}
	100%{
	background-size: 300% auto;
	}
}
@keyframes yurayura2 {
	0%{
	background-size: 300% auto;
	background-position: center top;
	}
	20%{
	background-size: 310% auto;
	}
	33%{
	background-size: 315% auto;
	background-position: left top;
	}
	42%{
	background-size: 320% auto;
	}
	56%{
	background-size: 325% auto;
	background-position: center top;
	}
	70%{
	background-size: 315% auto;
	}
	84%{
	background-size: 310% auto;
	background-position: right top;
	}
	100%{
	background-size: 300% auto;
	background-position: center top;
	}
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	#wrapper .supportArea {
		width: 100%;
		height: 400px;
		display: block;
		margin: 0px auto;
		padding: 90px 0px 0px 0px;
		background-color: #ffe6e5;
		position: relative;
	}
	#wrapper .supportArea::after {
		content: "";
		width: 100%;
		height: 350px;
		display: block;
		margin: auto;
		padding: 0px;
		background-image: url(../../_img/top/bg_support.svg);
		background-position: center top;
		background-repeat: no-repeat;
		background-size: 500% auto;
		position: absolute;
		top: 400px;
		bottom: auto;
		left: 0px;
		right: 0px;
		z-index: 0;
	}
	/* 背景 */
	#wrapper .supportArea.anim.run::after {
		animation-name: yurayura2IN, yurayura2;	/* １・２回目 */
		animation-duration: 4s, 20s;		/* 各時間 */
		animation-iteration-count: 1, infinite;	/* １回・繰り返し */
		animation-fill-mode: forwards, forwards;	/* 終了時そのまま */
		animation-delay: 0s, 4s;	/* １回目終わってから２回目 */
	}
	@keyframes yurayura2IN {
		0%{
		background-size: 500% auto;
		}
		100%{
		background-size: 100% auto;
		}
	}
	@keyframes yurayura2 {
		0%{
		background-size: 100% auto;
		background-position: center top;
		}
		20%{
		background-size: 110% auto;
		}
		33%{
		background-size: 115% auto;
		background-position: left top;
		}
		42%{
		background-size: 120% auto;
		}
		56%{
		background-size: 125% auto;
		background-position: center top;
		}
		70%{
		background-size: 115% auto;
		}
		84%{
		background-size: 110% auto;
		background-position: right top;
		}
		100%{
		background-size: 100% auto;
		background-position: center top;
		}
	}
}
/* コンテンツ部分 */
.supportArea .support_content {
	width: 84%;
	height: auto;
	display: block;
	margin: 30px auto 0px;
	padding: 0px;
}
.supportArea .support_content a {
	text-decoration: none;
}
a .note {
	width: 100%;
	height: 120px;
	display: block;
	padding: 0px 0px 0px 0px;
	margin: 0px auto 20px;
	background:#fff;
	border-radius: 10px;
	position:relative;
	z-index: 1;
	overflow:hidden;
	transition: all 0.2s ease;
}
a .note:before {
	content:"";
	width:0;
	display:block;
	border-width:0 30px 30px 0; /* This trick side-steps a webkit bug */
	border-style:solid;
	border-color: #bb342f #bb342f #ffe6e5 #ffe6e5;
	background:#ffe6e5;
	/* Optional: shadow */
	-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.3), 0px -2px 3px rgba(0,0,0,0.2);
	box-shadow: 0 1px 1px rgba(0,0,0,0.3), 0px -2px 3px rgba(0,0,0,0.2);
	position:absolute;
	top: auto;
	bottom: 0px;
	left: auto;
	right:0px;
	transform: rotate(-90deg);
}
a .note ul {
	width: 100%;
	height: 100%;
	display: block;
	margin: 0px auto;
	padding: 0px;
	list-style: none;
	text-align: center;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.75em;
	color:#333;
	position: relative;
}
a .note ul li.subttl {
	width: 47%;
	height: auto;
	display: block;
	margin: 0px 0px;
	padding: 25px 0px 5px 5px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.75em;
	color:#d64045;
}
a .note ul li.subttl.raw2 {
	padding: 25px 0px 10px 5px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25em;
	color:#d64045;
}
a .note ul li.ttl {
	width: 47%;
	height: auto;
	display: block;
	margin: 0px 0px;
	padding: 0px 0px 0px 5px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1em;
	letter-spacing: -0.025em;
	color:#333;
}
a .note ul li.summary {
	width: 52%;
	height: 80%;
	display: block;
	margin: auto;
	padding: 15px 10px 0px 10px;
	text-align: left;
	font-size: 13px;
	font-weight: 300;
	line-height: 1.75em;
	color:#333;
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: auto;
	right: 0px;
	border-left: 1px dotted #d64045;
}
a .note ul li.summary br {
	display: none;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* コンテンツ部分 */
	.supportArea .support_content {
		width: 100%;
		max-width: 1100px;
		height: auto;
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		margin: 30px auto 0px;
		padding: 0px;
	}
	.supportArea .support_content a {
		text-decoration: none;
	}
	a .note {
		width: 350px;
		height: 210px;
		display: block;
		padding: 0px 20px 0px;
		margin: 0px auto;
		background:#fff;
		border-radius: 10px;
		position:relative;
		z-index: 1;
		overflow:hidden;
		transition: all 0.2s ease;
	}
	a:hover .note {
		margin: -10px auto 0px;
	}
	a .note:before {
		content:"";
		width:0;
		display:block;
		border-width:0 30px 30px 0; /* This trick side-steps a webkit bug */
		border-style:solid;
		border-color: #bb342f #bb342f #ffe6e5 #ffe6e5;
		background:#ffe6e5;
		/* Optional: shadow */
		-webkit-box-shadow: 1px -1px 1px rgba(0,0,0,0.3), 0px -2px 5px rgba(0,0,0,0.2);
		box-shadow: 1px -1px 1px rgba(0,0,0,0.3), 0px -2px 5px rgba(0,0,0,0.2);
		position:absolute;
		top: auto;
		bottom: 0px;
		left: auto;
		right:0px;
		transform: rotate(-90deg);
	}
	a .note ul {
		width: 100%;
		height: auto;
		display: block;
		padding: 0px;
		margin: 0px auto;
		list-style: none;
		text-align: center;
		font-size: 14px;
		font-weight: 300;
		line-height: 1.75em;
		color:#333;
	}
	a .note ul li.subttl {
		width: 100%;
		height: auto;
		display: block;
		margin: 0px auto;
		padding: 15px 0px 0px;
		font-size: 24px;
		font-weight: 600;
		line-height: 1.75em;
		color:#d64045;
	}
	a .note ul li.subttl.raw2 {
		margin: 5px auto -7px;
		padding: 15px 0px 0px;
		font-size: 22px;
		font-weight: 600;
		line-height: 1em;
		color:#d64045;
	}
	a .note ul li.ttl {
		width: 100%;
		height: auto;
		display: block;
		padding: 10px 0px;
		margin: 10px auto 0px;
		font-size: 22px;
		font-weight: 500;
		line-height: 1.75em;
		letter-spacing: 0.025em;
		color:#333;
		border-top: 1px dotted #d64045;
		border-bottom: 1px dotted #d64045;
	}
	a .note ul li.summary {
		width: 100%;
		height: auto;
		display: block;
		margin: auto;
		padding: 5px auto 0px;
		text-align: center;
		font-size: 13px;
		font-weight: 400;
		line-height: 1.75em;
		color:#333;
		position: relative;
		border-left: none;
	}
	a .note ul li.summary br {
		display: block;
	}
}
/* =================================================
	ONLINE SHOPエリア
 ================================================= */
#wrapper .shoppingArea {
	width: 100%;
	height: auto;
	display: block;
	margin: 100px auto 0px;
	padding: 0px;
	position: relative;
	z-index: 1;
}
/* 見出し */
.shoppingArea .mds {
	width: 90%;
	height: auto;
	display: block;
	margin: 0px auto 20px;
	padding: 0px;
	text-align: left;
}
.shoppingArea .mds h2 {
	font-size: 38px;
	font-weight: 700;
	line-height: 1.2em;
	color: #e4572e;
}
.shoppingArea .mds .catch {
	margin: 0px auto;
	padding: 10px 0px 0px;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.75em;
	color: #231815;
	letter-spacing: 0.0125em;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* 見出し */
	.shoppingArea .mds {
		width: 100%;
		max-width: 1100px;
		height: auto;
		display: block;
		margin: 0px auto 20px;
		padding: 0px;
		text-align: left;
	}
	.shoppingArea .mds h2 {
		font-size: 38px;
		font-weight: 700;
		line-height: 1.35em;
		color: #e4572e;
	}
	.shoppingArea .mds h2 br,
	.shoppingArea .mds .catch br {
		display: none;
	}
	.shoppingArea .mds .catch {
		margin: 0px auto;
		padding: 10px 0px 0px;
		font-size: 20px;
		font-weight: 500;
		line-height: 1.55em;
		color: #231815;
		letter-spacing: 0.0125em;
	}
}
/* ラインナップエリア */
.shoppingArea .lineup {
	width: 100%;
	height: auto;
	display: block
	margin: 0px auto;
	padding: 0px;
	position: relative;
}
/* オンラインショップ用swiper */
.osswiper-container {
	display: none; /* ← 初期状態で隠しておく */
}
.osswiper {
	width: 95vw;
	height: auto;
	margin: 0px auto;
	padding: 0px;
	text-align: center;
}
.osswiper .swiper-slide {
	height: auto;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.osswiper .swiper-slide a {
	width: 100%;
	height: 100%;
	padding: 3px;
	text-align: center;
	text-decoration: none;
	transition: all 0.2s ease;
}
.osswiper .swiper-slide a:hover {
	opacity: 0.75;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* ラインナップエリア */
	.shoppingArea .lineup {
		width: 100%;
		max-width: 1100px;
		height: auto;
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		margin: 0px auto;
		padding: 0px;
		position: relative;
	}
	.osswiper.swiper {
		overflow: hidden!important;
	}
	/* オンラインショップ用swiper */
	.osswiper-container {
		display: none; /* ← 初期状態で隠しておく */
	}
	.osswiper {
		width: 100%;
		max-width: 1100px;
		height: auto;
		margin: 0px auto;
		padding: 0px;
		text-align: center;
	}
	.osswiper .swiper-slide {
		height: auto;
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}
	.osswiper .swiper-slide a {
		height: 100%;
		padding: 10px;
		text-decoration: none;
		transition: all 0.2s ease;
	}
	.osswiper .swiper-slide a:hover {
		opacity: 0.75;
	}
}
/* 前への矢印 */
.shoppingArea .lineup .swiper-button-prev {
	display: none;
}
.shoppingArea .lineup .swiper-button-prev:hover {
	display: none;
}
/* 次への矢印 */
.shoppingArea .lineup .swiper-button-next {
	display: none;
}
.shoppingArea .lineup .swiper-button-next:hover {
	display: none;
}
.swiper-button-next,
.swiper-button-prev {
	display: none;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* 前への矢印 */
	.shoppingArea .lineup .swiper-button-prev {
		display: block;
		left: -40px;
		transition: all 0.3s ease;
	}
	.shoppingArea .lineup .swiper-button-prev:hover {
		display: block;
		left: -47px;
	}
	/* 次への矢印 */
	.shoppingArea .lineup .swiper-button-next {
		display: block;
		right: -40px;
		transition: all 0.1s ease;
	}
	.shoppingArea .lineup .swiper-button-next:hover {
		display: block;
		right: -47px;
	}
	.swiper-button-next,
	.swiper-button-prev {
		display: block;
		--swiper-navigation-color: #e4572e!important;
	}
}


.osswiper a figure {
	width: 100%;
	height: 100%;
	display: block;
	margin: 0px auto;
	padding: 0px 10px 50px;
	background: #fff;
	-webkit-box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.2);
	box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.2);
	position: relative;
}
/* ラインナップ商品画像（ズーム） */
.shoppingArea .lineup a figure .img-zoom {
	width: 150px;
	max-width: 150px;
	height: 150px;
	margin: 0px auto;
	overflow: hidden;
	cursor: pointer;
}
.shoppingArea .lineup a figure .img-zoom img {
	width: 150px;
	height: auto;
	transition: transform 0.6s ease;
}
.shoppingArea .lineup a:hover figure .img-zoom img {
	transform: scale(1.1);
}
/* ラインナップのテキスト */
.shoppingArea .lineup a figure figcaption {
	width: 100%;
	display:block;
	margin: 5px auto 0px;
	padding: 0px;
	text-align: left;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5em;
	color: #231815;
}
.shoppingArea .lineup a figure figcaption .price {
	width: 100%;
	display:block;
	margin: 10px auto;
	padding: 0px;
}
/* 購入するボタン */
.cartbtn {
	width: 150px;
	height: 30px;
	display:block;
	margin: auto;
	padding: 0px 0px 0px 15px;
	background: #f3a712;
	border-radius: 10px;
	text-align: center;
	font-size: 13px;
	font-weight: 500;
	line-height: 2.45em;
	color: #fff;
	text-decoration: none;
	position: absolute;
	top: auto;
	bottom: 20px;
	left: 0px;
	right: 0px;
}
.cartbtn::before {
	content: "";
	background-image: url(../../_img/cmn/icnset_cart.svg);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 25px;
	height: 25px;
	display:block;
	margin: auto;
	padding: 0px;
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 30px;
	right: auto;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	.osswiper a figure {
		width: 100%;
		height: 100%;
		display: block;
		margin: 0px auto;
		padding: 10px 22px 50px;
		background: #fff;
		-webkit-box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.2);
		box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.2);
		position: relative;
	}
	/* ラインナップ商品画像（ズーム） */
	.shoppingArea .lineup a figure .img-zoom {
		width: 160px;
		max-width: 160px;
		height: 160px;
		overflow: hidden;
		cursor: pointer;
	}
	.shoppingArea .lineup a figure .img-zoom img {
		width: 160px;
		height: auto;
		transition: transform 0.6s ease;
	}
	.shoppingArea .lineup a:hover figure .img-zoom img {
		transform: scale(1.1);
	}
	/* ラインナップのテキスト */
	.shoppingArea .lineup a figure figcaption {
		width: 160px;
		display:block;
		margin: 5px auto 0px;
		padding: 0px;
		text-align: left;
		font-size: 13px;
		font-weight: 400;
		line-height: 1.65em;
		color: #231815;
	}
	.shoppingArea .lineup a figure figcaption .price {
		width: 160px;
		display:block;
		margin: 10px auto;
		padding: 0px;
	}
	/* 購入するボタン */
	.cartbtn {
		width: 160px;
		height: 30px;
		display:block;
		margin: auto;
		padding: 0px 0px 0px 15px;
		background: #f3a712;
		border-radius: 10px;
		text-align: center;
		font-size: 13px;
		font-weight: 500;
		line-height: 2.45em;
		color: #fff;
		text-decoration: none;
		position: absolute;
		top: auto;
		bottom: 20px;
		left: 0px;
		right: 0px;
	}
	.cartbtn::before {
		content: "";
		background-image: url(../../_img/cmn/icnset_cart.svg);
		background-position: left bottom;
		background-repeat: no-repeat;
		background-size: 100% auto;
		width: 25px;
		height: 25px;
		display:block;
		margin: auto;
		padding: 0px;
		position: absolute;
		top: 0px;
		bottom: 0px;
		left: 30px;
		right: auto;
	}
}



/* ショップリンク */
.shoppingArea .linkbtn {
	width: 80%;
	height: auto;
	display: block;
	margin: 30px auto 0px;
	padding: 0px;
}
.shoppingArea .linkbtn .btn {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto;
	padding: 0px;
}
.shoppingArea .linkbtn .btn a {
	width: 100%;
	height: 75px;
	display:block;
	margin: 0px auto;
	padding: 10px 10px 0px 0px;
	border: 2px solid #231815;
	background: #fff;
	border-radius: 10px;
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5em;
	color: #231815;
	text-decoration: none;
	position: relative;
	transition: all 0.2s ease;
}
.shoppingArea .linkbtn .btn a:hover {
	border: 2px solid #231815;
	background: #231815;
	color: #fff;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* ショップリンク */
	.shoppingArea .linkbtn {
		width: 40%;
		max-width: 420px;
		height: auto;
		display: block;
		margin: 40px auto 0px;
		padding: 0px;
	}
	.shoppingArea .linkbtn .btn {
		width: 100%;
		height: auto;
		display: block;
		margin: 0px auto;
		padding: 0px;
	}
	.shoppingArea .linkbtn .btn a {
		width: 100%;
		height: 75px;
		display:block;
		margin: 0px auto;
		padding: 0px 10px 0px 0px;
		border: 2px solid #231815;
		background: #fff;
		border-radius: 10px;
		text-align: center;
		font-size: 19px;
		font-weight: 500;
		line-height: 3.65em;
		color: #231815;
		text-decoration: none;
		position: relative;
		transition: all 0.2s ease;
	}
	.shoppingArea .linkbtn .btn a br {
		display: none;
	}
	.shoppingArea .linkbtn .btn a:hover {
		border: 2px solid #231815;
		background: #231815;
		color: #fff;
	}
}
/* ショップアイコン */
.shoppingArea .linkbtn .btn a::before {
	content: "";
	background-image: url(../../_img/cmn/icnset_shop.svg);
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 30px;
	height: 30px;
	display:block;
	margin: auto;
	padding: 0px;
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 20px;
	right: auto;
}
.shoppingArea .linkbtn .btn a:hover::before {
	background-position: left bottom;
}
/* 別窓アイコン */
.shoppingArea .linkbtn .btn a::after {
	content: "";
	background-image: url(../../_img/cmn/icnset_blank.svg);
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 20px;
	height: 20px;
	display:block;
	margin: auto;
	padding: 0px;
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: auto;
	right: 30px;
}
.shoppingArea .linkbtn .btn a:hover::after {
	background-position: left bottom;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
}
/* =================================================
	CONCEPTエリア
 ================================================= */
#wrapper .conceptArea {
	width: 100%;
	height: auto;
	display: block;
	margin: 0px auto 0px;
	padding: 80px 0px 250px;
	overflow: hidden;
}
.conceptArea .conbody {
	width: 100%;
	height: auto;
	display:block;
	margin: 0px auto;
	padding: 0px;
	position: relative;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	#wrapper .conceptArea {
		width: 100%;
		height: auto;
		display: block;
		margin: -150px auto 0px;
		padding: 250px 0px 530px;
		overflow: hidden;
	}
	.conceptArea .conbody {
		width: 100%;
		max-width: 1100px;
		height: auto;
		display:block;
		margin: 0px auto;
		padding: 0px;
		position: relative;
	}
}
/* 下の丸（その１） */
.conbody::before {
	content: "";
	width: 365px;
	height: 365px;
	display:block;
	margin: auto;
	padding: 0px;
	background: rgba(255,255,255,0.5);
	border-radius: 50%;
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	z-index: -1;
}
/* 下の丸（その２） */
.conbody::after {
	content: none;
}
/* 赤橙グループ */
.bg_circles {
	width: 100%;
	height: auto;
	display:block;
	margin: 0px auto;
	padding: 0px;
	position: relative;
}
/* 下の丸（赤） */
.bg_circles::before {
	content: "";
	width: 130px;
	height: 130px;
	display:block;
	margin: auto;
	padding: 0px;
	background: rgba(239,121,138,0.15);
	border-radius: 50%;
	position: absolute;
	top: -60px;
	bottom: auto;
	left: auto;
	right: 3px;
	z-index: -1;
}
/* 下の丸（橙） */
.bg_circles::after {
	content: "";
	width: 80px;
	height: 80px;
	display:block;
	margin: auto;
	padding: 0px;
	background: rgba(255,217,146,0.2);
	border-radius: 50%;
	position: absolute;
	top: -95px;
	bottom: auto;
	left: auto;
	right: 95px;
	z-index: -1;
}
.releaseArea .bg_circles::before {
	background: rgba(239,121,138,0.05);
	top: -70px;
	bottom: auto;
	left: auto;
	right: 40px;
	z-index: 0;
}
.releaseArea .bg_circles::after {
	background: rgba(255,217,146,0.1);
	top: -120px;
	bottom: auto;
	left: auto;
	right: 110px;
	z-index: 0;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	/* 下の丸（その１） */
	.conbody::before {
		content: "";
		width: 400px;
		height: 400px;
		display:block;
		margin: auto;
		padding: 0px;
		background: rgba(255,255,255,0.3);
		border-radius: 50%;
		position: absolute;
		top: 0px;
		bottom: 0px;
		left: auto;
		right: -50px;
		z-index: -1;
		animation: puyopuyo 30s ease infinite;
	}
	/* 下の丸（その２） */
	.conbody::after {
		content: "";
		width: 400px;
		height: 400px;
		display:block;
		margin: auto;
		padding: 0px;
		background: rgba(255,255,255,0.2);
		border-radius: 50%;
		position: absolute;
		top: 0px;
		bottom: 0px;
		left: auto;
		right: -50px;
		z-index: -1;
		animation: puyopuyo ease infinite;
		animation-direction:alternate-reverse;
		animation-duration: 15s;
	}
	/* 赤橙グループ */
	.bg_circles {
		width: 100%;
		height: auto;
		display:block;
		margin: 0px auto;
		padding: 0px;
		position: relative;
	}
	/* 下の丸（赤） */
	.bg_circles::before {
		content: "";
		width: 180px;
		height: 180px;
		display:block;
		margin: auto;
		padding: 0px;
		background: rgba(239,121,138,0.15);
		border-radius: 50%;
		position: absolute;
		top: -185px;
		bottom: auto;
		left: auto;
		right: 30px;
		z-index: -1;
		animation: puyopuyo ease infinite;
		animation-direction:alternate-reverse;
		animation-duration: 20s;
	}
	/* 下の丸（橙） */
	.bg_circles::after {
		content: "";
		width: 139px;
		height: 139px;
		display:block;
		margin: auto;
		padding: 0px;
		background: rgba(255,217,146,0.2);
		border-radius: 50%;
		position: absolute;
		top: -250px;
		bottom: auto;
		left: auto;
		right: 150px;
		z-index: -1;
		animation: puyopuyo ease infinite;
		animation-duration: 25s;
	}
	.releaseArea .bg_circles::before {
		background: rgba(239,121,138,0.05);
		top: -60px;
		bottom: auto;
		left: auto;
		right: 40px;
		z-index: 0;
	}
	.releaseArea .bg_circles::after {
		background: rgba(255,217,146,0.1);
		top: -130px;
		bottom: auto;
		left: auto;
		right: 160px;
		z-index: 0;
	}
}
@keyframes puyopuyo{  
	0%{
		border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
	}
	14%{
		border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
	}
	28%{
		border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
	}
	42%{
		border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
	}
	56%{
		border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
	}
	70%{
		border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
	}
	84%{
		border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
	}
	100%{
		border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
	}
}
.conbody h3 {
	width: 100%;
	height: auto;
	display:block;
	margin: 0px auto;
	padding: 0px 0px 0px 20px;
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	line-height: 2.8em;
	letter-spacing: 0.0125em;
	color: #231815;
}
.conbody p {
	width: 100%;
	height: auto;
	display:block;
	margin: 15px auto 0px;
	padding: 0px 0px 20px 5px;
	text-align: center;
	font-size: 16px;
	font-weight: 400;
	line-height: 2em;
	letter-spacing: 0.025em;
	color: #231815;
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width:960px) {
}
/* デスクトップ */
@media screen and (min-width: 960px) {
	.conbody h3 {
		width: 100%;
		height: auto;
		display:block;
		margin: 0px auto;
		padding: 0px;
		text-align: right;
		font-size: 24px;
		font-weight: 500;
		line-height: 2.8em;
		letter-spacing: 0.125em;
		color: #231815;
	}
	.conbody p {
		width: 100%;
		height: auto;
		display:block;
		margin: 10px auto 0px;
		padding: 0px;
		text-align: right;
		font-size: 18px;
		font-weight: 300;
		line-height: 2.5em;
		letter-spacing: 0.025em;
		color: #231815;
	}
	.conbody p br.sp {
		display: none;
	}
}
