@charset "UTF-8";

body {
  width: 100%;
  font-family: 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
  font-size: 1rem;
  color: #222222;
  line-height: 1;
  font-weight: 200;
}
h1, h2, h3 {
  font-weight: 200;
}
img.width-full {
  width: 100%;
}
header {
  padding: 2.5% 0 2.5% 2.5%;
  background: #fff;
}
header h1 {
  width: 31.7%;
  margin: 0;
  line-height: 0;
}
header h1 img {
  width: 100%;
}

#kv {
  width: 100%;
  height: 100%;
  padding: 219.218% 0 0;
  position: relative;
  line-height: 0;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ff6602+0,fe9226+100 */
  background: rgb(255, 102, 2);
  /* Old browsers */
  background: -moz-linear-gradient(top, rgba(255, 102, 2, 1) 0%, rgba(254, 146, 38, 1) 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, rgba(255, 102, 2, 1) 0%, rgba(254, 146, 38, 1) 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgba(255, 102, 2, 1) 0%, rgba(254, 146, 38, 1) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#ff6602', endColorstr='#fe9226', GradientType=0);
  /* IE6-9 */
}
#kv .kv-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#kv .kv-textarea {
  line-height: 1;
}
#kv .kv-textarea:nth-child(1) {
  line-height: 1;
}
#kv .kv-textarea p {
  font-size: 13px;
  font-weight: 100;
  line-height: 24px;
  letter-spacing: 1px;
  color: #fff;
}
#kv .kv-textarea p img {
  width: 100%;
  margin: 5% 0;
}
#kv .kv-wrap > img {
  width: 100%;
  margin: -8.5% 0 0 0;
  bottom: 0;
  position: absolute;
}
#kv .kv-wrap .kv-textarea ul {
  margin-top: 12.5%;
  margin-bottom: 0.625%;
  padding: 0;
  font-size: 0;
}
#kv .kv-wrap .kv-textarea li:nth-child(1) {
  width: 48.43%;
  margin-left: 9.375%;
}
#kv .kv-wrap .kv-textarea .kv-badge{
  width: 27%;
  position: absolute;
  right: 8.8%;
  top: 2.8%;
}
#kv .kv-wrap .kv-textarea .kv-badge img {
  width: 100%;
}


.top-block {
  color: #fff;
  height: 237px;
  box-sizing: border-box;
  position: relative;
}
.top-block h2 {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  font-weight: normal;
  line-height: 34px;
  font-size: 23px;
  text-align: center;
  margin: 0;
}
.top-block h2 span {
  display: block;
  margin-bottom: 10px;
}
.top-block p {
  font-size: 14px;
  text-align: left;
  padding: 0 15px;
  line-height: 1.5;
  letter-spacing: 0.4px;
}

#section-05 .top-block {
  height: auto;
  padding: 50px 0 60px;
}
#section-05 .top-block h2{
  position: static;
  top: 0;
  transform: none;
  -webkit-transform: none;
}


.content-block {
  width: 100%;
  background-color: #fff;
  padding-top: 60px;
}
.content-block .pb30 {
  padding-bottom: 30px;
}
.content-block h3 {
  font-weight: normal;
  font-size: 23px;
  line-height: 34px;
  text-align: center;
  margin: 0;
}
.content-block h3 span {
  display: block;
  text-align: center;
  margin: 0 0 10px 0;
  padding: 0;
}
.content-block h3 small {
  display: block;
  text-align: center;
  margin: 0;
  padding: 0;
  font-size: 12px;
  font-weight: normal;
}
.content-block .content-block-text {
  font-size: 14px;
  text-align: left;
  padding: 0 32px 0;
  color: #222222;
  line-height: 1.5;
  letter-spacing: 0.4px;
}
.content-block .content-block-figure {
  width: 100%;
  margin: 0;
}
.content-block .content-block-figure img {
  width: 100%;
  margin: 0;
}


a.btn-movie {
  position: relative;
  display: block;
  width: 100px;
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
  text-decoration: none;
  background: rgb(255, 102, 2);
  padding: 16px 20px;
  color: #fff;
  border-radius: 6px;
}
a.btn-movie::after {
  content: '';
  display: inline;
  position: absolute;;
  top: 14px;
  right: 16px;
  width: 20px;
  height: 20px;
  background: url(../imgs/mov_icon.png) no-repeat;
  background-size: contain;
}
html.is-androidRegacy .btn-movie {
 display:none;
}
a.btn-use {
  margin-top: 48px;
}
a.btn-campaign { margin-top: 16px; }
a.btn-campaign span { padding-right: 3%;}
a.btn-use,
a.btn-campaign {
  display: block;
  position: relative;
  text-align: center;
  border: 2px solid rgb(255, 100, 0);
  border-radius: 4px;
  font-size: 15px;
  font-weight: bold;
  text-decoration: none;
  color: rgb(255, 100, 0);
  background-color: #f7f7f7;
  line-height: 42px;
  vertical-align: top;
  transition: background 0.1s ease-out;
  margin-left: 15px;
  margin-right: 15px;
}
a.btn-campaign::after,
a.btn-use::after {
  content: '';
  display: inline;
  position: absolute;
  top: 11px;
  right: 14px;
  width: 20px;
  height: 20px;
  background: url(../imgs/arrow_small.png) no-repeat;
  background-size: contain;
}

a.btn-details {
  display: block;
  position: relative;
  text-align: center;
  line-height: 47px;
  border: none;
  border-radius: 4px;
  font-size: 15px;
  font-weight: normal;
  text-decoration: none;
  color: rgb(255, 100, 0);
  background-color: #fff;
  transition: background 0.1s ease-out;
  margin-top: 35px;
  margin-left: 15px;
  margin-right: 15px;
}
a.btn-details span { padding-right: 4%; }
a.btn-details::after {
  content: '';
  display: inline;
  position: absolute;
  top: 14px;
  right: 14px;
  width: 20px;
  height: 20px;
  background: url(../imgs/arrow_small.png) no-repeat;
  background-size: contain;
}


.background {
  background: no-repeat left top;
  background-size: cover;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  position: fixed;
  top: 0;
  left: 0;
}
#section-01 .background {
  background-image: url(../imgs/back01.png);
  z-index: -141;
}
#section-02 .background {
  background-image: url(../imgs/back02.png);
  z-index: -142;
}
#section-03 .background {
  background-image: url(../imgs/back03.png);
  z-index: -143;
}
#section-04 .background {
  background-image: url(../imgs/back04.jpg);
  -webkit-background-size: cover;
  background-size: cover;
  background-color: #537023;
  z-index: -144;
}
#section-05 .background {
  background-image: url(../imgs/back05.jpg);
  z-index: -145;
  position: fixed;
}

#section-00 .content-block {
  background: #f7f7f7;
}
#section-00 .content-block .content-block-title span {
  margin-left: 80px;
}
.content-block:last-child {
  padding-bottom: 60px;
}


footer {
  overflow: hidden;
  background: #fff;
}
footer ul, .side-by-side {
  list-style: none;
  font-size: 0;
  overflow: hidden;
}
footer ul li, .side-by-side li {
  display: inline-block;
  vertical-align: middle;
}

.apps {
  text-align: center;
  padding: 0;
  background: #fff;
}
.apps img {
  width: 100%;
}
.apps ul {
  padding: 0;
  margin: 0;
}
.apps .au-copy {
  width: 90%;
  margin: auto;
  padding: 0 0 3.75% 0;
  color: #888888;
  font-size: 9px;
  line-height: 1;
  text-align: left;
}
.apps .android {
  padding: 4.6875% 0;
  height: auto;
}
.apps .android li:nth-child(1) {
  width: 40.9375%;
  margin-right: 3.75%;
}
.apps .android li:nth-child(2) {
  width: 45.9375%;
}
.apps .ios {
  width: 41.25%;
  margin: auto;
  padding: 4.6875% 0;
  line-height: 0;
}
.apps .head-apps-copy {
  width: 86%;
  margin: 0 auto;
  padding: 0 0 10px 16px;
  color: #888888;
  font-size: 9px;
  line-height: 1.5;
  text-align: left;
}
.apps .head-apps-copy li {
  text-indent: -16px;
  list-style: none;
}

footer .footer-sns {
  float: right;
  width: 20%;
  margin: 10.5% 5% 6% 0;
  padding: 0;
  text-align: right;
}
footer .footer-sns li {

}
footer .footer-sns li:nth-child(2) {
  margin-left: 31%;
}
footer .footer-sns li a {
  width: 35px;
  height: 35px;
}
footer .footer-copy {
  float: left;
  margin: 10.5% 0 6% 4.7%;
  color: #888888;
  font-size: 9px;
  line-height: 1.5;
  text-align: left;
  letter-spacing: 1px;
}
footer .apps-copy {
  width: 86%;
  margin: 0 auto;
  padding: 0 0 0 16px;
  color: #888888;
  font-size: 9px;
  line-height: 1.5;
  text-align: left;
}
footer .apps-copy li {
  text-indent: -16px;
}

/*
フォントサイズ調整用
*/

@media screen and (min-width: 370px) {
  #lnav ul li p {
    font-size: 1rem;
  }
  footer .apps-copy,
  .apps .apps-copy {
    font-size: 11px;
  }
  .apps .au-copy{
    font-size: 10px;
  }
}

@media screen and (min-width: 360px){
  .apps .au-copy{
    letter-spacing: 1px;
  }
}

.overlay {
  position: fixed;
  text-align: center;
  padding-top: 20%;
  /*left: 0;*/
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 1;
}
.overlay.is-hidden {
  display: none;
}
