@charset "UTF-8";
/* トップページ
========================================================= */
body.index #content {
  padding-top: 0;
}

/* 共通
----------------------------------------------- */
.page-img-01 {
  display: block;
  box-sizing: border-box;
  border: #1D0C0D 5px solid;
}
@media (min-width: 960px) {
  .page-img-01 {
    border-width: 10px;
  }
}

/* ローディング時
----------------------------------------------- */
#header {
  transition: height 0.6s ease-out ,transform 0.6s ease-out 4s;
}
body.is-loading #header {
  transform: translateY(-100%);
  pointer-events: auto;
}

/* ローディング
----------------------------------------------- */
.kv-loading {
  position: fixed;
  z-index: 100;
  opacity: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
  transition: 2s opacity;
  transition-delay: 3.5s;
  background: #ec84b0/*#73c3ef#C30013;*/;

}

body.is-loading .kv-loading {
  opacity: 1;
  pointer-events: auto;
}

body:not(.is-loading-done) .aside-02-btn .date {
  z-index: 0;
}


    
.kv-loading .kv-logo {
  position: absolute;
  z-index: 101;
  left: 50%;
  transform: translateX(-50%);
  transition: 1s cubic-bezier(0.025, 0.935, 0.365, 0.975);
  /*transition-delay: 1.5s;*/
	max-width: 1000px;
}


@media (max-width: 959px) {
  .kv-loading .kv-logo {
    /*max-width: 300px;*/
      width: 80%;
    top: 250px;
  }
}
@media (min-width: 960px) {
  .kv-loading .kv-logo {
    top: 410px;
      /*top: 320px;*/
    }
}
body.is-loading .kv-loading .kv-logo {
  opacity: 0;
	max-width:  1000px;
  transform: translate(-50%, 50%);
}
body.is-loading-done .kv-loading .kv-logo {
  transition: none;
 max-width: 1000px;
} 

/* KV
----------------------------------------------- */
.kv {
  position: relative;
    height: 640px;
    padding-top: 60px;
    overflow: hidden;
    background-image: 
    url("../img/index/kv-girl_sp.png"), 
    url("../img/index/kv-bg.jpg");
    background-size: auto 90%, cover;
    background-position: right bottom, center;
    background-repeat: no-repeat;
}



@media (min-width: 960px) {
  .kv {
    /*height: 1500px;*/
      height: 1200px; 
      padding-top: 215px;
      background-image: 
    url("../img/index/kv-girl.png"), 
    url("../img/index/kv-bg.jpg");
      background-size: auto 90%, cover;
      background-position: 50% bottom, center;

  }

}

@media (min-width: 1200px) {
    .kv {
    /*height: 1500px;*/
      height: 1200px; 
      padding-top: 215px;
      background-image: 
    url("../img/index/kv-girl.png"), 
    url("../img/index/kv-bg.jpg");
        background-size: auto 95%, cover;

    background-position: right bottom, center;    
  }
    
    
    
    
}

.kv canvas{
    position: absolute;
    top: 0;
    height: 800px;
    width: 800px;
}

@media (min-width: 960px) {
    .kv canvas{
        height: 1400px;        
        width:100%;
    }
}



.kv > .screen {
  position: absolute;
  width: 1500px;
  height: 100%;
}
@media (min-width: 960px) {
  .kv > .screen {
    height: 3000px;

  }
}
.kv > .screen > * {
  position: absolute;
}

@keyframes slide-comment {
  0% {
    transform: translateX(3000px);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes slide-comment-s {
  0% {
    transform: translateX(1500px);
  }
  100% {
    transform: translateX(-100%);
  }
}
.kv-comment {
  z-index: 2;
  transform: translateX(1500px);
  animation: slide-comment-s 30s linear infinite;
  will-change: transform;
  white-space: nowrap;
  margin: 0 !important;
  line-height: 1.1;
  letter-spacing: 0.1em;
  pointer-events: none;
  font-size: 26px;
  font-size: 1.625rem;
}
@media (min-width: 960px) {
  .kv-comment {
    transform: translateX(3000px);
    font-size: 52px;
    font-size: 3.25rem;
  }
}

@media (max-width: 959px) {
  .kv-comment-01 {
    /*top: 160px;*/
    top: 40px;  
    animation: slide-comment-s 7s linear infinite;
    animation-delay: -6.0013333333s;
  }
}
@media (min-width: 960px) {
  .kv-comment-01 {
    /*top: 320px;*/
    top: 20px;  
    animation: slide-comment 10s linear infinite;
    animation-delay: -8.5733333333s;
  }
}

@media (max-width: 959px) {
  .kv-comment-02 {
    /*top: 182.5px;*/
      top: 120px;
      /*top: 200px;*/
    animation: slide-comment-s 7s linear infinite;
    animation-delay: -2.0813333333s;
  }
}
@media (min-width: 960px) {
  .kv-comment-02 {
    /*top: 365px;*/
      /*top: 340px;*/
      top: 200px;
    animation: slide-comment 10s linear infinite;
    animation-delay: -2.9733333333s;
  }
}

@media (max-width: 959px) {
  .kv-comment-03 {
    top: 431.5px;
    animation: slide-comment-s 9s linear infinite;
    animation-delay: -3.42s;
  }
}
@media (min-width: 960px) {
  .kv-comment-03 {
    /*top: 863px;*/
      top: 940px;
    animation: slide-comment 15s linear infinite;
    animation-delay: -5.7s;
  }
}

@keyframes slide-img {
  0% {
    transform: translateX(3000px);
  }
  100% {
    transform: translateX(-600px);
  }
}
@keyframes slide-img-s {
  0% {
    transform: translateX(1500px);
  }
  100% {
    transform: translateX(-300px);
  }
}


.kv-inner {
  position: relative;
  height: 100%;
  width: 95%;
  max-width: 600px;
  margin-right: auto;
  margin-left: auto;/*background: #aaa;*/
}
@media (min-width: 960px) {
  .kv-inner {
    max-width: 1200px;
  }
}


.kv-inner .kv-logo {
  position: absolute;
  /*z-index: 101;*/
    left: 20%;
}
     .kv-inner .kv-logo img{
         width: 100%;
     }

@media (max-width: 959px) {
  .kv-inner .kv-logo {
    /*max-width: 300px;*/
      /*width: 80%;
    top: 250px;*/
      width: 65%;
      top: 10%/*80px*/;
      left: 0;
  }
}
@media (min-width: 960px) {
  .kv-inner .kv-logo {
    top: 80px;
      /*top: 320px;*/
      left: 0;
      width: 40%;
    }
}


.kv-inner .kv-text {
  position: absolute;
  /*z-index: 101;*/
  /*top: 160px;*/
    /*top: 200px;*/
    top: 15%;
    right: 20px;
    /*right: 0;*/
  width: 15px/*220px*//*240px*/;
  transition: 1s cubic-bezier(0.025, 0.935, 0.365, 0.975);
  transition-delay: 1s;
}


.kv-text img{
    width: 100%;
}
@media (min-width: 480px) {
  .kv-text {
    /*left: calc(50% - 220px);*/
      /*left: 5%;*/
  }
}
@media (min-width: 960px) {
    .kv-inner .kv-text {
    /*top: 245px;*/
      /*top: 280px;*/
        top: 7%; 
        left: 50%;
    transform: translateX(-50%);
        width: 20px;
   /* width: 10%49.0833333333%*/;
    /*left: 8.4166666667%;*/
      /*left: 15%;*/
      
      /*background: #aaa;*/
  }
}



/* 下から上へフェードイン */
body.is-loading .kv-text {
  opacity: 0;
  transform: translateY(40%);
}
body.is-loading-done .kv-text {
  transition: none;
}

@keyframes float {
  0% {
    margin-top: 0;
  }
  50% {
    margin-top: 50px;
  }
  100% {
    margin-top: 0;
  }
}
@keyframes show-zoom {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
.is-show-zoom img, .is-show-zoom .arrow {
  animation-name: show-zoom;
  animation-timing-function: cubic-bezier(0.025, 0.935, 0.365, 0.975);
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  animation-duration: 0.8s;
  will-change: transform;
}
.is-show-zoom.kv-btn-02 img {
  animation-delay: 0.5s;
}
.is-show-zoom.kv-btn-02 .arrow {
  animation-delay: 0.7s;
}
.is-show-zoom.kv-btn-03 img {
  animation-delay: 0.2s;
}
.is-show-zoom.kv-btn-03 .arrow {
  animation-delay: 0.4s;
}

.kv-btn {
  position: absolute;
  z-index: 3;
  animation-name: float;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  will-change: margin;
}
.kv-btn img {
  display: block;
  transform: scale(0);
  transform-origin: center;
}
.kv-btn .arrow {
  position: absolute;
  box-sizing: border-box;
  display: block;
  box-sizing: border-box;
  border-radius: 100%;
  background: #fff;
  border-style: solid;
  border-color: #ec84b0/*#C30013*/;
  content: '';
  transition: 0.3s;
  transform: scale(0);
  overflow: hidden;
}
.kv-btn .arrow::after {
  position: absolute;
  top: 50%;
  left: 53%;
  transform: translate(-50%, -50%);
  display: block;
  border-style: solid;
  border-color: transparent transparent transparent #ec84b0/*#C30013*/;
  content: '';
  order: 1;
  transition: 0.3s;
}
.kv-btn:hover img {
  opacity: 1;
}
.kv-btn:hover .arrow {
  background: #ec84b0/*#C30013*/;
}
.kv-btn:hover .arrow::after {
  border-color: transparent transparent transparent #fff;
}
.kv-btn:hover img {
  opacity: 1;
}

.kv-btn-01 {
  animation-duration: 10s;
}
@media (max-width: 959px) {
  .kv-btn-01 {
    /*top: 630px;*/
      /*top: 450px;*/
      top: 350px;
    /*width: 171.6px;*/
      width: 40%;
  }
}
@media (min-width: 960px) {
  .kv-btn-01 {
    /*top: 929px;*/
      top: 746px;
    left: 0;
    width: 35.75%;
  }
}
@media (min-width: 1200px) {
  .kv-btn-01 {
      top: 50%;
    left: -5%;/*-22px*/;
    width: 429px;
  }
}
.kv-btn-01 .arrow {
  right: -8px;
  bottom: 0;
  width: 38px;
  height: 38px;
  border-width: 5px;
}
@media (min-width: 960px) {
  .kv-btn-01 .arrow {
    right: -18px;
    width: 84px;
    height: 84px;
    border-width: 10px;
  }
}
.kv-btn-01 .arrow::after {
  border-width: 7px 0 7px 12px;
}
@media (min-width: 960px) {
  .kv-btn-01 .arrow::after {
    border-width: 14px 0 14px 22px;
  }
}

.kv-btn-02 {
  animation-duration: 8s;
}
@media (max-width: 959px) {
  .kv-btn-02 {
    /*top: 430px;*/
      /*top: 300px;*/
      top: 140px;
    /*left: 50%;*/
      left: 0;
    /*width: 226px;*/
      
      width: 55%;    
      /*max-width: 226px;*/
    /*margin-left: -120px;*/
  }
}
@media (min-width: 960px) {
  .kv-btn-02 {
    /*top: 663px;*/
    /*top: 560px;  
    left: 18.75%;*/
      
    top: 20%;
    left: 0/*225px*/;  
    width: 47.0833333333%;
  }
}
@media (min-width: 1200px) {
  .kv-btn-02 {
      top: 20%;
    left: 0/*225px*/;
    width: 465px;
  }
}
.kv-btn-02 .arrow {
  right: -3px;
  bottom: 13px;
  width: 48px;
  height: 48px;
  border-width: 6px;
}
@media (min-width: 960px) {
  .kv-btn-02 .arrow {
    right: -6px;
    bottom: 26px;
    width: 96px;
    height: 96px;
    border-width: 12px;
  }
}
.kv-btn-02 .arrow::after {
  border-width: 8px 0 8px 13px;
}
@media (min-width: 960px) {
  .kv-btn-02 .arrow::after {
    border-width: 16px 0 16px 26px;
  }
}

.kv-btn-03 {
  animation-duration: 9s;
}
@media (max-width: 959px) {
  .kv-btn-03 {
    /*top: 600px;*/
      top: 400px;
    /*right: 0;*/
      left: 50%;
    /*width: 145.2px;*/
      width: 30%;
  }
}
@media (min-width: 960px) {
  .kv-btn-03 {
    /*top: 947px;*/
      top: 700px;
    right: 20%;
    width: 30.25%;
  }
}
@media (min-width: 1200px) {
  .kv-btn-03 {
    width: 363px;
      right: 30%;
  }
}
.kv-btn-03 .arrow {
  right: -5px;
  bottom: 0;
  width: 40px;
  height: 40px;
  border-width: 5px;
}
@media (min-width: 960px) {
  .kv-btn-03 .arrow {
    bottom: 18px;
    width: 80px;
    height: 80px;
    border-width: 10px;
  }
}
.kv-btn-03 .arrow::after {
  border-width: 6.5px 0 6.5px 11px;
}
@media (min-width: 960px) {
  .kv-btn-03 .arrow::after {
    border-width: 13px 0 13px 22px;
  }
}

@keyframes slide-arrow-s {
  0% {
    background-position: 0 -160px;
  }
  45% {
    background-position: 0 0;
  }
  55% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 -160px;
  }
}
@keyframes slide-arrow {
  0% {
    background-position: 0 -440px;
  }
  45% {
    background-position: 0 0;
  }
  55% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 -440px;
  }
}
.kv-scroll {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  position: absolute;
  z-index: 3;
  left: 20px;
  top: calc(100vh - 140px - 20px);
  width: 20px;
  height: 140px;
  padding-top: 60px;
  box-sizing: border-box;
  background: url(../img/index/kv_arrow.svg) no-repeat 0 center/contain;
  animation: slide-arrow-s 5s ease-in-out infinite;
}
@media (min-width: 960px) {
  .kv-scroll {
    top: calc(100vh - 420px - 45px);
    left: 45px;
    width: 60px;
    height: 420px;
    padding-top: 235px;
    animation: slide-arrow 5s ease-in-out infinite;
  }
}
@media (min-height: 850px) and (max-width: 959px) {
  .kv-scroll {
    top: auto;
    bottom: 40px;
  }
}
@media (min-height: 1550px) and (min-width: 960px) {
  .kv-scroll {
    top: auto;
    bottom: 60px;
  }
}
.kv-scroll img {
  width: 7px;
}
@media (min-width: 960px) {
  .kv-scroll img {
    width: 19px;
  }
}

/* セクション
----------------------------------------------- */
.section-01 {
  position: relative;
  margin-top: -34px;
  box-sizing: content-box;
  max-width: 1423px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 16px;
  padding-left: 16px;
}
@media (min-width: 960px) {
  .section-01 {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.section-01-list span {
  display: block;
  position: relative;
}
.section-01-list .tit {
  position: absolute;
  top: 0;
  right: 0;
  width: 28.9473684211%;
}
.section-01-list p {
  margin-top: 0.8em;
  font-weight: bold;
}
@media (min-width: 1200px) {
  .section-01-list p {
    font-size: 18px;
    font-size: 1.125rem;
  }
}

#aside-01 {
  position: relative;
}
#aside-01 > .balloon {
  position: absolute;
  top: -40px;
  left: -20px;
}
@media (min-width: 1600px) {
  #aside-01 > .balloon {
    top: 0;
    left: -128px;
  }
}

.section-02 .inner {
  position: relative;
  background: url(../img/index/02_bg.jpg) no-repeat center/cover;
}
.section-02 .inner::before {
  display: block;
  position: absolute;
  top: 8px;
  right: -2.2916666667%;
  width: 19.8958333333%;
  height: 180px;
  max-width: 382px;
  background: url(../img/index/02_deco.svg) no-repeat 0 0/cover;
  content: '';
}
.section-02 .container {
  position: relative;
  padding-top: 40px;
  padding-bottom: 60px;
  box-sizing: content-box;
  max-width: 1130px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 16px;
  padding-left: 16px;
}
@media (min-width: 960px) {
  .section-02 .container {
    padding-right: 20px;
    padding-left: 20px;
  }
}
@media (min-width: 960px) {
  .section-02 .container {
    padding-top: 80px;
    padding-bottom: 120px;
  }
}
.section-02 .balloon {
  position: absolute;
  top: 40px;
  right: 16px;
  transform: translateY(-100%);
  width: 21.9469026549%;
  max-width: 248px;
  min-width: 100px;
}
@media (min-width: 1200px) {
  .section-02 .balloon {
    right: -4.7787610619%;
  }
}

.section-02-tit {
  letter-spacing: 0.1em;
  font-size: 22px;
  font-size: 1.375rem;
}
@media (min-width: 960px) {
  .section-02-tit {
    font-size: 35px;
    font-size: 2.1875rem;
  }
}

.section-02-list {
  margin-left: -14px;
}
.section-02-list > * {
  padding-left: 14px;
}

.section-03 {
  margin-top: 100px;
}
@media (min-width: 960px) {
  .section-03 {
    margin-top: 190px;
  }
}
.section-03 .container {
  position: relative;
  box-sizing: content-box;
  max-width: 1380px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 16px;
  padding-left: 16px;
}
@media (min-width: 960px) {
  .section-03 .container {
    padding-right: 20px;
    padding-left: 20px;
  }
}
.section-03 .balloon {
  position: absolute;
  top: 0;
  right: 10px;
  transform: translateY(-160%);
  width: 23.768115942%;
  max-width: 328px;
  min-width: 130px;
}
@media (min-width: 960px) {
  .section-03 .balloon {
    top: 0;
    left: 20px;
    transform: translateY(-116%);
  }
}
@media (min-width: 1200px) {
  .section-03 .balloon {
    left: calc(50% - 556px);
  }
}

.section-03-tit {
  letter-spacing: 0.1em;
  font-size: 20px;
  font-size: 1.25rem;
}
@media (min-width: 960px) {
  .section-03-tit {
    margin-bottom: 2em;
    font-size: 32px;
    font-size: 2rem;
  }
}

.section-03-panel .tit {
  margin-bottom: 0.3em;
  text-align: center;
  color: #C30013;
  font-size: 18px;
  font-size: 1.125rem;
}
@media (min-width: 960px) {
  .section-03-panel .tit {
    font-size: 27px;
    font-size: 1.6875rem;
  }
}
.section-03-panel .inner {
  position: relative;
  padding: 16px 16px 10px;
  margin: -40px 10px 0;
  box-sizing: border-box;
  background: #fff;
  border: #707070 3px dashed;
}
@media (min-width: 640px) {
  .section-03-panel .inner {
    width: 280px;
    margin: -40px 0 0 -4.0785498489%;
  }
}
@media (min-width: 960px) {
  .section-03-panel .inner {
    width: 403px;
    margin: -116px 0 0 -4.0785498489%;
    padding: 30px 30px 15px;
  }
}
@media (min-width: 960px) {
  .section-03-panel p {
    font-size: 19px;
    font-size: 1.1875rem;
  }
}

.section-03-btn {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
  margin-top: 15px;
}
@media (max-width: 959px) {
  .section-03-btn {
    margin-top: 5px;
    transform: scale(0.8);
    transform-origin: right bottom;
  }
}
.section-03-btn img {
  margin-right: 14px;
}
.section-03-btn::before {
  display: block;
  width: 51px;
  height: 51px;
  box-sizing: border-box;
  border-radius: 100%;
  background: #C30013;
  border: #C30013 5px solid;
  content: '';
  order: 1;
  transition: 0.3s;
}
.section-03-btn::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 17px;
  display: block;
  border-style: solid;
  border-width: 8.5px 0 8.5px 13px;
  border-color: transparent transparent transparent #fff;
  content: '';
  order: 1;
  transition: 0.3s;
}
.section-03-btn:hover img {
  opacity: 1;
}
.section-03-btn:hover::before {
  background: #fff;
}
.section-03-btn:hover::after {
  border-color: transparent transparent transparent #C30013;
}

.uk-modal {
  background: rgba(0, 0, 0, 0.8);
}
.uk-modal .uk-close {
  width: 36px;
  height: 36px;
}
.uk-modal .uk-close svg {
  width: 100%;
}

.uk-modal-dialog {
  width: 1000px;
}



/* ポップアップ
----------------------------------------------- */
.pop_block{
	position: relative;
	
}
.uk-open > .uk-modal-dialog{
	border: solid 10px #C30013;
}

.p_block{
	margin-top: 20px;
	margin-bottom: 20px;
}

@media (min-width: 960px) {
.p_block{
	margin-top: 50px;
	margin-bottom: 50px;
}

}
.pop_block dl{
	margin-bottom: 50px;
}
.pop_block dt{
	font-size: 25px;
	font-size:1.562rem;
	color: #C30013;

		
}
.pop_block dd{
	font-size: 18px;
	font-size:1.125rem;
    border-bottom: dotted 2px #000;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

.pop_block dd:last-child{
	border-bottom: none;
}

@media (min-width: 960px) {
.pop_block dt{
	font-size: 25px;
	font-size:1.562rem;
	color: #C30013;
		
}
.pop_block dd{
	font-size: 18px;
	font-size:1.125rem;
}
	

}


.uk-modal-body{
		padding: 10px 10px;
	}
@media (min-width: 960px) {
	
	.uk-modal-body{
		padding: 30px 30px;
	}
}

.big{
	font-size: 30px;
	font-size: 1.875rem;
	font-weight: bold;
}
.mid{
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: bold;
}


@media (min-width: 960px) {
.big{
	font-size: 45px;
	font-size:2.812rem;
}
.mid{
	font-size: 35px;
	font-size:2.187rem;
}
	
}


.pop_block .nmber{
	position: absolute;
	right: 0px;
	top:0;
	z-index: -1;
}
.pop_block h3{
	font-size: 35px;
	font-size: 2.187rem;
	color: #C30013;
}

@media (min-width: 960px) {
.pop_block h3{
	font-size: 70px;
	font-size: 4.375rem;
	
	color: #C30013;
}

}

.pop-pic{
	font-size: 20px;
	font-size: 1.25rem;
	background: #C30013;
	color: #fff;
	text-align: center;
	padding: 10px;
	font-weight: bold;
}

@media (min-width: 960px) {
.pop-pic{
	font-size: 25px;
	font-size:1.562rem;

}

}

.p_center{
	text-align: center;
}

.mar{
	margin: 30px 0 30px 0;
}
.pcol{
	color: #C30013; 
}
/* ポップアップかアラー
----------------------------------------------- */
.pop_col{

	color: #F5C706;
}