* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

html, body {
  display: flex; }

html {
  font-size: 62.5%; }

body {
  flex-direction: column;
  min-height: 100vh;
  width: 100%;
  background-color: #fff;
  color: #23282c;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  -webkit-text-size-adjust: 100%; }

a.link {
  text-decoration: none;
  color: #000; }
  @media screen and (min-width: 769px) {
    a.link {
      transition: .3s; }
      a.link:hover {
        opacity: .7; } }
@media screen and (min-width: 769px) {
  a.tel {
    pointer-events: none; } }
@media screen and (min-width: 769px) {
  a.parts {
    text-decoration: none; } }

.img {
  width: 100%;
  height: auto; }

.flex {
  display: flex;
  justify-content: space-between;
  align-items: center; }

.pc-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap; }
  @media screen and (max-width: 768px) {
    .pc-flex {
      display: block; } }

.flex-column {
  flex-direction: column; }

.justify-start {
  justify-content: flex-start; }

.justify-end {
  justify-content: flex-end; }

.justify-center {
  justify-content: center; }

.align-start {
  align-items: flex-start; }

.align-stretch {
  align-items: stretch; }

@media screen and (max-width: 768px) {
  .pc-element {
    display: none; } }

.sp-element {
  display: none; }
  @media screen and (max-width: 768px) {
    .sp-element {
      display: block; } }

.container {
  overflow: hidden;
  margin-top: 80px;
  display: flex;
  flex-direction: column;
  min-height: 100vh; }
  @media screen and (max-width: 768px) {
    .container {
      width: 100%;
      padding-left: 20px;
      padding-right: 20px;
      margin-top: 0;
      position: relative; } }
  .container.-noMenu {
    width: 100%; }
  .container .section {
    width: 100%; }
  .container .inner {
    width: 1230px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .container .inner {
        width: 100%; } }

.font-bold {
  font-weight: 600; }

.text-underline {
  text-decoration: underline; }

.text-center {
  text-align: center !important; }

.note {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.5384615385;
  font-weight: 600; }

.c-gray {
  color: #23282c; }

.c-lgray {
  color: #e5e5e5; }

.c-navy {
  color: #036eb8; }

.c-green {
  color: #22ac38; }

.c-orange {
  color: #f39800; }

.c-lblue {
  color: #2ea7e0; }

.c-blue {
  color: #00a0e9; }

.c-red {
  color: #e60027; }

.nowrap {
  white-space: nowrap; }

.mt-auto {
  margin-top: auto; }

.mt-10 {
  margin-top: 10px; }

.mt-20 {
  margin-top: 20px; }

.mt-30 {
  margin-top: 30px; }

.mt-40 {
  margin-top: 40px; }

.mt-50 {
  margin-top: 50px; }

.mt-60 {
  margin-top: 60px; }

.mt-80 {
  margin-top: 80px; }

.p-15 {
  padding: 15px; }

.arrow-wrap {
  position: relative;
  display: inline-block;
  text-decoration: none;
  width: 100%; }
  .arrow-wrap::after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 6px 0 6px;
    border-color: #000 transparent transparent transparent;
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -4px; }
  .arrow-wrap.-white::after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 6px 0 6px;
    border-color: #fff transparent transparent transparent;
    right: 0; }
  .arrow-wrap.-white span {
    padding-right: 17px;
    color: #fff; }

@media screen and (max-width: 768px) {
  .img-wrap {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
    overflow-scrolling: touch;
    -webkit-overflow-scrolling: touch; } }

.info-area {
  background-color: #f1f1f1;
  border: 1px solid #000;
  padding: 53px;
  text-align: center; }
  .info-area p {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1; }

.order {
  margin: 80px 0;
  text-align: center; }
  .order span {
    position: relative;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.75;
    font-weight: 600;
    padding-left: 60px;
    text-decoration: none; }
    .order span::before {
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 0 22px 40px 22px;
      border-color: transparent transparent #000 transparent;
      content: '';
      position: absolute;
      top: -30px;
      left: 0; }
    .order span::after {
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 40px 22px 0 22px;
      border-color: #000 transparent transparent transparent;
      content: '';
      position: absolute;
      top: 20px;
      left: 0; }

/*# sourceMappingURL=base.css.map */
