@charset 'UTF-8';

/*リセットcss*/
* {
  box-sizing: border-box;
  font-size: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6,
img,
p,
body,
ul,
ol,
li,
dl,
dt,
dd {
  margin: 0;
  padding: 0;
  font-weight: normal;
}
li {
  list-style: none;
}
a {
  text-decoration: none;
  color: #00aaff;
}
a:hover {
  opacity: 0.8;
}
table {
  border-collapse: collapse;
}
img {
  max-width: 100%;
}
body {
  scroll-behavior: smooth;
  color: #242422;
}

/*------------共通-------------*/
body {
  line-height: 2;
  font-family: "Yu Gothic UI", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-size: 18px;

  background-size: contain;
  background-repeat: repeat;
}

.font14 {
  font-size: 0.875rem;
}

.center {
  text-align: center;
}

.sp {
  display: none;
}

.container {
  max-width: 430px;
  margin: 0 auto;
}

/*マーカー*/
span {
  background: linear-gradient(transparent 60%, #fff267 60%);
}

/*TOPページ*/
#main_section {
  max-width: 430px;
  margin: 0 auto;
}

.center {
  text-align: center;
}

/*メイン動画*/
#idx-movie {
  position: relative;
  max-width: 430px;
  margin: 0 auto;
}

#idx-copy {
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(50%, -50%);
  font-family: serif;
  font-size: 36px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  width: 100%;
}

.mainimage-top,
.mainimage-bottom {
  position: absolute;
}

.mainimage-top {
  top: 10px;
  left: 50%;
  transform: translateX(-49%);
}

.mainimage-bottom {
  bottom: 10px;
  left: 50%;
  transform: translateX(-49%);
}

/* スクロールダウンの位置 */
.scroll-arrow {
  position: absolute;
  right: 10%;
  bottom: 25%;
  writing-mode: vertical-rl;
  font-size: 1rem;
}

.scroll-arrow > span {
  color: #fff;
  background: inherit;
}

/* 線のアニメーション部分 */
.scroll-arrow::before {
  animation: scroll 2s infinite;
  background-color: #000;
  bottom: -115px;
  content: "";
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 2px;
  z-index: 2;
}
/* 線の背景色 */
.scroll-arrow::after {
  background-color: #fff;
  bottom: -115px;
  content: "";
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 2px;
}
/* 線のアニメーション */
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

/*--------------------------
  * スライドインアニメーション
  *--------------------------*/

.slideinLeft {
  transform: translateX(-100%);
  transition: all 1s;
  opacity: 0;
}

.slideinLeft.active {
  transform: translateX(0);
  opacity: 1;
}

.slideinRight {
  transform: translateX(100%);
  transition: all 1s;
  opacity: 0;
}

.slideinRight.active {
  transform: translateX(0);
  opacity: 1;
}

.slideinBottom {
  transform: translateY(20%);
  transition: all 1s;
  opacity: 0;
}

.slideinBottom.active {
  transform: translateX(0);
  opacity: 1;
}

.slideinBottom-item {
  transform: translateY(20%);
  transition: all 0.7s;
  opacity: 0;
}

.slideinBottom-item.active {
  transform: translateX(0);
  opacity: 1;
}

/*intro こんなお悩みありませんか*/
#idx-intro {
  background: url(../img/bg-001.JPG) no-repeat;
  background-size: cover;
  color: #fff;
  background-position: center;
}

#idx-intro .idx-intro-bg {
  background-color: rgba(0, 0, 0, 0.7);
  text-align: center;
}
.idx-h2 {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.idx-aligncenter {
  text-align: center;
  font-weight: bold;
}

#idx-desc {
  background: url(../img/patter2.png) repeat;
  background-size: 100%;
  position: relative;
}

#idx-desc::after {
  content: "";
  position: absolute;
  top: 30%;
  right: -10%;
  width: 100%;
  height: 100%;
  background: url(../img/coins-700x458.png) no-repeat;
  background-size: contain;
}

/*テニテクとは*/
#idx-whatsTeniteku {
  background: url(../img/praster.png) repeat;
}

#idx-whatsTeniteku .idx-about-bg {
  padding: 50px 5px;
  background-color: rgba(255, 255, 255, 0.5);
}

.about-img-001 {
  background: url(../img/penga-0419.png) no-repeat right -5% center;
}
.about-img-002 {
  margin-top: 30px;
  background: url(../img/penga-0349.png) no-repeat left -10% center;
}
.about-txt {
  background: url(../img/penga-0336.png) no-repeat;
  background-position: left -40% center;
}

#interVideo {
  position: relative;
}

#interVideo::after {
  position: absolute;
  content: "";
  top: -25%;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 150%;
  background: url(../img/inter-video-frame.png) no-repeat;
  background-position: center;
}

#idx-sainou {
  background: url(../img/IMG_3964.png) repeat-y;
}

.sainou-bg {
  background-color: rgba(255, 255, 255, 0.7);
}

#idx-money {
  background: url(../img/IMG_3964.png) repeat-y;
  position: relative;
  margin-top: -20px;
}

.money-bg {
  background-color: rgba(255, 255, 255, 0.7);
  padding: 50px 5px;
}

/*スライダー*/
.mainimage_slider {
  width: 100%;
  height: 200px;
}

.mainimage_item {
  height: 200px;
}

.item01 {
  background-image: url(../img/top_01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}

.item02 {
  background-image: url(../img/top_02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}

.item03 {
  background-image: url(../img/top_03.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}

.item04 {
  background-image: url(../img/top_04.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}

.item05 {
  background-image: url(../img/top_05.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}

.item06 {
  background-image: url(../img/top_06.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}

.item07 {
  background-image: url(../img/top_07.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}

.item08 {
  background-image: url(../img/top_08.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}

.item09 {
  background-image: url(../img/top_09.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}

.item10 {
  background-image: url(../img/top_10.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center;
}

/*ご入会の流れ*/
span.br {
  display: inline-block;
}

#flow {
  text-align: center;
  margin: 0 auto;
  background: url(../img/patter2.png) repeat;
  background-size: 100%;
}

#flow h2.join-copy {
  font-size: 16px;
}

#flow .mainimage {
  height: 500px;
  background-image: url(../img/sample-5.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin: 50px 0;
  padding: 20px 0 0;
}

#flow .mainimage img {
  width: 140px;
}

#flow section + section {
  margin-top: 50px;
}

#flow .movie {
  margin: 50px 0 20px;
}

#flow .btn-contact {
  margin: 0 0 50px;
}
.title-frame {
  font-size: 1.75rem;
  border: #212121 1px solid;
  padding: 0.5rem;
  margin-top: 50px;
}

.alignleft {
  text-align: left;
  padding-top: 1rem;
}

.flow-item {
  border: #212121 1px solid;
  padding: 1rem;
  margin: 40px 0 20px;
}

.flow-item h3 {
  border-bottom: #007560 3px solid;
  width: fit-content;
  padding: 0 0.2rem;
  display: inline-block;
}

/*入会金額*/
#idx-entre {
  background: url(../img/patter2.png) repeat-y;
  background-size: 100%;
}

.entre-bg {
  margin: 0 10px;
  position: relative;
  height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.entre-bg::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/f1085_1.png) no-repeat center;
  background-size: contain;
}

#idx-message {
  background: url(../img/patter2.png) repeat;
  background-size: 100%;
}

/*フッター*/
footer {
  color: #fff;
  text-align: center;
  background-color: #242422;
  font-size: 12px;
}
