@charset "UTF-8";

/********************************
共通クラス
*********************************/
html {
  scroll-behavior: smooth;
}

body {
  font-family: serif;
  color: #333333;
}

img {
  width: 100%;
}

section {
  margin-top: 80px;
}

.sec_title {
  width: 90%;
  margin: 0 auto;
  font-size: 2.6rem;
  position: relative;
}

.sec_title::before{
  content: "";
  width: 500px;
  height: 260px;
  /* background-color: #F4F7F7; */
  background-color: #f4f4f7;
  position: absolute;
  top: 55%;
  left: -20%;
  z-index: -10;
}

.fadein-right {
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 2.5s ease, transform 2.5s ease;
  margin-left: 50px;
}

.fadein-left {
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 2.5s ease, transform 2.5s ease;
  margin-right: 50px;
}

.fadein-up {
  opacity: 0;
  transform: translateY(-50px);
  transition: opacity 2.5s ease, transform 2.5s ease;
  margin-bottom: 50px;
}

.fadein-down {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 2.5s ease, transform 2.5s ease;
  margin-top: 50px;
}

@media screen and (max-width: 480px) {
  .sec_title::before {
    content: none;
    display: none;
  }
}

.sub_title {
  width: 95%;
  margin: 0 auto;
  margin-bottom: 30px;
  font-size: 0.9rem;
  position: relative;
  color: #333333;
}

.sub_title::after {
  content: "";
  display: block;
  height: 1px;
  width: 70%;
  background: #000;
  position: absolute;
  top: -5px;
}

.btn_box {
  width: 65%;
  margin: 0 auto;
  padding-top: 20px;
  text-align: right;
}
.btn {
  color: #8EC121;
  border: 1px solid #8EC121;
  font-weight: 700;
  text-decoration: none;
  background: transparent;
  width: 500px;
  height: 50px;
  text-align: left;
  padding: 14px 22px 15px;
  margin-left: 5px;
  margin-right: 10px;
  position: relative;
}

.btn::before,.btn::after {
  position: absolute;
  top: 60%;
  right: 22px;
  height: 1px;
  background: #8EC121;
  content: '';
}

.btn::before {
  width: 30px;
  transform: translateY(-50%);
}

.btn::after {
  width: 8px;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: right center;
}

.sub {
  padding-bottom: 50px;
}

/*
フェード表示させる要素に使用するためのクラス
*/
.fadein {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s;
}

/* デフォルトは非表示（PC） */
.sp-only { display: none; }

/* スマホ幅でブロック表示（改行になる） */
@media (max-width: 480px) {
  .sp-only { display: block; }
}

