section, nav, article, aside, hgroup, header, footer, figure, figcaption, details {
  display: block;
}

html, body, div, span, applet, object, iframe, strong, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, legend, caption, tbody, tfoot, thead, table, label, tr, th, td, figure {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: "Hiragino Kaku Gothic Pro",Meiryo,"MS PGothic",sans-serif;
  color: #111;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

li {
  list-style: none;
}

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

a {
  text-decoration: none;
}

img {
  vertical-align: top;
  max-width: 100%;
}

hr {
  height: 1px;
  background-color: #ccc;
  border: 0;
}

.video-container {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.video-container iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  z-index: 1;
}

.pc_only {
  display: block;
}

.pc_only_inline {
  display: inline;
}

.sp_only,
.sp_only_inline {
  display: none;
}

.wrap {
  max-width: 1000px;
  padding: 0 20px;
  margin: 0 auto;
}
.wrap:after {
  content: "";
  display: block;
  clear: both;
}

.to_top {
  -webkit-transition: top .6s ease, opacity .6s ease;
  transition: top .6s ease, opacity .6s ease;
  position: relative;
  top: 50px;
  opacity: 0;
}

.isAnimate.show.to_top {
  top: 0;
  opacity: 1;
}

.to_top_left {
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
  position: relative;
  top: 50px;
  left: 50px;
  opacity: 0;
}

.isAnimate.show.to_top_left {
  top: 0;
  left: 0;
  opacity: 1;
}

.to_top_right {
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
  position: relative;
  top: 50px;
  right: 50px;
  opacity: 0;
}

.isAnimate.show.to_top_right {
  top: 0;
  right: 0;
  opacity: 1;
}

/*=======================================
	mv
=======================================*/
.mv {
  text-align: center;
  background: url("../images/bg.png") no-repeat center top;
  padding: 35px 0 0;
  margin: 0 0 140px;
}
.mv .txt_1 {
  -webkit-transition: top .6s ease, opacity .6s ease;
  transition: top .6s ease, opacity .6s ease;
  position: relative;
  top: 50px;
  opacity: 0;
}
.mv .txt_1.show {
  top: 0;
  opacity: 1;
}
.mv .txt_1_sp {
  display: none;
}
.mv .txt_2 {
  margin: -55px 0 15px;
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
  opacity: 0;
  -webkit-transition: all .4s ease-out;
  transition: all .4s ease-out;
  -webkit-transition-delay: .4s;
          transition-delay: .4s;
}
.mv .txt_2.show {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 1;
}
.mv p {
  font-size: 24px;
  line-height: 1.5;
  color: #da0644;
  margin-top: 1.5rem;
  position: relative;
  z-index: 1;
}
.mv p span {
  font-size: .8em;
  margin: 0 .2em;
}
.mv p + div {
  margin-top: -2rem;
}

/*=======================================
	cta
=======================================*/
.cta {
  text-align: center;
}
.cta .btn {
  display: inline-block;
  position: relative;
}
.cta .btn:before {
  content: "";
  display: block;
  width: 431px;
  height: 128px;
  background: url("../images/btn_txt.png") no-repeat;
  position: absolute;
  top: -18px;
  left: 200px;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.cta .btn img {
  -webkit-animation: skew 2s linear infinite;
          animation: skew 2s linear infinite;
}
@-webkit-keyframes skew {
  0% {
    -webkit-transform: skew(0deg, 0deg);
            transform: skew(0deg, 0deg);
  }
  5% {
    -webkit-transform: skew(5deg, 4.2deg);
            transform: skew(5deg, 4.2deg);
  }
  10% {
    -webkit-transform: skew(-4deg, -3deg);
            transform: skew(-4deg, -3deg);
  }
  15% {
    -webkit-transform: skew(3deg, 2.2deg);
            transform: skew(3deg, 2.2deg);
  }
  20% {
    -webkit-transform: skew(-2deg, -1.5deg);
            transform: skew(-2deg, -1.5deg);
  }
  25% {
    -webkit-transform: skew(0.9deg, 0.9deg);
            transform: skew(0.9deg, 0.9deg);
  }
  30% {
    -webkit-transform: skew(-0.6deg, -0.6deg);
            transform: skew(-0.6deg, -0.6deg);
  }
  35% {
    -webkit-transform: skew(0.3deg, 0.3deg);
            transform: skew(0.3deg, 0.3deg);
  }
  40% {
    -webkit-transform: skew(-0.2deg, -0.2deg);
            transform: skew(-0.2deg, -0.2deg);
  }
  45% {
    -webkit-transform: skew(0.1deg, 0.1deg);
            transform: skew(0.1deg, 0.1deg);
  }
  50% {
    -webkit-transform: skew(0deg, 0deg);
            transform: skew(0deg, 0deg);
  }
}
@keyframes skew {
  0% {
    -webkit-transform: skew(0deg, 0deg);
            transform: skew(0deg, 0deg);
  }
  5% {
    -webkit-transform: skew(5deg, 4.2deg);
            transform: skew(5deg, 4.2deg);
  }
  10% {
    -webkit-transform: skew(-4deg, -3deg);
            transform: skew(-4deg, -3deg);
  }
  15% {
    -webkit-transform: skew(3deg, 2.2deg);
            transform: skew(3deg, 2.2deg);
  }
  20% {
    -webkit-transform: skew(-2deg, -1.5deg);
            transform: skew(-2deg, -1.5deg);
  }
  25% {
    -webkit-transform: skew(0.9deg, 0.9deg);
            transform: skew(0.9deg, 0.9deg);
  }
  30% {
    -webkit-transform: skew(-0.6deg, -0.6deg);
            transform: skew(-0.6deg, -0.6deg);
  }
  35% {
    -webkit-transform: skew(0.3deg, 0.3deg);
            transform: skew(0.3deg, 0.3deg);
  }
  40% {
    -webkit-transform: skew(-0.2deg, -0.2deg);
            transform: skew(-0.2deg, -0.2deg);
  }
  45% {
    -webkit-transform: skew(0.1deg, 0.1deg);
            transform: skew(0.1deg, 0.1deg);
  }
  50% {
    -webkit-transform: skew(0deg, 0deg);
            transform: skew(0deg, 0deg);
  }
}
.cta .list {
  margin: 3rem 0 0;
}
.cta .list .h2 {
  font-size: 26px;
  font-weight: bold;
  color: #873e16;
  margin-bottom: 1.5rem;
}
.cta .list .h2 .red {
  color: #da0644;
}
.cta .list .h2 .s {
  font-size: .8em;
  margin: 0 .2em;
}
.cta .list table {
  max-width: 900px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #b8daf3;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 1.6;
}
.cta .list tr {
  border-bottom: 1px solid #b8daf3;
}
.cta .list th, .cta .list td {
  padding: .8rem 1rem;
  border-right: 1px solid #b8daf3;
  vertical-align: middle;
}
.cta .list th {
  background: #77b8e8;
  color: #fff;
}
.cta .list td {
  text-align: left;
}
.cta .list td:nth-of-type(1) {
  width: 28%;
}
.cta .list td:nth-of-type(2) {
  width: 22%;
  text-align: center;
}
.cta .list td:nth-of-type(3) {
  width: 50%;
}
.cta .list td .s {
  font-size: .8em;
}
.cta .list td .note {
  margin-top: .5rem;
}
.cta .list ul.dot li {
  line-height: 1.5;
  margin-bottom: .5rem;
  padding-left: .8em;
  position: relative;
}
.cta .list ul.dot li:last-of-type {
  margin-bottom: 0;
}
.cta .list ul.dot li:before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  background: #333;
  border-radius: 50%;
  position: absolute;
  top: .8em;
  left: 0;
}

/*=======================================
	footer
=======================================*/
footer {
  background: #141414;
  font-size: 14px;
  line-height: 1;
  color: #fff;
  padding: 25px 0;
  margin: 130px 0 0;
  text-align: center;
  position: relative;
}
footer.bg:before {
  content: "";
  display: block;
  width: 100%;
  height: 414px;
  background: url("../images/bg_footer.png") no-repeat center top;
  background-size: auto 100%;
  position: absolute;
  top: -414px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
footer a {
  color: #fff;
}
footer a:hover {
  text-decoration: underline;
}
footer ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
footer li {
  margin: 0 15px;
}

/*=======================================
	privacy rule
=======================================*/
.privacy,
.rule {
  padding: 60px 0 0;
}
.privacy h1,
.rule h1 {
  text-align: center;
  margin-bottom: 50px;
}
.privacy h1 span,
.rule h1 span {
  display: inline-block;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
  border-bottom: 1px solid #111;
  padding: 0 0 10px;
}
.privacy dt,
.rule dt {
  font-size: 18px;
  font-weight: bold;
}
.privacy dd,
.rule dd {
  margin-bottom: 2em;
}
.privacy ol,
.rule ol {
  margin-left: 1.5em;
}
.privacy ol li,
.rule ol li {
  text-indent: -1.5em;
  margin-bottom: .6em;
}

@media only screen and (min-width: 1700px) {
  .mv {
    background: url("../images/bg.png") no-repeat center top;
    background-size: cover;
  }

  footer:before {
    background: url("../images/bg_footer.png") no-repeat center top;
    background-size: cover;
  }
}
/******************************************************************************************

	sp size

******************************************************************************************/
@media only screen and (max-width: 640px) {
  .pc_only,
  .pc_only_inline {
    display: none;
  }

  .sp_only {
    display: block;
  }

  .sp_only_inline {
    display: inline;
  }

  .wrap {
    /*	max-width: 1000px;*/
    padding: 0 calc(100vw / ( 640 / 40 ));
    /*	margin: 0 auto;
    	
    	&:after{
    		content: "";
    		display: block;
    		clear: both;
    	}*/
  }

  /*=======================================
  	mv
  =======================================*/
  .mv {
    /*	text-align: center;*/
    background: url("../images/bg_sp.png") no-repeat center top;
    background-size: cover;
    padding: 0;
    margin: 0 0 calc(100vw / ( 640 / 90 ));
    /*	.txt_2.show{
    		transform: scale(1);
    		opacity: 1;
    	}*/
  }
  .mv .txt_1 {
    display: none;
  }
  .mv .txt_1_sp {
    background: #fcf8b3;
    padding: calc(100vw / ( 640 / 16 )) calc(100vw / ( 640 / 28 ));
    line-height: 1;
  }
  .mv .txt_2 {
    margin: 0 0 calc(100vw / ( 640 / 12 ));
    padding-top: calc(100vw / ( 640 / 18 ));
    /*		transform: scale(0.7);
    		opacity: 0;
    		transition: all .4s ease-out;
    		transition-delay: .4s;*/
  }
  .mv p {
    font-size: calc(100vw / ( 640 / 24 ));
    /*		line-height: 1.5;
    		color: #da0644;*/
    margin-top: 1rem;
    /*		position: relative;
    		z-index: 1;
    		
    		span{
    			font-size: .8em;
    		}*/
  }
  .mv p + div {
    margin-top: -.5rem;
  }

  /*=======================================
  	cta
  =======================================*/
  .cta {
    /*	text-align: center;*/
  }
  .cta .btn {
    /*		display: inline-block;
    		position: relative;*/
    /*		img{
    			animation: skew 2s linear infinite;
    		}
    		@keyframes skew {
    			0% {transform: skew(0deg, 0deg);}
    			5% {transform: skew(5deg, 4.2deg);}
    			10% {transform: skew(-4deg, -3deg);}
    			15% {transform: skew(3deg, 2.2deg);}
    			20% {transform: skew(-2deg, -1.5deg);}
    			25% {transform: skew(0.9deg, 0.9deg);}
    			30% {transform: skew(-0.6deg, -0.6deg);}
    			35% {transform: skew(0.3deg, 0.3deg);}
    			40% {transform: skew(-0.2deg, -0.2deg);}
    			45% {transform: skew(0.1deg, 0.1deg);}  
    			50% {transform: skew(0deg, 0deg);}
    		}*/
  }
  .cta .btn:before {
    /*			content: "";
    			display: block;*/
    width: calc(100vw / ( 640 / 510 ));
    height: calc(100vw / ( 640 / 108 ));
    background: url("../images/btn_txt_sp.png") no-repeat;
    background-size: 100% auto;
    /*			position: absolute;*/
    top: calc(100vw / ( 640 / 36 ));
    left: calc(100vw / ( 640 / 30 ));
    /*			transform: translateY(-100%);*/
  }
  .cta .list {
    margin: 1.5rem 0 0;
    /*		tr{
    			border-bottom: 1px solid lighten(#f50096, 30%);
    		}*/
  }
  .cta .list .h2 {
    font-size: calc(100vw / ( 640 / 26 ));
    /*			font-weight: bold;
    			color: #873e16;*/
    margin-bottom: 1rem;
    /*			.red{
    				color: #da0644;
    			}
    			.s{
    				font-size: .8em;
    				margin: 0 .2em;
    			}*/
  }
  .cta .list table {
    font-size: calc(100vw / ( 640 / 20 ));
    /*			max-width: 900px;
    			margin: 0 auto;
    			background: #fff;
    			border: 1px solid lighten(#f50096, 30%);
    			box-sizing: border-box;
    			line-height: 1.6;*/
  }
  .cta .list th, .cta .list td {
    padding: .3rem .5rem;
    /*			border-right: 1px solid lighten(#f50096, 30%);
    			vertical-align: middle;*/
  }
  .cta .list th {
    font-size: calc(100vw / ( 640 / 22 ));
    padding: .5rem .5rem;
    /*			background: #f50096;
    			color: #fff;*/
  }
  .cta .list td {
    /*			text-align: left;
    			
    			&:nth-of-type(1){
    				width: 28%;
    			}
    			&:nth-of-type(2){
    				width: 22%;
    				text-align: center;
    			}
    			&:nth-of-type(3){
    				width: 50%;
    			}
    			.s{
    				font-size: .8em;
    			}*/
  }
  .cta .list td .note {
    margin-top: .3rem;
  }
  .cta .list ul.dot li {
    /*				line-height: 1.5;
    				margin-bottom: .5rem;*/
    padding-left: .6em;
    /*				position: relative;
    				
    				&:last-of-type{
    					margin-bottom: 0;
    				}*/
  }
  .cta .list ul.dot li:before {
    /*					content: "";
    					display: block;*/
    width: calc(100vw / ( 640 / 4 ));
    height: calc(100vw / ( 640 / 4 ));
    /*					background: #333;
    					border-radius: 50%;
    					position: absolute;*/
    top: .6em;
    /*					left: 0;*/
  }

  /*=======================================
  	footer
  =======================================*/
  footer {
    /*	background: #141414;*/
    font-size: calc(100vw / ( 640 / 20 ));
    /*	line-height: 1;
    	color: #fff;*/
    padding: calc(100vw / ( 640 / 30 )) 0;
    margin: calc(100vw / ( 640 / 64 )) 0 0;
    /*	text-align: center;
    	position: relative;*/
    /*	a{
    		color: #fff;
    	}*/
  }
  footer.bg:before {
    /*		content: "";
    		display: block;
    		width: 100%;*/
    height: calc(100vw / ( 640 / 170 ));
    background: url("../images/bg_footer_sp.png") no-repeat center top;
    background-size: 100% 100%;
    /*		position: absolute;*/
    top: calc(-100vw / ( 640 / 170 ));
    /*		left: 50%;
    		transform: translateX(-50%);
    		z-index: -1;*/
  }
  footer ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    /*		display: flex;
    		justify-content: center;*/
  }
  footer li {
    margin: 0 calc(100vw / ( 640 / 40 ));
  }
  footer .copy {
    width: 100%;
    margin: calc(100vw / ( 640 / 20 )) 0 0;
  }

  /*=======================================
  	privacy rule
  =======================================*/
  .privacy,
  .rule {
    padding: 40px 0 0;
    /*	dd{
    		margin-bottom: 2em;
    	}
    	ol{
    		margin-left: 1.5em;
    		
    		li{
    			text-indent: -1.5em;
    			margin-bottom: .6em;
    		}
    	}*/
  }
  .privacy h1,
  .rule h1 {
    /*		text-align: center;*/
    margin-bottom: 30px;
  }
  .privacy h1 span,
  .rule h1 span {
    /*			display: inline-block;*/
    font-size: 18px;
    /*			font-weight: bold;
    			line-height: 1.2;
    			border-bottom: 1px solid #111;*/
    padding: 0 0 6px;
  }
  .privacy dl,
  .rule dl {
    font-size: 12px;
  }
  .privacy dt,
  .rule dt {
    font-size: 13px;
  }
}
