@charset "UTF-8";
/* reset
----------------------------------- */
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, dl, dt, dd,
ol, ul, li, 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, section, summary, time, mark, audio, video, hr {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}
html {
  font-size: 62.5%;
}
body * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
ol, ul {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img {
  height: auto;
  max-width: 100%;
  vertical-align: top;
}

/*
@-webkit-keyframes bg-loop {
	0%{background-position:0 0}
	100%{background-position:3700px -400px}
	}
@keyframes bg-loop {
	0%{background-position:0 0}
	100%{background-position:3700px -400px}
	}

*/
@-webkit-keyframes h1_b {
	0%{top: 10%;}
	80%{top: 0%;}
	90%{top: 2%;}
	100%{top: 0%;}
	}
@keyframes h1_b {
	0%{top: 10%;}
	80%{top: 0%;}
	90%{top: 2%;}
	100%{top: 0%;}
	}

@-webkit-keyframes bal{
	0%{-webkit-transform:scale(0);transform:scale(0)}
	1%{-webkit-transform:scale(0.0117);transform:scale(0.0117)}
	3%{-webkit-transform:scale(0.0811);transform:scale(0.0811)}
	4%{-webkit-transform:scale(0.14);transform:scale(0.14)}
	5%{-webkit-transform:scale(0.2193);transform:scale(0.2193)}
	6%{-webkit-transform:scale(0.3189);transform:scale(0.3189)}
	11%{-webkit-transform:scale(0.9486);transform:scale(0.9486)}
	12%{-webkit-transform:scale(1.0521);transform:scale(1.0521)}
	13%{-webkit-transform:scale(1.1335);transform:scale(1.1335)}
	14%{-webkit-transform:scale(1.1893);transform:scale(1.1893)}
	15%{-webkit-transform:scale(1.2182);transform:scale(1.2182)}
	16%{-webkit-transform:scale(1.2209);transform:scale(1.2209)}
	17%{-webkit-transform:scale(1.2001);transform:scale(1.2001)}
	26%{-webkit-transform:scale(0.821);transform:scale(0.821)}
	36%{-webkit-transform:scale(1.1155);transform:scale(1.1155)}
	47%{-webkit-transform:scale(0.9257);transform:scale(0.9257)}
	57%{-webkit-transform:scale(1.045);transform:scale(1.045)}
	67%{-webkit-transform:scale(0.9759);transform:scale(0.9759)}
	96%{-webkit-transform:scale(1);transform:scale(1)}
	100%{-webkit-transform:scale(1);transform:scale(1)}
}
@keyframes bal{
	0%{-webkit-transform:scale(0);transform:scale(0)}
	1%{-webkit-transform:scale(0.0117);transform:scale(0.0117)}
	3%{-webkit-transform:scale(0.0811);transform:scale(0.0811)}
	4%{-webkit-transform:scale(0.14);transform:scale(0.14)}
	5%{-webkit-transform:scale(0.2193);transform:scale(0.2193)}
	6%{-webkit-transform:scale(0.3189);transform:scale(0.3189)}
	11%{-webkit-transform:scale(0.9486);transform:scale(0.9486)}
	12%{-webkit-transform:scale(1.0521);transform:scale(1.0521)}
	13%{-webkit-transform:scale(1.1335);transform:scale(1.1335)}
	14%{-webkit-transform:scale(1.1893);transform:scale(1.1893)}
	15%{-webkit-transform:scale(1.2182);transform:scale(1.2182)}
	16%{-webkit-transform:scale(1.2209);transform:scale(1.2209)}
	17%{-webkit-transform:scale(1.2001);transform:scale(1.2001)}
	26%{-webkit-transform:scale(0.821);transform:scale(0.821)}
	36%{-webkit-transform:scale(1.1155);transform:scale(1.1155)}
	47%{-webkit-transform:scale(0.9257);transform:scale(0.9257)}
	57%{-webkit-transform:scale(1.045);transform:scale(1.045)}
	67%{-webkit-transform:scale(0.9759);transform:scale(0.9759)}
	96%{-webkit-transform:scale(1);transform:scale(1)}
	100%{-webkit-transform:scale(1);transform:scale(1)}
}



/* contents
----------------------------------- */
body {
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  font-size: 3.5vw;
  background: url(../img/bg_body.png);
  background-size: 6%;
}
.wrapper {
  background: url(../img/bg_header.png) 0 0;
  background-size: 100%;
}

.wrapper.end {
	animation: none;
  background: url(../img/bg_header_end.png) 0 0;
  background-size: 100%;
}

#header,#subHeader {
  background-color: #fff;
  position: relative;
  padding: 2px 0 2px 10px;
  border-top: 2px solid #f9359c;
  border-bottom: 1px solid #ccc;
  font-size: 83.3%;
  letter-spacing: -0.001em;
  font-weight: bold;
  color: #463937;
  text-shadow: 0 1px 1px #fff;
}

#subHeader {
	border-top: 0 none;
	border-bottom: 0 none;
  padding: 7.5px 0 7.5px 10px;
}

#subHeader img {
	width: 142.5px;
}

.heading {
  padding-top: 10%;
  position: relative;
  text-align: center;
  height: 152vw;
}
.heading h1 {
  margin: 0 ;
  width: 100%;
  position: relative;
  height: 102.666vw;
}

.heading h1 img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	animation: h1_b 0.5s ease-out;
	z-index: 1;
}

.heading h1.end img {
	animation: none;
	top: 9%;
}

.heading .character {
	position: absolute;
	top: 72.2%;
	left: 8%;
	right: 0;
  margin: 0 auto;
  width: 55.6vw;
	z-index: 10;
}

.heading .character.end {
	width: 33.133vw;
	top:auto;
	bottom: -0.6%;
	left: auto;
	right: 3.9%;
}

.heading .bal {
	position: absolute;
	z-index: 10;
	animation: bal 1.6s linear forwards;
	transform: scale(0);
}


.heading .bal01 {
	width: 24.5vw;
	top: 59%;
	right: 0%;
	animation-delay: 0.5s;
}

.heading .bal02 {
	width: 29vw;
	top: 54.1%;
	left:12.7%;
	animation-delay: 1.3s;
}

.heading .bal03 {
	width: 24vw;
	top: 74.6%;
	left:-1%;
	animation-delay: 2.1s;
	}

.heading .bal04 {
	width: 18.667vw;
	top: 76.6%;
	right:11%;
	animation-delay: 2.9s;

}



.point-4 {
  background: #fce5e8 url(../img/bg_point-4.png) top center;
  background-size: 100%;
  padding: 7.33vw 0 0 0;
  position: relative;
}

.point-4:before {
	content: "";
	background: url(../img/bg_point_before.png) top center no-repeat;
	background-size: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0;
	height: 20.66vw;
}



.point-4 h2 {
  margin: 0 auto 15.733vw;
  width: 87.66vw;
}

.point-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}
.point {
  background-color: #fff;
  margin-bottom: 11%;
  padding: 12px;
  position: relative;
  width: 44.6%;
  height: 60vw;
}

.point1,.point3 {
	margin-top: -7.9vw;
}

.point1 {
	margin-bottom: 7.9vw;
}


.point4 {
	margin-bottom: 0;
}


.point:before {
  background: url(../img/bg_point_line.png) no-repeat;
  background-size: cover;
  height: 1px;
  left: 1.1%;
  width: 97%;
  top: 1.1%;
  content: "";
  position: absolute;
  z-index: 1;
}
.point:after {
  background: url(../img/bg_point_line.png) no-repeat;
  background-size: cover;
  height: 1px;
  left: 1.1%;
  width: 97%;
  bottom: 1.1%;
  content: "";
  position: absolute;
}
.point .inner:before {
  background: url(../img/bg_point_line_v.png);
  background-size: cover;
  height: 97%;
  left: 1.1%;
  width: 1px;
  top: 1.1%;
  content: "";
  position: absolute;
  z-index: 1;
}
.point .inner:after {
  background: url(../img/bg_point_line_v.png);
  background-size: cover;
  height: 97%;
  right: 1.1%;
  width: 1px;
  top: 1.1%;
  content: "";
  position: absolute;
  z-index: 1;
}
.point:nth-child(even) {
  margin-left: 3%;
}
.point .inner > img {
  position: relative;
  width: 15.2vw;
  z-index: 2;
}

.point1 .inner > img {margin: -14.93vw 0 0 -34vw;}
.point2 .inner > img {margin: -14.93vw 0 0 -32vw;}
.point3 .inner > img {margin: -12.9vw 0 0 -37vw;}
.point4 .inner > img {margin: -14vw 0 0 -34vw;}

.point dl {
	margin-top: -8.6vw;
}

.point3 dl {
	margin-top: -10.1vw;
}

.point dt {
  color: #e0006e;
  font-size: 3.6vw;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 5%;
	margin-left: -1vw;
	margin-right: -1vw;
}

.point3 dt {
	margin-top: -3vw;
}

.point dt span {
  background: linear-gradient(transparent 70%, #fff9b1 70%);
}
.point dd {
  font-size: 3vw;
  height: 133px;
  text-align: left;
}
.point dd:after {
  background-size: cover;
  bottom: 12px;
  content: "";
  position: absolute;
  left: 50%;
}
.point1 dd:after {
  background: url(../img/bg_point01.png) no-repeat;
  background-size: cover;
  height: 57px;
  margin-left: -64px;
  width: 125px;
  bottom: 29px;
}
.point2 dd:after {
  background: url(../img/bg_point02.png) no-repeat;
  background-size: cover;
  height: 59px;
  margin-left: -59px;
  width: 114px;
  bottom: 28px;
}
.point3 dd:after {
  background: url(../img/bg_point03.png) no-repeat;
  background-size: cover;
  height: 55px;
  margin-left: -48px;
  width: 102px;
  bottom: 13px;
}
.point4 dd:after {
  background: url(../img/bg_point04.png) no-repeat;
  background-size: cover;
  height: 62px;
  margin-left: -60px;
  width: 117px;
  bottom: 15px;
}
.point dd img {
  width: 90%;
}
.link-area {
  margin-bottom: 0;
  text-align: center;
  padding: 2vw 0 0 0;
}

.link-area .text {
  background-color: #f4b4d0;
  border-radius: 4px;
  font-size: 4.2vw;
  letter-spacing: 0.75vw;
  padding: 2vw;
  font-weight: bold;
  vertical-align: middle;
  width: 87vw;
  margin: 0 auto 6.5vw auto;
  position: relative;
}

.link-area .text:after {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -4vw;
  left: 0;
  right:0;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4vw 4.5vw 0 4.5vw;
  border-color: #f4b4d0 transparent transparent transparent;
/*  background: url(../img/icon_tri-line2.png) no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 1.6rem;
  margin-left: 8px;
  text-align: center;
  vertical-align: middle;
  width: 12%;
*/}
.link-area img {
  width: 32.66vw;
  margin: 0 0 0 -6vw;
}
.link-area a {
  display: block;
}
.link-area a img {
  display: block;
  margin: 0 auto;
  width: 74.6%;
}

.link-area .caution {
	padding: 5vw 0 0 0;
}

.link-area .caution p {
	color: #e00068;
	padding: 2vw 0 3.2vw;
}


.link-area .caution .title {
	font-size: 5.2vw;
	font-weight: bold;
	padding: 0.9vw 0 0.6vw;
}

.link-area .caution .title span {
	border: 1px solid #e00068;
	line-height: 1;
	letter-spacing: 0.4vw;
	padding: 0.9vw 2.5vw 0.6vw 3vw;
}

.link-area .info {
	padding: 3vw 0 9.5vw 0;
	letter-spacing: 0.4vw;
}



.notes {
  background-color: #f3f2f2;
}
.notes p {
  background-color: #dbd7d5;
  color: #231815;
  font-size: 4.3vw;
  font-weight: bold;
  padding: 3px 0;
  letter-spacing: 0.4vw;
  text-align: center;
  border-top: 1px solid #403632;
  border-bottom: 1px solid #403632;
}
.notes ul {
  padding: 4% 4%;
}
.notes li {
  margin-bottom: .2em;
  font-size: 3.2vw;
}
.notes li:first-child,.notes li:nth-child(2),.notes li:nth-child(3),.notes li:nth-child(4) {
  color: #e00068;
}

.sns_area {
  background-color: #fff;
}
.sns_area ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 5% 0;
}
.sns_area ul li {
  width: 13.4vw;
}
.sns_area ul li + li {
  margin-left: 7%;
}

.page-back {
  background-color: #000;
  text-align: center;
}
.page-back a {
  color: #fff;
  display: block;
  font-size: 2rem;
  padding: 2% -0px;
  text-decoration: none;
  width: 100%;
}
.page-back a:after {
  content: "";
  display: inline-block;
  border-left: 0.4em solid transparent;
  border-right: 0.4em solid transparent;
  border-bottom: 0.7em solid #fff;
  margin-left: 5px;
}
#footer {
  background-color: #fff;
}
#footer .utility {
  border-top: 1px solid #ccc;
  line-height: 33px;
  text-shadow: 0 1px 1px #fff;
  background: #fff;
  padding: 1px 0 0;
}
#footer .utility ul {
  overflow: hidden;
  background: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5),
    to(#ebebeb)
  );
}
#footer .utility ul li {
  float: left;
  margin-left: 10px;
}
#footer .utility ul li a {
  color: #333;
  padding-left: 19px;
  text-decoration: underline;
  background: url(../../../../shared/img/ico11.png) 0 0 no-repeat;
  background-size: 13px 13px;
  -webkit-background-size: 13px 13px;
}
#footer small {
  color: #333;
  display: block;
  font-size: 1.2rem;
  line-height: 28px;
  padding-left: 10px;
  border-top: 1px solid #ccc;
}
@media screen and (min-width:640px){
  .point dd {
    height: 180px;
  }
}


