/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
.pc2 { display: block !important; }
.sp2 { display: none !important; }

.pc-top {
  display: block !important;
}
.sp-top {
  display: none !important;
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
	
	  .pc2 { display: none !important; }
    .sp2 { display: block !important; }
	
		.pc-top {
      display: none !important;
    }
    .sp-top {
      display: block !important;
    }
  }

/*==================================================
スタート時は要素自体を透過0にするためのopacity:0;を指定する
===================================*/

.box{
	opacity: 0;
}

/*==================================================
動かしたい動き（今回は” ふわっ” を採用）
===================================*/

.fadeUp {
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

body {
  background-color: #ffffff;
  text-align: center;
}
img, object, embed {
  max-width: 100%;
  height: auto
}
img {
  -ms-interpolation-mode: bicubic;
  transition-duration: .3s;
  transition-timing-function: ease;
  transition-delay: 0s
}
a:hover img {
  opacity: .6;
  transition-duration: .3s;
  transition-timing-function: ease;
  transition-delay: 0s
}
#main {
  width: 100%;
  margin: 0 auto
}


.wrap {
  width: 95% !important;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
.mb70 {
  margin-bottom: 70px;
}
.mb100 {
  margin-bottom: 100px;
}
.pd100 {
  padding: 100px 0;
}
@media only screen and (max-width: 750px) {
  .mb100 {
    margin-bottom: 50px;
  }
  .pd100 {
    padding: 50px 0;
  }
  .mb70 {
    margin-bottom: 40px;
  }
}


/* -----CTA----- */
.cta-area {
  width: 70%;
  margin: 0 auto 100px;
}
.cta-img {
  opacity: 0;
  vertical-align: top;
}
@media only screen and (max-width: 750px) {
  .cta-area {
    margin: 0 auto 50px !important;
    width: 100%;
  }
  .cta-img {
    margin: 0 auto 50px;
  }
}
#cta {
	background: url("../images/bg.jpg");
	background-size: cover;
	background-position: top;
  padding-bottom: 10px !important;
}
.cta-ttl,
.cta-img {
  opacity: 0;
  vertical-align: top;
}
.cta-ttl_sp {
  width: 70% !important;
}
@media only screen and (max-width: 750px) {
  #cta {
    padding-bottom: 10px !important;
  }
  .cta-kikan {
    width: 80%;
    margin: 0 auto;
  }
}

/* -----FV----- */
#ttlarea {
	background: url("../images/mv-bg.jpg");
	background-size: cover;
	background-position: top;
}
#ttl {
  width:100%;
  height: auto;
  overflow: hidden;
}
.mv {
  opacity: 0;
  vertical-align: top;
  margin-bottom: 120px;
  padding: 1.5vw 0;
}

/* -----MEDIA----- */
#media {
  padding: 0;
  width: 100%;
}
.media-img {
	margin: 0 auto;
  opacity: 0;
  vertical-align: top;
}
@media only screen and (max-width: 580px) {
  #media {
    margin-top: -20%;
  }
}

/* -----POINT----- */
#point {
	background: url("../images/point-bg.jpg");
	background-size: cover;
	background-position: top;
}
.point-img {
  opacity: 0;
  vertical-align: top;
}

/* -----NAYAMI----- */
#nayami {
  width: 100%;
	vertical-align: bottom;
  vertical-align: top;
  margin:-1px auto 0;
  position: relative;
}
.nayami-ttl,
.nayami-img,
.nayami-obi {
  opacity: 0;
  vertical-align: top;
}
.nayami-obi {
  position: relative;
  z-index: -5;
  margin-top: -6%;
}

/* -----SEDAI----- */
#sedai {
  width: 100%;
  background: #D3EFE4;
  margin-top: -5%;
  position: relative;
  z-index: -10;
  padding-top: 80px;
  padding-bottom: 10px;
}
.sedai-ttl {
  width: 50%;
  max-width: 450px;
  margin: 0 auto 80px;
  opacity: 0;
  vertical-align: top;
}
.nayami-okane {
  margin-bottom: 80px;
  opacity: 0;
  vertical-align: top;
}
@media only screen and (max-width: 750px) {
  .sedai-ttl {
    margin: 0 auto 40px !important;
  }
  .nayami-okane {
    margin-bottom: 40px;
  }
  #sedai {
    padding-bottom: 50px;
  }
}
@media only screen and (max-width: 480px) {
  #sedai {
    padding-bottom: 10px !important;
    padding-top: 40px;
  }
}

/* -----FUAN----- */
#fuan {
  background: #E5E3E4;
}
.fuan-img {
  opacity: 0;
  vertical-align: top;
}

/* -----STEP----- */
#step {
	background: url("../images/bg.jpg");
	background-size: cover;
	background-position: top;
}
.step-subttl {
  width: 80%;
  max-width: 850px;
  margin: 0 auto 50px;
}
.step-flex {
  display: flex;
  gap: 3%;
}
.step {
  flex-basis: 32%;
}
.step-subttl,
.step-ttl,
.step {
  opacity: 0;
  vertical-align: top;
}
.step-ttl {
  width: 80%;
  margin: 0 auto 50px;
}
@media only screen and (max-width: 750px) {
  .step-subttl {
    margin: 0 auto 20px;
  }
}

/* -----VOICE----- */
.voice-ttl {
  width: 80%;
  margin: 0 auto 80px;
  opacity: 0;
  vertical-align: top;
}
.voice-img {
  opacity: 0;
  vertical-align: top;
}
@media only screen and (max-width: 750px) {
  .voice-ttl {
    margin: 0 auto 30px;
  }
}

/* -----FOOTER----- */
.copyright {
	 color: #ffffff;
}
#footer {
  color: #ffffff;
  text-align: center;
  font-size: 12px;
  padding-top: 30px;
  padding-bottom: 30px;
	background-color: #04b984;
}
#footer p {
  margin-bottom: 15px;
}
#footer p a {
  color: #ffffff;
}

.btn:hover{
    transition: 0.5s;
    opacity: 0.7;
}

.red{color: #d21b39; font-weight:bold;}
.red_u{color: #d21b39; font-weight:bold; border-bottom: 2px solid;}

.animated.infinite{
	width:90%;
}
 


/* 個人情報保護方針 */
#privacy {
  margin: 0px; 
  padding: 0px; 
  font-size: 14px;
  background-color: rgb(238, 238, 238);
}
#wrapper {
  width: 960px;
  margin: 0px auto;
  padding: 0px;
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 0px 10px rgb(89, 74, 66);
}
#container {
  margin: 0px;
  padding: 15px 75px;
}
#containerhd {
  background-color: #04b984;
}
#privacy .style_01 {
  font-size: 24px;
  line-height: 150%;
  font-weight: bold;
  margin: 0px;
  padding: 15px 0px 11px;
  border-top: 1px solid #04b984;
  border-bottom: 1px solid #04b984; 
}
.contents {
  margin: 0px 0px 75px;
  padding: 0px;
  text-align: left;
}
table.spec {
  width: 100%;
  border-collapse: separate;
  margin: 0px 0px 30px;
}
table.spec td {
  font-size: 14px;
  line-height: 180%;
  letter-spacing: 1px;
  border-bottom: 1px solid rgb(153, 153, 153);
  padding: 10px;
}
table.spec th {
  padding: 10px;
  font-size: 14px;
  line-height: 180%;
  letter-spacing: 1px;
  vertical-align: top;
  text-align: left;
  background-color: rgb(241, 241, 241);
  border-right: 1px solid rgb(153, 153, 153);
  border-bottom: 1px solid rgb(153, 153, 153);
}
.caption {
  font-size: 12px;
  color: rgb(102, 102, 102);
  font-weight: normal;
  line-height: 150%;
}
#link {
  margin: 0px 45px;
  padding: 15px;
  font-size: 12px;
  line-height: 150%;
  color: rgb(153, 153, 153);
  border-top: 1px dotted rgb(153, 153, 153);
}
#footer {
  margin: 0px;
  font-family: Arial,Helvetica,sans-serif;
  font-size: 12px;
  line-height: 150%;
  text-align: center;
  padding: 15px;
  color: #000;
  background-color: #04b984;
}