@charset "utf-8";

body {
  font-family: sans-serif;
  color: #454545;
}
.box {
  width: 1240px;
  margin: 0 auto;
}

header {
  background: url(../images/hero.jpg) no-repeat center top/cover;
  height: 540px;
  margin-bottom: 60px;
}
header .headerCopy p {
  line-height: 1.5em;
}
header nav {
  width: 100%;
  position: fixed;
  background-color: #ffffffCC;
  z-index: 1;
}
header nav ul {
  display: flex;
  justify-content: space-around;
  padding: 10px 40px;
}
header nav ul li a:hover {
  text-decoration: underline;
}
.navMenu_sp {
  display: none;
}
header .box {
  height: 540px;
  position: relative;
  /* outline: 2px solid red; */
}
.headerCopy h1 img {
  width: 300px;
  padding-top: 20px;
}
.headerCopy {
  background-color: #ffffff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -45%);
  padding: 20px;
}
.headerCopy p {
  text-align: center;
  padding: 30px 0;
}
.scroll {
  position: absolute;
  bottom: 0;
  left: 50%;
  text-align: center;
  transform: translateX(-50%);
}
header .scroll img {
  margin-top: 4px;
  animation: animation 1.8s ease-out infinite;
}
@keyframes animation {
  0% {
    transform: scaleY(0);
    transform-origin: top;
  }
  50% {
    transform: scaleY(1);
    transform-origin: top;
  }
  51% {
    transform: scaleY(1);
    transform-origin: bottom;
  }
  100% {
    transform: scaleY(0);
    transform-origin: bottom;
  }
}
main h2 img {
  width: 80px;
}
.midashi {
  font-size: 64px;
}
.hosoku {
  font-size: 20px;
}
.Lob {
  font-family: 'Lobster', sans-serif;
}
.red {
  color: #F43E43;
}
.Plans,
.Points,
.Area,
.Contact {
  margin-bottom: 80px;
  /* outline: 2px solid red; */
}
main h2 {
  font-size: 32px;
  text-align: center;
  margin-bottom: 60px;
}
main h3 {
  font-size: 18px;
  line-height: 1.3;
  text-align: center;
  margin-bottom: 50px;
}
.Points .container {
  display: flex;
  justify-content: space-between;
  /* outline: 2px solid red; */
}
.onePoint {
  flex-basis: calc(100% / 3 - 40px);
  /* outline: 2px solid red; */
}
.onePoint .pic img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  object-position: center 10%;
  margin-bottom: 10px;
}
.onePoint h3 {
  font-weight: bold;
  margin-bottom: 10px;
}

.Plans .onePlan {
  display: flex;
  justify-content: space-between;
  /* outline: 2px solid red; */
  margin-bottom: 30px;
}
.onePlan h4 {
  font-weight: bold;
}
.onePlan .pic {
  flex-basis: calc(100% / 2 - 20px);
  /* outline: 2px solid red;  */
}
.onePlan .pic img {
  width: 100%;
  height: 320px;
  object-fit: cover;
}
.onePlan .text,
.onePlan .text_fin,
.onePlan .text_sp {
  flex-basis: calc(100% / 2 - 20px);
  text-align: center;
  /* outline: 2px solid red; */
}
.onePlan .text_sp {
  display: none;
}
.onePlan .text h4,
.onePlan .text_fin h4,
.onePlan .text_sp h4 {
  padding-top: 80px;
  font-size: 24px;
  margin-bottom: 10px;
}
.onePlan .text p,
.onePlan .text_fin p,
.onePlan .text_sp p {
  line-height: 1.5;
}
.Area {
  margin-bottom: 80px;
}
.oneArea {
  margin-bottom: 40px;
}
.kenmei {
  font-size: 20px;
  margin-bottom: 10px;
  font-weight: bold;
}
.oneArea_hosoku {
  margin-top: 50px;
}
.Contact {
  background: #c8c8c8;
  padding: 20px;
}
form {
  width: 660px;
  margin: 0 auto 50px;

}
.row p {
  padding: 8px 0;
}
input[type="text"],
input[type="email"],
textarea {
  width: 100%;
  background-color: #ffffff;
  padding: 8px 8px;
}
textarea {
  height: 200px;
  margin-bottom: 30px;
}
.Btn {
  width: 240px;
  margin: 0 auto;
  text-align: center;
  background-color: #454545;
  padding: 10px 30px;
  border-radius: 4px;
  color: #ffffff;
}
.tel-jikan {
  width: 660px;
  text-align: center;
  border: 1px solid #454545;
  margin: 0 auto 30px;
  padding: 20px 0;
}
.tel-jikan p {
  line-height: 1.5em;
}
.gotoTop p {
  text-align: center;
}
.gotoTop p a {
  color: blue;
}
footer {
  background-color: #f43e43;
  padding: 30px 0;
}
footer .tenmei {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}
footer p,
footer address,
footer small {
  color: #c8c8c8;
}
footer address {
  line-height: 1.5;
  margin-bottom: 30px;
}
small {
  text-align: center;
  margin-bottom: 20px;
}
.onlySP {
  display: none;
}

@media screen and (max-width:640px) {
  header {
    height: 90vh;
  }
  header .box {
    height: 100%;
  }
  .onlyPC {
    display: none;
  }
  .onlySP {
    display: block;
  }
  .box {
    width: 100%;
    padding: 0 20px;
  }
  .backtoTop {
    width: 70px;
    height: 70px;
    background-color: #F43E4366;
    border-radius: 50px;
    position: fixed;
    right: 8px;
    bottom: 8px;
    opacity: 0.8;
    z-index: 1;

  }
  .backtoTop p {
    font-size: 20px;
    text-align: center;
    color: #ffffff;
    line-height: 1.5em;
    padding: 18px 0;
    letter-spacing: .07em;
  }
  .navMenu {
    display: none;
  }
  .navMenu_sp {
    display: block;
  }
  .navMenu_sp li a:hover {
    text-decoration: none;
  }
  .navMenu_sp {
    display: flex;
    justify-content: space-around;
  }
  .Points .container {
    display: block;
  }
  .onePoint {
    margin-bottom: 30px;
  }
  .Plans .onePlan {
    display: block;
  }
  .Plans .onePlan .text_fin {
    display: none;
  }
  .Plans .onePlan .text_sp {
    display: block;
  }
  .onePlan .pic img {
    margin-bottom: 10px;
  }
  .onePlan .text h4,
  .onePlan .text_sp h4 {
    padding-top: 0px;
  }
  .onePlan .text p,
  .onePlan .text_sp p {
    line-height: ;
  }
  form {
    width: calc(100% - 20px);
  }
  .tel-jikan {
    width: calc(100% - 20px);
  }

  .onePlan .text h4,
  .onePlan .text_sp h4 {
    font-size: 18px;
  }
  .onePlan .text p,
  .onePlan .text_sp p {
    font-size: 14px;
  }
}

@media screen and (max-width:1250px) {
  .box {
    width: 100%;
    padding: 0 30px;
  }
  .onePoint {
    flex-basis: calc(100% / 3 - 30px);
  }
  
}















/* .test {
  width: 60%;
  height: 400px;
  margin: 0 auto;
  outline: 2px solid #ffffff;
  position: relative;
}
.test_ko {
  width: 100px;
  height: 100px;
  background-color: pink;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
} */



/* body {
  font-family: sans-serif;
  color: #454545;
}
.Lob {
  font-family: 'Lobster', sans-serif;
}
.box {
  width: 1240px;
  margin: 0 auto;
  padding: 80px;
}
main h2 {
  text-align: center;
  font-size: 60px;
  letter-spacing: .02em;
  margin-bottom: 80px;
}
header {
  background: url(../images/hero.jpg) no-repeat left center/cover;
}
header .box {
  text-align: center;
  height: 800px;
  position: relative;
}
header h1 {
  padding-top: 30px;
  margin-bottom: 20px;
}
header .scroll {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  text-align: center;
  font-size: 16px;
}
header .scroll img {
  margin-top: 8px;
  animation: animation 1.8s ease-out infinite;
}
@keyframes animation {
  0% {
    transform: scaleY(0);
    transform-origin: top;
  }
  50% {
    transform: scaleY(1);
    transform-origin: top;
  }
  51% {
    transform: scaleY(1);
    transform-origin: bottom;
  }
  100% {
    transform: scaleY(0);
    transform-origin: bottom;
  }
}
header nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #ffffff;
  z-index: 100;
}
header nav ul {
  display: flex;
  justify-content: space-around;
  width: 1240px;
  margin: 0 auto;
  padding: 20px 20px 10px;
}
header nav ul li a:hover {
  text-decoration: underline;
}
.navmenu_sp {
  display: none;
}
.logonav {
  position: relative;
}
.eyeCatch {
  width: 500px;
  height: 400px;
  margin: 80px auto 0;
  background-color: #ffffff;
  }
.eyeCatch p {
  padding: 10px 0 0;
  font-weight: bold;
  line-height: 1.7;
}
.word {
  font-size: 22px;
}
.word2 {
  font-size: 16px;
}
.price {
  font-size: 64px;
  line-height: 1.3;
}


.hosoku {
  text-align: center;
  font-size: 16px;
}
.tokuchoSec {
  background-color: #ffffff;
}
.tokuchoSec .box {
  padding-bottom: 40px;
}
.tokuchoSec .point {
  width: 300px;
}
.tokuchoSec h3, p {
  text-align: center;
  line-height: 1.7;
}
.tokuchoSec h3 {
  font-weight: 800;
}
.tokuchoSec .pic {
  height: 250px;
  margin-bottom: 16px;
}
.tokuchoSec .pic img {
  width: 300px;
  height: 250px;
  object-fit: cover;
  object-position: center top;
}
.tokuchoSec .container {
  display: flex;
  justify-content: space-between;
}
.h3 {
  text-align: center;
  font-size: 22px;
  line-height: 1.7;
  margin-bottom: 50px;
}
.h4 {
  font-size: 18px;
  margin-bottom: 8px;
}
.tokuchopic {
  margin-right: 30px;
}
.plans {
  display: flex;
  justify-content: space-between;
  margin-bottom: 80px;
}
.plans .text,
.plans .text_fin,
.plans .text_fin_sp {
  width: 50%;
  padding: 16px 20px;
}
.plans .text_fin_sp {
  display: none;
}
.plans .text p {
  text-align: center;
}
.plans .pic {
  width: 50%;
}
.plans .pic img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}
.selectSec {
  background-color: #ffffff;
}
.selectSec .box {
  background-color: rgb(247, 243, 229);
  padding-bottom: 30px;
}
.taioSec {
  background-color: #ffffff;
  padding-bottom: 40px;
}
.taioSec p {
  text-align: left;
}
.taioSec .kenmei {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 8px;
}
.taioSec .text1 {
  margin-bottom: 32px;
}
.formSec {
  background-color: #ffffff;
}
.formSec .box {
  background-color: #C8C8C8;
  padding-bottom: 50px;
}
form {
  width: 660px;
  margin: 0 auto;
}
input[type="text"],
input[type="email"],
textarea {
  border: 1px solid #5f5f5f;
  background: #ffffff;
  width: 100%;
  margin-top: 4px;
  padding: 4px 8px;
}
input[type="submit"]:hover {
  background-color: #5f5f5f;
  margin-left: 4px;
  transition: all 100ms ease-out;
}
textarea {
  height: 160px;
}
form p {
  text-align: left;
  padding-top: 8px;
}
.Btn {
  text-align: center;
}
input[type="submit"] {
  background-color: #454545;
  color: #ffffff;
  padding: 18px 80px;
  margin: 40px 0;
  border-radius: 4px;
}
.tel-jikan {
  width: 660px;
  margin: 0 auto;
  border: 1px solid #454545;
  padding: 30px 0;
  margin-top: 30px;
}
.tel-jikan p {
  text-align: center;
}
.gotoTop {
  margin-top: 60px;
}
.gotoTop p {
  text-align: right;
}
.gotoTop p a {
  color: blue;
}
footer {
  background-color: #e43f43;
  color: #C8C8C8;
  padding: 30px 20px;
}
footer .tenmei {
  font-size: 22px;
  font-weight: bold;
  padding-bottom: 16px;
}
footer address {
  line-height: 1.6;
  padding-bottom: 16px;
}
footer p, address {
  text-align: left;
}
small p {
  text-align: center;
  padding: 20px 0 20px;
}
.selectSec {
  margin-bottom: 480px; 
}
.selectSec::after {
  content: "";
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../images/hero_back.jpg) no-repeat left center/cover;
  z-index: -1;
}
.yousoudan {
  margin-top: 30px;
}
.smalltext_sp {
  margin-top: 10px;
}


@media screen and (max-width: 640px) {
  .tokuchoSec .container {
    display: block;
  }
  .threePlans .plans {
    display: block;
  }
  header nav ul,
  .eyeCatch,
  .box,
  form,
  .tel-jikan,
  .gotoTop {
    width: 100%;
  }
  header {
    background: url(../images/hero_sp.jpg) no-repeat center left/cover;
  }
  header .box {
    height: 90vh;
  }
  .navmenu {
    display: none;
  }
  .navmenu_sp {
    display: flex;
  }
  header h1 img {
    width: 300px;
  }
  .word {
    font-size: 18px;
  }
  .word2 {
    font-size: 12px;
  }
  .price {
    font-size: 48px;
  }
  .tokuchoSec .container div + div {
    margin-top: 30px;
  }
  .h3 {
    font-size: 16px;
  }
  .threePlans .pic {
    width: 100%;
  }
  .threePlans .text,
  .threePlans .text_fin_sp {
    width: 100%;
  }
  .plans .text_fin {
    display: none;
  }
  .plans .text_fin_sp {
    display: block;
  }
  .smalltext_sp {
    text-align: left;
  }
  .tokuchoSec .box .container {
    width: 80px;
    margin: 0 auto;
  }
} */
