@charset "utf-8";

/*===================================================================
common
===================================================================*/
#Main img{
	pointer-events: none;
}

/* ---------- body ---------- */

html {
	-webkit-text-size-adjust: 100%;
}

body {
	position: relative;
}
#Cont * {
	box-sizing: border-box;
}
#Cont {
    width: 100%;
    overflow: hidden;
    position: relative;
}
div#fil {
	width: 100%;
	height: 100%;
	position: absolute;
	background: rgba(0,0,0,.75);
	z-index: 998;
	display: none;
}

.scrPoint img{
	opacity: 0;
}

.scrPoint.on img{
	opacity: 1;
	-webkit-transition: .7s;
	transition: .7s;
}

/* ---------- clearfix ---------- */

.clearfix {
	zoom: 1;
	display: block;
}

.clearfix:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clear {
	clear: both;
}

.avoid-hover {
	opacity: 1!important;
	-webkit-transition: none!important;
	transition: none!important;
}

.avoid-clicks {
	pointer-events: none!important;
}

.logo a{
	display: inline-block;
	overflow: hidden;
}
.lNav a{
	display: inline-block;
}
/*bubles*/
@keyframes animatedBackground1 {
	0% {background-position: 0 2000px;}
	5% {background-position: 5px 1900px;}
	10% {background-position: 0 1800px;}
	15% {background-position: -5px 1700px;}
	20% {background-position: 0 1600px;}
	25% {background-position: 5px 1500px;}
	30% {background-position: 0 1400px;}
	35% {background-position: -5px 1300px;}
	40% {background-position: 0 1200px;}
	45% {background-position: 5px 1100px;}
	50% {background-position: 0 1000px;}
	55% {background-position: -5px 900px;}
	60% {background-position: 0 800px;}
	65% {background-position: 5px 700px;}
	70% {background-position: 0 600px;}
	75% {background-position: -5px 500px;}
	80% {background-position: 0 400px;}
	85% {background-position: 5px 300px;}
	90% {background-position: 0 200px;}
	95% {background-position: -5px 100px;}
	100% {background-position: 0 0px;}
}
@-webkit-keyframes animatedBackground1 {
	0% {background-position: 0 2000px;}
	5% {background-position: 5px 1900px;}
	10% {background-position: 0 1800px;}
	15% {background-position: -5px 1700px;}
	20% {background-position: 0 1600px;}
	25% {background-position: 5px 1500px;}
	30% {background-position: 0 1400px;}
	35% {background-position: -5px 1300px;}
	40% {background-position: 0 1200px;}
	45% {background-position: 5px 1100px;}
	50% {background-position: 0 1000px;}
	55% {background-position: -5px 900px;}
	60% {background-position: 0 800px;}
	65% {background-position: 5px 700px;}
	70% {background-position: 0 600px;}
	75% {background-position: -5px 500px;}
	80% {background-position: 0 400px;}
	85% {background-position: 5px 300px;}
	90% {background-position: 0 200px;}
	95% {background-position: -5px 100px;}
	100% {background-position: 0 0px;}
}
@keyframes animatedBackground2 {
	0% {background-position: 0 2000px;}
	12.5% {background-position: 10px 1750px;}
	25% {background-position: 0px 1500px;}
	37.5% {background-position: -10px 1250px;}
	50% {background-position: 0px 1000px;}
	62.5% {background-position: 10px 750px;}
	75% {background-position: 0px 500px;}
	87.5% {background-position: -10px 250px;}
	100% {background-position: 0 0px;}
}
@-webkit-keyframes animatedBackground2 {
	0% {background-position: 0 2000px;}
	12.5% {background-position: 10px 1750px;}
	25% {background-position: 0px 1500px;}
	37.5% {background-position: -10px 1250px;}
	50% {background-position: 0px 1000px;}
	62.5% {background-position: 10px 750px;}
	75% {background-position: 0px 500px;}
	87.5% {background-position: -10px 250px;}
	100% {background-position: 0 0px;}
}
/*bubles*/


@-moz-keyframes spin {
	0% { -moz-transform: rotate(-30deg); }
	100% { -moz-transform: rotate(0deg); }
 }
@-webkit-keyframes spin {
	0% { -webkit-transform: rotate(-30deg); }
	100% { -webkit-transform: rotate(0deg); }
}

/* shine-move */
@keyframes shine-move {
	0%   {
		left:-550px;
		top:-556px;
	}
	30%  {
		left:570px;
		top:-445px;
	}
	100%  {
		left:570px;
		top:-445px;
	}
}
@-webkit-keyframes shine-move {
	0%   {
		left:-550px;
		top:-556px;
	}
	30%  {
		left:570px;
		top:-445px;
	}
	100%  {
		left:570px;
		top:-445px;
	}
}


/* mvLogoAnimate */
@-webkit-keyframes mvLogoAnimate {
	0% {
		opacity: 0;
		-webkit-transform: scale(1) translateX(-200%) translateY(200%);
		        transform: scale(1) translateX(-200%) translateY(200%);
	}
	30% {
		opacity: 1;
		-webkit-transform: scale(0.95) translateX(0) translateY(0);
		        transform: scale(0.95) translateX(0) translateY(0);
	}
	36% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	39% {
		-webkit-transform: scale(0.97);
		        transform: scale(0.97);
	}
	42% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	60% {
		opacity: 1;
	}
	99.9%, to {
		opacity: 1;
	}
}
@-moz-keyframes mvLogoAnimate {
	0% {
		opacity: 0;
		-webkit-transform: scale(1) translateX(-200%) translateY(200%);
		        transform: scale(1) translateX(-200%) translateY(200%);
	}
	30% {
		opacity: 1;
		-webkit-transform: scale(0.95) translateX(0) translateY(0);
		        transform: scale(0.95) translateX(0) translateY(0);
	}
	36% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	39% {
		-webkit-transform: scale(0.97);
		        transform: scale(0.97);
	}
	42% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	60% {
		opacity: 1;
	}
	99.9%, to {
		opacity: 1;
	}
}

@keyframes mvLogoAnimate {
	0% {
		opacity: 0;
		-webkit-transform: scale(1) translateX(-200%) translateY(200%);
		        transform: scale(1) translateX(-200%) translateY(200%);
	}
	30% {
		opacity: 1;
		-webkit-transform: scale(0.95) translateX(0) translateY(0);
		        transform: scale(0.95) translateX(0) translateY(0);
	}
	36% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	39% {
		-webkit-transform: scale(0.97);
		        transform: scale(0.97);
	}
	42% {
		-webkit-transform: scale(1);
		        transform: scale(1);
	}
	60% {
		opacity: 1;
	}
	99.9%, to {
		opacity: 1;
	}
}


/*basebtn*/
.basebtn.on.fadeIn {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeIn;
 animation-name: fadeIn;
 visibility: visible !important;
}
@-webkit-keyframes fadeIn {
 0% { opacity: 0; }
 99.9%,to{ opacity: 1; }
}
@keyframes fadeIn {
 0% { opacity: 0;  }
 99.9%,to{ opacity: 1; }
}
.basebtn {
	background: #fff;
	border-radius: 4px;
}
.basebtn a{ display: block; position: relative; overflow: hidden; background: none; }
.basebtn a img{
 -webkit-transition: all 0.3s ease-out;
 -moz-transition: all 0.3s ease-out;
 -ms-transition: all 0.3s ease-out;
 transition: all 0.3s ease-out;
 opacity: 1;
}
.basebtn a img.on{
  position: absolute;
  z-index: 1;
  top: 0;
  opacity: 0 !important;
}
.basebtn a:hover img{ opacity: 0; }
.basebtn a:hover img.on{ opacity: 1 !important; }

.basebtn a:before{
 content: "";
 background: #00632d;
 position: absolute;
 left: 0;
 width: 0; height: 100%;
 display: inline-block;
 -webkit-transition: all 0.3s ease-out;
 -moz-transition: all 0.3s ease-out;
 -ms-transition: all 0.3s ease-out;
 transition: all 0.3s ease-out;
 z-index: 0;
 border-radius: 4px;
}
.basebtn a:hover:before{
  width: 100%;
}
@keyframes L-1_S-2 {
	0% {
		opacity: 0;
		transform: scale(5);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
@-webkit-keyframes L-1_S-2 {
	0% {
		opacity: 0;
		-webkit-transform: scale(5);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
	}
}
@keyframes L-2_S-2 {
	0% {
		opacity: 0;
		transform: scale(5);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
@-webkit-keyframes L-2_S-2 {
	0% {
		opacity: 0;
		-webkit-transform: scale(5);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
	}
}
@keyframes MV_can {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@-webkit-keyframes MV_can {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes rotate-circle {
	0% {
		-webkit-transform: rotate(0deg);
		margin-top: -100px;
	}
	100% {
		-webkit-transform: rotate(0deg);
		margin-top: 0px;
	}
}
@-webkit-keyframes rotate-circle {
	0% {
		-webkit-transform: rotate(0deg);
		margin-top: -100px;
	}
	100% {
		-webkit-transform: rotate(0deg);
		margin-top: 0px;
	}
}
@keyframes bub_title {
	0% {
		opacity: 0;
		transform: scale(2);
	}
	60% {
		opacity: 1;
		transform: scale(1);
	}
	80% {
		opacity: 1;
		transform: scale(1.2);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
@-webkit-keyframes bub_title {
	0% {
		opacity: 0;
		-webkit-transform: scale(2);
	}
	60% {
		opacity: 1;
		-webkit-transform: scale(1);
	}
	80% {
		opacity: 1;
		-webkit-transform: scale(1.2);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
	}
}

@-webkit-keyframes logoIn {
	0% {
		opacity: 0;
		top: -5%;
	}
	5% {
		-webkit-transform: translate3d(0, 0, 0) scale(10);
		transform: translate3d(0, 0, 0) scale(10);
		opacity: 0;
	}
	50% {
		opacity: 0.6;
		-webkit-transform: scale(2);
		transform: scale(2);
	}
	55% {
		-webkit-transform: scale(1);
		transform: scale(1);
		top: 0;
	}
	56% {
		-webkit-transform: scale(0.8);
		transform: scale(0.8);
	}
	58% {
		opacity: 1;
		-webkit-transform: scale(0.9);
		transform: scale(0.9);
	}
	59%, to {
		opacity: 1;
		transform: scale(1);
	}
}
@keyframes logoIn {
	0% {
		opacity: 0;
		top: -5%;
	}
	5% {
		-webkit-transform: translate3d(0, 0, 0) scale(10);
		transform: translate3d(0, 0, 0) scale(10);
		opacity: 0;
	}
	50% {
		opacity: 0.6;
		-webkit-transform: scale(2);
		transform: scale(2);
	}
	55% {
		-webkit-transform: scale(1);
		transform: scale(1);
		top: 0;
	}
	56% {
		-webkit-transform: scale(0.8);
		transform: scale(0.8);
	}
	58% {
		opacity: 1;
		-webkit-transform: scale(0.9);
		transform: scale(0.9);
	}
	59%, to {
		opacity: 1;
		transform: scale(1);
	}
}
@-webkit-keyframes logoInFadeCol {
	0% {
		background-color: rgb(0, 0, 0, 1);
	}
	70% {
		background-color: rgb(0, 0, 0, 0.2);
	}
	100% {
		background-color: rgb(0, 0, 0, 0);
	}
}
@keyframes logoInFadeCol {
	0% {
		background-color: rgb(0, 0, 0, 1);
	}
	70% {
		background-color: rgb(0, 0, 0, 0.2);
	}
	100% {
		background-color: rgb(0, 0, 0, 0);
	}
}
@-webkit-keyframes canMug {
	0% {
		transform: scale(0.95);
		opacity: 0;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}
@keyframes canMug {
	0% {
		transform: scale(0.95);
		opacity: 0;
	}
	100% {
		transform: scale(1);
		opacity: 1;
	}
}
@-webkit-keyframes logoFadeOut {
	0% {
		opacity: 1;
	}
	80% {
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}
@keyframes logoFadeOut {
	0% {
		opacity: 1;
	}
	80% {
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}
/* ここから光の部分 */
@-webkit-keyframes shine-move-mv {
	0% {
		bottom:-10%;
		left:-120%;
	}
	10% {
		bottom:-10%;
		left:-120%;
	}
	40% {
		bottom:10%;
		left:120%;
	}
	100% {
		bottom:10%;
		left:120%;
	}
}
@keyframes shine-move-mv {
	0% {
		bottom:-10%;
		left:-120%;
	}
	10% {
		bottom:-10%;
		left:-120%;
	}
	40% {
		bottom:10%;
		left:120%;
	}
	100% {
		bottom:10%;
		left:120%;
	}
}
/* ここまで光の部分 */


#bubble_cont, #bubble_cont, #bubble_cont .bub_txt3, #bubble_cont{
	position: absolute;
}

/*basebtn*/

.thumbnail {
	display: none;
}

/*===================================================================
PC
===================================================================*/

@media screen and (min-width:961px) {
body{
	min-width: 961px;
	position: relative;
}
.pcNon {
	display: none;
}
.top_cont{
	background-color: #fff;
	display: block;
	overflow: hidden;
	margin-bottom: 20px;
}

/*main_visual_cont*/
#main_visual_cont{
	display: block;
	z-index: 1;
	overflow: hidden;
	position: relative;
}
#main_visual_cont{
	display: block;
	background: url('../images/top_cont_bg.jpg?210801')no-repeat;
	background-position: center top;
	background-size: cover;
}
#main_visual_cont .main_visual_cont_top{
	display: block;
	background: url('../images/top_cont_bg.jpg?210801')no-repeat;
	background-position: center top;
	background-size: initial;
}
#main_visual_cont .inner{
	width: 960px;
	display: block;
	margin: 0 auto;
	position: relative;
}
.main_banner_cont .inner h1 span img{
	display: none;
}
#main_visual_cont .inner .main_visual{
	position: relative;
	width: 960px;
	height: 580px;
}
.main_visual li.m_v_l1{
	opacity: 0;
	position: absolute;
	top: 0;
	right: 0;
	left: 38%;
	-webkit-transition: opacity .5s ease-in;
	transition: opacity .5s ease-in;
	max-width: 758px;
	width: 100%;
	margin: auto;
	z-index: 1;
}
.main_visual li.m_v_l1.active{
	opacity: 1;
}
.main_visual li.m_v_l2{
	position: absolute;
	top: 17.65%;
	left: -4.25%;
	z-index: 1;
	max-width: 639px;
	width: 66.78%;
}
.main_visual li.m_v_l3{
	position: absolute;
	top: 71.88%;
	left: -1.98%;
	z-index: 3;
	max-width: 353px;
	width: 36.86%;
}
.main_visual li.m_v_l4{
	position: absolute;
	top: 3.88%;
	right: 0;
	z-index: 3;
	max-width: 282px;
	width: 29.86%;
}
}
.main_visual li.m_v_l2,
.main_visual li.m_v_l3,
.main_visual li.m_v_l4{
	opacity: 0;
}
.main_visual li.m_v_l2.active,
.main_visual li.m_v_l3.active,
.main_visual li.m_v_l4.active{
	opacity: 1;
	animation: mvLogoAnimate 2s cubic-bezier(.7,0.01,1,0.4);
	-moz-animation: mvLogoAnimate 2s cubic-bezier(.7,0.01,1,0.4);
	-webkit-animation: mvLogoAnimate 2s cubic-bezier(.7,0.01,1,0.4);
}


#main_visual_cont .main_visual_bot{
	position: relative;
	z-index: 2;
	width: 100%;
	padding: 7px 0;
	display: block;
	overflow: hidden;
	text-align: center;
	opacity: 0;
}
#main_visual_cont .main_visual_bot.active{
	background-color: #004a1c;
	opacity: 1;
	transition: 0.6s;
}
#main_visual_cont .main_visual_bot p{
	font-size: 11px;
	color: #fff;
	text-align: left;
	width: 960px;
	margin: 0 auto;
	line-height: 1.45;
}
#main_visual_cont .main_visual_bot p span{
	display: inline-block;
	text-align: left;
}
#main_visual_cont .main_visual_foreground {
	opacity: 0;
}
#main_visual_cont .main_visual_foreground.active {
	opacity: 1;
	transition: 1s;
}
#main_visual_cont .main_visual_bot .note {
	display: flex;
}
#main_visual_cont .main_visual_bot .note .mark {
	flex-shrink: 0;
}
/*main_visual_cont*/

/*bubble_cont*/
#bubble_cont{
	background: url('../images/bubble_bg.jpg')no-repeat center top;
	background-color: #f99600;
	background-size: initial;
	display: block;
	overflow: hidden;
	position: relative;
}
#bubble_cont .inner{
	width: 960px;
	margin: 0 auto 89px;
	display: block;
	position: relative;
	z-index: 102;
}
#bubble_cont .bub_read_txt{
	opacity: 0;
	padding: 0;
	width: 960px;
	margin: 50px auto 0 auto;
}
#bubble_cont .bub_title{
	opacity: 0;
	padding: 0;
	width: 940px;
	margin: 44px auto 18px auto;
}
#bubble_cont .bub_title img {
	opacity: 0;
}
#bubble_cont .bub_title.on img{
	opacity: 1;
	transition: 0.2s;
	-webkit-transition: 0.2s;
	transition-delay: 1s;
}
#bubble_cont .bub_read_txt.on{
	opacity: 1;
	overflow: hidden;
}
#bubble_cont .bub_title.on{
	animation: bub_title 0.2s ease-in;
	-webkit-animation: bub_title 0.2s ease-in;
	animation-delay: 1s;
	opacity: 1;
	overflow: hidden;
}
#bubble_cont .bub_txt3{
	position: absolute;
	top: 1190px;
	left: 10px;
	width: 322px;
}
/* ここからストロング */
#bubble_cont .points_list {
	display: block;
	padding-left: 425px;
	padding-bottom: 103px;
	position: relative;
}
#bubble_cont .points_list li {
	display: block;
	opacity: 0;
	margin-bottom: 15px;
	height: 284px;
	width: 553px;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	position: relative;
	z-index: 1;
}
#bubble_cont .points_list li:last-child {
	margin-bottom: 0;
}
#bubble_cont .points_list.on li {
	opacity: 1;
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transition: all 0.25s;
	transition: all 0.25s;
}
#bubble_cont .points_list.on li:nth-child(1) {
	transition-delay: 0s;
}
#bubble_cont .points_list.on li:nth-child(2) {
	transition-delay: 0.25s;
}
#bubble_cont .points_list.on li:nth-child(3) {
	transition-delay: 0.5s;
	margin-bottom: 17px;
}
#bubble_cont .points_list.on li:nth-child(4) {
	transition-delay: 0.75s;
	height: 0;
	z-index: 0;
}
#bubble_cont .points_list li span.annotation {
	font-weight: bold;
	padding-left: 16px;
    width: 538px;
    display: inline-block;
    font-size: 11.8px;
    line-height: 15px;
}
#bubble_cont .points_list li span.pc_can {
	position: absolute;
	top: -1000px;
	left: -545px;
	width: 744px;
	height: 812px;
}
#bubble_cont .points_list.on li span.pc_can {
	top: -836px;
    left: -590px;
	-webkit-transform: none!important;
	transform: none!important;
	-webkit-transition: top 0.3s;
	transition: top 0.3s;
	transition-delay: 0.9s;
}
#bubble_cont .points_list.scrPoint.on li span img {
	transition-delay: 0.9s;
	-webkit-transform: none!important;
	transform: none!important;
}
/* ここまでストロング */

/* reason */
.reason {
	margin-top: 0;
}
.reason .reason_ribbon {
	width: 960px;
	margin: 0 auto;
}
.reason .reason_item {
	margin: 0 auto 20px auto;
	line-height: 0;
	width: 880px;
	position: relative;
}
.reason .reason_item:after {
	content: "";
	position: absolute;
	z-index: -1;
	-moz-box-shadow: 3px 3px 3px 3px rgba(0, 0, 0, 0.08);
	-webkit-box-shadow: 3px 3px 3px 3px rgba(0, 0, 0, 0.08);
	box-shadow: 3px 3px 3px 3px rgba(0, 0, 0, 0.08);
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	-moz-border-radius: 1%;
	-webkit-border-radius: 1%;
	border-radius: 1%;
}
.reason .reason_item .accordion {
	background: url(../images/reason_bg_title.jpg) no-repeat;
	border: none;
	outline: none;
	width: 100%;
	height: 80px;
	position: relative;
}
.reason .reason_item .accordion:hover {
	cursor: pointer;
}
.reason .reason_item .accordion img {
	margin: 0 auto;
}
.reason .reason_item .accordion .ico_acd {
	background: url(../images/icon_acd_close.png) no-repeat;
	width: 39px;
	height: 39px;
	position: absolute;
	right: 30px;
	top: 21px;
}
.reason .reason_item.active .accordion .ico_acd {
	background: url(../images/icon_acd_open.png) no-repeat;
	width: 39px;
	height: 39px;
	position: absolute;
	right: 30px;
	top: 21px;
}
.reason .reason_item .panel {
	background: url(../images/reason_item_bg.png);
	background-size: contain;
	width: 100%;
	overflow: hidden;
	line-height: 1.7;
	max-height: 315px;
	padding: 35px;
	transition: all 0.5s;
	font-size: 16px;
}
.reason .reason_item.active .panel {
	max-height: 0;
	padding: 0 35px;
	transition: all 0.5s;
}
.reason .reason_item .panel .left {
	float: left;
	display: block;
	width: 212px;
    margin-right: 55px;
	margin-left: 20px;
	line-height: 29px;
    font-size: 14px;
}
.reason .reason_item .panel .right {
	float: left;
	display: block;
	width: 518px;
    line-height: 29px;
    font-size: 14px;
}
.reason .reason_item:nth-of-type(1) .left {
	width: 230px;
    margin: 0 38px 0 22px;
}
.reason .reason_item:nth-of-type(2) .left {
	width: 530px;
	margin: 0;
}
.reason .reason_item:nth-of-type(3) .left {
    width: 261px;
    margin: 0 25px 0 4px;
}
.reason .reason_item:nth-of-type(4) .left {
	width: 530px;
	margin: 0;
}
.reason .reason_item:nth-of-type(2) .right {
	width: 212px;
	margin-left: 40px;
	margin-right: 20px;
}
.reason .reason_item:nth-of-type(4) .right {
	width: 240px;
	margin-left: 40px;
    margin-right: 0;
}
/* reason */
#bubble_cont .bub_txt3 img{
	-webkit-transition: 0.7s;
	transition: 0.7s;
}
#foreground1,
.foreground1{
  background: url(../images/bubbles1.png) repeat;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: 220px;
  animation: animatedBackground1 4s cubic-bezier(0, 0, 0, 0) infinite;
  -webkit-animation: animatedBackground1 4s cubic-bezier(0, 0, 0, 0) infinite;
	z-index: 0;
}
#foreground2,
.foreground2{
  background: url(../images/bubbles2.png) repeat;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: 300px;
  animation: animatedBackground2 6.5s cubic-bezier(0, 0, 0, 0) infinite;
  -webkit-animation: animatedBackground2 6.5s cubic-bezier(0, 0, 0, 0) infinite;
	z-index: 0;
}
#foreground3,
.foreground3{
  background: url(../images/bubbles3.png) repeat;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: 300px;
  animation: animatedBackground2 4.5s cubic-bezier(0, 0, 0, 0) infinite;
  -webkit-animation: animatedBackground2 4.5s cubic-bezier(0, 0, 0, 0) infinite;
	z-index: 0;
}
/*bubble_cont*/

/*cm_cont*/
#cm_cont{
	display: block;
	overflow: hidden;
	margin: 0 auto;
	background: url(../images/cm_bg.jpg)no-repeat top center;
	background-color: #fff;
	text-align: center;
	background-size: cover;
}
#cm_cont .cm_cont_inner_bg{
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	background: url(../images/cm_inner_bg.png)no-repeat top center;
}
#cm_cont .inner{
	width: 960px;
	margin: 75px auto 100px;
}
#cm_cont .cm_title{
	display: inline-block;
	overflow: hidden;
	margin: 0 auto 15px;
}
#cm_cont .cm_list{
	margin: 0 auto 60px;
	display: inline-block;
	text-align: center;
	position: relative;
	width: 940px;
}
#cm_cont .cm_list li{
	display: block;
	margin: 0 auto 60px;
	position: relative;
	width: 100%;
}
#cm_cont .cm_list li:last-child{
	margin: 0 auto 0;
}
#cm_cont .cm_list li:hover {
	opacity: 0.8;
	transition: opacity 0.5s;
	transition-delay: 0.2s;
}
#cm_cont .cm_list li a img{
	-webkit-transform: scale(0.8);
    transform: scale(0.8);
}
#cm_cont .cm_list li.on a img{
	-webkit-transform: scale(1);
    transform: scale(1);
}
#cm_cont .cm_list li a{
	display: inline-block;
	overflow: hidden;
	width: 100%;
}
#cm_cont .cm_list.on li:before{
	opacity: 1;
}
#cm_cont .cm_list li.new:before{
	position: absolute;
	content:"";
	top: -30px;
	left: -35px;
	background: url('../images/cm_new.png') no-repeat center;
	background-size: cover;
	width: 225px;
	height:64px;
	z-index: 1;
	opacity: 0;
}
#cm_cont .cm_list li.on:before{
	opacity: 1;
	transition: all 0.5s;
	transition-delay: 0.35s;
}
#cm_cont .cm_list li.on:before{
	opacity: 1;
	transition: all 0.5s;
	transition-delay: 0.35s;
}
#cm_cont .cm_list span{
	font-size: 20px;
	display: inline-block;
	margin-top:15px;
}
/*cm_cont*/

/*campaign_cont*/
#campaign_cont{
	display: block;
	overflow: hidden;
	margin: 0 auto;
	background: url('../images/campaign_bg.jpg?240617')no-repeat top center;
	background-color: #fff;
	text-align: center;
	background-size: cover;
}
#campaign_cont .inner{
	width: 960px;
	margin: 27px auto 105px;
}
#campaign_cont .campaign_title{
	display: inline-block;
	overflow: hidden;
	margin: 0 auto 15px;
}
#campaign_cont .campaign_list{
	margin: 20px auto 0;
	display: pxinline-block;
	text-align: center;
}
#campaign_cont .campaign_list li.new.on:before{
	opacity: 1;
}
#campaign_cont .campaign_list li.new:before {
	position: absolute;
	content:"";
	top: -42px;
	left: 2px;
	background: url('../images/cm_new.png') no-repeat center;
	background-size: cover;
	width: 157px;
	height:81px;
	z-index: 1;
	opacity: 0;
}
#campaign_cont .campaign_list li.close.on .close-layer-img {
	transform: scale(1);
	opacity: 1;
}
#campaign_cont .campaign_list li.close .close-layer-img {
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height:100%;
	z-index: 1;
	-webkit-transform: scale(0.8);
    transform: scale(0.8);
	opacity: 0;
    transition: opacity .7s, transform .7s;
}
#campaign_cont .campaign_list li.close:hover .close-layer-img {
	opacity: 0.9;
}
#campaign_cont .campaign_list li.close .close-layer-img img {
	border: none;
}
#campaign_cont .campaign_list li{
	display: block;
	margin: 0 auto 65px;
	position: relative;
	line-height: 0;
}
#campaign_cont .campaign_list li.new.on:before{
	opacity: 1;
	transition: all 0.5s;
	transition-delay: 0.35s;
}
#campaign_cont .campaign_list li:last-child{
	margin: 0 auto;
}
#campaign_cont .campaign_list li a:hover{
	opacity: 0.8;
	transition: opacity 0.5s;
	transition-delay: 0.2s;
}
#campaign_cont .campaign_list li a{
	display: block;
	overflow: hidden;
}
#campaign_cont .campaign_list li a img{
	-webkit-transform: scale(0.8);
    transform: scale(0.8);
		border: 15px solid #fff;
}
#campaign_cont .campaign_list li.on a img{
	-webkit-transform: scale(1);
    transform: scale(1);
}
#campaign_cont .campaign_list li.comming:before {
	position: absolute;
	content: "";
	top: -55px;
	left: -5px;
	background: url('../images/cm_comming.png') no-repeat center;
	background-size: cover;
	width: 232px;
	height: 81px;
	z-index: 1;
	opacity: 0;
}
#campaign_cont .campaign_list li.comming.on:before{
	opacity: 1;
	transition: all 0.5s;
	transition-delay: 0.35s;
}
#campaign_cont .campaign_list li.no-campaign {
	margin: 50px auto 100px;
	font-size: 28px;
	font-weight: bold;
	color: #fff;
	line-height: 1.7;
}
.basebtn {
	width: 316px;
	height:64px;
	margin: 60px auto 0;
	visibility: hidden;
}

/*campaign_cont*/

/*cm_cont*/
#cm_cont{
	display: block;
	overflow: hidden;
	margin: 0 auto;
	background: url(../images/cm_bg.jpg)no-repeat top center;
	background-color: #fff;
	text-align: center;
	background-size: cover;
}
#cm_cont .cm_cont_inner_bg{
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	background: url(../images/cm_inner_bg.png)no-repeat top center;
}
#cm_cont .inner{
	width: 960px;
	margin: 29px auto 24px;
}
#cm_cont .cm_title{
	display: inline-block;
	overflow: hidden;
	margin: 0 auto 15px;
}
#cm_cont .cm_list{
	margin: 0 auto 60px;
	display: inline-block;
	text-align: center;
	position: relative;
	width: 940px;
}
#cm_cont .cm_list li{
	display: block;
	margin: 0 auto 60px;
	position: relative;
	width: 100%;
}
#cm_cont .cm_list li:last-child{
	margin: 0 auto 0;
}
#cm_cont .cm_list li:hover {
	opacity: 0.8;
	transition: opacity 0.5s;
	transition-delay: 0.2s;
}
#cm_cont .cm_list li a img{
	-webkit-transform: scale(0.8);
    transform: scale(0.8);
}
#cm_cont .cm_list li.on a img{
	-webkit-transform: scale(1);
    transform: scale(1);
}
#cm_cont .cm_list li a{
	display: inline-block;
	overflow: hidden;
	width: 100%;
}
#cm_cont .cm_list.on li:before{
	opacity: 1;
}
#cm_cont .cm_list li.new:before{
	position: absolute;
	content:"";
    top: -29px;
    left: -27px;
	background: url('../images/cm_new.png') no-repeat center;
	background-size: cover;
	width: 225px;
	height:64px;
	z-index: 1;
	opacity: 0;
}
#cm_cont .cm_list li.on:before{
	opacity: 1;
	transition: all 0.5s;
	transition-delay: 0.35s; 
}
#cm_cont .cm_list li.on:before{
	opacity: 1;
	transition: all 0.5s;
	transition-delay: 0.35s; 
}
#cm_cont .cm_list span{
	font-size: 23px;
	font-weight: bold;
	display: inline-block;
	margin-top: 6px;
}
#cm_cont .cm_list .cm_list_tit{
	font-size: 24px;
	font-weight: bold;
	margin-top: 8px;
	line-height: 1.4;
}
#cm_cont .cm_list .date{
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
}
/*cm_cont*/


/*products_cont*/
#products_cont{
	display: block;
	overflow: hidden;
	margin: 0 auto;
	background: url('../images/products_bg.jpg')no-repeat top center;
	background-color: #fcb100;
	text-align: center;
	background-size: cover;
	text-align: center;
}

#products_cont .inner{
	display: block;
	overflow: hidden;
	width: 940px;
	margin: 30px auto 0px;
	line-height: 0;
}
#products_cont .inner .products_title{
	display: inline-block;
	overflow: hidden;
	margin-bottom: 22px;
}
#products_cont .inner .products_info_1{
	display: inline-block;
	position: relative;
}
#products_cont .inner .products_info_1 span.products_stamp{
	position: absolute;
    top: 43px;
    left: 47px;
	z-index: 100;
	opacity: 0;
}
#products_cont .inner .products_info_1 span.products_stamp img{
	opacity: 0;
}
#products_cont .inner .products_info_1.on span.products_stamp{
	width: 126px;
	height: 126px;
	animation: bub_title 0.2s ease-in;
	-webkit-animation: bub_title 0.2s ease-in;
	opacity: 1;
	animation-delay: 1.25s;
	overflow: hidden;
	border-radius: 50%;
	-webkit-border-radius: 50%;
}
#products_cont .inner .products_info_1.on span.products_stamp .shine_move {
	width: 405px;
	height: 605px;
	display: inline-block;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	animation: shine-move 4s cubic-bezier(0, 0, 0, 0) infinite;
	-webkit-animation: shine-move 4s cubic-bezier(0, 0, 0, 0) infinite;
	animation-delay: 1.25s;
	position: relative;
	background: linear-gradient(90deg, rgba(252,251,247, 0)50%, rgba(252,251,247,0.7)100%);
}
#products_cont .inner .products_info_1.on span.products_stamp img{
	opacity: 1;
	transition: 0.7s;
	transition-delay: 1.25s;
}
#products_cont .inner .products_info_1 span.products_info1_icon{
	position: absolute;
	bottom: -100px;
	left: 151px;
	transition: all 0.7s;
	transition-delay: 0.25s;
}
#products_cont .inner .products_info_1 span.products_info1_icon.on{
	bottom: 0;
	transition: all 0.7s;
	transition-delay: 0.25s;
}
#products_cont .inner .products_info_1 span.products_info1_icon img{
	opacity: 0;
}
#products_cont .inner .products_info_1 span.products_info1_icon.on img{
	opacity: 1;
	transition-delay: 0.25s;
}
#products_cont .inner .products_info_bottom {
	margin-top: 10px;
	font-size: 12px;
	line-height: 1.5;
}
#products_cont .inner .products_info_bottom .note {
	display: flex;
}
#products_cont .inner .products_info_bottom .note .mark {
	flex-shrink: 0;
}
#products_cont .inner .products_info_2{
	display: inline-block;
	overflow: hidden;
	position: relative;
	text-align: left;
	width: 940px;
	height: 464px;
}
#products_cont .inner .products_info_2 .products_info_2_span2{
	position: absolute;
	bottom: 0;
	right: 250px;
}
#products_cont .inner .products_info_2 .products_info_2_span2 img{
	transition-delay: 0.4s;
}
#products_cont .inner .products_info_2 .products_info_2_span1{
	width: 345px;
	display: inline-block;
	overflow: hidden;
	top: 175px;
	left: 40px;
	position: absolute;
}
/*products_cont*/

/*===================================================================
Tablet
===================================================================*/

@media screen and (min-width: 641px) and (max-width: 960px) {
	.pcNon {
		display: none;
	}
	.top_cont{
		background-color: #fff;
		display: block;
		overflow: hidden;
		margin-bottom: 20px;
	}

	/*main_visual_cont*/
	#main_visual_cont{
		display: block;
		z-index: 1;
		overflow: hidden;
		position: relative;
		background: url('../images/top_cont_bg.jpg?200615')no-repeat;
		background-position: center top;
		background-size: cover;
	}
	#main_visual_cont .main_visual_cont_top{
		display: block;
	}
	#main_visual_cont .inner{
		width: 100%;
		display: block;
		margin: 0 auto;
		position: relative;
	}
	.main_banner_cont .inner h1 span img{
		display: none;
	}
	#main_visual_cont .inner .main_visual{
		position: relative;
		width: 100%;
		height: calc((580/960)*100vw);
	}
	.main_visual li.m_v_l1{
		opacity: 0;
		position: absolute;
		top: 0;
		right: 0;
		left: 36%;
		-webkit-transition: opacity .5s ease-in;
		transition: opacity .5s ease-in;
		max-width: 758px;
		width: 77.67%;
		margin: auto;
		z-index: 0;
	}
	.main_visual li.m_v_l1.active{
		opacity: 1;
	}
	.main_visual li.m_v_l2{
		position: absolute;
		top: 18.65%;
		left: 1.48%;
		max-width: 639px;
		width: 59.78%;
		z-index: 1;
	}
	.main_visual li.m_v_l3{
		position: absolute;
		top: 71.88%;
		left: 3.58%;
		z-index: 3;
		max-width: 353px;
		width: 30.86%;
	}
	.main_visual li.m_v_l4{
		position: absolute;
		top: 2.88%;
		right: 2.98%;
		z-index: 3;
		max-width: 282px;
		width: 25.86%;
	}
	.main_visual li.m_v_l2,
	.main_visual li.m_v_l3,
	.main_visual li.m_v_l4{
		opacity: 0;
	}
	.main_visual li.m_v_l2.active,
	.main_visual li.m_v_l3.active,
	.main_visual li.m_v_l4.active{
		opacity: 1;
		animation: mvLogoAnimate 2s cubic-bezier(.7,0.01,1,0.4);
		-moz-animation: mvLogoAnimate 2s cubic-bezier(.7,0.01,1,0.4);
		-webkit-animation: mvLogoAnimate 2s cubic-bezier(.7,0.01,1,0.4);
	}
	#main_visual_cont .main_visual_bot{
		position: relative;
		background-color: #004a1c;
		width: 100%;
		padding: calc((7/960)*100vw) calc((35/960)*100vw);
		display: block;
		overflow: hidden;
		text-align: center;
		opacity: 0;
	}
	#main_visual_cont .main_visual_bot.active{
		opacity: 1;
		transition: 0.6s;
	}
	#main_visual_cont .main_visual_bot p{
		font-size: calc((11/960)*100vw);
		color: #fff;
		text-align: left;
		width: 100%;
		margin: 0 auto;
	}
	#main_visual_cont .main_visual_bot p span{
		display: inline-block;
		text-align: left;
	}
	#main_visual_cont .main_visual_foreground {
		opacity: 0;
	}
	#main_visual_cont .main_visual_foreground.active {
		opacity: 1;
		transition: 1s;
	}
	/*main_visual_cont*/

	#bubble_cont .inner{
		width: 100%;
		margin: 0 auto calc((89/960)*100vw);
		display: block;
		position: relative;
		z-index: 102;
	}
	#bubble_cont .bub_read_txt{
		opacity: 0;
		padding: 0;
		width: calc((940/960)*100vw);
		margin: calc((50/960)*100vw) auto 0 auto;
	}
	#bubble_cont .bub_title{
		opacity: 0;
		padding: 0;
		width: calc((940/960)*100vw);
		margin: calc((44/960)*100vw) auto calc((18/960)*100vw) auto;
	}
	#bubble_cont .bub_title img {
		opacity: 0;
	}
	#bubble_cont .bub_title.on img{
		opacity: 1;
		transition: 0.2s;
		-webkit-transition: 0.2s;
		transition-delay: 1s;
	}
	#bubble_cont .bub_title.on{
		animation: bub_title 0.2s ease-in;
		-webkit-animation: bub_title 0.2s ease-in;
		animation-delay: 1s;
		opacity: 1;
		overflow: hidden;
	}
	#bubble_cont .bub_txt3{
		position: absolute;
		top: calc((1190/960)*100vw);
		left: calc((10/960)*100vw);
		width: calc((322/960)*100vw);
	}
	/* ここからストロング */
	#bubble_cont .points_list {
		display: block;
		padding-left: calc(425/960 * 100vw);
		padding-bottom: calc(103/960 * 100vw);
		position: relative;
	}
	#bubble_cont .points_list li {
		display: block;
		opacity: 0;
		width: calc(533/960 * 100vw);
		margin-bottom: calc(15/960 * 100vw);
		height: calc(284/960 * 100vw);
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
		position: relative;
	}
	#bubble_cont .points_list li:last-child {
		margin-bottom: 0;
	}
	#bubble_cont .points_list.on li {
		opacity: 1;
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
		-webkit-transition: all 0.25s;
		transition: all 0.25s;
	}
	#bubble_cont .points_list.on li:nth-child(1) {
		transition-delay: 0s;
	}
	#bubble_cont .points_list.on li:nth-child(2) {
		transition-delay: 0.25s;
	}
	#bubble_cont .points_list.on li:nth-child(3) {
		transition-delay: 0.5s;
	}
	#bubble_cont .points_list.on li:nth-child(4) {
		transition-delay: 0.75s;
	}
	#bubble_cont .points_list li span {
		position: absolute;
		top: calc(-1000/960 * 100vw);
		left: calc(-545/960 * 100vw);
		width: calc(645/960 * 100vw);
		height: calc(898/960 * 100vw);
	}
	#bubble_cont .points_list.on li span {
		top: calc(-605/960 * 100vw);
		left: calc(-545/960 * 100vw);
		-webkit-transform: none!important;
		transform: none!important;
		transition: top 0.3s;
		-webkit-transition: top 0.3s;
		transition-delay: 0.9s;
	}
	#bubble_cont .points_list li span.annotation {
		font-weight: bold;
		padding-left: calc(16/960 * 100vw);
		width: calc(500/960 * 100vw);
		display: inline-block;
		font-size: calc(11.8/960 * 100vw);
		line-height: calc(15/960 * 100vw);
		top: 0;
		left: 0;
	}
	#bubble_cont .points_list.on li span.pc_can {
		top: calc(-836/960 * 100vw);
		left: calc(-560/960 * 100vw);
		width: calc(714/960 * 100vw);
		height: calc(898/960 * 100vw);
		-webkit-transform: none!important;
		transform: none!important;
		transition: top 0.3s;
		-webkit-transition: top 0.3s;
		transition-delay: 0.9s;
	}
	#bubble_cont .points_list.scrPoint.on li span img {
		transition-delay: 0.9s;
		-webkit-transform: none!important;
		transform: none!important;
	}

	/* ここまでストロング */

	/* reason */
	.reason {
		margin-top: 0;
	}
	.reason .reason_ribbon {
		width: 100%;
		margin: 0 auto;
	}
	.reason .reason_item {
		margin: 0 auto calc((20/960)*100vw) auto;
		line-height: 0;
		width: calc((880/960)*100vw);
		position: relative;
	}
	.reason .reason_item:after {
		content: "";
		position: absolute;
		z-index: -1;
		-moz-box-shadow: 3px 3px 3px 3px rgba(0, 0, 0, 0.08);
		-webkit-box-shadow: 3px 3px 3px 3px rgba(0, 0, 0, 0.08);
		box-shadow: 3px 3px 3px 3px rgba(0, 0, 0, 0.08);
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		-moz-border-radius: 1%;
		-webkit-border-radius: 1%;
		border-radius: 1%;
	}
	.reason .reason_item .accordion {
		background: url('../images/reason_bg_title.jpg') no-repeat;
		background-size: cover;
		border: none;
		outline: none;
		width: 100%;
		height: calc((80/960)*100vw);
		position: relative;
	}
	.reason .reason_item .accordion:hover {
		cursor: pointer;
	}
	.reason .reason_item .accordion img {
		width: 75%;
    margin: 0 auto;
	}
	.reason .reason_item .accordion .ico_acd {
		background: url('../images/icon_acd_close.png') no-repeat;
		width: 39px;
    height: 39px;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
	}
	.reason .reason_item.active .accordion .ico_acd {
		background: url('../images/icon_acd_open.png') no-repeat;
    width: 39px;
    height: 39px;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
	}
	.reason .reason_item .panel {
		background: url('../images/reason_item_bg.png');
		background-size: contain;
		width: 100%;
		overflow: hidden;
		line-height: 1.7;
		max-height: calc((380/960)*100vw);
		padding: calc((35/960)*100vw);
		transition: all 0.5s;
		font-size: calc((16/960)*100vw);
	}
	.reason .reason_item.active .panel {
		max-height: 0;
		padding: 0 calc((35/960)*100vw);
		transition: all 0.5s;
	}
	.reason .reason_item .panel .left {
		float: left;
		display: block;
		width: calc((212/960)*100vw);
		margin-right: calc((40/960)*100vw);
		margin-left: calc((20/960)*100vw);
		line-height: calc((29/960)*100vw);
	}
	.reason .reason_item .panel .right {
		float: left;
		display: block;
		width: calc((530/960)*100vw);
		line-height: calc((29/960)*100vw);
	}
	.reason .reason_item:nth-of-type(2) .left,
	.reason .reason_item:nth-of-type(4) .left {
		width: calc((530/960)*100vw);
		margin: 0;
	}
	.reason .reason_item:nth-of-type(2) .right,
	.reason .reason_item:nth-of-type(4) .right {
		width: calc((212/960)*100vw);
		margin-right: calc((40/960)*100vw);
		margin-left: calc((20/960)*100vw);
	}
	/* reason */

/*bubble_cont*/

#bubble_cont{
	background: url('../images/bubble_bg.jpg')no-repeat center -5.6vw;
	background-color: #f99600;
	background-size: 233vw;
	display: block;
	overflow: hidden;
	position: relative;
}
#foreground1,
.foreground1{
    background: url(../images/bubbles1.png) repeat;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: 22.916vw;
    animation: animatedBackground1 3.5s cubic-bezier(0, 0, 0, 0) infinite;
    -webkit-animation: animatedBackground1 3.5s cubic-bezier(0, 0, 0, 0) infinite;
		z-index: 0;
}
#foreground2,
.foreground2{
    background: url(../images/bubbles2.png) repeat;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: 31.25vw;
    animation: animatedBackground2 6s cubic-bezier(0, 0, 0, 0) infinite;
    -webkit-animation: animatedBackground2 6s cubic-bezier(0, 0, 0, 0) infinite;
		z-index: 0;
}
#foreground3,
.foreground3{
    background: url(../images/bubbles3.png) repeat;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: 12.5vw;
    animation: animatedBackground2 4s cubic-bezier(0, 0, 0, 0) infinite;
    -webkit-animation: animatedBackground2 4s cubic-bezier(0, 0, 0, 0) infinite;
		z-index: 0;
}
@keyframes animatedBackground1 {
  0% {background-position: 0 208.33vw;}
  12.5% {background-position: 0.5205vw 182.29vw;}
  25% {background-position: 0 156.25vw;}
  37.5% {background-position: -0.5205vw 130.20vw;}
  50% {background-position: 0 104.16vw;}
  62.5% {background-position: 0.5205vw 78.125vw;}
  75% {background-position: 0 52.083vw;}
  87.5% {background-position: -0.5205vw 26.041vw;}
  100% {background-position: 0 0;}
}
@-webkit-keyframes animatedBackground1 {
	0% {background-position: 0 208.33vw;}
	12.5% {background-position: 0.5205vw 182.29vw;}
	25% {background-position: 0 156.25vw;}
	37.5% {background-position: -0.5205vw 130.20vw;}
	50% {background-position: 0 104.16vw;}
	62.5% {background-position: 0.5205vw 78.125vw;}
	75% {background-position: 0 52.083vw;}
	87.5% {background-position: -0.5205vw 26.041vw;}
	100% {background-position: 0 0;}
}
@keyframes animatedBackground2 {
	0% {background-position: 0 208.33vw;}
  12.5% {background-position: 1.041vw 182.29vw;}
  25% {background-position: 0 156.25vw;}
  37.5% {background-position: -1.041vw 130.20vw;}
  50% {background-position: 0 104.16vw;}
  62.5% {background-position: 1.041vw 78.125vw;}
  75% {background-position: 0 52.083vw;}
  87.5% {background-position: -1.041vw 26.041vw;}
  100% {background-position: 0 0;}
}
@-webkit-keyframes animatedBackground2 {
	0% {background-position: 0 208.33vw;}
	12.5% {background-position: 1.041vw 182.29vw;}
	25% {background-position: 0 156.25vw;}
	37.5% {background-position: -1.041vw 130.20vw;}
	50% {background-position: 0 104.16vw;}
	62.5% {background-position: 1.041vw 78.125vw;}
	75% {background-position: 0 52.083vw;}
	87.5% {background-position: -1.041vw 26.041vw;}
	100% {background-position: 0 0;}
}
/*bubble_cont*/

/*cm_cont*/
#cm_cont{
	display: block;
	overflow: hidden;
	margin: 0 auto;
	background: url('../images/cm_bg.jpg')no-repeat top center;
	background-color: #fff;
	text-align: center;
	background-size: cover;
}
#cm_cont .cm_cont_inner_bg{
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	background: url(../images/cm_inner_bg.png)no-repeat top center;
	background-size: contain;
}
#cm_cont .inner{
	width: 100%;
	margin: calc((75/960)*100vw) auto calc((100/960)*100vw);
}
#cm_cont .cm_title{
	display: inline-block;
	overflow: hidden;
	margin: 0 auto calc((15/960)*100vw);
}
#cm_cont .cm_list{
	display: inline-block;
	text-align: center;
	position: relative;
  margin: 0 auto calc((20/960)*100vw) auto;
  width: calc((880/960)*100vw);
}
#cm_cont .cm_list li{
	display: block;
	margin: 0 auto calc((60/960)*100vw);
	position: relative;
	width: 100%;
}
#cm_cont .cm_list li:last-child{
	margin: 0 auto 0;
}
#cm_cont .cm_list li:hover {
	opacity: 0.8;
	transition: opacity 0.5s;
	transition-delay: 0.2s;
}
#cm_cont .cm_list li a img{
	-webkit-transform: scale(0.8);
    transform: scale(0.8);
}
#cm_cont .cm_list li.on a img{
	-webkit-transform: scale(1);
    transform: scale(1);
}
#cm_cont .cm_list li a{
	display: inline-block;
	overflow: hidden;
	width: 100%;
}
#cm_cont .cm_list.on li:before{
	opacity: 1;
}
#cm_cont .cm_list li.new:before{
	position: absolute;
	content:"";
	top: calc((-30/960)*100vw);
	left: calc((-35/960)*100vw);
	background: url('../images/cm_new.png') no-repeat center;
	background-size: cover;
	width: calc((225/960)*100vw);
	height:calc((64/960)*100vw);
	z-index: 1;
	opacity: 0;
}
#cm_cont .cm_list li.new.on:before{
	opacity: 1;
	transition: all 0.5s;
	transition-delay: 0.35s;
}
#cm_cont .cm_list span{
	font-size: calc((20/960)*100vw);
	display: inline-block;
	margin-top:calc((15/960)*100vw);
}
/*cm_cont*/

/*campaign_cont*/
#campaign_cont{
	display: block;
	overflow: hidden;
	margin: 0 auto;
	background: url('../images/campaign_bg.jpg?240617')no-repeat top center;
	background-size: cover;
  background-color: #004720;
	text-align: center;
}
#campaign_cont .campaign_cont_inner_bg{
	/* width: 100%;
	margin: 0 auto;
	overflow: hidden;
	background: url('../images/campaign_inner_bg.png')no-repeat top center;
	background-size: contain; */
}
#campaign_cont .inner{
	width: 100%;
	margin: calc((65/960)*100vw) auto calc((75/960)*100vw);
	overflow: hidden;
}
#campaign_cont .campaign_title{
	display: inline-block;
	overflow: hidden;
	margin: 0 auto calc((15/960)*100vw);
}
#campaign_cont .campaign_list{
	display: inline-block;
	text-align: center;
  margin: 0 auto calc((20/960)*100vw) auto;
  width: calc((880/960)*100vw);
}
#campaign_cont .campaign_list li.new:before{
	position: absolute;
	content:"";
	top: calc((-42/960)*100vw);
	left: calc((2/960)*100vw);
	background: url('../images/cm_new.png') no-repeat center;
	background-size: cover;
	width: calc((157/960)*100vw);
	height:calc((81/960)*100vw);
	z-index: 1;
	opacity: 0;
}
#campaign_cont .campaign_list li.new.on:before{
	opacity: 1;
	transition: all 0.5s;
	transition-delay: 0.35s;
}
#campaign_cont .campaign_list li{
	display: block;
	margin: 0 auto calc((65/960)*100vw);
	position: relative;
	line-height: 0;
}
#campaign_cont .campaign_list li:last-child{
	margin: 0 auto;
}
#campaign_cont .campaign_list li:hover{
	opacity: 0.8;
	transition: opacity 0.5s;
	transition-delay: 0.2s;
}
#campaign_cont .campaign_list li a{
	display: inline-block;
	overflow: hidden;
}
#campaign_cont .campaign_list li a img{
	-webkit-transform: scale(0.8);
		transform: scale(0.8);
		width: 100%;
}
#campaign_cont .campaign_list li.on a img{
	-webkit-transform: scale(1);
    transform: scale(1);
}
#campaign_cont .campaign_list li.comming:before{
	position: absolute;
	content:"";
	top: calc((-39/960)*100vw);
	left: calc((-27/960)*100vw);
	background: url('../images/cm_comming.png') no-repeat center;
	background-size: cover;
	width: calc((232/960)*100vw);
	height:calc((81/960)*100vw);
	z-index: 1;
	opacity: 0;
}
#campaign_cont .campaign_list li.comming.on:before{
	opacity: 1;
	transition: all 0.5s;
	transition-delay: 0.35s;
}
.basebtn {
	width: calc((316/960)*100vw);
	height:calc((64/960)*100vw);
	margin: calc((60/960)*100vw) auto 0;
	visibility: hidden;
}
.box-message {
	width: 91%;
	margin-left: auto;
	margin-right: auto;
}

/*campaign_cont*/

/*cm_cont*/
#cm_cont{
	display: block;
	overflow: hidden;
	margin: 0 auto;
	background: url('../images/cm_bg.jpg')no-repeat top center;
	background-color: #fff;
	text-align: center;
	background-size: cover;
}
#cm_cont .cm_cont_inner_bg{
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	background: url(../images/cm_inner_bg.png)no-repeat top center;
	background-size: contain;
}
#cm_cont .inner{
	width: 100%;
	margin: calc((75/960)*100vw) auto calc((100/960)*100vw);
}
#cm_cont .cm_title{
	display: inline-block;
	overflow: hidden;
	margin: 0 auto calc((15/960)*100vw);
}
#cm_cont .cm_list{
	display: inline-block;
	text-align: center;
	position: relative;
  margin: 0 auto calc((20/960)*100vw) auto;
  width: calc((880/960)*100vw);
}
#cm_cont .cm_list li{
	display: block;
	margin: 0 auto calc((60/960)*100vw);
	position: relative;
	width: 100%;
}
#cm_cont .cm_list li:last-child{
	margin: 0 auto 0;
}
#cm_cont .cm_list li:hover {
	opacity: 0.8;
	transition: opacity 0.5s;
	transition-delay: 0.2s;
}
#cm_cont .cm_list li a img{
	-webkit-transform: scale(0.8);
    transform: scale(0.8);
}
#cm_cont .cm_list li.on a img{
	-webkit-transform: scale(1);
    transform: scale(1);
}
#cm_cont .cm_list li a{
	display: inline-block;
	overflow: hidden;
	width: 100%;
}
#cm_cont .cm_list.on li:before{
	opacity: 1;
}
#cm_cont .cm_list li.new:before{
	position: absolute;
	content:"";
	top: calc((-29/960)*100vw);
	left: calc((-27/960)*100vw);
	background: url('../images/cm_new.png') no-repeat center;
	background-size: cover;
	width: calc((225/960)*100vw);
	height:calc((64/960)*100vw);
	z-index: 1;
	opacity: 0;
}
#cm_cont .cm_list li.new.on:before{
	opacity: 1;
	transition: all 0.5s;
	transition-delay: 0.35s; 
}
#cm_cont .cm_list span{
	font-size: calc((20/960)*100vw);
	display: inline-block;
	margin-top:calc((15/960)*100vw);
}
/*cm_cont*/


/*products_cont*/
#products_cont{
	display: block;
	overflow: hidden;
	margin: 0 auto;
	background: url('../images/products_bg.jpg')no-repeat top center;
	background-color: #fcb100;
	text-align: center;
	background-size: cover;
	text-align: center;
}

#products_cont .inner{
	display: block;
	overflow: hidden;
	width: calc((940/960)*100vw);
	margin: calc((30/960)*100vw) auto 0px;
	line-height: 0;
}
#products_cont .inner .products_title{
	display: inline-block;
	overflow: hidden;
	margin-bottom: calc((15/960)*100vw);
}
#products_cont .inner .products_info_1{
	display: inline-block;
	position: relative;
}
#products_cont .inner .products_info_1 span.products_stamp{
	position: absolute;
	top: calc((43/960)*100vw);
	left: calc((47/960)*100vw);
	z-index: 100;
	opacity: 0;
}
#products_cont .inner .products_info_1 span.products_stamp img{
	opacity: 0;
}
#products_cont .inner .products_info_1.on span.products_stamp{
	width: calc((126/960)*100vw);
	height: calc((126/960)*100vw);
	animation: bub_title 0.2s ease-in;
	-webkit-animation: bub_title 0.2s ease-in;
	opacity: 1;
	animation-delay: 1.25s;
	overflow: hidden;
	border-radius: 50%;
	-webkit-border-radius: 50%;
}
#products_cont .inner .products_info_1.on span.products_stamp .shine_move {
	width: calc((405/960)*100vw);
	height: calc((605/960)*100vw);
	display: inline-block;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	animation: shine-move 4s cubic-bezier(0, 0, 0, 0) infinite;
	-webkit-animation: shine-move 4s cubic-bezier(0, 0, 0, 0) infinite;
	animation-delay: 1.25s;
	position: relative;
	background: linear-gradient(90deg, rgba(252,251,247, 0)50%, rgba(252,251,247,0.7)100%);
}
#products_cont .inner .products_info_1.on span.products_stamp img{
	opacity: 1;
	transition: 0.7s;
	transition-delay: 1.25s;
}
#products_cont .inner .products_info_1 span.products_info1_icon{
	position: absolute;
	width: calc((199/960)*100vw);
	bottom: calc((-100/960)*100vw);
	left: calc((151/960)*100vw);
	transition: all 0.7s;
	transition-delay: 0.25s;
}
#products_cont .inner .products_info_1 span.products_info1_icon.on{
	bottom: 0;
	transition: all 0.7s;
	transition-delay: 0.25s;
}
#products_cont .inner .products_info_1 span.products_info1_icon img{
	opacity: 0;
}
#products_cont .inner .products_info_1 span.products_info1_icon.on img{
	opacity: 1;
	transition-delay: 0.25s;
}
#products_cont .inner .products_details img{
	width: 100%;
}
#products_cont .inner .products_info_2{
	display: inline-block;
	overflow: hidden;
	position: relative;
	text-align: left;
	width: calc((940/960)*100vw);
	height: calc((464/960)*100vw);
}
#products_cont .inner .products_info_2 .products_info_2_span2{
	position: absolute;
	bottom: 0;
	right: calc((240/960)*100vw);
	width: calc((517/960)*100vw)
}
#products_cont .inner .products_info_2 .products_info_2_span2 img{
	transition-delay: 0.4s;
}
#products_cont .inner .products_info_2 .products_info_2_span1{
	width: calc((345/960)*100vw);
	display: inline-block;
	overflow: hidden;
	top: calc((175/960)*100vw);
	left: calc((40/960)*100vw);
	position: absolute;
}

}

.box-message {
	margin-top: 40px;
	margin-bottom: 40px;
	background-color: #fff;
	border-radius: 25px;
}
.box-message >.box-inner {
	padding: 25px;
}
.box-message .message-ttl-lv1 {
	font-size: 24px;
	font-weight: bold;
	color: #f00000;
	text-align: center;
}
.box-message .message-ttl-lv1 >span {
	border-bottom: 1px solid #f00000;
}
.box-txt {
	text-align: left;
}
.box-txt:not(:first-child) {
	margin-top: 25px;
}
.box-txt .txt {
	font-size: 1.3rem;
}
.box-txt .note {
	padding-left: 1em;
	text-indent: -1em;
}

/*===================================================================
SP
===================================================================*/

@media screen and (max-width: 640px) {
	body{
		position: relative;
	}
.spNon {
	display: none;
}
.pcNon {
	display: block;
}
#Cont {
	margin-bottom: 5%;
}
#pageTop {
	display: none;
}
.top_cont{
	margin-bottom: 47px;
}
.top_cont img{
	width: 100%;
}
/*main_visual_cont*/
#main_visual_img1 img.spNon{
	display: none!important;
}

#main_visual_cont{
	width: 100%;
	margin: 0 auto;
}
#main_visual_cont {
	background: url('../images/top_cont_bg_sp.jpg?210801') no-repeat top center;
	background-size: cover;
	position: relative;
	width: 100%;
}
#main_visual_cont .inner{
	display: block;
	position: relative;
}
.main_banner_cont .inner h1 span img{
	display: none;
}
#main_visual_cont .inner .main_visual{
	position: relative;
	width: 100%;
	height: 106.6875vw;
}
.main_visual li.m_v_l1{
	opacity: 0;
	z-index: 0;
	position: absolute;
	bottom: 0;
	left: 0;
	-webkit-transition: opacity .5s ease-in;
	transition: opacity .5s ease-in;
	width: 78%;
}
.main_visual li.m_v_l1.active{
	opacity: 1;
}
.main_visual li.m_v_l2{
	position: absolute;
	top: 0.5%;
	right: 0;
	width: 49%;
}
.main_visual li.m_v_l3{
	position: absolute;
	top: 6%;
	right: 2%;
	width: 48%;
}
.main_visual li.m_v_l4{
	position: absolute;
	bottom: .5%;
	left: 13%;
	width: 30%;
}
.main_visual li.m_v_l2,
.main_visual li.m_v_l3,
.main_visual li.m_v_l4{
	opacity: 0;
}
.main_visual li.m_v_l2.active,
.main_visual li.m_v_l3.active,
.main_visual li.m_v_l4.active{
	opacity: 1;
	transition: none;
	animation: mvLogoAnimate 2s cubic-bezier(.7,0.01,1,0.4) 0s;
	-moz-animation: mvLogoAnimate 2s cubic-bezier(.7,0.01,1,0.4) 0s;
	-webkit-animation: mvLogoAnimate 2s cubic-bezier(.7,0.01,1,0.4) 0s;
}
#main_visual_cont .main_visual_bot{
	position: relative;
	background-color: #004a1c;
	width: 100%;
	padding: 2.625% 1em;
	display: block;
	overflow: hidden;
	text-align: center;
	opacity: 0;
}
#main_visual_cont .main_visual_bot.active{
	opacity: 1;
	transition: 0.6s;
}
#main_visual_cont .main_visual_bot p{
	font-size: 10px;
	color: #fff;
	text-align: left;
	width: 100%;
	margin: 0 auto;
	font-size: 12px;
	font-size: 1.875vw;
	line-height: 1.45;
}
#main_visual_cont .main_visual_bot p span{
	display: inline-block;
	text-align: left;
}
#main_visual_cont .main_visual_foreground {
	opacity: 0;
}
#main_visual_cont .main_visual_foreground.active {
	opacity: 1;
	transition: 1s;
}

.scrPoint img{
	opacity: 0;
}
.scrPoint.on img{
	opacity: 1;
	-webkit-transition: .7s;
	transition: .7s;
}

/*bubble_cont*/
#bubble_cont{
	background: url('../images/bubble_bg_sp.jpg')no-repeat center 0.8%;
	background: url('../images/bubble_bg_sp.jpg')no-repeat center -0.5vw;
	background-color: #f99600;
	background-size: 104%;
	display: block;
	overflow: hidden;
	position: relative;
}
#bubble_cont .inner{
	width: 100%;
	margin: 0 auto 10%;
	display: block;
	position: relative;
	z-index: 100;
	overflow: hidden;
}
#bubble_cont .bub_read_txt{
    margin: 5% auto 0 4.6875%;
    width: 92.65%;
    z-index: 110;
}
#bubble_cont .bub_title{
	margin: 4% auto 2% 5.6875%;
    width: 91.65%;
    z-index: 110;
}

#bubble_cont .bub_txt3{
	top: 38.8%;
	top: 171.5vw;
	left: 4.6875%;
	width: 38.5%;
}
/* ここからストロング */
#bubble_cont .points_list {
	display: block;
	padding-left: 0;
	padding-bottom: 20%;
	width: 100%;
	margin: 0 auto;
	position: relative;
	margin-top: 4%;
}
#bubble_cont .points_list li {
	display: block;
	opacity: 0;
	margin-bottom: 0;
	height: 28.28125%;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	position: relative;
	width: 96%;
    padding-left: 9%;
}
#bubble_cont .points_list li:last-child {
	margin-bottom: 0;
}
#bubble_cont .points_list.on li {
	opacity: 1;
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
	-webkit-transition: all 0.25s;
	transition: all 0.25s;
}
#bubble_cont .points_list.on li:nth-child(1) {
	transition-delay: 0s;
}
#bubble_cont .points_list.on li:nth-child(2) {
	transition-delay: 0.25s;
}
#bubble_cont .points_list.on li:nth-child(3) {
	transition-delay: 0.5s;
	margin-bottom: 0;
}
#bubble_cont .points_list.on li:nth-child(4) {
	transition-delay: 0.75s;
}
#bubble_cont .points_list li span.annotation {
	font-weight: bold;
    padding-left: 14px;
    width: 318px;
    display: inline-block;
    font-size: 10px;
    line-height: 13px;
}
#bubble_cont p.points_list_can_sp {
	margin: -10% auto 0;
	width: 100%;
	opacity: 0;
}
#bubble_cont p.points_list_can_sp.on {
	opacity: 1;
	margin: 0 auto 0;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	transition-delay: 0.2s;
}
#bubble_cont .points_list.scrPoint.on li span img {
	transition-delay: 0.9s;
	-webkit-transform: none!important;
	transform: none!important;
}
/* ここまでストロング */

/* reason */
.reason {
	width: 100%;
}
.reason .reason_ribbon {
	margin: 0 auto;
	width: 93.1%;
}
.reason .reason_ribbon img {
	width: 100%;
	margin: 0 auto;
}
.reason .reason_item {
	width: 93.1%;
	margin: 0 auto 5%;
	position: relative;
}
.reason .reason_item:after {
	content: "";
	position: absolute;
	z-index: -1;
	-moz-box-shadow: 6px 3px 4px 3px rgba(0, 0, 0, 0.08);
	-webkit-box-shadow: 6px 3px 4px 3px rgba(0, 0, 0, 0.08);
	box-shadow: 6px 3px 4px 3px rgba(0, 0, 0, 0.08);
	top: 0;
	bottom: 0;
	left: 0;
	right: 4px;
	-moz-border-radius: 1%;
	-webkit-border-radius: 1%;
	border-radius: 1%;
}
.reason .reason_item .accordion {
	background: url(../images/reason_bg_title_sp.jpg) no-repeat;
	background-size: 100% 100%;
	border: none;
	outline: none;
	width: 100%;
	height: calc((130/960)*100vw);
    padding: calc((20/960)*100vw) 0 calc((20/960)*100vw) calc((30/960)*100vw);
	position: relative;
	padding: 5% 0px 5% 4%;
}
.reason .reason_item .accordion img {
	width: 80%;
	margin-left: 20px;
}
.reason .reason_item .accordion .ico_acd {
	background: url(../images/icon_acd_close.png) no-repeat center;
	width: 15%;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	background-size: 60% 60%;
}
.reason .reason_item.active .accordion .ico_acd {
	background: url(../images/icon_acd_open.png) no-repeat center;
	width: 15%;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	background-size: 60% 60%;
}
.reason .reason_item .panel {
	background: url(../images/reason_item_bg_sp.png);
	background-size: contain;
	overflow: hidden;
	padding: 10px 15px 15px;
	transition: all 0.5s;
	max-height: 530px;
}
.reason .reason_item .panel .left{
	display: none;
	line-height: 22px;
    font-size: 14px;
}
.reason .reason_item .panel .right{
	width: 100%;
	float: none;
	margin: 0 auto;
	line-height: 22px;
    font-size: 14px;
}
.reason .reason_item:nth-of-type(2) .left, .reason .reason_item:nth-of-type(4) .left{
	width: 100%;
	float: none;
	display: block;
}
.reason .reason_item.active .panel {
	max-height: 0;
	padding: 0 15px;
	transition: all 0.5s;
}
.reason .reason_item .panel img {
	width: 100%;
	margin-top: 10px;
}
/* reason */

#foreground1,
.foreground1{
	background: url(../images/bubbles1.png) repeat;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-size: 22.916%;
	background-size: 22.916vw;
	animation: animatedBackground1 3.5s cubic-bezier(0, 0, 0, 0) infinite;
	-webkit-animation: animatedBackground1 3.5s cubic-bezier(0, 0, 0, 0) infinite;
}
#foreground2,
.foreground2{
	background: url(../images/bubbles2.png) repeat;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-size: 31.25%;
	background-size: 31.25vw;
	animation: animatedBackground2 6s cubic-bezier(0, 0, 0, 0) infinite;
	-webkit-animation: animatedBackground2 6s cubic-bezier(0, 0, 0, 0) infinite;
}
#foreground3,
.foreground3{
	background: url(../images/bubbles3.png) repeat;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-size: 12.5%;
	background-size: 12.5vw;
	animation: animatedBackground2 4s cubic-bezier(0, 0, 0, 0) infinite;
	-webkit-animation: animatedBackground2 4s cubic-bezier(0, 0, 0, 0) infinite;
	z-index: 0;
}
@keyframes animatedBackground1 {
	0% {background-position: 0 208.33%;}
	12.5% {background-position: 0.5205% 182.29%;}
	25% { background-position: 0 156.25%;}
	30% { background-position: 0.5205% 143.25%;}
	35% { background-position: 0 137.75%;}
	37.5% { background-position: -0.5205% 130.20%;}
	50% { background-position: 0 104.16%;}
	62.5% { background-position: 0.5205% 78.125%;}
	75% {background-position: 0 52.083%;}
	87.5% { background-position: -0.5205% 26.041%;}
	100% {background-position: 0 0;}

	0% {background-position: 0 208.33vw;}
	12.5% {background-position: 0.5205vw 182.29vw;}
	25% { background-position: 0 156.25vw;}
	30% { background-position: 0.5205vw 143.25vw;}
	35% { background-position: 0 137.75vw;}
	37.5% { background-position: -0.5205vw 130.20vw;}
	50% { background-position: 0 104.16vw;}
	62.5% { background-position: 0.5205vw 78.125vw;}
	75% {background-position: 0 52.083vw;}
	87.5% { background-position: -0.5205vw 26.041vw;}
	100% {background-position: 0 0;}
}
@-webkit-keyframes animatedBackground1 {
	0% {background-position: 0 208.33%;}
	12.5% {background-position: 0.5205% 182.29%;}
	25% { background-position: 0 156.25%;}
	30% { background-position: 0.5205% 143.25%;}
	35% { background-position: 0 137.75%;}
	37.5% { background-position: -0.5205% 130.20%;}
	50% { background-position: 0 104.16%;}
	62.5% { background-position: 0.5205% 78.125%;}
	75% {background-position: 0 52.083%;}
	87.5% { background-position: -0.5205% 26.041%;}
	100% {background-position: 0 0;}

	0% {background-position: 0 208.33vw;}
	12.5% {background-position: 0.5205vw 182.29vw;}
	25% { background-position: 0 156.25vw;}
	30% { background-position: 0.5205vw 143.25vw;}
	35% { background-position: 0 137.75vw;}
	37.5% { background-position: -0.5205vw 130.20vw;}
	50% { background-position: 0 104.16vw;}
	62.5% { background-position: 0.5205vw 78.125vw;}
	75% {background-position: 0 52.083vw;}
	87.5% { background-position: -0.5205vw 26.041vw;}
	100% {background-position: 0 0;}
}
@keyframes animatedBackground2 {
	0% {background-position: 0 208.33%;}
	12.5% {background-position: 1.041% 182.29%;}
	25% { background-position: 0 156.25%;}
	37.5% { background-position: -1.041% 130.20%;}
	50% { background-position: 0 104.16%;}
	62.5% { background-position: 1.041% 78.125%;}
	75% {background-position: 0 52.083%;}
	87.5% { background-position: -1.041% 26.041%;}
	100% {background-position: 0 0;}

	0% {background-position: 0 208.33vw;}
	12.5% {background-position: 1.041vw 182.29vw;}
	25% { background-position: 0 156.25vw;}
	37.5% { background-position: -1.041vw 130.20vw;}
	50% { background-position: 0 104.16vw;}
	62.5% { background-position: 1.041vw 78.125vw;}
	75% {background-position: 0 52.083vw;}
	87.5% { background-position: -1.041vw 26.041vw;}
	100% {background-position: 0 0;}
}
@-webkit-keyframes animatedBackground2 {
	0% {background-position: 0 208.33%;}
	12.5% {background-position: 1.041% 182.29%;}
	25% { background-position: 0 156.25%;}
	37.5% { background-position: -1.041% 130.20%;}
	50% { background-position: 0 104.16%;}
	62.5% { background-position: 1.041% 78.125%;}
	75% {background-position: 0 52.083%;}
	87.5% { background-position: -1.041% 26.041%;}
	100% {background-position: 0 0;}

	0% {background-position: 0 208.33vw;}
	12.5% {background-position: 1.041vw 182.29vw;}
	25% { background-position: 0 156.25vw;}
	37.5% { background-position: -1.041vw 130.20vw;}
	50% { background-position: 0 104.16vw;}
	62.5% { background-position: 1.041vw 78.125vw;}
	75% {background-position: 0 52.083vw;}
	87.5% { background-position: -1.041vw 26.041vw;}
	100% {background-position: 0 0;}
}
/*bubble_cont*/

/*cm_cont*/
#cm_cont{
	display: block;
	overflow: hidden;
	margin: 0 auto;
	background: url('../images/cm_bg_sp.jpg')no-repeat top center;
	background-color: #fff;
	text-align: center;
	background-size: cover;
}
#cm_cont .inner{
	width: 100%;
	margin: 0 auto;
}
#cm_cont .cm_title{
	display: block;
	overflow: hidden;
	margin: 4.1% auto 0;
	width: 89.1%;
}
#cm_cont .cm_list{
	margin: 9% auto 11.3%;
	display: inline-block;
	text-align: center;
	position: relative;
	width: 93.1%;
}
#cm_cont .cm_list li{
	display: block;
	margin: 0 auto 11.3%;
	position: relative;
	width: 100%;
}
#cm_cont .cm_list li:last-child{
	margin: 0 auto 0;
}
#cm_cont .cm_list li a img{
	-webkit-transform: scale(1);
    transform: scale(1);
}
#cm_cont .cm_list li.on a img{
	-webkit-transform: scale(1);
    transform: scale(1);
}
#cm_cont .cm_list li a{
	display: inline-block;
	overflow: hidden;
	width: 100%;
}
#cm_cont .cm_list.on li:before{
	opacity: 1;
}
#cm_cont .cm_list li.new:before{
	position: absolute;
	content:"";
	top: -8%;
	left: -2%;
	background: url('../images/cm_new_sp.png') no-repeat center;
	background-size: contain;
	width: 39%;
	height: 17%;
	z-index: 1;
	opacity: 0;
}
#cm_cont .cm_list li.on:before{
	opacity: 1;
	transition: all 0.5s;
	transition-delay: 0.35s;
}
#cm_cont .cm_list span{
	font-size: 15px;
	font-size: 4vw;
	display: inline-block;
	margin-top:15px;
}
/*cm_cont*/

/*campaign_cont*/
#campaign_cont{
	display: block;
	overflow: hidden;
	margin: 0 auto;
	text-align: center;
	background: url(../images/campaign_bg_sp.jpg?240617)no-repeat top center;
  background-color: #004720;
	background-size: cover;
}
#campaign_cont .campaign_cont_inner_bg{
	background: none;
}
#campaign_cont .inner{
	width: 92%;
	margin: 10% auto 13.6%;
	margin: 4vw auto 10vw;
	/* overflow: hidden; */
	background: none;
}
#campaign_cont .campaign_title{
	display: inline-block;
	overflow: hidden;
	margin: 0 auto 10%;
	margin: 0 auto 10vw;
	width: 85.35%;
	width: 85.35vw;
}
#campaign_cont .campaign_list{
	margin: 0 auto;
	display: inline-block;
	text-align: center;
	width: 100%;
	position: relative;
}
#campaign_cont .campaign_list li.new:before{
	position: absolute;
	content:"";
    top: -9%;
    left: -2%;
	background: url('../images/cm_new_sp.png') no-repeat center;
	background-size: contain;
	width: 27%;
	height: 17%;
	z-index: 1;
	opacity: 0;
}
#campaign_cont .campaign_list li.on.new:before{
	opacity: 1;
	transition: all 0.5s;
	transition-delay: 0.35s;
}
#campaign_cont .campaign_list li.close .close-layer-img {
	-webkit-transform: scale(1);
	transform: scale(1);
}
#campaign_cont .campaign_list li{
	display: block;
	margin: 0 auto 9.375%;
	margin: 0 auto calc(65/640*100vw);
	position: relative;
	line-height: 0;
}
#campaign_cont .campaign_list li:last-child{
	margin: 0 auto;
}
#campaign_cont .campaign_list li:hover{
	opacity: 0.8;
	transition: opacity 0.5s;
	transition-delay: 0.2s;
}
#campaign_cont .campaign_list li a{
	display: inline-block;
	overflow: hidden;
	width: 100%;
}
#campaign_cont .campaign_list li a img{
	-webkit-transform: scale(0.8);
    transform: scale(0.8);
		border-width: 10px;
}
#campaign_cont .campaign_list li a img{
	-webkit-transform: scale(1);
    transform: scale(1);
}
#campaign_cont .campaign_list li.comming:before{
	position: absolute;
	content:"";
	top: -7%;
	left: -2%;
	background: url('../images/cm_comming_sp.png') no-repeat center;
	background-size: contain;
	width: 40.49%;
	height: 9.83%;
	z-index: 1;
	opacity: 0;
}
#campaign_cont .campaign_list li.on.comming:before{
	opacity: 1;
	transition: all 0.5s;
	transition-delay: 0.35s;
}
#campaign_cont .campaign_list li.no-campaign {
	margin: 20px auto 100px;
	font-size: 20px;
}

.basebtn {
	width: 62%;
	height:auto;
	margin: 14.27% auto 0;
}
.basebtn.fadeIn {
	animation: none !important;
}
/*campaign_cont*/

/*cm_cont*/
#cm_cont{
	display: block;
	overflow: hidden;
	margin: 0 auto;
	background: url('../images/cm_bg_sp.jpg')no-repeat top center;
	background-color: #fff;
	text-align: center;
	background-size: cover;
}
#cm_cont .inner{
	width: 100%;
	margin: 0 auto;
}
#cm_cont .cm_title{
	display: block;
	overflow: hidden;
	margin: 4.1% auto 0;
	width: 89.1%;
}
#cm_cont .cm_list{
	margin: 9% auto 11.3%;
	display: inline-block;
	text-align: center;
	position: relative;
	width: 93.1%;
}
#cm_cont .cm_list li{
	display: block;
	margin: 0 auto 11.3%;
	position: relative;
	width: 100%;
}
#cm_cont .cm_list li:last-child{
	margin: 0 auto 0;
}
#cm_cont .cm_list li a img{
	-webkit-transform: scale(1);
    transform: scale(1);
}
#cm_cont .cm_list li.on a img{
	-webkit-transform: scale(1);
    transform: scale(1);
}
#cm_cont .cm_list li a{
	display: inline-block;
	overflow: hidden;
	width: 100%;
}
#cm_cont .cm_list.on li:before{
	opacity: 1;
}
#cm_cont .cm_list li.new:before{
	position: absolute;
	content:"";
	top: -8%;
	left: -3%;
	background: url('../images/cm_new_sp.png') no-repeat center;
	background-size: contain;
	width: 39%;
	height: 17%;
	z-index: 1;
	opacity: 0;
}
#cm_cont .cm_list li.on:before{
	opacity: 1;
	transition: all 0.5s;
	transition-delay: 0.35s; 
}
#cm_cont .cm_list span{
	font-size: 15px;
	font-size: 3.7vw;
	display: inline-block;
	margin-top:0px;
}
#cm_cont .cm_list .cm_list_tit{
	font-size: 14px;
	font-size: 3.7vw;
}
#cm_cont .cm_list .date{
	font-size: 12px;
	font-size: 3.3vw;
}
/*cm_cont*/

/*products_cont*/
#products_cont{
	display: block;
	overflow: hidden;
	margin: 0 auto;
	background: url('../images/products_bg_sp.jpg')no-repeat top center;
	background-color: #fcb100;
	text-align: center;
	background-size: cover;
	text-align: center;
}

#products_cont .inner{
	display: block;
	overflow: hidden;
	width: 100%;
	margin: 4.1% auto 0;
	line-height: 0;
}
#products_cont .inner .products_title{
	display: inline-block;
	overflow: hidden;
	width: 89.1%;
	margin: 0 auto 3.1%;
}
#products_cont .inner .products_info_1{
	display: inline-block;
	display: block;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	width: 92.1%;
}
#products_cont .inner .products_info_1 span.products_stamp{
	position: absolute;
	top: 19.5%;
    left: 13.17%;
	z-index: 100;
	opacity: 0;
}
#products_cont .inner .products_info_1 span.products_stamp img{
	opacity: 0;
}
#products_cont .inner .products_info_1.on span.products_stamp{
	width: 30.5%;
	height: 14.6%;
	width: 27.5vw;
	height: 27.5vw;
	animation: bub_title 0.2s ease-in;
	-webkit-animation: bub_title 0.2s ease-in;
	opacity: 1;
	animation-delay: 0.25s;
	overflow: hidden;
	border-radius: 50%;
	-webkit-border-radius: 50%;
}
#products_cont .inner .products_info_1.on span.products_stamp .shine_move {
	width: 405px;
	height: 605px;
	display: inline-block;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	animation: shine-move 4s cubic-bezier(0, 0, 0, 0) infinite;
	-webkit-animation: shine-move 4s cubic-bezier(0, 0, 0, 0) infinite;
	animation-delay: 1.25s;
	position: relative;
	background: linear-gradient(90deg, rgba(252,251,247, 0)50%, rgba(252,251,247,0.7)100%);
}
#products_cont .inner .products_info_1.on span.products_stamp img{
	opacity: 1;
	transition: 0.7s;
	transition-delay: 1.25s;
}
#products_cont .inner .products_info_1 span.products_info1_icon{
	position: absolute;
    top: 20%;
    left: 41.21%;
    width: 40.5%;
	bottom: auto;
	z-index: 99;
}
#products_cont .inner .products_info_1 span.on.products_info1_icon{
	position: absolute;
    top: 20%;
    left: 41.21%;
    width: 40.5%;
	bottom: auto;
	z-index: 99;
}
#products_cont .inner .products_info_1 span img{
	transition-delay: 0.4s;
}
#products_cont .inner .products_info_bottom {
	width: 92.1%;
	margin: 10px auto 0;
	text-align: left;
}
#products_cont .inner .products_info_2{
	display: block;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	text-align: left;
	width: 100%;
	height: auto;
	line-height: 0;
}
#products_cont .inner .products_info_2 .products_info_2_span2{
	position: relative;
	width: 81.5625%;
	bottom: auto;
	right: auto;
	margin-left: 3.75%;
	margin-top: 5.7%;
	display: block;
}

#products_cont .inner .products_info_2 .products_info_2_span2 img{
	transition-delay: 0.4s;
}
/*products_cont*/

.box-message {
	margin-top: 7%;
	margin-left: auto;
	margin-right: auto;
}
.box-message .message-ttl-lv1 {
	margin-bottom: 10px;
	font-size: 20px;
	line-height: 1.5;
}
}

/*===================================================================
アニメーション用CSS
===================================================================*/
.scrPoint {
	/*	opacity: 0;*/
}

/*----吁E�E��E�イトル----*/
#main_visual_cont.on .title .under {
	width: 100%;
}
#special.on .under,
#campaignTtl.on .under {
	width: 100%;
}
#products.on .txt01 .under {
	width: 100%;
}

@keyframes breath {
	0%   {transform: scale(1); }
	90% {transform: scale(1);}
	100% {transform: scale(0); }
}


@media print {
  img {
    display: none !important;
  }

  * {
    background-image: none !important;
  }
}
