@charset "utf-8";
/* --------------------------------------------------
	reset
-------------------------------------------------- */
* { margin: 0; padding: 0; box-sizing: border-box;}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
form, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0; padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

img{ vertical-align: bottom;}
ul{ list-style: none;}
ul li{ list-style-type: none;}
figure { margin: 0;}


/* =============================================================================
   Forms
   ========================================================================== */
form { margin: 0;}
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em;}
legend { border: 0;}
button,
input,
select,
textarea { font-size: 100%; margin: 0; vertical-align: baseline;}
button,
input { line-height: normal;}
button,
input[type="button"], 
input[type="reset"], 
input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"],
input[type="radio"] { box-sizing: border-box; padding: 0;}
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

button::-moz-focus-inner,
input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top;}
input[type="search"]:focus { outline: none;}

table {
    border-collapse: collapse;
    border-spacing: 0;
}


/*	Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box;
-webkit-user-select: none;
   -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;

-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
  	  touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0;}
.slick-list:focus { outline: none;}
.slick-list.dragging{ cursor: pointer; cursor: hand;}
.slick-slider .slick-track,
.slick-slider .slick-list{
-webkit-transform: translate3d(0, 0, 0);
   -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
     -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
}
.slick-track { position: relative; top: 0; left: 0; display: block;}
.slick-track:before,
.slick-track:after { display: table; content: '';}
.slick-track:after { clear: both;}
.slick-loading .slick-track { visibility: hidden;}
.slick-slide { display: none; float: left; height: 100%; min-height: 1px;}
[dir='rtl'] .slick-slide { float: right;}
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none;}
.slick-slide.dragging img { pointer-events: none;}
.slick-initialized .slick-slide { display: block; outline: none;}
.slick-loading .slick-slide { visibility: hidden;}
.slick-vertical .slick-slide{ display: block; height: auto;}
.slick-arrow.slick-hidden { display: none;}

.slick-arrow{ width: 50px; height: 50px; position: absolute; bottom: 50px; background: transparent; border: none; z-index: 100; text-indent: -9999em; outline: none;}
.slick-prev { left: 5%;}
.slick-next { right: 5%;}
.slick-arrow:before{ position: absolute; content: ''; display: block; width: 30px; height: 30px; top: 50%; transform: translateY(-50%) rotate(45deg);}
.slick-prev:before { left: 30%; border-bottom: solid 2px #000; border-left: solid 2px #000;}
.slick-next:before { right: 30%; border-top: solid 2px #000; border-right: solid 2px #000;}


/** Dots */
.slick-dotted.slick-slider{ margin-bottom: 30px;}
.slick-dots { position: absolute; bottom: 0px; display: block; width: 100%; padding: 0; margin: 0; text-align: center;}
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer;}
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer;
 color: transparent; border: 0; outline: none; background: transparent; 
}
.slick-dots li button:hover,
.slick-dots li button:focus{ outline: none;}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before { opacity: 1;}
.slick-dots li button:before { content: ''; position: absolute; text-align: center;}
.slick-dots li.slick-active button:before { opacity: .75; color: black;}


/** Dots */
.slick-dotted.slick-slider{ margin-bottom: 30px;}
.slick-dots { position: absolute; bottom: -25px; display: block; width: 100%; padding: 0; margin: 0; text-align: center;}
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer;}
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; cursor: pointer;
 color: transparent; border: 0; outline: none; background: transparent; 
}
.slick-dots li button:hover,
.slick-dots li button:focus{ outline: none;}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before { opacity: 1;}
.slick-dots li button:before { position: absolute; top: 0; left: 0; width: 20px; height: 20px; content: ''; text-align: center;}
.slick-dots li.slick-active button:before { opacity: .75; color: black;}
@media (max-width: 481px) {
	.slick-arrow{ width: 45px; height: 45px; bottom: 30px;}
	.slick-arrow:before{ width: 24px; height: 24px; border-width: 1px;}
}




/*		font-style
-------------------------------------------------- */
body { color: #e96087;
	font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
input, textarea {font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;}

.min {font-family: "游明朝", "Yu Mincho", "YuMincho", serif;}

::selection{ background: #feffaf; color: #000;}
::-moz-selection{ background: #feffaf; color: #000;}


a { color:#002159; text-decoration: underline;}
a:link   { color:#002159;}
a:visited{ color:#002159;}
a:hover  { color:#002159;}
a:active { color:#002159;}

em{ font-style: normal;}


/*		utility
-------------------------------------------------- */
.cf{ clear: both;}
.cf:after{ content: ''; display: block; clear: both;}


#container {}

#ft { background: #fff;}
#ft .inner-ft { padding: 50px 0 30px;}
#ft h3 { margin-bottom: 30px; text-align: center;}
#ft h3 img { width: 40%; max-width: 160px;}
#ft ul { font-size: 0; text-align: center;}
#ft ul li { display: inline-block; margin: 0 30px; font-size: 14px;}
#ft ul li a { color: #000; text-decoration: none;}
#ft .copyright { padding: 10px 0; background: #000;}
#ft .copyright p { color: #fff; font-size: 12px; text-align: center;}
@media (max-width: 801px) {
	#ft ul li { margin: 0 20px;}
}
@media (max-width: 641px) {
	#ft .inner-ft { padding: 50px 0;}
	#ft h3 { margin-bottom: 20px;}
	#ft ul { width: 92%; margin: 0 auto;}
	#ft ul li { display: block; width: 100%; margin: 0; padding: 8px 0;}
	#ft ul li a { display: block; width: 94%; margin: 0 auto; padding: 5px 0;}
}
@media (max-width: 481px) {
	#ft .inner-ft { padding: 40px 0 20px;}
	#ft h3 { margin-bottom: 10px;}
	#ft ul li { padding: 5px; font-size: 12px;}
	#ft .copyright p { font-size: 10px; letter-spacing: 0.05rem;}
}


.wrap { width: 100%; max-width: 1280px; margin: 0 auto; background: linear-gradient(90deg,#bbe5f2 47%,#fdcfcf 53%);}

.note { width: 100%; padding: 0 30px;}
.note ul { width: 100%; margin: 0 0 0 auto; color: #8c8c8c;}
.note ul li { font-size: 10px;}
@media (max-width: 481px) {
	.note { padding: 0 8px;}
	.note ul li { font-size: 9px;}
}

#kv { position: relative; z-index: 1;}
#kv .inner-kv{ position: relative; width: 100%;}
#kv .logo { position: absolute; left: 0; top: 0; z-index: 2; width: 100%; padding-top: 50px; text-align: center;}
#kv .logo img { width: 20%; max-width: 250px;}
#kv h1 { position: relative; text-align: center;}
#kv h1 img { width: 100%;}
#kv h1 img.sp { display: none;}
#kv .note { position: absolute; left: 0; bottom: 60px;}
#kv .note ul { max-width: 280px; color: #fff;}
@media (max-width: 801px) {
	#kv .logo { padding-top: 4vw;}
}
@media (max-width: 641px) {
	#kv .logo { padding-top: 12vw;}
	#kv .logo img{ width: 42%;}
	#kv h1 img.pc { display: none;}
	#kv h1 img.sp { display: block;}
}
@media (max-width: 481px) {
	#kv .note { bottom: 30px;}
	#kv .note ul { max-width: 230px;}
}

.ttl { position: relative;}
.ttl:after { content: ''; display: block; width: 100%; height: 200px;
 background: url('./img/bg/ttl.png') no-repeat 50% 100%;
 position: absolute; left: 0; top: -30px; z-index: 2;
}
.ttl .inner { position: relative; padding: 20px 0; z-index: 3;}
.ttl h2 { text-align: center;}
.ttl h2 img { width: 80%; max-width: 460px;}
@media (max-width: 641px) {
	.ttl .inner { padding: 20px 0;}
	.ttl:after { height: 0px; padding-top: 30.6%; background: url('./img/bg/ttl-sp.png') no-repeat 50% 100% / 100% 100%;}
}
@media (max-width: 481px) {
	.ttl:after { top: -12px;}
	.ttl .inner { padding: 16px 0;}
}

#point { position: relative; z-index: 2;}
#point .ttl:after { top: -40px;}
#point .inner-sct { padding: 80px 0 60px; background: url('./img/bg/point.png') no-repeat 50% 25%;}
#point .ctn-1 { position: relative; margin-bottom: 80px;}
#point .ctn-1 figure { text-align: center;}
#point .ctn-1 figure img { width: 100%; max-width: 800px;}
#point .ctn-1 figure img.sp { display: none;}
#point .ctn-1 .note { position: absolute; bottom: 30px;}
#point .ctn-1 .note ul { max-width: 200px;}
#point .ctn-2 { position: relative;}
#point .ctn-2 figure { text-align: center;}
#point .ctn-2 figure img { width: 100%; max-width: 500px;}
#point .ctn-2 .note { position: absolute; bottom: 40px;}
#point .ctn-2 .note ul { max-width: 200px;}
@media (max-width: 641px) {
	#point .ttl .inner { padding: 5px 0;}
	#point .ttl:after { top: -45px;}
	#point .inner-sct { padding: 80px 0 40px; background: none;}
	#point .ctn-1 { margin-bottom: 20px;}
	#point .ctn-1 figure img.pc { display: none;}
	#point .ctn-1 figure img.sp { display: block;}
	#point .ctn-1 .note { bottom: 20px;}
	#point .ctn-2 { padding: 8vw 0 10vw; background: url('./img/bg/point-2-sp.png') no-repeat 50% 0% / 100% auto;}
	#point .ctn-2 figure { margin-bottom: 20px;}
	#point .ctn-2 figure img { width: 92%; max-width: 92%;}
	#point .ctn-2 .note { position: relative; bottom: auto;}
}
@media (max-width: 481px) {
	#point .ttl:after { top: -26px;}
	#point .inner-sct { padding: 60px 0 40px;}
	#point .ctn-1 { margin-bottom: 0px; padding-bottom: 20px;}
	#point .ctn-1 .note ul { max-width: 180px;}
	#point .ctn-1 .note { bottom: 10px;}
	#point .ctn-2 { padding: 8vw 0;}
	#point .ctn-2 figure { margin-bottom: 12px;}
	#point .ctn-2 .note ul { max-width: 180px;}
}


#lineup .inner-sct { padding: 200px 0 50px; background: url('./img/bg/lineup.png') no-repeat 50% 30% / 1100px auto;}
#lineup .ctn { display: flex; justify-content: space-between; width: 100%; max-width: 820px; margin: 0 auto 50px;}
#lineup .ctn .item { width: 50%;}
#lineup .ctn .item figure { margin-bottom: 30px; text-align: center;}
#lineup .ctn .item figure img { width: 80%; max-width: 340px;}
#lineup .ctn .item p { text-align: center;}
#lineup .ctn .item p img { width: 80%; max-width: 260px;}
#lineup .note ul { max-width: 300px;}
@media (max-width: 641px) {
	#lineup .inner-sct { padding: 30vw 0 8vw; background: url('./img/bg/lineup-sp.png') no-repeat 50% 0% / 100% auto;}
	#lineup .ctn { display: block; margin: 0 auto 30px;}
	#lineup .ctn .item { width: 100%;}
	#lineup .ctn .item:first-child { margin-bottom: 40vw;}
	#lineup .ctn .item figure img { width: 68%; max-width: 68%;}
	#lineup .ctn .item p img { width: 55%;}
}
@media (max-width: 481px) {
	#lineup .inner-sct { padding: 24vw 0 8vw; }
}

#campaign .inner-sct { padding: 80px 0;}
#campaign .ctn { position: relative; width: 90%; max-width: 920px; margin: 0 auto 100px;}
#campaign .ctn figure { position: relative; text-align: center; z-index: 1;}
#campaign .ctn figure img { width: 100%;}
#campaign .ctn figure img.sp { display: none;}
#campaign .ctn .btn { position: absolute; left: 0; bottom: 110px; width: 100%; z-index: 2;}
#campaign .ctn .btn a { position: relative; display: block; width: 260px; margin: 0 auto 8px; padding: 16px 0;
 background: #e96087; border-radius: 50px;
 color: #fff; font-size: 19px; font-weight: 700; line-height: 1; text-align: center; text-decoration: none;
}
#campaign .ctn .btn a:after { content: ''; display: block; width: 10px; height: 10px;
 border-top: solid 2px #fff; border-right: solid 2px #fff;
 position: absolute; right: 20px; top: 50%; transform: translateY(-50%) rotate(45deg);
}
#campaign .ctn .btn a:hover { opacity: 0.85;}
#campaign .ctn .btn p { color: #e96087; font-size: 16px; font-weight: 700; line-height: 1; text-align: center;}
#campaign .ctn .btn p span { display: inline-block; padding: 6px 0; border-bottom: solid 1px #e96087;}
#campaign .tit { margin-bottom: 50px;}
@media (max-width: 1001px) {
	#campaign .ctn .btn { bottom: 11vw;}
}
@media (max-width: 641px) {
	#campaign .inner-sct { background: url('./img/bg/campaign-sp.png') no-repeat 50% 0% / 100% auto;}
	#campaign .ctn { margin: 0 auto 200px;}
	#campaign .ctn:after { content: ''; display: block; width: 100%; height: 200px;
	 background: url('./img/mymelody.png') no-repeat 50% 50% / auto 100%;
	 position: absolute; left: 0; bottom: -100px; z-index: 2;
	}
	#campaign .ctn figure img.pc { display: none;}
	#campaign .ctn figure img.sp { display: block;}
}
@media (max-width: 481px) {
	#campaign .inner-sct { padding: 14vw 0 12vw;}
	#campaign .ctn { margin: 0 auto 250px;}
	#campaign .ctn:after { height: 140px; bottom: -90px;}
	#campaign .ctn .btn { bottom: 60px;}
	#campaign .ctn .btn a { width: 200px; margin: 0 auto 6px; padding: 10px 0; font-size: 16px;}
	#campaign .ctn .btn a:after { width: 6px; height: 6px; right: 10px;}
	#campaign .ctn .btn p { font-size: 14px;}
	#campaign .ctn .btn p span { padding: 4px 0;}
}

#campaign #series { width: 100%; max-width: 1200px; margin: 0 auto;}
#campaign #series .tit h3 { text-align: center;}
#campaign #series .tit h3 img { width: 80%; max-width: 400px; }
#campaign #series .tit h3 img.sp { display: none;}
#campaign #series ul.series li span { color: #5b1800;}
#campaign #series .sp-show div span { color: #5b1800;}
@media (max-width: 641px) {
	#campaign #series .tit h3 img.pc { display: none;}
	#campaign #series .tit h3 img.sp { display: block; margin: 0 auto;}
}

#shop .inner-sct { padding: 100px 0 80px;}
#shop .ttl .inner { padding: 65px 0;}
#shop .ttl:after { top: -20px;}
#shop .txt { margin-bottom: 30px; padding: 40px 0 20px; background: url('./img/bg/shop.png') no-repeat 50% 50% / auto 100%;}
#shop .txt p { color: #a96722; font-size: 12px; text-align: center;}
#shop .txt p.min { margin-bottom: 10px; font-size: 20px; font-weight: 700;}
#shop .txt p.min br { display: none;}
#shop .ctn { width: 94%; max-width: 900px; margin: 0 auto;}
#shop .ctn ul { font-size: 0;}
#shop .ctn ul li { display: inline-block; width: 33.33335%; padding: 15px; font-size: 16px;}
#shop .ctn ul li a { position: relative; display: block; padding: 3px; background: #fff; border-radius: 10px;
 color: #e96087; font-weight: 700; text-decoration: none;
}
#shop .ctn ul li a:before { content: ''; display: block; width: 18px; height: 100%;
 position: absolute; left: 12px; top: 0;
 background: url('./img/icn.svg') no-repeat 50% 50% / 100% auto ;
}
#shop .ctn ul li a span { display: block; padding: 10px; padding-left: 32px; border: solid 2px #e96087; border-radius: 8px;}

@media (max-width: 801px) {
	#series .inner-sct { width: 100%;}
}
@media (max-width: 641px) {
	#series p span { display: block;}
}
@media (max-width: 481px) {
	#series .inner-sct { padding: 40px 0;}
	#series p { margin-bottom: 20px; font-size: 16px;}
}

@media (max-width: 1001px) {
}
@media (max-width: 801px) {
	#shop .ctn ul li { padding: 10px;}
}
@media (max-width: 641px) {
	#shop .txt { margin-bottom: 20px; padding: 20px 0 12px; background-size: 92% auto;}
	#shop .txt p.min { margin-bottom: 8px;}
	#shop .txt p.min br { display: block;}
	#shop .ctn ul li { width: 50%; padding: 10px;}
}
@media (max-width: 481px) {
	#shop .ttl .inner { padding: 25px 0;}
	#shop .inner-sct { padding: 8vw 0 12vw;}
	#shop .ctn ul li { padding: 6px; font-size: 13px;}
	#shop .ctn ul li a { padding: 2px; border-radius: 5px;}
	#shop .ctn ul li a span { padding: 8px 0; padding-left: 30px; border-width: 1px; border-radius: 3px;}
}


