@charset "UTF-8";
html,
body {
  position: relative; }

body {
  font-family: -apple-system, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 18px;
  font-style: normal;
  color: #0e0e0e;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0; }
  @media screen and (max-width: 980px) {
    body {
      font-size: 16px; } }
  @media screen and (max-width: 540px) {
    body {
      font-size: 15px; } }
  @media screen and (max-width: 320px) {
    body {
      font-size: ３ 13px; } }
  body.l-index {
    font-size: 22px;
    font-weight: 600; }
    @media screen and (max-width: 1024px) {
      body.l-index {
        font-size: 18px; } }
    @media screen and (max-width: 980px) {
      body.l-index {
        font-size: 16px; } }
    @media screen and (max-width: 540px) {
      body.l-index {
        font-size: 15px; } }
    @media screen and (max-width: 320px) {
      body.l-index {
        font-size: 13px; } }

img {
  display: block; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none; }

h2.page-heading {
  color: #0e0e0e;
  font-size: 56px;
  font-weight: bold;
  line-height: 1.24;
  letter-spacing: .024em;
  font-style: italic;
  text-align: center; }
  @media screen and (max-width: 980px) {
    h2.page-heading {
      font-size: 40px; } }
  @media screen and (max-width: 540px) {
    h2.page-heading {
      font-size: 32px; } }

h3 {
  font-size: 20px; }

a {
  cursor: pointer;
  text-decoration: none; }

.align-right {
  text-align: right; }

.align-center {
  text-align: center; }

.under_link {
  color: #0e0e0e;
  display: inline-block;
  border-bottom: 1px dashed #0e0e0e;
  margin-bottom: 8px; }
  .under_link:hover {
    border-bottom: 1px solid #0e0e0e; }

p {
  margin: 0; }

ul,
ol {
  list-style: none; }

a {
  cursor: pointer;
  text-decoration: none; }

.l-index .l-header {
  position: relative;
  z-index: 55; }
  .l-index .l-header .header_logo {
    display: block;
    width: auto;
    height: auto;
    position: fixed;
    top: 20px;
    left: 28px;
    margin: 0; }
    @media screen and (max-width: 540px) {
      .l-index .l-header .header_logo {
        left: 16px; } }
    .l-index .l-header .header_logo .header_logo_item .header_logo_image {
      width: 200px;
      height: auto; }

.l-contact .l-header,
.l-l-thanks .l-header,
.l-privacy .l-header {
  background-color: #E94709;
  width: 100%;
  height: 78px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
  padding: 0 140px 0 28px; }
  @media screen and (max-width: 540px) {
    .l-contact .l-header,
    .l-l-thanks .l-header,
    .l-privacy .l-header {
      padding: 0 80px 0 12px; } }
  .l-contact .l-header .header_logo,
  .l-l-thanks .l-header .header_logo,
  .l-privacy .l-header .header_logo {
    display: block;
    width: auto;
    height: auto;
    margin: 0; }
    .l-contact .l-header .header_logo .header_logo_item .header_logo_image,
    .l-l-thanks .l-header .header_logo .header_logo_item .header_logo_image,
    .l-privacy .l-header .header_logo .header_logo_item .header_logo_image {
      width: 200px;
      height: auto; }

.nav-list {
  list-style: none; }
  @media screen and (max-width: 1200px) {
    .nav-list {
      display: none; } }
  .l-index .nav-list {
    display: none; }
  .nav-list ul.nav-wrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center; }
    .nav-list ul.nav-wrap .nav_item.icon {
      display: none; }
    .nav-list ul.nav-wrap .nav_item + .nav_item {
      margin-left: 40px; }
    .nav-list ul.nav-wrap .nav_item a {
      color: #fff;
      font-size: 18px;
      font-weight: bold;
      font-style: italic;
      text-decoration: none;
      padding-bottom: 4px; }
      @media screen and (max-width: 320px) {
        .nav-list ul.nav-wrap .nav_item a {
          font-size: 14px; } }
      .nav-list ul.nav-wrap .nav_item a:hover {
        border-bottom: 1px solid #fff; }
  .nav-list.js-on {
    z-index: 5;
    display: block;
    width: calc(100vw - 100px);
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center; }
    @media screen and (max-width: 540px) {
      .nav-list.js-on {
        width: 100vw; } }
    .nav-list.js-on ul.nav-wrap {
      display: flex;
      flex-direction: column; }
      .nav-list.js-on ul.nav-wrap li.nav_item.icon {
        display: block;
        width: 120px;
        height: auto;
        margin: 0 auto 64px; }
        @media screen and (max-width: 768px) {
          .nav-list.js-on ul.nav-wrap li.nav_item.icon {
            width: 120px; } }
        @media screen and (max-width: 540px) {
          .nav-list.js-on ul.nav-wrap li.nav_item.icon {
            width: 80px;
            margin-bottom: 0; } }
      .nav-list.js-on ul.nav-wrap li.nav_item a {
        color: #0e0e0e;
        font-size: 48px;
        font-style: italic;
        letter-spacing: .04em;
        text-decoration: none; }
        @media screen and (max-width: 768px) {
          .nav-list.js-on ul.nav-wrap li.nav_item a {
            font-size: 44px; } }
        @media screen and (max-width: 540px) {
          .nav-list.js-on ul.nav-wrap li.nav_item a {
            font-size: 24px; } }
        @media screen and (max-width: 320px) {
          .nav-list.js-on ul.nav-wrap li.nav_item a {
            font-size: 18px; } }
        .nav-list.js-on ul.nav-wrap li.nav_item a:hover {
          border-bottom: 1px solid #0e0e0e; }
      .nav-list.js-on ul.nav-wrap li.nav_item + li {
        margin-top: 24px;
        margin-left: 0; }
    .nav-list.js-on .sp-sns-wrap {
      display: none; }
      @media screen and (max-width: 540px) {
        .nav-list.js-on .sp-sns-wrap {
          display: flex;
          flex-direction: row;
          align-content: center;
          justify-content: center;
          align-items: center;
          flex-wrap: nowrap;
          margin-top: 32px; }
          .nav-list.js-on .sp-sns-wrap li .sns-link {
            color: #0e0e0e;
            margin: 0 16px;
            font-size: 24px; } }

@media screen and (min-width: 541px) {
  .header_right {
    display: block;
    width: 100px;
    height: 100vh;
    position: fixed;
    top: 0;
    right: 0;
    background-color: #fff;
    z-index: 55; }
    .header_right .header_right__inner {
      position: relative;
      height: 100%;
      width: 100%;
      display: flex;
      flex-direction: column;
      align-content: center;
      justify-content: space-between;
      padding: 24px 0; } }
@media screen and (max-width: 540px) {
  .nav-button {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 55; } }
@media screen and (min-width: 541px) {
  .nav-button {
    position: relative;
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    z-index: 55;
    top: 0;
    right: 0; } }
.nav-button .nav-toggle {
  width: 40px;
  height: 22px;
  cursor: pointer; }
  .nav-button .nav-toggle .nav {
    width: 40px;
    height: 2px;
    background-color: #0e0e0e;
    position: absolute; }
    @media screen and (max-width: 540px) {
      .nav-button .nav-toggle .nav {
        background-color: #fff; } }
    .nav-button .nav-toggle .nav.top {
      top: 0; }
    .nav-button .nav-toggle .nav.middle {
      top: 10px; }
    .nav-button .nav-toggle .nav.bottom {
      top: 20px; }
  .nav-button .nav-toggle.js-on {
    display: block; }
.nav-button:after {
  content: 'MENU';
  display: block;
  width: auto;
  height: auto;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: .16em;
  line-height: 1.68;
  height: 1;
  cursor: pointer;
  color: #0e0e0e;
  position: absolute;
  top: 30px; }
  @media screen and (max-width: 540px) {
    .nav-button:after {
      color: #fff; } }
@media screen and (max-width: 540px) {
  .nav-button.js-on .nav {
    background-color: #0e0e0e; } }
.nav-button.js-on .nav.top {
  top: 10px;
  transform: rotate(45deg); }
.nav-button.js-on .nav.middle {
  opacity: 0; }
.nav-button.js-on .nav.bottom {
  top: 10px;
  transform: rotate(-45deg); }
.nav-button.js-on:after {
  content: 'CLOSE';
  font-size: 10px;
  font-weight: bold;
  letter-spacing: .02em;
  line-height: 1.68;
  width: 38px;
  height: auto; }
  @media screen and (max-width: 540px) {
    .nav-button.js-on:after {
      color: #0e0e0e; } }

.sns-wrap {
  display: none; }
  @media screen and (min-width: 541px) {
    .sns-wrap {
      display: flex;
      flex-direction: column;
      justify-content: space-evenly;
      align-items: center; }
      .sns-wrap p {
        font-size: 14px;
        font-weight: bold;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        -o-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        letter-spacing: .16em; }
      .sns-wrap .follow-line {
        display: block;
        width: 2px;
        height: 40px;
        margin: 16px 0;
        background-color: #0e0e0e; }
      .sns-wrap .sns-link {
        font-size: 22px;
        color: #0e0e0e;
        margin: 8px 0; }
        .sns-wrap .sns-link:hover {
          transform: scale(1.2); } }

.l-footer {
  display: block;
  font-size: 18px;
  font-weight: normal;
  background-color: #e7e7e7;
  width: 100%;
  height: auto;
  padding: 80px 100px 12px 80px; }
  .l-contact .l-footer, .li-thanks .l-footer, .l-privacy .l-footer {
    padding: 80px 180px 12px 80px; }
  @media screen and (max-width: 768px) {
    .l-footer {
      font-size: 16px; }
      .l-footer.s-section {
        padding: 40px 56px 12px 40px; }
        .l-contact .l-footer.s-section, .li-thanks .l-footer.s-section, .l-privacy .l-footer.s-section {
          padding: 56px 147px 12px 40px; } }
  @media screen and (max-width: 540px) {
    .l-footer {
      font-size: 14px; }
      .l-footer.s-section {
        min-height: auto;
        padding: 40px 0 12px; }
        .l-footer.s-section .text-wrap {
          margin-top: 16px; }
        .l-contact .l-footer.s-section, .li-thanks .l-footer.s-section, .l-privacy .l-footer.s-section {
          padding: 40px 0 12px; } }
  @media screen and (max-width: 320px) {
    .l-footer {
      font-size: 13px; } }
  .l-footer .flex-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    height: 100%; }
    @media screen and (max-width: 980px) {
      .l-footer .flex-row {
        align-items: center; } }
    @media screen and (max-width: 540px) {
      .l-footer .flex-row {
        height: 55vh;
        flex-direction: column;
        flex-direction: column-reverse;
        justify-content: center;
        align-content: center;
        align-items: center; }
        .l-footer .flex-row div + div {
          margin-bottom: 24px; } }
  .l-footer .text-wrap {
    color: #0e0e0e;
    margin-top: 32px; }
    .l-footer .text-wrap p {
      text-align: left; }
      @media screen and (max-width: 540px) {
        .l-footer .text-wrap p {
          text-align: center; } }
  .l-footer .footer_nav {
    text-align: right;
    margin: 0; }
    @media screen and (max-width: 540px) {
      .l-footer .footer_nav {
        text-align: center; } }
    .l-footer .footer_nav li + li {
      margin-top: 8px; }
    .l-footer .footer_nav li > a {
      color: #0e0e0e;
      padding-bottom: 4px; }
      .l-footer .footer_nav li > a:hover {
        transition: all 2400ms;
        -webkit-transition: all 2400ms;
        -ms-transition: all 2400ms;
        -moz-transition: all 2400ms;
        border-bottom: 1px solid #0e0e0e; }
  .l-footer .copyright {
    font-size: 11px;
    color: #0e0e0e;
    text-align: center;
    margin-top: 40px; }
  @media screen and (max-width: 980px) {
    .l-footer .text-wrap,
    .l-footer .footer_nav li a {
      text-align: center; } }

.is-tablet {
  display: block; }
  @media screen and (max-width: 540px) {
    .is-tablet {
      display: none; } }

.is-tablet-only {
  display: none; }
  @media screen and (max-width: 768px) and (min-width: 541px) {
    .is-tablet-only {
      display: block; } }

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

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