@charset "UTF-8";
/*--- import -------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Oswald&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap");
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  word-break: break-word;
  box-sizing: border-box;
  vertical-align: baseline;
  background: transparent; }

html, body {
  overflow-x: hidden; }

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

li {
  list-style-type: none; }

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

a {
  text-decoration: none;
  color: inherit; }

img, picture {
  vertical-align: top;
  max-width: 100%; }

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

input, select {
  vertical-align: middle; }

/* safariでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
  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; }

/*------------------------------------- import ---*/
body {
  -webkit-text-size-adjust: 100%;
  font-family: 'Noto Sans JP', sans-serif, 游ゴシック体, "Yu Gothic", YuGothic, sans-serif;
  text-align: center;
  font-weight: normal;
  color: #4d4d4d;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.1rem; }
@inlcude mq_max(750) {
  body {
    line-height: 1.6; } }
.oswald {
  font-family: 'Oswald', sans-serif; }

a {
  opacity: 1;
  transition: opacity .3s; }
  a:hover {
    opacity: 0.8; }

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

.pc {
  display: block; }
  @media screen and (max-width: 750px) {
    .pc {
      display: none !important; } }

.pc_480 {
  display: block; }
  @media screen and (max-width: 480px) {
    .pc_480 {
      display: none !important; } }

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

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

.sp {
  display: none !important; }
  @media screen and (max-width: 750px) {
    .sp {
      display: block !important; } }

.sp_480 {
  display: none !important; }
  @media screen and (max-width: 480px) {
    .sp_480 {
      display: block !important; } }

.box_in {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto; }
  @media screen and (max-width: 1280px) {
    .box_in {
      padding: 0 40px; } }
  @media screen and (max-width: 750px) {
    .box_in {
      padding: 0 5.3333333333vw; } }

section {
  padding-top: 80px;
  padding-bottom: 80px; }
  @media screen and (max-width: 750px) {
    section {
      padding-top: 40px;
      padding-bottom: 40px; } }

h2.ttl {
  display: inline-block;
  font-size: 41px;
  position: relative;
  font-weight: normal;
  margin-bottom: 40px;
  line-height: 1; }
  h2.ttl:after {
    content: '';
    display: inline-block;
    position: absolute;
    width: 77px;
    height: 6px;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: url("../common/images/ttl_line.png");
    background-size: cover; }
  @media screen and (max-width: 750px) {
    h2.ttl {
      font-size: 38px; }
      h2.ttl:after {
        bottom: -5.3333333333vw; } }

.pages h2.ttl {
  font-size: 20px;
  margin-bottom: 40px;
  line-height: 1.5;
  font-weight: bold; }
  @media screen and (max-width: 750px) {
    .pages h2.ttl {
      font-size: 20px; } }

footer {
  background: #4e4e4e;
  color: #fff;
  padding: 50px 0px 20px;
  text-align: left;
  letter-spacing: 0.05rem;
  font-weight: normal;
  position: relative; }
  footer .box_in .area1 {
    display: flex;
    justify-content: center; }
    footer .box_in .area1 .logo {
      margin-right: 40px; }
  footer .box_in .area2 {
    margin-top: 40px;
    display: flex;
    justify-content: space-between; }
    footer .box_in .area2 .link_area {
      display: flex;
      font-size: 13px; }
      footer .box_in .area2 .link_area li {
        margin-right: 20px; }
    footer .box_in .area2 .copyright {
      font-size: 11px; }

@media screen and (max-width: 480px) {
  footer {
    padding: 50px 0px 20px; }
    footer .box_in .area1 {
      display: block; }
      footer .box_in .area1 .logo {
        margin-right: 0px;
        text-align: center; }
        footer .box_in .area1 .logo img {
          width: 180px; }
    footer .box_in .area2 {
      /*margin-top:9.333333vw;*/
      margin-top: 4.1666666667vw;
      display: block; }
      footer .box_in .area2 .link_area {
        display: flex;
        font-size: 13px;
        justify-content: center; }
        footer .box_in .area2 .link_area li {
          margin-right: 20px; }
          footer .box_in .area2 .link_area li:nth-child(2) {
            margin-right: 0; }
      footer .box_in .area2 .copyright {
        text-align: center;
        margin-top: 8vw;
        font-size: 11px; } }
/*to_top*/
.back-to-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 31px;
  height: 31px;
  z-index: 2;
  display: none; }

.back-to-top:before {
  content: "";
  display: block;
  width: 31px;
  height: 31px;
  position: absolute;
  left: 0;
  top: 0; }

.back-to-top:after {
  content: "";
  display: inline-block;
  background: url(../common/images/arrow.png) no-repeat;
  background-size: contain;
  text-align: center;
  width: 31px;
  height: 31px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%); }

/*-------------------------------------------------
	fade
--------------------------------------------------*/
body:before {
  content: '';
  display: inline-block;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%);
  background: url("../images/top/mv_logo.png") no-repeat;
  background-size: contain;
  display: inline-block;
  width: 226px;
  height: 135px;
  z-index: -1;
  opacity: 0; }
@media screen and (max-width: 1100px) {
  body:before {
    width: 20.5454545455vw;
    height: 12.2727272727vw; } }
@media screen and (max-width: 750px) {
  body:before {
    width: 30.1333333333vw;
    height: 18vw; } }

body::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10000;
  opacity: 0;
  -webkit-transition: opacity 2s ease;
  transition: opacity 2s ease;
  background: #ccc; }

body.fade::after {
  opacity: 1; }

body.fade::before {
  z-index: 10001;
  opacity: 1; }

.loading_area {
  display: none; }

body.fade .loading_area {
  display: block;
  position: fixed;
  z-index: 10000;
  top: 42%;
  left: 50%;
  transform: translate(-50%); }
  body.fade .loading_area .load_logo {
    width: 100%;
    text-align: center; }
    body.fade .loading_area .load_logo img {
      width: 80px; }
  body.fade .loading_area .loader-inner {
    margin-top: 20px; }

/*END*/
.pages .under {
  position: relative;
  display: inline-block; }
  .pages .under:after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 1px;
    background: #4d4d4d;
    position: absolute;
    bottom: -5px;
    left: 0; }
  @media screen and (max-width: 480px) {
    .pages .under:after {
      bottom: -3px; } }
.pages .under.m-t5 {
  margin-top: 5px; }
.pages .under.m-t10 {
  margin-top: 10px; }
.pages strong {
  color: #000000; }
.pages .mv {
  position: relative;
  height: 580px; }
  .pages .mv .item {
    background: url("../common/images/mv_pages_bottom.png");
    position: absolute;
    bottom: 0;
    left: 0;
    height: 580px;
    width: 100%;
    background-repeat: repeat-x; }
  .pages .mv .mv_txt {
    display: flex;
    position: absolute;
    z-index: 2;
    top: 35%;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    justify-content: center;
    align-items: center;
    color: #fff;
    text-shadow: 0 0 10px rgba(35, 24, 21, 0.35);
    line-height: 1;
    letter-spacing: 0.2rem;
    font-size: 41px;
    font-weight: normal; }
  @media screen and (max-width: 750px) {
    .pages .mv {
      height: 77.6vw; } }
.pages main, .pages .main2 {
  max-width: 1100px;
  width: 100%;
  background: #fff;
  margin: 0 auto;
  position: relative;
  top: -200px;
  margin-bottom: -70px; }
  .pages main .box_in, .pages .main2 .box_in {
    max-width: 900px; }
  @media screen and (max-width: 1280px) {
    .pages main, .pages .main2 {
      width: 90%; } }
  @media screen and (max-width: 750px) {
    .pages main, .pages .main2 {
      top: -26.6666666667vw;
      margin-bottom: -9.3333333333vw; } }
.pages .main2 {
  margin-top: 160px; }
  @media screen and (max-width: 750px) {
    .pages .main2 {
      margin-top: 21.3333333333vw; } }

.parallax-bg {
  background-attachment: fixed !important; }
