/**
* @file index.scss
**/
/**
* @file _config.scss
**/
/**
* @file _reset.scss
**/
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: bottom;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

*:focus {
  outline: none;
}

blockquote,
q {
  quotes: none;
}

blockquote::before, blockquote::after,
q::before,
q::after {
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  border: 0;
  outline: none;
  cursor: pointer;
}

input[type='submit'],
input[type='button'] {
  -webkit-box-sizing: border-box;
  -webkit-appearance: none;
  box-sizing: border-box;
  border: none;
  border-radius: 0;
}

input[type='submit']::-webkit-search-decoration,
input[type='button']::-webkit-search-decoration {
  display: none;
}

input[type='submit']:focus,
input[type='button']:focus {
  outline-offset: -2px;
}

input,
textarea {
  -webkit-appearance: none;
  border-radius: 0;
}

/**
* @file _media.scss
**/
/**
* @file _footer.scss
**/
.footer {
  padding: 4% 0;
}

@media screen and (max-width: 599px) {
  .footer {
    padding: 6% 0;
  }
}

.footer__logo {
  width: 14%;
  margin: 0 auto;
  margin-bottom: 1%;
}

@media screen and (max-width: 599px) {
  .footer__logo {
    width: 30%;
  }
}

.footer .lists {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
}

.footer .lists-item a {
  -webkit-transition: 0.4s;
  padding: 0 20px;
  font-size: 1.4vw;
  line-height: 1;
  transition: 0.4s;
}

.footer .lists-item a:hover {
  opacity: 0.8;
}

@media screen and (min-width: 1440px) {
  .footer .lists-item a {
    font-size: 2rem;
  }
}

@media screen and (max-width: 599px) {
  .footer .lists-item a {
    font-size: 3.4vw;
  }
}

.footer .lists-item a:first-child {
  padding-right: 25px;
  border-right: 1px solid #3d3d3d;
}

/**
* @file _header.scss
**/
.main-visual {
  position: relative;
}

.main-visual .btn {
  -webkit-transition: 0.4s;
  -webkit-transform: translateX(-50%);
  position: absolute;
  bottom: -22%;
  left: 50%;
  width: 80%;
  transform: translateX(-50%);
  transition: 0.4s;
}

@media screen and (max-width: 599px) {
  .main-visual .btn {
    bottom: -3.5%;
    width: 95%;
  }
}

.main-visual .btn:hover {
  bottom: -21%;
}

@media screen and (max-width: 599px) {
  .main-visual .btn:hover {
    bottom: -3%;
  }
}

/**
* @file _l-common.scss
**/
html {
  font-size: 62.5%;
}

body {
  color: #3d3d3d;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 1.2rem;
  }
}

main,
header,
footer {
  max-width: 1440px;
  margin: auto;
}

h1,
h2,
h3,
h4 {
  line-height: 1.75;
}

p,
input,
textarea {
  line-height: 1.7;
  font-family: "Noto Sans JP", sans-serif;
}

a {
  color: #3d3d3d;
  font-family: "Noto Sans JP", sans-serif;
  text-decoration: none;
}

img {
  width: 100%;
}

.lazyload-img {
  -webkit-transition: 0.3s opacity;
  opacity: 0;
  transition: 0.3s opacity;
}

.lazyload-img.lazyloaded {
  opacity: 1;
}

.is-pc {
  display: block;
}

@media screen and (max-width: 599px) {
  .is-pc {
    display: none;
  }
}

.is-tab {
  display: none;
}

@media screen and (max-width: 768px) {
  .is-tab {
    display: block;
  }
}

.is-sp {
  display: none;
}

@media screen and (max-width: 599px) {
  .is-sp {
    display: block;
  }
}

.content-width {
  max-width: 1280px;
  margin: auto;
}

.content-padding {
  padding: 0 40px;
}

@media screen and (max-width: 768px) {
  .content-padding {
    padding: 0 15px;
  }
}

@media (min-width: 768px) {
  a[href^='tel:'] {
    pointer-events: none;
  }
}

.effect-fade {
  -webkit-transition: all 0.6s;
  -webkit-transform: translate(0, 50px);
  transform: translate(0, 50px);
  opacity: 0;
  transition: all 0.6s;
}

.effect-fade.effect-scroll {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  opacity: 1;
}

.box {
  position: relative;
  overflow: hidden;
}

img {
  width: 100%;
}

.screen {
  -webkit-transition: 2s cubic-bezier(0.1, 0, 0.1, 1);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  transition: 2s cubic-bezier(0.1, 0, 0.1, 1);
}

.screen.gray {
  background-color: #f8f8f8;
}

.screen.show {
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}

/**
* @file _l-index.scss
**/
.main-copy {
  width: 50%;
  margin: 0 auto;
  margin-bottom: 5%;
}

@media screen and (max-width: 599px) {
  .main-copy {
    width: 90%;
    margin-bottom: 10%;
  }
}

.main-message {
  width: 70%;
  margin: 0 auto;
}

@media screen and (max-width: 599px) {
  .main-message {
    width: 100%;
  }
}

section {
  padding: 10% 0%;
}
@media screen and (max-width: 599px) {
  section {
    padding: 20% 5.5%;
  }
}

.ttl {
  width: 25vw;
  margin: 0 auto;
  margin-bottom: 5%;
}

@media screen and (min-width: 1440px) {
  .ttl {
    width: 365px;
  }
}

@media screen and (max-width: 599px) {
  .ttl {
    width: 47vw;
  }
}

.misunderstanding {
  position: relative;
  padding-bottom: 0;
  background-color: #f8f8f8;
}

.misunderstanding .lists {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  width: 70%;
  margin: 0 auto;
}

@media screen and (max-width: 599px) {
  .misunderstanding .lists {
    -ms-flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    margin-bottom: 10%;
  }
}

.misunderstanding .lists-item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  -webkit-box-align: center;
  -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  width: 30%;
}

@media screen and (max-width: 599px) {
  .misunderstanding .lists-item {
    width: 47%;
    margin: 0 1.5%;
  }
}

@media screen and (max-width: 599px) {
  .misunderstanding .lists-item:first-child {
    margin: 0 5%;
    margin-bottom: 5%;
  }
}

.misunderstanding .lists-item__icon {
  margin-top: -10%;
}

@media screen and (max-width: 599px) {
  .misunderstanding .lists-item__icon {
    width: 80%;
  }
}

.misunderstanding .back {
  -webkit-transform: translateX(-50%);
  z-index: -1;
  position: absolute;
  bottom: -23%;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
}

@media screen and (max-width: 599px) {
  .misunderstanding .back {
    bottom: -11%;
  }
}

.misunderstanding__txt {
  width: 35%;
  margin: 0 auto;
  margin-top: 5%;
}

@media screen and (max-width: 599px) {
  .misunderstanding__txt {
    width: 73%;
  }
}

.reasons {
  width: 90%;
  max-width: 1240px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 20%;
}

@media screen and (max-width: 599px) {
  .reasons {
    width: 100%;
    padding-top: 30%;
  }
}

.reasons .lists-item {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  margin-bottom: 5%;
}

@media screen and (max-width: 599px) {
  .reasons .lists-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-bottom: 10%;
  }
}

.reasons .lists-item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

@media screen and (max-width: 599px) {
  .reasons .lists-item:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.reasons .lists-item__txt, .reasons .lists-item__image {
  width: 48%;
}

@media screen and (max-width: 599px) {
  .reasons .lists-item__txt, .reasons .lists-item__image {
    width: 100%;
  }
}

@media screen and (max-width: 599px) {
  .reasons .lists-item__txt {
    margin-bottom: 3%;
  }
}

.reasons .reasons-banner {
  position: relative;
  width: 100%;
}

.reasons .txt {
  -webkit-transform: translate(-50%, -50%);
  position: absolute;
  top: 60%;
  left: 50%;
  width: 70%;
  transform: translate(-50%, -50%);
}

.strength {
  width: 90%;
  max-width: 1240px;
  margin: 0 auto;
  padding-top: 0;
}

@media screen and (max-width: 599px) {
  .strength {
    width: 100%;
  }
}

.strength .lists {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  max-width: 1240px;
  margin-right: auto;
  margin-bottom: 10%;
  margin-left: auto;
}

@media screen and (max-width: 599px) {
  .strength .lists {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.strength .lists-item {
  width: 28%;
}

@media screen and (max-width: 599px) {
  .strength .lists-item {
    width: 60%;
    margin: 0 auto;
    margin-bottom: 5%;
  }
}

@media screen and (max-width: 599px) {
  .strength .lists-item:nth-child(2n) {
    margin-bottom: 12%;
  }
}

.strength-image img {
  border-radius: 20px;
}

.steps {
  padding-top: 0;
}

.steps .lists {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  margin-bottom: 5%;
}

@media screen and (max-width: 599px) {
  .steps .lists {
    width: 100%;
  }
}

.steps .lists-item {
  -webkit-box-shadow: 0 0 36px rgba(0, 0, 0, 0.06), 0 0 10.8529px rgba(0, 0, 0, 0.0390953), 0 0 4.50776px rgba(0, 0, 0, 0.03), 0 0 1.63037px rgba(0, 0, 0, 0.0209047);
  margin-bottom: 3%;
  box-shadow: 0 0 36px rgba(0, 0, 0, 0.06), 0 0 10.8529px rgba(0, 0, 0, 0.0390953), 0 0 4.50776px rgba(0, 0, 0, 0.03), 0 0 1.63037px rgba(0, 0, 0, 0.0209047);
}

.steps .arrow {
  width: 5%;
  margin: 0 auto;
  margin-bottom: 3%;
}

@media screen and (max-width: 599px) {
  .steps .arrow {
    width: 10%;
  }
}

.steps .steps-txt {
  width: 67%;
  margin: 0 auto;
}

@media screen and (max-width: 599px) {
  .steps .steps-txt {
    width: 90%;
  }
}

.class {
  width: 90%;
  max-width: 1240px;
  margin: 0 auto;
  padding-top: 0;
	    padding-bottom: 0;
}

@media screen and (max-width: 599px) {
  .class {
    width: 100%;
  }
}

.class-box {
  padding: 10% 12%;
  border-radius: 20px;
  background-image: url(images/class_background.png);
  background-position: center bottom;
  background-size: cover;
  background-repeat: no-repeat;
}

@media screen and (max-width: 599px) {
  .class-box {
    padding: 10% 5%;
  }
}

.class-box__ttl {
  width: 51%;
  margin: 0 auto;
  margin-bottom: 10%;
}

@media screen and (max-width: 599px) {
  .class-box__ttl {
    width: 70%;
  }
}

.class .lists {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.class .lists-item {
  width: 22%;
  margin-bottom: 7%;
}

@media screen and (max-width: 599px) {
  .class .lists-item {
    width: 32%;
  }
}

.cv {
  position: relative;
  padding: 0;
}

.cv .btn {
  -webkit-transition: 0.4s;
  -webkit-transform: translateX(-50%);
  position: absolute;
  bottom: -2%;
  left: 50%;
  width: 80%;
  transform: translateX(-50%);
  transition: 0.4s;
}

@media screen and (max-width: 599px) {
  .cv .btn {
    bottom: 5%;
    width: 95%;
  }
}

.cv .btn:hover {
  bottom: 2%;
}

@media screen and (max-width: 599px) {
  .cv .btn:hover {
    bottom: 6%;
  }
}

.model-case {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}

@media screen and (max-width: 599px) {
  .model-case {
    width: 100%;
  }
}

.model-case .lists {
  width: 100%;
  margin: 0 auto;
}

.model-case .lists-item {
  -webkit-box-shadow: 0 0 36px rgba(0, 0, 0, 0.06), 0 0 10.8529px rgba(0, 0, 0, 0.0390953), 0 0 4.50776px rgba(0, 0, 0, 0.03), 0 0 1.63037px rgba(0, 0, 0, 0.0209047);
  margin-bottom: 5%;
  border-radius: 20px;
  box-shadow: 0 0 36px rgba(0, 0, 0, 0.06), 0 0 10.8529px rgba(0, 0, 0, 0.0390953), 0 0 4.50776px rgba(0, 0, 0, 0.03), 0 0 1.63037px rgba(0, 0, 0, 0.0209047);
}

.question {
  background-color: #f8f8f8;
}

.question .wrap {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}

@media screen and (max-width: 599px) {
  .question .wrap {
    width: 100%;
  }
}

.question .lists {
  width: 100%;
  margin: 0 auto;
}

.question .lists-item {
  -webkit-box-shadow: 0 0 36px rgba(0, 0, 0, 0.06), 0 0 10.8529px rgba(0, 0, 0, 0.0390953), 0 0 4.50776px rgba(0, 0, 0, 0.03), 0 0 1.63037px rgba(0, 0, 0, 0.0209047);
  margin-bottom: 5%;
  border-radius: 20px;
  box-shadow: 0 0 36px rgba(0, 0, 0, 0.06), 0 0 10.8529px rgba(0, 0, 0, 0.0390953), 0 0 4.50776px rgba(0, 0, 0, 0.03), 0 0 1.63037px rgba(0, 0, 0, 0.0209047);
}

.last-massege {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}

@media screen and (max-width: 599px) {
  .last-massege {
    width: 100%;
  }
}

.last-massege__ttl {
  width: 62%;
  margin-bottom: 5%;
}

@media screen and (max-width: 599px) {
  .last-massege__ttl {
    width: 82%;
  }
}

.last-massege__txt {
  width: 85%;
}

@media screen and (max-width: 599px) {
  .last-massege__txt {
    width: 100%;
  }
}

.last-massege__txt img {
  margin-bottom: 5%;
}

.last-massege__image {
  margin-bottom: 10%;
}

.last-massege__bottom {
  width: 75%;
  margin: 0 auto;
}

@media screen and (max-width: 599px) {
  .last-massege__bottom {
    width: 100%;
  }
}

/* 220107 追従ボタン追加 */
.fixed-cta {
  display: none;
}
.fixed-cta a{
	display: block;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.mv_text {
  width: 40.48611%;
  margin: 4rem auto 2rem auto;
}

@media screen and (max-width: 750px) {
  .mv_text {
    width: 89.61353%;
    margin-bottom: 0;
  }
}

.mv_btn {
  width: 50%;
  margin: auto;
  display: block;
}

.mv_btn img {
  width: 100%;
}

.mv_btn:hover {
  opacity: .7;
}

@media screen and (max-width: 750px) {
  .mv_btn {
    width: 100%;
  }
}

.cv {
  position: relative;
}

.cv h2 img {
  width: 100%;
}

.cv p {
  width: 55.07143%;
  position: absolute;
  top: 20.77922%;
  right: 2.5%;
}

@media screen and (max-width: 750px) {
  .cv p {
    width: 93.06667%;
    position: absolute;
    top: 56.48225%;
    right: 1.33333%;
  }
}

.cv a {
  width: 51.42857%;
  position: absolute;
  top: 72%;
  right: 1.07143%;
}

.cv a:hover {
  opacity: .7;
}

@media screen and (max-width: 750px) {
  .cv a {
    width: 95%;
    position: absolute;
    top: 85.5%;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}

 /* 220112 LINE申込みの流れ 追加 */
.line-flow{
	padding: 10% 5.5% 2%;
}
@media screen and (max-width: 750px) {
	.line-flow .lists li:first-child {
		padding-bottom: 5%;
	}
}