html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

footer {
  background-color: #F7F6E1;
}
footer p {
  text-align: center;
  font-size: 10px;
  letter-spacing: 1px;
  line-height: 1.5em;
  padding-bottom: 40px;
}

a .c_button {
  position: relative;
  font-weight: 700;
  background: transparent;
  cursor: pointer;
  border: none;
  transition: all 0.3s ease;
  padding-top: 14px;
  padding-right: 38px;
  padding-left: 38px;
  padding-bottom: 14px;
}
a .c_button_top {
  position: absolute;
  width: 20px;
  height: 1px;
  background-color: #434343;
  transform: translateX(-5px) translateY(-47px);
  transition: all 0.3s ease;
}
a .c_button_left {
  position: absolute;
  width: 1px;
  height: 20px;
  background-color: #434343;
  transform: translateY(-52px);
  transition: all 0.3s ease;
}
a .c_button_right {
  position: absolute;
  width: 1px;
  height: 20px;
  background-color: #434343;
  transform: translateX(209.31px) translateY(-15px);
  transition: all 0.3s ease;
}
a .c_button_bottom {
  position: absolute;
  width: 20px;
  height: 1px;
  background-color: #434343;
  transform: translateX(194.31px);
  transition: all 0.3s ease;
}
a:hover .c_button {
  color: #1C98BA;
}
a:hover .c_button_top {
  transform: translateX(194.31px) translateY(-47px);
  background-color: #1C98BA;
  animation: extend 0.3s alternate;
}
a:hover .c_button_left {
  background-color: #1C98BA;
  transform: translateY(-15px);
}
a:hover .c_button_right {
  background-color: #1C98BA;
  transform: translateX(209.31px) translateY(-52px);
}
a:hover .c_button_bottom {
  background-color: #1C98BA;
  transform: translateX(-5px);
  animation: extend 0.3s alternate;
}
@keyframes extend {
  0% {
    width: 20px;
  }
  50% {
    width: 50px;
  }
  100% {
    width: 20px;
  }
}

.c_subtitle {
  position: relative;
}
.c_subtitle h2 {
  font-size: 200px;
  letter-spacing: 10px;
  line-height: 1.45em;
  color: rgba(67, 67, 67, 0.05);
  margin-left: -155px;
  margin-bottom: -114px;
}
.c_subtitle h3 {
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 1.5px;
  line-height: 1.5em;
}
.c_subtitle hr {
  width: 20px;
  height: 1px;
  background-color: #434343;
  border: none;
  margin-top: 10px;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 575.8px) {
  .c_subtitle h2 {
    font-size: 100px;
    letter-spacing: 0px;
    line-height: 1.45em;
    text-align: center;
    color: rgba(67, 67, 67, 0.05);
    margin-left: -60px;
    margin-bottom: -73px;
  }
  .c_subtitle h3 {
    font-size: 30px;
    font-weight: 600;
    letter-spacing: 1.5px;
  }
  .c_subtitle hr {
    width: 20px;
    background: #434343;
    margin-top: 10px;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
  }
}

.c_container {
  max-width: 79.64%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 575.8px) {
  .c_container {
    max-width: 80.56%;
    margin-left: auto;
    margin-right: auto;
  }
}

.c_clouds01 {
  position: fixed;
  width: 1371px;
  z-index: -1;
}
.c_clouds01 picture {
  position: fixed;
  left: -95%;
}
.c_clouds01 picture img {
  width: 1371px;
}

.c_clouds02 {
  position: fixed;
  width: 1824px;
  z-index: -1;
}
.c_clouds02 picture {
  position: fixed;
  right: -85%;
}
.c_clouds02 picture img {
  width: 1824px;
}

p, h3, h4, button, li {
  font-family: "Noto Serif JP", serif;
}

h2 {
  font-family: "Noto Sans JP", sans-serif;
}

h3 {
  font-family: "Noto Serif JP", serif;
}

p, h1, h2, h3, h4, td, li, button {
  color: #434343;
}

p, td {
  letter-spacing: 0.8px;
}

.overflow {
  overflow-x: hidden;
}

.blend {
  mix-blend-mode: exclusion;
}

.show__desktop {
  display: block;
}
@media screen and (max-width: 575.8px) {
  .show__desktop {
    display: none;
  }
}

.show__mobile {
  display: none;
}
@media screen and (max-width: 575.8px) {
  .show__mobile {
    display: block;
  }
}

.nowrap {
  white-space: nowrap;
}

body {
  background-color: #F7F6E1;
}

.hero_background {
  position: fixed;
  width: 100%;
  height: 100vh;
  z-index: -1;
  background-image: url("../../../src/assets/img/hero/hero_bg.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767.8px) {
  .hero_background {
    position: fixed;
    width: 100%;
    height: 69vh;
    z-index: -1;
    background-position: right;
  }
}

section.hero {
  width: 100%;
  height: 100vh;
}
section.hero .hero_wrap__desktop {
  padding-top: 15vh;
}
section.hero .hero_wrap__desktop picture {
  display: block;
  width: 329.15px;
}
section.hero .hero_wrap__desktop picture img {
  width: 100%;
}
@media screen and (max-width: 767.8px) {
  section.hero .hero_wrap__desktop {
    padding-top: 53vh;
  }
  section.hero .hero_wrap__desktop picture {
    display: block;
    width: 240px;
  }
  section.hero .hero_wrap__desktop picture img {
    width: 100%;
  }
}
section.hero .hero_wrap__desktop .catch_copy {
  margin-top: 18vh;
}
section.hero .hero_wrap__desktop .catch_copy picture {
  display: block;
  width: 430.83px;
}
section.hero .hero_wrap__desktop .catch_copy picture img {
  margin-bottom: 23px;
}
section.hero .hero_wrap__desktop .catch_copy picture:last-of-type {
  width: 232.91px;
  margin-bottom: calc(10.7vh - 23px);
}
@media screen and (max-width: 767.8px) {
  section.hero .hero_wrap__desktop .catch_copy {
    margin-top: 34px;
  }
  section.hero .hero_wrap__desktop .catch_copy picture {
    display: block;
    width: 308px;
  }
  section.hero .hero_wrap__desktop .catch_copy picture img {
    margin-bottom: 17px;
  }
  section.hero .hero_wrap__desktop .catch_copy picture:last-of-type {
    width: 285px;
    margin-bottom: 11px;
  }
}
section.hero .scroll_down {
  position: fixed;
  width: 100%;
  height: 100%;
  right: -50px;
  bottom: -85vh;
  overflow-x: hidden;
}
@media screen and (max-width: 767.8px) {
  section.hero .scroll_down {
    position: relative;
    right: -57px;
    bottom: 60px;
    overflow-x: hidden;
  }
}
section.hero .scroll_down img {
  position: absolute;
  right: 0;
  width: 220px;
}
section.hero .scroll_down img.spin {
  animation: rotating 15s linear infinite;
}
section.hero .scroll_down img.dropper {
  animation: drop 2.6s cubic-bezier(0.165, 0.84, 0.44, 1) infinite, fade 2.6s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
}
@keyframes rotating {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes drop {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(50px);
  }
}
@media screen and (max-width: 767.8px) {
  @keyframes drop {
    from {
      transform: translateY(0);
    }
    to {
      transform: translateY(35px);
    }
  }
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  60% {
    opacity: 0.5;
  }
  100% {
    opacity: 0;
  }
}
@media screen and (max-width: 767.8px) {
  section.hero .scroll_down img {
    width: 162px;
  }
}

.logo {
  filter: none;
}
@media screen and (max-width: 767.8px) {
  .logo {
    filter: invert(89%) sepia(99%) saturate(0%) hue-rotate(124deg) brightness(104%) contrast(100%) drop-shadow(0px 0px 2px rgb(0, 0, 0));
  }
}

section.about {
  background: transparent linear-gradient(180deg, rgba(247, 246, 225, 0) 0%, rgba(247, 246, 225, 0.5960784314) 42%, #F7F6E1 100%) 0% 0% no-repeat padding-box;
  padding-top: 132px;
  padding-bottom: 327px;
  margin-top: 0;
}
@media screen and (max-width: 767.8px) {
  section.about {
    background: transparent linear-gradient(180deg, rgba(247, 246, 225, 0) 0%, rgba(247, 246, 225, 0.5960784314) 12.5%, rgba(247, 246, 225, 0.968627451) 30%, #F7F6E1 50%) 0% 0% no-repeat padding-box;
    padding-top: 451px;
    padding-bottom: 177px;
    margin-top: -195px;
  }
}
section.about table {
  font-family: "Noto Serif JP", sans-serif;
  margin-top: 64px;
}
section.about table tr {
  display: flex;
  margin-bottom: 32px;
}
section.about table tr:last-child {
  margin-bottom: 0;
}
section.about table tr td {
  line-height: 1.7em;
  letter-spacing: 0.8px;
}
section.about table tr td:nth-child(1) {
  font-weight: 600;
  width: 106px;
}
section.about table tr td p {
  width: 128px;
  font-size: 14px;
  font-weight: 600;
  border: solid 1px;
  text-align: center;
  line-height: 1.5em;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-top: -5px;
  margin-bottom: 12px;
}
section.about table tr td p:nth-of-type(2) {
  margin-top: 32px;
}
@media screen and (max-width: 767.8px) {
  section.about table tr {
    display: flex;
    margin-bottom: 32px;
  }
  section.about table tr:last-child {
    margin-bottom: 0;
  }
  section.about table tr td {
    width: 100%;
    font-size: 14px;
    letter-spacing: 0.7px;
  }
  section.about table tr td:nth-child(1) {
    font-size: 14px;
    font-weight: 600;
    width: 80px;
    margin-right: 19px;
  }
  section.about table tr td p {
    font-size: 12px;
    border: solid 1px #434343;
    text-align: center;
    line-height: 1.5em;
    letter-spacing: 0.6px;
    margin-top: -5px;
    margin-bottom: 12px;
  }
  section.about table tr td p:nth-of-type(2) {
    margin-top: 32px;
  }
}

@media screen and (max-width: 767.8px) {
  .about_subtitle {
    margin-left: -40px !important;
  }
}

section.service {
  background-color: #F7F6E1;
  padding-bottom: 200px;
}
section.service video {
  margin-top: 59px;
  max-width: 100%;
}
section.service video source {
  max-width: 100%;
}
@media screen and (max-width: 1023.8px) {
  section.service {
    padding-bottom: 146px;
  }
  section.service video {
    margin-top: 19px;
  }
}
@media screen and (max-width: 575.8px) {
  section.service {
    padding-bottom: 64px;
  }
  section.service video {
    margin-top: 19px;
  }
}
section.service .service_wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}
@media screen and (max-width: 1279.8px) {
  section.service .service_wrap {
    display: block;
    margin-top: 56px;
  }
}
section.service .service_wrap div {
  width: 504px;
}
section.service .service_wrap div h4 {
  color: #FFF;
  font-size: 20px;
  font-weight: 600;
  background-image: url(../../../src/assets/img/service/service_title.png);
  background-size: cover;
  line-height: 1.5em;
  padding-top: 5px;
  padding-left: 20px;
  padding-bottom: 5px;
  margin-bottom: 24px;
}
section.service .service_wrap div p {
  font-size: 14px;
  letter-spacing: 0.7px;
  line-height: 1.85em;
  margin-bottom: 40px;
}
section.service .service_wrap div ul {
  margin-left: 18px;
}
section.service .service_wrap div ul li {
  line-height: 1.5em;
  list-style-type: disc;
  margin-bottom: 10px;
}
section.service .service_wrap div ul li:last-of-type {
  margin-bottom: 0;
}
section.service .service_wrap div ul li::marker {
  color: #434343;
}
@media screen and (max-width: 1279.8px) {
  section.service .service_wrap div {
    width: 100%;
  }
  section.service .service_wrap div h4 {
    line-height: 1.5em;
  }
  section.service .service_wrap div p {
    font-size: 14px;
    letter-spacing: 0.7px;
    line-height: 1.85em;
    margin-bottom: 24px;
  }
  section.service .service_wrap div ul li {
    margin-bottom: 10px;
  }
  section.service .service_wrap div ul li:last-of-type {
    margin-bottom: 56px;
  }
}/*# sourceMappingURL=style.css.map */