/* variable
----------------------------------------------------------------- */
/* mixin
----------------------------------------------------------------- */
/* mediaQuery
----------------------------------------------------------------- */
/* function
----------------------------------------------------------------- */
/* base
----------------------------------------------------------------- */
ul,
ol {
  list-style: none;
}

html {
  font-size: 62.5%;
}
@media screen and (max-width: 1200px) {
  html {
    font-size: 1vw;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 55%;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #3a3c3b;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (max-width: 500px) {
  body {
    font-size: 4vw;
  }
}

img {
  max-width: 100%;
  vertical-align: top;
  height: auto;
}

a {
  display: inline-block;
}

a,
button {
  color: inherit;
  text-decoration: none;
  transition: all 0.3s;
  cursor: pointer;
}
a:hover,
button:hover {
  opacity: 0.5;
}

button,
input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=reset] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
}

textarea {
  resize: vertical;
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}

/* footer
----------------------------------------------------------------- */
.l-footer {
  font-size: 2rem;
  background-color: rgba(117, 117, 117, 0.933);
  padding: 1rem 0;
  text-align: center;
}

/* header
----------------------------------------------------------------- */
.l-header {
  background-color: rgba(220, 220, 220, 0.933);
  padding: 1rem 0;
}
.l-header__inner {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.l-header__nav {
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .l-header__nav {
    display: none;
  }
}
.l-header__menu {
  display: flex;
  flex: 1;
}
.l-header__menu-item-link {
  padding: 1rem;
  display: block;
}
@media screen and (max-width: 768px) {
  .l-header__cv-btn {
    margin-left: auto;
  }
}
.l-header__hamburger-button {
  display: none;
}
@media screen and (max-width: 768px) {
  .l-header__hamburger-button {
    display: block;
  }
}
.l-header__hamburger-button-icon {
  width: 3rem;
  aspect-ratio: 3/2.5;
  transition: all 0.4s;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.l-header__hamburger-button-bar {
  display: inline-block;
  width: 100%;
  transition: all 0.4s;
  height: 3px;
  border-radius: 0.5rem;
  background-color: #000;
}
.l-header__hamburger-nav {
  display: none;
}

.is-open .bar-01 {
  transform: translateY(10px) rotate(-45deg);
}
.is-open .bar-02 {
  opacity: 0;
}
.is-open .bar-03 {
  transform: translateY(-9px) rotate(45deg);
}

/* container
----------------------------------------------------------------- */
.l-container {
  width: 100%;
  margin: 0 auto;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}

.l-container--xl {
  max-width: calc(1400px + 3rem);
}
@media screen and (max-width: 500px) {
  .l-container--xl {
    max-width: 100%;
  }
}

.l-container--lg {
  max-width: calc(1200px + 3rem);
}
@media screen and (max-width: 500px) {
  .l-container--lg {
    max-width: 100%;
  }
}

.l-container--md {
  max-width: calc(1000px + 3rem);
}
@media screen and (max-width: 500px) {
  .l-container--md {
    max-width: 100%;
  }
}

.l-container--sm {
  max-width: calc(800px + 3rem);
}
@media screen and (max-width: 500px) {
  .l-container--sm {
    max-width: 100%;
  }
}

.l-container--xs {
  max-width: calc(600px + 3rem);
}
@media screen and (max-width: 500px) {
  .l-container--xs {
    max-width: 100%;
  }
}

.l-container--full {
  padding-right: 0;
  padding-left: 0;
}

/* main
----------------------------------------------------------------- */
.l-main {
  min-height: 100vh;
  background-color: rgba(255, 255, 255, 0.933);
}

/* spacing.scss
----------------------------------------------------------------- */
.l-spacing-padding--x-sm {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.l-spacing-padding--x-md {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.l-spacing-padding--x-lg {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.l-spacing-padding--top-sm {
  padding-top: 2rem;
}
.l-spacing-padding--top-md {
  padding-top: 4rem;
}
.l-spacing-padding--top-lg {
  padding-top: 6rem;
}

.l-spacing-margin--x-sm {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.l-spacing-margin--x-md {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
.l-spacing-margin--x-lg {
  margin-top: 6rem;
  margin-bottom: 6rem;
}
.l-spacing-margin--top-sm {
  margin-top: 2rem;
}
.l-spacing-margin--top-md {
  margin-top: 4rem;
}
.l-spacing-margin--top-lg {
  margin-top: 6rem;
}

/* column
----------------------------------------------------------------- */
.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--0 {
  gap: 0rem;
}
.l-col2--0 .l-col2__item {
  width: calc((100% - 0px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--0 {
  gap: 0rem;
}
.l-col3--0 .l-col3__item {
  width: calc((100% - 0px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 0px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--0 {
  gap: 0rem;
}
.l-col4--0 .l-col4__item {
  width: calc((100% - 0px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--5 {
  gap: 0.5rem;
}
.l-col2--5 .l-col2__item {
  width: calc((100% - 5px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--5 {
  gap: 0.5rem;
}
.l-col3--5 .l-col3__item {
  width: calc((100% - 10px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 5px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--5 {
  gap: 0.5rem;
}
.l-col4--5 .l-col4__item {
  width: calc((100% - 15px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--10 {
  gap: 1rem;
}
.l-col2--10 .l-col2__item {
  width: calc((100% - 10px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--10 {
  gap: 1rem;
}
.l-col3--10 .l-col3__item {
  width: calc((100% - 20px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--10 {
  gap: 1rem;
}
.l-col4--10 .l-col4__item {
  width: calc((100% - 30px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--15 {
  gap: 1.5rem;
}
.l-col2--15 .l-col2__item {
  width: calc((100% - 15px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--15 {
  gap: 1.5rem;
}
.l-col3--15 .l-col3__item {
  width: calc((100% - 30px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 15px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--15 {
  gap: 1.5rem;
}
.l-col4--15 .l-col4__item {
  width: calc((100% - 45px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--20 {
  gap: 2rem;
}
.l-col2--20 .l-col2__item {
  width: calc((100% - 20px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--20 {
  gap: 2rem;
}
.l-col3--20 .l-col3__item {
  width: calc((100% - 40px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 20px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--20 {
  gap: 2rem;
}
.l-col4--20 .l-col4__item {
  width: calc((100% - 60px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--25 {
  gap: 2.5rem;
}
.l-col2--25 .l-col2__item {
  width: calc((100% - 25px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--25 {
  gap: 2.5rem;
}
.l-col3--25 .l-col3__item {
  width: calc((100% - 50px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 25px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--25 {
  gap: 2.5rem;
}
.l-col4--25 .l-col4__item {
  width: calc((100% - 75px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--30 {
  gap: 3rem;
}
.l-col2--30 .l-col2__item {
  width: calc((100% - 30px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--30 {
  gap: 3rem;
}
.l-col3--30 .l-col3__item {
  width: calc((100% - 60px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 30px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--30 {
  gap: 3rem;
}
.l-col4--30 .l-col4__item {
  width: calc((100% - 90px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--35 {
  gap: 3.5rem;
}
.l-col2--35 .l-col2__item {
  width: calc((100% - 35px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--35 {
  gap: 3.5rem;
}
.l-col3--35 .l-col3__item {
  width: calc((100% - 70px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 35px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--35 {
  gap: 3.5rem;
}
.l-col4--35 .l-col4__item {
  width: calc((100% - 105px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--40 {
  gap: 4rem;
}
.l-col2--40 .l-col2__item {
  width: calc((100% - 40px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--40 {
  gap: 4rem;
}
.l-col3--40 .l-col3__item {
  width: calc((100% - 80px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 40px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--40 {
  gap: 4rem;
}
.l-col4--40 .l-col4__item {
  width: calc((100% - 120px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--45 {
  gap: 4.5rem;
}
.l-col2--45 .l-col2__item {
  width: calc((100% - 45px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--45 {
  gap: 4.5rem;
}
.l-col3--45 .l-col3__item {
  width: calc((100% - 90px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 45px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--45 {
  gap: 4.5rem;
}
.l-col4--45 .l-col4__item {
  width: calc((100% - 135px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--50 {
  gap: 5rem;
}
.l-col2--50 .l-col2__item {
  width: calc((100% - 50px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--50 {
  gap: 5rem;
}
.l-col3--50 .l-col3__item {
  width: calc((100% - 100px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 50px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--50 {
  gap: 5rem;
}
.l-col4--50 .l-col4__item {
  width: calc((100% - 150px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--55 {
  gap: 5.5rem;
}
.l-col2--55 .l-col2__item {
  width: calc((100% - 55px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--55 {
  gap: 5.5rem;
}
.l-col3--55 .l-col3__item {
  width: calc((100% - 110px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 55px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--55 {
  gap: 5.5rem;
}
.l-col4--55 .l-col4__item {
  width: calc((100% - 165px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--60 {
  gap: 6rem;
}
.l-col2--60 .l-col2__item {
  width: calc((100% - 60px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--60 {
  gap: 6rem;
}
.l-col3--60 .l-col3__item {
  width: calc((100% - 120px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 60px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--60 {
  gap: 6rem;
}
.l-col4--60 .l-col4__item {
  width: calc((100% - 180px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--65 {
  gap: 6.5rem;
}
.l-col2--65 .l-col2__item {
  width: calc((100% - 65px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--65 {
  gap: 6.5rem;
}
.l-col3--65 .l-col3__item {
  width: calc((100% - 130px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 65px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--65 {
  gap: 6.5rem;
}
.l-col4--65 .l-col4__item {
  width: calc((100% - 195px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--70 {
  gap: 7rem;
}
.l-col2--70 .l-col2__item {
  width: calc((100% - 70px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--70 {
  gap: 7rem;
}
.l-col3--70 .l-col3__item {
  width: calc((100% - 140px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 70px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--70 {
  gap: 7rem;
}
.l-col4--70 .l-col4__item {
  width: calc((100% - 210px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--75 {
  gap: 7.5rem;
}
.l-col2--75 .l-col2__item {
  width: calc((100% - 75px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--75 {
  gap: 7.5rem;
}
.l-col3--75 .l-col3__item {
  width: calc((100% - 150px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 75px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--75 {
  gap: 7.5rem;
}
.l-col4--75 .l-col4__item {
  width: calc((100% - 225px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--80 {
  gap: 8rem;
}
.l-col2--80 .l-col2__item {
  width: calc((100% - 80px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--80 {
  gap: 8rem;
}
.l-col3--80 .l-col3__item {
  width: calc((100% - 160px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 80px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--80 {
  gap: 8rem;
}
.l-col4--80 .l-col4__item {
  width: calc((100% - 240px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--85 {
  gap: 8.5rem;
}
.l-col2--85 .l-col2__item {
  width: calc((100% - 85px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--85 {
  gap: 8.5rem;
}
.l-col3--85 .l-col3__item {
  width: calc((100% - 170px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 85px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--85 {
  gap: 8.5rem;
}
.l-col4--85 .l-col4__item {
  width: calc((100% - 255px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--90 {
  gap: 9rem;
}
.l-col2--90 .l-col2__item {
  width: calc((100% - 90px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--90 {
  gap: 9rem;
}
.l-col3--90 .l-col3__item {
  width: calc((100% - 180px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 90px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--90 {
  gap: 9rem;
}
.l-col4--90 .l-col4__item {
  width: calc((100% - 270px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--95 {
  gap: 9.5rem;
}
.l-col2--95 .l-col2__item {
  width: calc((100% - 95px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--95 {
  gap: 9.5rem;
}
.l-col3--95 .l-col3__item {
  width: calc((100% - 190px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 95px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--95 {
  gap: 9.5rem;
}
.l-col4--95 .l-col4__item {
  width: calc((100% - 285px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

.l-col2 {
  display: flex;
  flex-wrap: wrap;
}
.l-col2--100 {
  gap: 10rem;
}
.l-col2--100 .l-col2__item {
  width: calc((100% - 100px) / 2);
}
@media screen and (max-width: 768px) {
  .l-col2.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col2.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}

.l-col3 {
  display: flex;
  flex-wrap: wrap;
}
.l-col3--100 {
  gap: 10rem;
}
.l-col3--100 .l-col3__item {
  width: calc((100% - 200px) / 3);
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col3.is-tablet-col1 .l-col3__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col3.is-tablet-col2 .l-col3__item {
    width: calc((100% - 100px) / 2);
  }
}

.l-col4 {
  display: flex;
  flex-wrap: wrap;
}
.l-col4--100 {
  gap: 10rem;
}
.l-col4--100 .l-col4__item {
  width: calc((100% - 300px) / 4);
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col1 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col1 .l-col2__item {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-col4.is-tablet-col2 {
    flex-direction: column;
  }
  .l-col4.is-tablet-col2 .l-col4__item {
    width: calc((100% - 10px) / 2);
  }
}

/* btn
----------------------------------------------------------------- */
.c-btn {
  display: inline-block;
  border: 1px solid transparent;
  padding: 1rem 2rem;
  max-width: 100%;
  text-align: center;
  background-color: #fff;
  border-radius: 0.5rem;
  cursor: pointer;
}
@media screen and (max-width: 500px) {
  .c-btn:hover, .c-btn:focus {
    background-color: #fff;
    border-color: currentColor;
    color: #000;
  }
}
/* Modifier
----------------------------------------------------------------- */
@media screen and (max-width: 500px) {
  .c-btn--primary:hover, .c-btn--primary:focus {
    background-color: #fff;
    border-color: currentColor;
    color: #000;
  }
}

.c-btn--full {
  width: 100%;
}

/* heading
----------------------------------------------------------------- */
.c-heading {
  margin-bottom: 0.5rem;
  line-height: 1.5;
  font-size: 18rem;
}

/* icon
----------------------------------------------------------------- */
.c-icon {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
}

/* Modifier
----------------------------------------------------------------- */
.c-icon--edit {
  width: 1.5em;
  height: 1.5em;
  background-image: url();
  background-size: cover;
}

.c-icon--text-right {
  margin-right: 1rem;
}

/* heading
----------------------------------------------------------------- */
.c-nav {
  display: flex;
}
.c-nav__item {
  flex: 1;
  text-align: center;
  padding: 1rem;
}

/* main
----------------------------------------------------------------- */
.c-main-visual {
  background-color: #1571da;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  aspect-ratio: 3.5/1;
}

/* top
----------------------------------------------------------------- */
html {
  scroll-behavior: smooth;
}

.p-header {
  padding: 2rem 1.5rem;
}

.p-logo {
  max-width: 100px;
}

.p-mv img {
  width: 100%;
}

.p-cta {
  background-color: #FFF0DC;
  padding: 5rem;
}
@media screen and (max-width: 500px) {
  .p-cta {
    padding: 4rem 2rem;
  }
}
.p-cta__subtitle {
  max-width: 500px;
  margin: 0 auto;
  margin-bottom: 3rem;
}
@media screen and (max-width: 500px) {
  .p-cta__subtitle {
    margin-bottom: 1rem;
  }
}

.p-cta--gray {
  background-color: #F6F6F6;
}

.c-cta-btn {
  display: inline-block;
  max-width: 800px;
}
.c-cta-btn__area {
  text-align: center;
}

.p-service {
  padding: 5rem 1.5rem;
}
.p-service__title {
  max-width: 450px;
  margin: 0 auto;
  margin-bottom: 4rem;
}
.p-service__container {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 30px;
  max-width: 900px;
  width: 100%;
}
.p-service__container > a {
  flex: 1;
  display: inline-block;
}
@media screen and (max-width: 500px) {
  .p-service__container {
    flex-direction: column;
  }
}

.p-worries {
  padding: 5rem 1.5rem;
  background: #DDFFF4;
}
.p-worries__figure {
  margin: 0 auto;
  max-width: 900px;
  margin-bottom: 50px;
}
.p-worries__figure img {
  width: 100%;
}

.p-movie {
  padding: 5rem 1.5rem;
  background: #F8F8F8;
}
.p-movie__title {
  max-width: 450px;
  margin: 0 auto;
  margin-bottom: 4rem;
}
.p-movie__container {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 30px;
  max-width: 900px;
  width: 100%;
}
.p-movie__container > a {
  flex: 1;
  display: inline-block;
}
@media screen and (max-width: 500px) {
  .p-movie__container {
    flex-direction: column;
  }
}

.p-contact {
  padding: 5rem 1.5rem;
  background-color: #FFF0DC;
}
.p-contact__title {
  max-width: 800px;
  margin: 0 auto;
  margin-bottom: 4rem;
}
.p-contact__flow {
  max-width: 800px;
  margin: 0 auto;
  margin-bottom: 8rem;
}
.p-contact__body-title {
  text-align: center;
  font-weight: bold;
  font-size: 2.6rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 500px) {
  .p-contact__body-title {
    margin-top: 5rem;
  }
}
.p-contact__form {
  background-color: #FFF;
  padding: 1.5rem;
  max-width: 800px;
  margin: 0 auto;
}

.p-copyright {
  padding: 1rem 1.5rem;
  background-color: #333;
  color: #FFF;
  text-align: center;
}

/* display
----------------------------------------------------------------- */
.u-display--block-tablet {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-display--block-tablet {
    display: block;
  }
}
.u-display--block-sp {
  display: none;
}
@media screen and (max-width: 500px) {
  .u-display--block-sp {
    display: block;
  }
}
@media screen and (max-width: 500px) {
  .u-display--none-sp {
    display: none;
  }
}

/*# sourceMappingURL=style.css.map */
