@charset "utf-8";


body,html {
    font-family:NotoSansJP-Regular,'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
    font-size:10px;
    color:#fff;
    background-color:#33bad5;
    line-height:1.75;
    padding:0;
    margin:0;
    width:100%;
    -webkit-tap-highlight-color:transparent;
    -webkit-touch-callout:none;
    -ms-text-size-adjust:100%;
    -webkit-text-size-adjust:100%;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    overflow-x:hidden
}
a,article,aside,blockquote,button,dd,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hr,input,label,li,main,nav,ol,p,pre,section,span,td,textarea,th,ul {
    margin:0;
    padding:0;
    box-sizing:border-box
}
table {
    border-collapse:collapse;
    border-spacing:0
}
fieldset,img {
    border:0
}
address,caption,cite,code,dfn,em,strong,th,var {
    font-style:normal;
    font-weight:400
}
b,strong {
    font-weight:700
}
dl,ol,ul {
    list-style:none
}
caption,th {
    text-align:left
}
td,th {
    vertical-align:top
}
h1,h2,h3,h4,h5,h6 {
    font-size:100%;
    font-weight:400
}
img {
    vertical-align:bottom;
    max-width:100%;
    border:none
}
abbr,acronym {
    border:0
}
:focus {
    outline:0
}
body * {
    word-wrap:break-word;
    overflow-wrap:break-word
}
body {
    background: #a8d0e4 url(../common/images/common/bg_01.webp) 0 0 repeat;
    background-size: 120px 120px;
}
body.is_fixed,html.is_fixed {
    overflow:hidden
}
body.is_fixed.os_ios {
    position:fixed
}
body.media_tab {
    width:1140px;
    overflow-x:hidden
}
body.media_sp {
    width:375px;
    overflow-x:hidden
}
img {
    width:100%;
    height:auto
}
a {
    text-decoration:none;
    outline:0;
    color:#1686fc;
    -webkit-text-decoration-skip:objects;
    cursor:pointer
}
a:not([class]) {
    text-decoration:underline
}
a img {
    box-shadow:#000 0 0 0
}
@media screen and (min-width:751px) {
    body {
        background-size:240px 240px
    }
    .media_pc a:not(.custom_btn):not(.common_btn):not([class^=commonBtn]) {
        transition:opacity .6s
    }
    .media_pc a:not(.custom_btn):not(.img_link):not(.common_btn):not([class^=commonBtn]):hover {
        opacity:.6
    }
}
@media screen and (max-width:750px) {
    .is_pc {
        display:none!important
    }
    .is_clear_sp {
        clear:both
    }
}
@media screen and (min-width:751px) {
    .is_sp {
        display:none!important
    }
    .is_clear_pc {
        clear:both
    }
}
.clearfix:after,.l_bottomNav:after,.l_bottom_contents:after,.l_contents:after,.l_footer:after,.l_footpath:after,.l_globalNav:after,.l_header:after,.l_main_contents:after,.l_main_contents_l:after,.l_main_contents_r:after,.l_main_module:after,.l_social:after,.l_top_contents:after {
    visibility:hidden;
    display:block;
    font-size:0;
    content:"";
    clear:both;
    height:0
}
.clearboth {
    clear:both
}
.l_bottomNav,.l_bottom_contents,.l_contents,.l_footer,.l_footpath,.l_globalNav,.l_header,.l_main_contents,.l_main_contents_l,.l_main_contents_r,.l_main_module,.l_social,.l_top_contents {
    position:relative;
    display:block;
    width:100%
}
.l_contents {
    width:100%;
    font-size:1.4rem;
    animation: open 1s ease forwards;
    opacity: 0;
}
@keyframes open {
  0% {
    opacity: 0;
    }
  100% {
    opacity: 1;
  }
}
.l_main_contents {
    min-height:400px
}
@media screen and (min-width:751px) {
    .l_contents {
        font-size:1.6rem
    }
    .l_main_contents {
        overflow:hidden;
        min-height:550px
    }
}
.modaal-noscroll {
    height:100vh
}
.is_fixed {
    overflow:hidden!important
}
@media screen and (max-width:750px) {
    body,html {
        width:100%;
        min-width:375px;
        overflow-x:hidden
    }
    .l_contents {
        font-size:2.4rem;
        width:100%
    }
}
.hitarea {
    display:block;
    width:100%;
    height:100px;
    opacity:.5;
    position:absolute;
    top:50%;
    margin-top:-25px;
    pointer-events:none;
    background-color:red;
    background-color:transparent;
    z-index:800
}
.l_inner {
    background:url(./images/bg_pattern.jpg) repeat-y;
    background-size: 100% auto;
}
#mv .hitarea {
    height:500px;
    margin-top:0;
    top:0
}
#lineup .hitarea {
    height:80%;
    margin-top:0;
    top:100px
}
@media screen and (min-width:751px) {
    #shop .hitarea {
        height:80%;
        margin-top:0;
        top:10%
    }
}
.bounce {
    transition:all .7s 0s cubic-bezier(.175,.885,.32,1.275);
    transform:scale(.3);
    opacity:0
}
.bounce.is_motion {
    transform:scale(1);
    opacity:1
}
.moveUP {
    transition:all .8s 0s cubic-bezier(.33,1,.68,1);
    transform:translateY(60px);
    opacity:0
}
.moveUP.is_motion {
    transform:translateY(0);
    opacity:1
}
.moveBack {
    transition:all .9s 0s cubic-bezier(.34,1.56,.64,1);
    transform:translateY(30px);
    opacity:0
}
.moveBack.is_motion {
    transform:translateY(0);
    opacity:1
}
.moveL {
    transition:all .6s 0s cubic-bezier(.25,.46,.45,.94);
    transform:translateX(40px);
    opacity:0
}
.moveL.is_motion {
    transform:translateY(0);
    opacity:1
}
.moveR {
    transition:all .6s 0s cubic-bezier(.25,.46,.45,.94);
    transform:translateX(-40px);
    opacity:0
}
.moveR.is_motion {
    transform:translateY(0);
    opacity:1
}
.moveL2 {
    transition:all .8s 0s cubic-bezier(.25,.46,.45,.94);
    transform:translateX(80px);
    opacity:0
}
.moveL2.is_motion {
    transform:translateY(0);
    opacity:1
}
.moveR2 {
    transition:all .8s 0s cubic-bezier(.25,.46,.45,.94);
    transform:translateX(-80px);
    opacity:0
}
.moveR2.is_motion {
    transform:translateY(0);
    opacity:1
}
.fadeIn {
    -webkit-transition:opacity .8s;
    -moz-transition:opacity .8s;
    -ms-transition:opacity .8s;
    transition:opacity .8s;
    opacity:0
}
.fadeIn.is_motion {
    opacity:1
}
.blurIn {
    -ms-filter:blur(30px);
    filter:blur(30px);
    transform:scale(1.3);
    opacity:0;
    transition:filter 1.3s 0s linear,transform 1.5s 0s cubic-bezier(.5,1,.89,1),opacity 1.3s 0s linear
}
.blurIn.is_motion {
    -ms-filter:blur(0);
    filter:blur(0);
    transform:scale(1);
    opacity:1
}


.mv {
    position:relative;
    display:block;
    width:100%;
    margin:0 0;
    padding:0 0;
    overflow:hidden
}
.mv:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(./images/bg_kv_top_sp.png) no-repeat center;
  background-size: cover;
  content: '';
}

.is_motion.mv:after {
  animation: fv01 1.3s ease forwards;
}
@keyframes fv01 {
  0% {
    bottom: 70%;
    }
  100% {
    bottom: 0;
  }
}
.mv_main_wrap {
    position: relative;
    padding: calc(150vw / 7.5) 0 calc(320vw / 7.5);
    text-align: center;
}
.mv_main {
    position:relative;
    width: calc(461vw / 7.5);
    margin: calc(0vw / 7.5) auto 0;
    opacity: 0;
	transform: scale(0.5);
}
.is_motion .mv_main {
  animation: fv02 .5s ease forwards;
  animation-delay: .3s;
}
@keyframes fv02 {
	0% {
		opacity: 0;
		transform: scale(0.5);
	}
	20% {
		opacity: 1;
	}
	100% {
		opacity: 1;
		transform: scale(1.0);
	}
}
.sbt_tit {
	width: fit-content;
	width: calc(461vw / 7.5);
}
.sbt_tit_01 {
	width: calc(420vw / 7.5);
	margin-top: calc(30vw / 7.5);
}
.sbt_tit_02 {
	width: calc(460vw / 7.5);
	margin-top: calc(40vw / 7.5);
}
.sbt_tit_03 {
	width: calc(461vw / 7.5);
	margin-top: calc(20vw / 7.5);
}
.mv_main p {
	font-size: calc(20vw / 7.5);
	margin-top: calc(30vw / 7.5);
	line-height: 2;
	font-weight: bold;
}
.mv_img {
	display: block;
	margin: calc(30vw / 7.5) auto 0;
	width: calc(500vw / 7.5);
	opacity: 0;
	transform: scale(0.5);
	z-index: 1;
	position: relative;
}
.is_motion .mv_img {
  animation: fv02 .5s ease forwards;
  animation-delay: .6s;
}
.mv_img img {
    width:100%!important;
    height:auto!important
}

.piecesA01 {
	z-index: 0;
	position: absolute;
	top: 0;
	right: calc(-10vw / 7.5);
	width: calc(218vw / 7.5);
	height: calc(195vw / 7.5);
	opacity: 0;
	transform: scale(0.5);
}
.piecesA02 {
	z-index: 0;
	position: absolute;
	top: calc(185vw / 7.5);
	right: calc(50vw / 7.5);
	width: calc(125vw / 7.5);
	height: calc(146vw / 7.5);
	opacity: 0;
	transform: scale(0.5);
}
.piecesB01 {
	z-index: 0;
	position: absolute;
    bottom: calc(365vw / 7.5);
    left: calc(-36vw / 7.5);
    width: calc(280vw / 7.5);
    height: calc(250vw / 7.5);
    opacity: 0;
	transform: scale(0.5);
}
.piecesB02 {
	z-index: 0;
    position: absolute;
    bottom: calc(529vw / 7.5);
    left: calc(-162vw / 7.5);
    width: calc(250vw / 7.5);
    height: calc(250vw / 7.5);
    opacity: 0;
	transform: scale(0.5);
}
.is_motion .piecesA01,
.is_motion .piecesB01 {
	animation: fv02 .5s ease forwards;
	animation-delay: .9s;
}
.is_motion .piecesA02,
.is_motion .piecesB02 {
	animation: fv02 .3s ease forwards;
	animation-delay: 1.4s;
}

@media screen and (min-width:751px) {
.mv:before {
    background: url(./images/bg_kv_top.png) no-repeat;
    background-size: 100% auto;
    width: 100%;
    height: calc(100vw * 0.6286);
  }

@keyframes fv01 {
  0% {
    bottom: 50%;
    }
  100% {
    bottom: 0;
  }
}
.mv_main_wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(100vw / 14) 0 calc(350vw / 14) calc(50vw / 14);
    text-align: center;
}
.mv_main {
    position:relative;
    width: calc(461vw / 14);
    margin: calc(-50vw / 14) 0 0;
}
.sbt_tit {
	width: calc(461vw / 14);
}
.sbt_tit_01 {
	width: calc(420vw / 14);
}
.sbt_tit_02 {
	width: calc(460vw / 14);
	margin-top: calc(40vw / 14);
}
.sbt_tit_03 {
	width: calc(461vw / 14);
	margin-top: calc(20vw / 14);
}
.mv_main p {
	font-size: calc(20vw / 14);
	margin-top: calc(30vw / 14);
	line-height: 2;
}
.mv_img {
	width: calc(500vw / 14);
	margin: 0;
}
.piecesA01 {
    right: calc(90vw / 14);
    width: calc(220vw / 14);
    height: calc(196vw / 14);
}
.piecesA02 {
    top: calc(199vw / 14);
    right: calc(150vw / 14);
    width: calc(115vw / 14);
    height: calc(156vw / 14);
}
.piecesB01 {
    bottom: calc(238vw / 14);
    left: calc(176vw / 14);
    width: calc(280vw / 14);
    height: calc(246vw / 14);
}
.piecesB02 {
    bottom: calc(398vw / 14);
    left: calc(108vw / 14);
    width: calc(168vw / 14);
    height: calc(218vw / 14);
}
}

/*-------------------------------------------- */
/* Module：.about
---------------------------------------------- */

.cntBlock {
	position: relative;
	display: block;
	width: 100%;
}
.cntBlock_wrap {
	position: relative;
	display: block;
	padding: 30px 15px 0;
}

.about {
	padding: 50px 0 0px;
	text-align: center;
}
.about_cap {
	font-family: 'NotoSansJP-Bold';
	font-size: 20px;
	color: #890052;
	padding: .4em 0 .4em .5em;
	width: calc(240vw / 7.5);
	line-height: 1;
	display: inline-block;
	margin: 0 auto 0;
	font-weight: bold;
	position: relative;
}
.about_cap span {
	display: block;
	position: relative;
	z-index: 1;
}
.about_cap:before {
	position: absolute;
	display: block;
	content: '';
	width: 0%;
	height: 100%;
	background-color: #f8dc1d;
	top: 0;
	left: 0;
	z-index: 0;
	transition: .5s ease;
}
.is_motion.about_cap:before {
	width: 100%;
}
.about_txt {
	font-family: 'NotoSansJP-Bold';
	font-size: 16px;
	margin: 30px auto 0;
	font-weight: bold;
}
.about_wrap {
	position: relative;
	padding-top: 0;
}
.about_fuki {
	position: absolute;
	width: calc(345vw / 7.5);
	z-index: 1;
}
.about_fuki01 {
    left: 3px;
    top: -42px;
}
.about_fuki02 {
    right: 3px;
    bottom: -50px;
}
.about_img {
	position: relative;
	width: calc(594vw / 7.5);
	margin: 70px auto;
	opacity: 0;
	transition: .3s;
}
.is_motion.about_img {
	opacity: 1;
}
.about_img01 {
	display: block;
	margin: 0 auto;
	animation: onoff 3s infinite;
	opacity: 0;
}
.about_img02 {
	position: absolute;
	top: 0;
	left: 0;
	width: calc(594vw / 7.5);
	opacity: 0;
	animation: onoff 3s infinite;
	animation-delay: 1.5s;
}
@keyframes onoff {
	0% {
		opacity: 0;
	}
	0.01% {
		opacity: 1;
	}
	49.99% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
}


@media screen and (min-width: 751px) {

.about {
	padding: calc(30vw / 14) 0 0px;
}
.about_cap {
	font-size: 40px;
	width: 540px;
}
.about_txt {
	font-size: 20px;
	margin: 35px auto 0;
}
.about_wrap {
	max-width: 1000px;
	margin: 0 auto;
}
.about_fuki {
	max-width: 345px;
}
.about_fuki01 {
	left: 20px;
	top: 50px;
}
.about_fuki02 {
	right: 20px;
	bottom: 54px;
}
.about_img {
	max-width: 604px;
	margin: 70px auto;
}
.about_img02 {
	max-width: 604px;
}

}


/*-------------------------------------------- */
/* Module：.lineup
---------------------------------------------- */

.lineup_wrap {
	padding: 50px 15px 50px;
}
.lineup_tit {
	display: block;
	width: 203.5px;
	margin: 0 auto 23px;
}

@media screen and (min-width: 751px) {
	.lineup_wrap {
		padding: 100px 30px 80px;
	}
	.lineup_tit {
		width: 407px;
		margin: 0 auto 48px;
	}
}

/* #sbst：シュガーバターサンドの木
---------------------------------------------- */

.lineupBox {
	position: relative;
	display: block;
	width: 345px;
	width: 100%;
	margin: 0 auto;
}
.lineupBox + .lineupBox {
	margin-top: 30px;
}
.lineupBox_wrap {
	position: relative;
	display: block;
	width: 345px;
	width: 100%;
	background-color: #fffbee;
	color: #595656;
	border-radius: 10px;
	overflow: hidden;
	z-index: 2;
}
.is_no_shop_btn .lineupBox_wrap {
	padding-bottom: 15px;
}
.lineupBox_img {
	display: block;
	width: 100%;
}
.lineupBox_info {
	display: block;
	width: 100%;
	padding: 0 0px 40px;
}

.lineupBox_tit.limited {
	padding: 8px 40px 12px;
}
.lineupBox_tit span {
	display: block;
	margin: 0 auto;
}

/* .lineup_bg */

.lineup_bg {
	display: none;
}

@media screen and (min-width: 751px) {
	.lineupBox {
		width: 100%;
		max-width: 1000px;
	}
	.lineupBox + .lineupBox {
		margin-top: 70px;
	}
	.lineupBox_wrap {
		width: 100%;
		border-radius: 20px;
	}
	.is_no_shop_btn .lineupBox_wrap {
		padding-bottom: 30px;
	}
	.lineupBox_info {
		padding: 0 0 80px;
	}
	
	/* .lineup_bg */
	
	.lineup_bg {
		display: block;
		width: 233px;
		height: 176px;
		position: absolute;
		top: 250px;
		left: -200px;
		z-index: 1;
	}
	.lineup_bg_sbst.is_right {
		left: auto;
		right: -190px;
	}
	.lineup_bg_sbst.is_bottom {
		top: auto;
		bottom: 160px;
		left: auto;
		right: -190px;
	}
}

/* .lineupBox_tit */

.lineupBox_tit {
	display: block;
	font-size: 18px;
	font-family: 'NotoSansJP-Bold';
	/* font-weight: bold; */
	text-align: center;
	line-height: 1.45;
	letter-spacing: 2px;
	color: #890052;
	background-color: #f8ba00;
    padding: 25px 0;
    min-height: 100%;
}
.lineupBox_tit span {
	font-size: 12px;
}
.lineupBox_stit {
	display: block;
	font-size: 12px;
	text-align: center;
	line-height: 1.45;
	letter-spacing: 1px;
	color: #ff4e00;
	background-color: #fff9bc;
	padding: 1em 0;
}
.lineupBox_txt {
    display: block;
    font-size: 12px;
    line-height: 1.45;
    letter-spacing: 1px;
    padding: 0 15px;
    margin-top: 60px;
}

/* .lineupBox_list */

.lineupBox_list {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
    align-items: center;
    padding: 30px 0 10px;
}
.lineupBox_list + .lineupBox_list {
	margin-top: 20px;
}
.lineupBox_list + .lineupBox_tit {
	margin-top: 30px;
}

/* .lineupBox_list_l */

.lineupBox_list_l {
	display: block;
	width: 145px;
}

/* .lineupBox_list_r */

.lineupBox_list_r {
	display: block;
	width: 152px;
}
.lineupBox_list_txt {
	display: block;
	width: 100%;
	font-size: 12px;
	line-height: 1.45;
}
.lineupBox_list_box {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	font-size: 12px;
	line-height: 1.45;
	margin-top: 12px;
	padding: 9px 0 13px;
}
.lineupBox_list_box::before,
.lineupBox_list_box::after {
	content: "";
	display: block;
	width: 100%;
	height: 4px;
	position: absolute;
	top: 0;
	left: 0;
}
.lineupBox_list_box::after {
	top: auto;
	bottom: 0;
}
.lineupBox_list_box::before,
.lineupBox_list_box::after {
	background: url(../common/images/common/bg_dotline_01.svg) 0 0 repeat-x;
	background-size: 7px 3px;
}
.lineupBox_list_num {
	display: block;
	width: 55px;
	padding: 3px 10px 3px 0;
}
.lineupBox_list_price {
	display: block;
	width: calc(100% - 55px);
	padding: 3px 0 3px 0;
}
.lineupBox_list_note {
	display: block;
	width: 100%;
	font-size: 10px;
	margin-top: 4px;
	line-height: 1.65;
}
.lineupBox_list_note span {
	position: relative;
	display: block;
	padding-left: 12px;
}
.lineupBox_list_note span::before {
	content: "※";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.lineupBox_list_item {
	display: block;
	width: 100%;
	font-size: 10px;
	line-height: 1.5;
	padding-left: 10px;
	padding-bottom: 6px;
	margin-top: -1px;
}
.lineupBox_list_link {
	position: relative;
	display: block;
	width: 100%;
	font-size: 10px;
	color: #595656;
	text-decoration: underline;
	margin-top: 4px;
	line-height: 1.65;
	padding-bottom: 5px;
}
.lineupBox_list_link + .lineupBox_list_link {
	margin-top: -5px;
	z-index: 2;
}

/* .lineupBox_list_material_btn */

.lineupBox_list_material_btn {
    float: right;
    font-size: 12px;
    color: #595656;
    letter-spacing: 0.5px;
    padding-right: 15px;
    text-align: right;
    line-height: 1.5;
    margin-top: 10px;
}

/* 個別位置調整 */

.lineupBox_list_material_btn span {
	display: inline-block;
	background: #7fbe4c;
	padding: 0 0.5em;
	border-radius: 20px;
	color: #fff;
	margin-left: 10px;
}
.lineupBox_info .shop_btn {
	clear: both;
	margin-top: 30px;
}
.lineupBox_info .shop_btn.is_hide {
	display: none;
}

@media screen and (min-width: 751px) {

	/* .lineupBox_tit */

	.lineupBox_tit {
		font-size: 24px;
	}
	.lineupBox_tit span {
	    font-size: 20px;
	}
	.lineupBox_stit {
		font-size: 18px;
	}
	.lineupBox_txt {
		font-size: 14px;
		width: fit-content;
		margin: 80px auto 0;
	}
	/* .lineupBox_list */

	.lineupBox_list {
		width: 100%;
		max-width: 700px;
		margin: 46px auto 0;
		padding: 0;
	}
	.lineupBox_list + .lineupBox_list {
		margin-top: 25px;
	}
	.lineupBox_list + .lineupBox_tit {
		margin-top: 46px;
	}

	.lineupBox_list_l {
		width: calc((100% - 45px)/2);
		/* padding-right: 30px; */
	}
	.lineupBox_list_l img {
		width: 290px !important;
		float: right;
	}

	/* .lineupBox_list_r */

	.lineupBox_list_r {
		width: calc((100% - 45px)/2);
	}
	.lineupBox_list_txt {
		font-size: 18px;
	}

	.lineupBox_list_box {
		width: 307px;
		font-size: 18px;
		margin-top: 15px;
		padding: 16px 0 20px;
	}
	.lineupBox_list_box::before,
	.lineupBox_list_box::after {
		height: 6px;
	}
	.lineupBox_list_box::before,
	.lineupBox_list_box::after {
		background-size: 12px 5px;
	}
	.lineupBox_list_num {
		width: 82px;
		padding: 4px 15px 4px 0;
	}
	.lineupBox_list_price {
		width: calc(100% - 82px);
		padding: 4px 0 4px 0;
	}
	.lineupBox_list_note {
		font-size: 14px;
		margin-top: 10px;
		width: 305px;
	}
	.lineupBox_list_note span {
		padding-left: 16px;
	}
	.lineupBox_list_note + .lineupBox_list_note {
		margin-top: 3px;
	}
	.lineupBox_list_item {
		font-size: 14px;
		line-height: 1.5;
		padding-left: 14px;
		padding-bottom: 14px;
		margin-top: 2px;
	}
	.lineupBox_list_link {
		font-size: 14px;
		margin-top: 10px;
		width: 305px;
		padding-bottom: 10px;
	}
	.lineupBox_list_note + .lineupBox_list_link {
		margin-top: 3px;
	}
	.lineupBox_list_link + .lineupBox_list_link {
		margin-top: -10px;
	}

	/* 個別位置調整 */

	/* #lemon .lineupBox_list_lemon_01 .lineupBox_list_img {
		margin-top: -30px;
	}
	#sbst *:not(.lineupBox_list_sbst_01) .lineupBox_list_img,
	#lemon *:not(.lineupBox_list_lemon_01) .lineupBox_list_img,
	#caramel *:not(.lineupBox_list_caramel_01) .lineupBox_list_img  {
		padding-top: 8px;
	}
	#set .lineupBox_list_img  {
		padding-top: 23px;
	} */

	/* .lineupBox_list_material_btn */

	.lineupBox_list_material_btn {
		font-size: 14px;
		padding-right: 33px;
		margin-top: 30px;
		margin-right: 20px;
	}

	/* 個別位置調整 */

	/* #caramel .lineupBox_list_material_btn {
		margin-top: 80px;
		margin-bottom: 20px;
	} */

	.lineupBox_info .onlineshop_btn {
		margin-top: 30px;
	}
	.onlineshop_btn {
		overflow: hidden;
		transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
	}
	.media_pc .onlineshop_btn::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		background-color: #fff;
		transition: opacity 0.6s;
		opacity: 0;
	}
	.media_pc .onlineshop_btn:hover {
		transform: scale(1.04);
		opacity: 1 !important;
	}
	.media_pc .onlineshop_btn:hover::before {
		opacity: 0.15;
	}

	/* 個別位置調整 */

	.lineupBox_info .shop_btn {
		margin-top: 30px;
	}
	.shop_btn {
		overflow: hidden;
		transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
	}
	.media_pc .shop_btn::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		background-color: #fff;
		transition: opacity 0.6s;
		opacity: 0;
	}
	.media_pc .shop_btn:hover {
		transform: scale(1.04);
		opacity: 1 !important;
	}
	.media_pc .shop_btn:hover::before {
		opacity: 0.15;
	}
}

/*-------------------------------------------- */
/* Module：.shop
---------------------------------------------- */
.shop_btn {
	position: relative;
	display: flex;
	align-items: center;
	width: 250px;
	height: 50px;
	background: #f1bbc1 url(../../../common/images/common/icn_map.svg) 24px center no-repeat;
	background-size: 10px 15px;
	border-radius: 100px;
	padding: 0 43px 0 43px;
	margin: 15px auto 0;
}
.shop_btn:after {
	content: "";
	display: block;
	width: 10.5px;
	height: 8px;
	position: absolute;
	top: 50%;
	margin-top: -4px;
	right: 13px;
	background: url(../../../common/images/common/icn_blank_01.svg) right center no-repeat;
	background-size: 10.5px 8px;
}
.shop_btn span {
	display: block;
	font-size: 15px;
	font-family: 'NotoSansJP-Bold';
	/* font-weight: bold; */
	text-align: center;
	line-height: 1.2;
	letter-spacing: 1px;
	color: #fff;
    margin: 0 auto 0;
}

@media screen and (min-width: 751px) {
	
	.shop_btn {
		width: 300px;
		height: 60px;
		background-position: 24px center;
		background-size: 14px 19px;
		padding: 0 50px 0 50px;
	}
	.shop_btn:after {
		width: 13px;
		height: 11px;
		margin-top: -5.5px;
		right: 16px;
		background-size: 13px 11px;
	}
	.shop_btn span {
		font-size: 17px;
		letter-spacing: 1px;
		margin: 0 auto;
	}
}

.mov {
	width: 90%;
	margin: 40px auto 0;
}

/*-------------------------------------------- */
/* Module：.onlineshop
---------------------------------------------- */

.onlineshop {
	position: relative;
	display: block;
	width: 100%;
	margin-top: 50px;
	padding: 0 15px;
}

/* .onlineshop_tit */

.onlineshop_tit {
	display: block;
	width: 292px;
	margin: 0 auto 16px;
}
.onlineshop_txt {
	display: inline-block;
	width: 100%;
	font-size: 12px;
	font-family: 'NotoSansJP-Bold';
	/* font-weight: bold; */
	text-align: center;
	line-height: 1.5;
	letter-spacing: 0;
	color: #fff;
	margin: 0 auto 20px;
}
/* .onlineshop_btn */

.onlineshop_btn {
	position: relative;
	display: flex;
	align-items: center;
	width: 250px;
	height: 50px;
	background: #f1bbc1 url(../../../common/images/common/icn_curt.svg) 15px center no-repeat;
	background-size: 18.5px 18px;
	border-radius: 100px;
	padding: 0 30px 0 43px;
	margin: 15px auto 0;
}
.onlineshop_btn:after {
	content: "";
	display: block;
	width: 10.5px;
	height: 8px;
	position: absolute;
	top: 50%;
	margin-top: -4px;
	right: 13px;
	background: url(../../../common/images/common/icn_blank_01.svg) right center no-repeat;
	background-size: 10.5px 8px;
}
.onlineshop_btn span {
	display: block;
	font-size: 15px;
	font-family: 'NotoSansJP-Bold';
	/* font-weight: bold; */
	text-align: center;
	line-height: 1.2;
	letter-spacing: 1px;
	color: #fff;
}

@media screen and (min-width: 751px) {
	
	.onlineshop_btn {
		width: 300px;
		height: 60px;
		background-position: 20px center;
		background-size: 23px 23px;
		padding: 0 40px 0 50px;
	}
	.onlineshop_btn:after {
		width: 13px;
		height: 11px;
		margin-top: -5.5px;
		right: 16px;
		background-size: 13px 11px;
	}
	.onlineshop_btn span {
		font-size: 17px;
		letter-spacing: 1px;
		margin: 0 auto;
	}
}

.mov {
	width: 90%;
	margin: 40px auto 0;
}

/*-------------------------------------------- */
/* Module：.externallinks
---------------------------------------------- */
.externallinks {
	display: block;
	margin: 50px auto 0;
}
.externallinks_btn {
	position: relative;
	display: flex;
	align-items: center;
	width: 325px;
	height: 80px;
	background: #00a7be;
	border-radius: 10px;
	padding: 15px 0;
	margin: 15px auto 0;
	text-align: center;
}
.externallinks_btn_nestle {
	background: #d70c25;
}
.externallinks_btn span {
	display: block;
	font-size: 15px;
	font-family: 'NotoSansJP-Bold';
	line-height: 1.2;
	letter-spacing: 1px;
	color: #fff;
	width: 100%;
}

@media screen and (min-width: 751px) {
	.externallinks {
		margin: 60px auto 0;
	}
	.externallinks_list {
		display: flex;
		justify-content: center;
	}
	.externallinks_btn {
		margin: 0 10px;
		width: 390px;
		height: 96px;
		padding: 0;
	}
}


/*-------------------------------------------- */
/* Module：.contact
---------------------------------------------- */

.contact {
	position: relative;
	display: block;
	width: 100%;
	margin-top: 25px;
	padding: 0 15px;
}

/* .contact_tit */

.contact_tit {
	display: block;
	width: 134px;
	margin: 0 auto 14px;
}

.contact_tit_sub {
    display: block;
    font-family: 'NotoSansJP-Bold';
    font-size: 12px;
    color: #fff;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 1px;
    margin-top: 9px;
}

/* .contact_list */

.contact_list {
	display: block;
	width: 284px;
	margin: 0 auto 0;
}
/* .contact_btn */

.contact_btn {
	position: relative;
	display: flex;
	align-items: center;
	width: 284px;
	height: 84px;
	padding: 0 40px 3px 40px;
	margin: 0 auto;
}
/* .os_ios .contact_btn,
.browser_safari .contact_btn,
.browser_ie .contact_btn {
	background: url(../../../common/images/common/bg_mail_btn.png) 0 0 no-repeat;
	background-size: contain;
} */
.contact_btn {
	background: url(../../../common/images/common/bg_mail_btn.webp) 0 0 no-repeat;
	background-size: contain;
}
.no-webp .contact_btn {
	background: url(../../../common/images/common/bg_mail_btn.png) 0 0 no-repeat;
	background-size: contain;
}
.contact_btn::before {
	content: "";
	display: block;
	width: 18.5px;
	height: 13.5px;
	background: url(../../../common/images/common/icn_mail_01.svg) 0 0 no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	margin-top: -6.75px;
	left: 34px;
}
.contact_btn_mail:after {
	content: "";
	display: block;
	width: 10.5px;
	height: 8px;
	position: absolute;
	top: 50%;
	margin-top: -4px;
	right: 33px;
	background: url(../../../common/images/common/icn_blank_01.svg) right center no-repeat;
	background-size: 10.5px 8px;
}
.contact_btn_tel::before {
	content: "";
	display: block;
	width: 18px;
	height: 18.5px;
	background: url(../../../common/images/common/icn_phone.svg) 0 0 no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	margin-top: -9.25px;
	left: 34px;
}
.contact_btn span {
	display: block;
	font-size: 15px;
	font-family: 'NotoSansJP-Bold';
	/* font-weight: bold; */
	text-align: center;
	line-height: 1.2;
	letter-spacing: 1px;
	color: #fff;
	margin: 0 auto;
}
.contact_txt {
	display: block;
	width: 100%;
	font-size: 13px;
	font-family: 'NotoSansJP-Bold';
	/* font-weight: bold; */
	text-align: center;
	line-height: 1.2;
	letter-spacing: 1px;
	color: #fff;
	margin: -4px auto 0;
}

@media screen and (min-width: 751px) {

	.contact {
		margin-top: 80px;
		padding: 0 30px;
	}
	
	/* .contact_tit */
	
	.contact_tit {
		width: 268px;
		margin: 0 auto 25px;
	}
	
	.contact_tit_sub {
	    font-size: 18px;
	    letter-spacing: 1px;
	    margin-top: 15px;
	}
	/* .contact_list */
	
	.contact_list {
		position: relative;
		display: flex;
		justify-content: center;
		width: 700px;
		margin: 0 auto 0;
	}
	/* .contact_btn */
	
	.contact_btn {
		position: relative;
		display: flex;
		align-items: center;
		width: 340px;
		height: 101px;
		padding: 0 40px 3px 40px;
		margin: 0;
	}
	.contact_btn::before {
		width: 22px;
		height: 17px;
		margin-top: -8.5px;
		left: 44px;
	}
	.contact_btn_mail:after {
		width: 13px;
		height: 11px;
		margin-top: -5.5px;
		right: 42px;
		background-size: 13px 11px;
	}
	.contact_btn_tel::before {
		width: 22px;
		height: 22px;
		margin-top: -11px;
		left: 44px;
	}
	.contact_btn span {
		font-size: 17px;
	}
	.contact_txt {
		width: 340px;
		font-size: 14px;
		margin: 0;
		position: absolute;
		top: 100px;
		right: 0;
	}

}


/*-------------------------------------------- */
/* Module：.note_list
---------------------------------------------- */

.note_list {
	position: relative;
	display: block;
	width: 345px;
	width: 100%;
	margin: 35px auto 0;
	padding: 0 15px;
}
.note_list li {
	position: relative;
	display: block;
	width: 100%;
	padding-left: 16px;
	font-size: 12px;
	line-height: 1.65;
	color: #fff;
}
.note_list li::before {
	content: "●";
	position: absolute;
	top: 0;
	left: 0;
}

@media screen and (min-width: 751px) {

	.note_list {
		width: 100%;
		max-width: 800px;
		margin: 77px auto 0;
		padding: 0 30px;
	}
	.note_list li {
		padding-left: 20px;
		font-size: 16px;
	}
	.note_list li + li {
		margin-top: 4px;
	}
}


/*-------------------------------------------- */
/* Module：.btn_pagetop
---------------------------------------------- */

.l_footer .btn_pagetop {
	display: block;
	width: 60px;
	height: 75px;
	text-indent: -9999px;
}
/* .os_ios .l_footer .btn_pagetop,
.browser_safari .l_footer .btn_pagetop,
.browser_ie .l_footer .btn_pagetop {
	background: url(../../../common/images/common/top_btn.png) left top no-repeat;
	background-size: 59px 75px;
} */
.l_footer .btn_pagetop {
	background: url(../../../common/images/common/top_btn.webp) left top no-repeat;
	background-size: 59px 75px;
}
.no-webp .l_footer .btn_pagetop {
	background: url(../../../common/images/common/top_btn.png) left top no-repeat;
	background-size: 59px 75px;
}

/* .pagetop */

.pagetop {
	position: fixed;
	right: 0;
	bottom: 0;
	height: 75px;
	overflow: hidden;
	/* -webkit-transition: opacity 0.6s;
	-moz-transition: opacity 0.6s;
	-ms-transition: opacity 0.6s;
	transition: opacity 0.6s;
	opacity: 0; */
	transition : all 0.4s 0s cubic-bezier(0.33, 1, 0.68, 1);
	transform: translateY(160px);
	transform-origin: bottom center;
	z-index: 10;
}
.media_pc .pagetop:hover {
	transform: scale(1.1);
}

.pagetop.show {
	/* opacity: 1; */
	transform: translateY(0);
}
.pagetop.hide {
	/* opacity: 0; */
	transform: translateY(160px);
}
.pagetop.static {
	position: absolute;
	top: -75px;
	right: 0;
}
.pagetop.static:not(#pagetop) {
	top: -235px;
}

@media screen and (min-width: 751px) {

	.l_footer .btn_pagetop {
		width: 120px;
		height: 150px;
		background-size: 118px 150px !important;
	}
	.media_pc .btn_pagetop:hover {
		opacity: 1 !important;
	}
	
	/* .pagetop */
	
	.pagetop {
		height: 150px;
	}
	.pagetop.static {
		top: -150px;
	}
	.pagetop.static:not(#pagetop) {
		top: -310px;
	}
}


/*-------------------------------------------- */
/* Module：.l_footer
---------------------------------------------- */

.l_footer {
	position: relative;
	display: block;
	width: 100%;
	padding: 28px 0 0;
	margin-top: 80px;
	background-color: #fff;
}
.footer_in {
	display: block;
	width: 100%;
	background-color: #f8eed1;
	padding-bottom: 20px;
	margin-top: 30px;
}

/* .footer_links */

.footer_links {
	display: flex;
	justify-content: space-between;
	width: 222px;
	margin: 0 auto;
}
.footer_links_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 101px;
	height: 78px;
}
.footer_links_gb img {
	width: 101px !important;
}
.footer_links_bs img {
	width: 101px !important;
}

/* .socialBox_tit */

.socialBox_tit {
	display: block;
	width: 163px;
	padding-top: 15px;
	font-size: 15px;
	font-family: 'NotoSansJP-Bold';
	/* font-weight: bold; */
	color: #1e9ab2;
	text-align: center;
	margin: 0 auto 0;
}

/* .copyright */

.copyright {
	font-size: 10px;
	color: #1e9ab2;
	padding: 0 10px;
	text-align: center;
}

@media screen and (min-width: 751px) {

	.l_footer {
		padding: 28px 0 0;
	}
	.footer_in {
		padding-bottom: 30px;
		margin-top: 24px;
	}
	
	/* .footer_links */
	
	.footer_links {
		width: 254px;
	}
	.footer_links_btn {
		justify-content: flex-start;
		align-items: flex-start;
		width: 120px;
		height: 92px;
	}
	.footer_links_gb {
		padding-top: 5px;
		padding-left: 5px;
	}
	.footer_links_gb img {
		width: 96px !important;
	}
	.footer_links_bs img {
		width: 120px !important;
	}
	
	/* .socialBox_tit */
	
	.socialBox_tit {
		width: 265px;
		padding-top: 24px;
		font-size: 23px;
		margin: 0 auto 0;
	}
	
	/* .copyright */
	
	.copyright {
		font-size: 16px;
	}
}


/*-------------------------------------------- */
/* Module：.socialBox
---------------------------------------------- */

.socialBox {
	display: flex;
	justify-content: space-between;
	width: 184px;
	margin: -2px auto 15px;
	height: 60px;
}
.socialBox:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: "";
	clear: both;
	height: 0;
}
.socialBox li {
	position: relative;
	display: block;
	width: 60px;
	height: 60px;
}
.socialBox li a {
	display: block;
	width: 60px;
	height: 60px;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 1 !important;
}
.socialBox li.fb a {
	text-indent: -9999px;
	background: #f8eed1 url(../../../common/images/common/btn_social_fb.svg) center center no-repeat;
	background-size: 60px 60px;
}
.socialBox li.tw a {
	text-indent: -9999px;
	background: #f8eed1 url(../../../common/images/common/btn_social_tw.svg) center center no-repeat;
	background-size: 60px 60px;
}
.socialBox li.line {
	text-indent: -9999px;
	background: #f8eed1 url(../../../common/images/common/btn_social_line.svg) center center no-repeat;
	background-size: 60px 60px;
	position: relative;
	overflow: hidden;
	cursor: pointer;
}

@media screen and (min-width: 751px) {

	.socialBox {
		width: 296px;
		margin: -7px auto 14px;
		height: 97px;
	}
	.socialBox li {
		width: 97px;
		height: 97px;
		position: relative;
		transition: opacity 0.6s;
	}
	.socialBox li a {
		display: block;
		width: 97px;
		height: 97px;
		opacity: 1 !important;
	}
	.socialBox li.fb a,
	.socialBox li.tw a,
	.socialBox li.line {
		background-size: 97px 97px;
	}
	
	/* pc */
	
	.browser_chrome .socialBox.is_pc li.line {
		border-radius: 97px;
		width: 97px;
		height: 97px;
	}
	.socialBox.is_pc li.line .line-it-button {
		opacity: 0;
		position: absolute !important;
		top: 0;
		left: 0;
		display: block;
	}
	.browser_chrome .socialBox.is_pc li.line .line-it-button {
		opacity: 1;
	}
	.browser_chrome .socialBox.is_pc li.line:before {
		background: url(../../../common/images/common/btn_social_line.svg) center center no-repeat;
		background-size: 97px 97px;
		content: "";
		display: block;
		position: absolute;
		width: 97px;
		height: 97px;
		pointer-events: none;
		z-index: 2;
	}
	.socialBox.is_pc li.line iframe {
		width: 97px !important;
		height: 97px !important;
		display: block;
		position: relative;
		top: 0;
		left: 0;
		transform: scale(3) !important;
		transform-origin: 0 0 !important;
	}
	/* .media_pc .socialBox.is_pc li.line > a {
		display: none;
	} */
	.socialBox.is_pc li.is_over {
		opacity: 0.6;
	}
	.media_tab .socialBox.is_pc li.line .line-it-button,
	.media_tab .socialBox.is_pc li.line iframe,
	.media_sp .socialBox.is_pc li.line .line-it-button,
	.media_sp .socialBox.is_pc li.line iframe {
		visibility: hidden;
		display: none;
	}
	.media_tab .socialBox.is_pc li.line > a,
	.media_sp .socialBox.is_pc li.line > a {
		display: block;
	}
}


/*-------------------------------------------- */
/* Module：TOP Modal Movie
---------------------------------------------- */

.modalMovie {
	display: none;
	width: 100%;
	height: 100vh;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	background-color: rgba(0,0,0,0.6);
}
.modalMovie .modal_cover {
	display: block;
	width: 100%;
	height: 100vh;
	height: 100%;
	height: -webkit-calc(100vh + 40px);
	height: calc(100vh + 40px);
	background-color: transparent;
	position: fixed;
	top: -20px;
	left: -20px;
	z-index: 0;
}
.media_sp .modalMovie .modal_cover {
	left: 0;
}
.modalMovie .modal_wrap {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 2;
	padding-bottom: 0;
	box-sizing: border-box;
	overflow: auto;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.modalMovie .modal_in {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	z-index: 2;
	margin: auto auto;
	top: 50%;
	padding: 40px 0;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}
.modal_close_btn {
	display: block;
	width: 70px;
	height: 70px;
	background: url(../../../common/images/common/btn_close01.svg) center center no-repeat;
	background-size: 50px 50px;
	position: absolute;
	top: -30px;
	left: 50%;
	margin-left: 330px;
	z-index: 10;
}
.modalMovie .modal_in.is_nocenter {
	top: 0 !important;
	margin-top: 0 !important;
}
.modalMovie .modal_in iframe {
	position: relative;
	display: block;
	margin: 0 auto;
	z-index: 2;
}

/* .media_sp #mov01 */

.media_sp #mov01 {
	width: 345px !important;
	height: 194px !important;
}

@media screen and (max-width: 780px) {

	.modal_close_btn {
		top: -30px;
		right: 0;
		margin-left: auto;
	}
}

@media screen and (max-width: 750px) {

	.modal_close_btn {
		width: 60px;
		height: 60px;
		background-size: 43px 43px;
		top: -25px;
	}
}

@media screen and (min-width: 751px) {

	.media_pc .modal_close_btn {
		transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
	}
	.media_pc .modal_close_btn:hover {
		transform: scale(1.1);
		opacity: 1 !important;
	}
}