@charset "UTF-8";
/* ==========================================================================
   Foundation
   ========================================================================== */
html {
	scroll-behavior: smooth;
}
#movie-top #features,#movie-top #plans, #movie-top #flow, #movie-top #faq {
  content:'';
  display: block;
  padding-top: 100px;
  margin-top: -100px;
}

#movie-top {
 font-family: "Yu Gothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
}
.movie-head {
  position: fixed;
  background: #fff;
  width: 100%;
  height: 80px;
  z-index: 1;
  box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 20px;
}
.header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 80px;
  padding: 0px 15px;
  margin: 0 auto;
}
.logo-text a {
  color: #1cbaa8;
  font-weight: bold;
  font-size: 1.2rem;
}
.logo-subtext {
  font-size: .9rem;
}
.nav-link {
  padding: 0 15px;
  font-weight: bold;
}
.nav-link:hover {
 color: #1cbaa8;
}

.nav-cta {
 padding: 12px 35px;
 border-radius: 35px;
 margin: 15px;
 font-weight: bold;
 display: inline-block;
}
/* movieLP first-v */
.movie-first-v {
  padding-top: 20px;
  position: relative;
  background-image: linear-gradient(150deg, #CAE584 10%, #1cbaa8 40%, #1cbaa8 50%, #CAE584 90%);
  height: calc(100vh - 50px);
  width: 100%;
}
.movie-first-v h1 {
  position: absolute;
  top: 43%;
  font-size: 3.5rem;
  color: #fff;
  text-align: center;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-weight: 600;
  font-family: "Yu Gothic", "游ゴシック体", "Hiragino Kaku Gothic ProN",
               "ヒラギノ角ゴ ProN W3", sans-serif;
  letter-spacing: -1px;
  width: 100%;
  line-height: 1.3;
 }

.movie-first-v svg {
  position: absolute;
  bottom: 0;
}

.wave {
  position: relative;
  width: 100vw;
  height: calc(100vh - 50px);
  margin: 0 auto;
  overflow: hidden;
}
.wave::before {
  position: absolute;
  left: -50%;
  width: 200%;
  top: 48%;
  border-radius: 50% 50% / 50% 80%;
  aspect-ratio: 1 / 1;
  background-image: linear-gradient(90deg, #1cbaa8 0%, #cae5848c 50%, #cae5845c 100%);
  transform-origin: center center;
  transition: top 2s ease;
  animation: anime linear 30s infinite;
  content: "";
}

@keyframes anime {
  from {
   transform: rotate(0);
  }
  to {
   transform: rotate(360deg);
  }
}
.read-area .read-text {
  position: absolute;
  top: 60%;
  font-size: 1.5rem;
  color: #fff;
  text-align: center;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-family: "Yu Gothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  width: 100%;
}
.read-text p {
  margin-top: 35px;
  font-size: 1.2rem;
  font-weight: bold;
}
.read-text p i {
  padding-right: 5px;
  padding-left: 35px;
  color: #CAE584;
}
#movie-top h2 {
 font-family: "Yu Gothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
 font-size: 3rem;
 padding: 2.5% 0;
 z-index: 0;
 /*scroll-padding-top: 100px;
 padding-top: 100px;*/
}
#movie-top h3 {
 font-size: 1.6rem;
}
.container--plain {
  max-width: 1300px;
  margin: 0 auto;
}
.two-column {
  margin: 25px;
  width: 45%;
}
.two-column img {
 border-radius: 15px;
}
.section-subtitle { 
 font-size: 1.2rem;
 text-align: center;
 margin-bottom: 20px;
}
.hero-badge {
  position: absolute;
  top: 26%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  color: #fff;
  background-color: rgba(255, 255, 255, 0.2);
  padding: 8px 25px;
  border-radius: 30px;
  border: #fff solid 1px;
  text-align: center;
}
.top-btn-area {
  position: absolute;
  top: 83%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
}
.cta-btn {
  padding: 18px 40px;
  border-radius: 35px;
  margin: 15px;
  box-shadow: -1px 1px 5px -1px #999;
  font-size: 1.2rem;
  font-weight: bold;
  display: inline-block;
  width: 200px;
}
.top-btn-area a:hover,.btn-area a:hover {
  transform: translateY(-5px);
  transition: .3s ease-in-out 0s;
}
nav a:hover {
  opacity: .8;
  transition: .3s ease-in-out 0s;
}
.trust-card {
  background-color: #fff;
  padding: 65px 35px;
  border-radius: 16px;
  text-align: center;
  margin: 0 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  width: 24%;
}
.trust-number, .price-amount {
  font-size: 2.5rem;
  font-weight: bold;
}
.trust-icon {
 font-size: 3.5rem;
}
#movie-top .flex-area {
  display: flex;
  justify-content: center;
  margin: 0 auto;
}
.movieprice-table-wrapper {
  overflow-x: auto;
  box-shadow: rgba(0, 0, 0, 0.08) 0px 4px 20px;
  border-radius: 15px;
  margin: 0 40px;
}

.movieprice-table {
  background-color: #fff;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  width: 100%;
}
.movieprice-table thead {
  background: #1cbaa8;
  color: #fff;
  font-size: 1.2rem;
}
.movieprice-table tr {
  border: 1px solid #ededed;
}
.movieprice-table th {
  padding: 20px;
  text-align: center;
}
.movieprice-table td {
  padding: 20px;
  text-align: left;
}
.feature-icon {
  width: 80px;
  height: 80px;
  background: linear-gradient(135deg, #1cbaa8, #1cbaa8);
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  color: #fff;
  margin-bottom: 24px;
}
.feature-card {
  background-color: rgb(136 134 134 / 6%);
  padding: 70px 40px;
  border-radius: 16px;
  margin: 0 20px;
  width: 23%;
}
.feature-list {
  margin: 25px 0;
}
.feature-list li {
  margin-bottom: 6px;
}
.feature-list li i {
  margin-right: 10px;
}
.plan-card {
  background-color: var(--bg-white);
  border-radius: 15px;
  border:  2px solid #ededed;
  overflow: hidden;
  width: 29%;
  margin: 0 20px;
  position: relative;
}
.plan-area {
  text-align: right;
}
.plan-btn {
  padding: 12px 40px;
  border-radius: 35px 0 0 35px;
  margin: 35px auto;
  box-shadow: -1px 1px 5px -1px #999;
  font-size: 1rem;
  font-weight: bold;
  display: inline-block;
  width: 200px;
  text-align: center;
  border-bottom: 2px solid rgb(250 113 7);
  border-top: 2px solid rgb(250 113 7);
  border-left: 2px solid rgb(250 113 7);
  color: rgb(250 113 7);
}
.plan-area a:hover {
  background: rgb(250 113 7);
  color: #fff;
  transition: .3s ease-in-out 0s;
}
.plan-header {
  padding: 65px 0 40px;
}
.plan-features {
  padding: 40px;
}
.plan-feature {
  padding: 5px 0;
}
.plan-notes {
  background: rgb(136 134 134 / 6%);
  padding: 30px;
  margin: 30px;
  border-radius: 15px;
  font-size: .9rem;
}
.plan-notes li {
  padding: 3px 0;
}
.popular-badge {
  position: absolute;
  top: 10px;
  right: -40px;
  background: linear-gradient(135deg, #fff, #fff);
  color: var(--bg-white);
  padding: 8px 40px;
  font-size: 14px;
  font-weight: 700;
  transform: rotate(35deg);
  box-shadow: 0 4px 10px rgb(241 236 234 / 30%);
}
.accordion .movief-ttl {
  width: 100%;
  border: solid 8px #1cbaa8;
}
.toggle:checked + .movief-ttl {
  background-color: #1cbaa8;
  color: #fff;
}
.movief-ttl:after, .movief-ttl:before {
  background-color: #1cbaa8;
}
.movief-ttl {
  border-color: #1cbaa8;
  width: 100%;
  color: #1cbaa8;
}
.moviea-box {
  color: #1cbaa8;
  background: #fff;
  padding: 0px;
}
.movief-ttl .bottom_line {
  width: 100%;
  border-bottom: solid 8px #1cbaa8;
  border-left: solid 8px #1cbaa8;
  border-right: solid 8px #1cbaa8;
}
.movief-ttl table {
  width: 100%;
  border-left: solid 8px #1cbaa8;
  border-right: solid 8px #1cbaa8;
}
.movief-ttl table td {
  padding: 15px 15px 0 15px;
  font-size: 1.2rem;
  color: #1cbaa8;
  background: #fff;
}
.movie-timeline dl {
  margin: 0 0 0 6em;
}
.movie-timeline li {
  position: relative;
  list-style: none;
  padding: 0 0 20px 0;
  max-width: 80%;
  width: 100%;
  margin: 0 auto;
  padding: 3% 15px;
}
.movie-timeline .number {
  position: absolute;
  top: 35px;
  left: 0;
  width: 80px;
  height: 80px;
  background: #1cbaa8;
  border-radius: 50%;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  box-shadow: #1cbaa8 0px 0px 15px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.movieborder-line {
  position: absolute;
  left: 2.5em;
  top: 100px;
  width: 2px;
  height: 0;
  background: #1cbaa8;
  box-shadow: #1cbaa8 0px 0px 15px;
}
.border-ora {
  border: 2px solid #fa7107;
}
.border-gre {
  border: 2px solid #1cbaa8;
}
.border-gra {
  border: 2px solid #ededed;
}


.BK-ora {
  background: rgb(250 113 7);
}
.BK-wh {
  background: #fff;
}
.BK-movie {
  background-color: #1cbaa8;
}
.BK-gra {
  background: rgb(136 134 134 / 6%);
}
.FC-wh {
  color: #fff;
}
.FC-ora {
  color: rgb(250 113 7);
}
.FC-gre {
  color: #1cbaa8;
}
.FC-gra {
  color: #999;
}
 .nav-onlypc {
  display: block!important;
 }
 .nav-onlytb {
  display: none!important;
 }

@media screen and  (min-width:841px) and (max-width: 1024px) {
 .feature-card {
   padding: 70px 30px;
 }
  .trust-card {
   padding: 65px 25px;
 }
}
 
@media screen and (max-width: 840px) {
 .movie-head {
   height: 65px;
 }
 .movie-head .active{
   background:#1cbaa8;
 }
 .movie-head .hamburgerSwitch span:nth-child(2) {
   color: #1cbaa8;
 }
 .movie-head .hamburgerSwitch span:nth-of-type(1), .movie-head .hamburgerSwitch span:nth-of-type(3) {
   background: #1cbaa8;
 }
 .movie-head .hamburgerSwitch.active span:nth-of-type(1), .movie-head .hamburgerSwitch.active span:nth-of-type(3) {
   background: #fff;
 }
 .read-text p i {
   padding-left: 0;
 }
.movie-head .menuarea__item a:hover, .footerarea__companyinfolist a:hover {
  color: #1cbaa8;
 }
 .header-content {
   height: 65px;
   padding: 0px 6px;
 }
 .movie-head .hamburgerSwitch {
   top: 0;
 }
 .movie-head .modal .modalSP {
   flex-wrap: wrap;
   justify-content: center;
   flex-direction: column;
   align-items: center;
 }

 .plan-card {
   width: 75%;
   margin: 10px;
 }
 .feature-card {
   padding: 40px 20px;
   margin: 10px;
   width: 75%;
 }
  .trust-card {
   padding: 45px 15px;
   margin: 12px 10px;
   width: 75%;
 }
  .two-column {
   width: 75%;
 }
 .nav-onlypc {
  display: none!important;
 }
 .nav-onlytb {
  display: block!important;
 }
}

@media screen and (max-width: 599px) {
 .nav-onlypc {
  display: none!important;
 }

 .cta-btn {
   padding: 20px;
   margin: 10px;
   font-size: 1rem;
 }
 .top-btn-area {
   top: 80%;
 }
 .hero-badge {
   top: 20%;
   width: 280px;
   padding: 5px 15px;
   font-size: .9rem;
   text-align: center;
 }
 .movie-first-v h1 {
   top: 33%;
   font-size: 2.2rem;
   font-family: "Yu Gothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
   letter-spacing: 0;
   line-height: 1.6;
 }
 #movie-top h2 {
   font-size: 1.8rem;
   padding: 5% 0;
 }

 #movie-top h3 {
  font-size: 1.4rem;
  line-height: 1.4;
 }
 .movie-timeline .number {
   top: 5px;
   width: 65px;
   height: 65px;
 }
 .movie-timeline dl {
   margin: 0 0 0 4.5em;
 }
 .movieborder-line {
   position: absolute;
   left: 2em;
   top: 70px;
 }
 .read-area .read-text {
   top: 55%;
   font-size: 1rem;
   font-family: "Yu Gothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
   width: 90%;
   text-align: left;
 }
 .read-text p {
   margin-top: 25px;
   text-align: center;
 }
 .trust-card {
   padding: 45px 15px;
   margin: 12px 10px;
   width: 100%;
 }
 .section-subtitle {
   font-size: 1rem;
   text-align: left;
 }
 .container--plain {
   margin: auto 15px;
 }
 .feature-card {
   padding: 40px 20px;
   margin: 10px;
   width: 100%;
 }
.two-column {
   width: 100%;
 }
 .plan-card {
   width: 100%;
   margin: 10px;
 }
.accordion .movief-ttl {
  padding: 25px 5px;
  font-size: 15px;
  border: solid 4px #1cbaa8;
  line-height: 1.4;
 }
.toggle1:after, .toggle1:before {
  top: 2.5rem!important;
}
.movief-ttl:after, .movief-ttl:before {
  right: .8rem;
  top: 1.7rem;
  width: 3px;
  height: 1rem;
}

 #movie-top .bk-inner {
  padding: 0;
  margin: auto;
  width: 100%;
 }
 #movie-top .btn-icon {
  margin: 0;
  font-size: 18px;
 }
 .movieprice-table-wrapper {
  margin: 0;
}
.movief-ttl table td {
  font-size: 15px;
 }
 .movief-ttl table {
  border-left: solid 4px #1cbaa8;
  border-right: solid 4px #1CBAA8;
}
.movief-ttl .bottom_line {
  border-bottom: solid 4px #1cbaa8;
  border-left: solid 4px #1cbaa8;
  border-right: solid 4px #1cbaa8;
}
.movieprice-table th {
  padding: 10px;
}
.movieprice-table td {
  padding: 12px;
}

}

@media screen and (max-width: 380px) {
 .movie-first-v h1 {
   font-size: 1.8rem;
   line-height: 1.3;
   top: 32%;
 }
 .top-btn-area {
   top: 86%;
  }
 .cta-btn {
   padding: 10px 15px;
   margin: 6px;
   font-size: 1rem;
 }
 .read-text p {
   margin-top: 25px;
   font-size: 1rem;
}
 .logo-text a {
   font-size: 1rem;
 }
 .read-area .read-text {
   line-height: 1.2;
   top: 57%;
  }
 .movieprice-table thead {
   font-size: 1rem;
 }
 .movieprice-table th {
   padding: 8px;
 }
 .movieprice-table td {
   padding: 10px;
 }
}