@charset "UTF-8";
@media screen and (min-width: 769px) {
  .view--pc {
    display: block;
  }
  .view--sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .view--pc {
    display: none;
  }
  .view--sp {
    display: block;
  }
}
.page div, .page span, .page applet, .page object, .page iframe,
.page h1, .page h2, .page h3, .page h4, .page h5, .page h6, .page p,
.page blockquote, .page pre, .page a, .page abbr, .page acronym, .page address,
.page big, .page cite, .page code, .page del, .page dfn, .page em, .page img, .page ins, .page kbd, .page q, .page s, .page samp, .page small, .page strike, .page strong, .page sub, .page sup, .page tt, .page var, .page b, .page u, .page i, .page center,
.page dl, .page dt, .page dd, .page ol, .page ul, .page li,
.page fieldset, .page form, .page label, .page legend,
.page table, .page caption, .page tbody, .page tfoot, .page thead, .page tr, .page th, .page td,
.page article, .page aside, .page canvas, .page details, .page embed, .page figure, .page figcaption, .page footer, .page header, .page hgroup,
.page menu, .page nav, .page output, .page ruby, .page section, .page summary, .page time, .page mark, .page audio, .page video, .page picture {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.page article, .page aside, .page details, .page figcaption, .page figure, .page footer, .page header, .page hgroup, .page menu, .page nav, .page section, .page summary, .page picture {
  display: block;
}
.page *, .page *:before, .page *:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.page button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.l-wrap {
  overflow: initial;
}

html {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "メイリオ", sans-serif;
  font-size: 62.5%;
  width: 100%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

main {
  font-size: 1.4rem;
  line-height: 1.5;
  color: #666;
}

a {
  display: inline-block;
}

span, small {
  vertical-align: baseline;
}

span {
  font-weight: bold;
}

small {
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  small {
    font-size: 2.3vw;
  }
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.header .header__inner {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px 20px;
}
.header .header__logo {
  width: 58px;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .header .header__logo {
    width: 60px;
  }
}
.header .header__login {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 4rem;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 10px 0 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .header .header__login {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 3rem;
    text-align: center;
  }
}
.header .header__login .m-icon {
  width: 3rem;
  display: block;
  margin: 0 auto 1rem;
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .header .header__login .m-icon {
    width: 2rem;
    display: block;
    margin: 0 auto 1rem;
    font-size: 2rem;
  }
}
.header .header__login .header__login__text {
  font-family: "Montserrat", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  position: relative;
  top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .header .header__login .header__login__text {
    font-size: 1rem;
  }
}
.header .header__menu {
  position: fixed;
  left: 30px;
  top: 30px;
}
@media screen and (max-width: 768px) {
  .header .header__menu {
    top: auto;
    left: 0;
    bottom: 0;
    z-index: 888;
    width: 100%;
    height: 50px;
    background-color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.header .header__menu b {
  display: none;
}
@media screen and (max-width: 768px) {
  .header .header__menu b {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: auto;
    padding: 0 0 0 10px;
    text-indent: 0;
    font-size: 1.2rem;
    font-family: "Montserrat", sans-serif;
    letter-spacing: 0.2em;
  }
}
.header .header__menu span {
  display: block;
  background: url("/order/assets_store_qo-shitate/img/icon_bars.png") no-repeat;
  background-size: 20px auto;
  width: 20px;
  height: 21px;
  text-indent: -9999px;
}

.hamburger {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 1000;
}
.hamburger.is-active {
  opacity: 1;
  visibility: visible;
}
.hamburger .hamburger__contents {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  background-color: #ffffff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50%;
  height: 100%;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .hamburger .hamburger__contents {
    width: 100%;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
.hamburger.is-active .hamburger__contents {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
@media screen and (max-width: 768px) {
  .hamburger.is-active .hamburger__contents {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.hamburger .hamburger__item {
  position: relative;
  margin: 40px auto;
  text-align: center;
}
.hamburger .hamburger__item a {
  display: block;
  display: inline-block;
  padding: 0 15px;
  color: #212121;
  font-size: 1.8rem;
}
.hamburger .hamburger__item a[target=_blank]:after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url("/order/assets_store_qo-shitate/img/icon_blank.png") no-repeat;
  background-size: contain;
  margin-left: 0.5rem;
}
.hamburger .hamburger__close {
  position: absolute;
  top: 30px;
  left: 30px;
}
.hamburger .hamburger__close img {
  width: 20px;
  height: 20px;
}
@media screen and (max-width: 768px) {
  .hamburger .hamburger__close {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    top: auto;
    bottom: 20px;
    width: 100%;
    left: 0;
  }
}
.hamburger .hamburger__close span {
  display: none;
}
@media screen and (max-width: 768px) {
  .hamburger .hamburger__close span {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 1.2rem;
    letter-spacing: 0.2em;
    margin-left: 0.5rem;
  }
}

.page {
  padding: 13px 0 0;
}
@media screen and (max-width: 768px) {
  .page {
    padding: 30px 0 0;
  }
}
.page .page__inner {
  width: 92%;
  max-width: 976px;
  margin: auto;
}
.page .page__text {
  margin: 0 0 20px;
}
.page .page__text .is--large {
  font-size: 1.6rem;
  font-weight: bold;
  display: inline-block;
  vertical-align: baseline;
}
.page .page__text .is-bold {
  font-weight: bold;
}
.page .page__text .is--red {
  color: #de1642;
  font-weight: 400;
}
.page .page__text p {
  margin-bottom: 10px;
}
.page .page__text p:last-child {
  margin-bottom: 0;
}
.page .page__section {
  margin-bottom: 60px;
}
.page .page__section:last-child {
  margin-bottom: 0;
}
.page .page__heading--1 {
  font-size: 3rem;
  line-height: 1.3;
  font-weight: bold;
  margin: 0 0 18px;
  color: #333;
}
@media screen and (max-width: 768px) {
  .page .page__heading--1 {
    font-size: 1.8rem;
    line-height: 1.2;
    text-align: center;
    margin: 0 0 12px;
  }
}
.page .page__heading--2 {
  position: relative;
  font-size: 1.5rem;
  color: #444;
  text-align: left;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 8px;
  margin: 0 0 10px;
  border-bottom: 2px solid #666;
  font-weight: bold;
}
.page .page__heading--2::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: 0.7rem solid transparent;
  border-top: 1.2rem solid #666;
  margin-right: 0.5rem;
  position: relative;
  top: 0.4rem;
}
.page .page__heading--3 {
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 10px;
  padding: 5px;
  border-bottom: 1px solid #d0d0d0;
}
.page .page__btn {
  text-align: center;
  border-radius: 4px;
  color: #fff;
  display: inline-block;
  vertical-align: middle;
  width: 100%;
  cursor: pointer;
  font-size: 1.3rem;
  padding: 17px 20px 17px 10px;
  background: #666;
}
.page .page__btn.is-coloryelloww {
  background: #b59860;
}
.page .step {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 0 20px;
}
@media screen and (max-width: 768px) {
  .page .step {
    display: block;
    margin: 0 0 40px;
  }
}
.page .step .step__item {
  width: 24%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #dcdcdc;
  padding: 6px 6px 16px;
  font-size: 1.3rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page .step .step__item {
    position: relative;
    width: 100%;
    min-height: 120px;
    border-top: none;
    border-right: none;
    border-left: none;
    margin: 0 0 20px;
    padding: 0 0 20px 10px;
  }
}
.page .step .step__head {
  font-size: 1.4rem;
  font-weight: bold;
  border-bottom: 1px solid #d0d0d0;
  margin: 0 0 20px;
  padding: 0 0 5px;
  color: #333;
}
@media screen and (max-width: 768px) {
  .page .step .step__head {
    width: calc(100% - 130px);
    border-bottom: 1px solid #efefef;
    margin: 0 0 10px;
    padding: 0 0 10px;
  }
}
.page .step .step__title {
  font-size: 1.6rem;
  font-weight: bold;
}
.page .step .step__title .is-large {
  font-size: 2rem;
  vertical-align: baseline;
  line-height: 1;
}
.page .step .step__img {
  width: 100%;
  max-width: 120px;
  display: block;
  margin: 0 auto 20px;
}
@media screen and (max-width: 768px) {
  .page .step .step__img {
    position: absolute;
    bottom: 10px;
    right: 0;
    margin: 0;
  }
}
.page .step .step__text {
  text-align: left;
  font-size: 1.3rem;
  font-weight: bold;
  color: #666;
}
@media screen and (max-width: 768px) {
  .page .step .step__text {
    width: calc(100% - 130px);
  }
}
.page .tab {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 20px 0 40px;
}
@media screen and (max-width: 768px) {
  .page .tab {
    margin-top: 0;
  }
}
.page .tab .tab__item {
  width: 220px;
  margin: 0 20px 0 0;
  padding: 2%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #999;
  border-radius: 2px;
  text-align: center;
  -webkit-transition: background 0.3s, color 0.3s;
  transition: background 0.3s, color 0.3s;
  cursor: pointer;
}
.page .tab .tab__item:nth-child(even) {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  .page .tab .tab__item {
    width: 48%;
    margin: 0 4% 0 0;
  }
}
.page .tab .tab__item.is-active {
  background: #3b7575;
  color: #fff;
}
.page .panel .panel__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 0 0 20px;
}
.page .panel .panel__item {
  width: calc(25% - 16px);
  margin: 0 20px 2% 0;
  font-size: 1.3rem;
}
@media screen and (min-width: 769px) {
  .page .panel .panel__item:nth-child(4n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .page .panel .panel__item {
    width: 48%;
    margin: 0 4% 4% 0;
    text-align: center;
  }
  .page .panel .panel__item:nth-child(even) {
    margin-right: 0;
  }
}
.page .panel .panel__item .is-xlarge {
  color: #444;
  font-size: 3rem;
  font-family: "Jost", sans-serif;
  letter-spacing: -0.05em;
  margin-right: 0.5rem;
}
@media screen and (max-width: 768px) {
  .page .panel .panel__item .is-xlarge {
    font-size: 2.5rem;
  }
}
.page .panel .panel__item p {
  margin: 10px 0 0;
  display: block;
  border-top: 1px dotted #dedede;
  border-bottom: 1px dotted #dedede;
  padding: 5px 0;
  color: #666;
  text-align: center;
}
.page .panel .page__btn {
  position: relative;
}
.page .panel .page__btn .m-icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
}
.page .panel .panel__contents {
  display: none;
}
.page .panel .panel__contents.is-active {
  display: block;
}
.page .panel .page__heading--3 {
  border-bottom: none;
  padding: 0;
}
.page .page__head {
  margin: 0 0 60px;
}
@media screen and (max-width: 768px) {
  .page .page__head {
    margin: 0 0 40px;
  }
}
.page .page__head .page__btn {
  max-width: 300px;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .page .page__head .page__btn {
    background-color: #000;
    width: 80%;
    margin: 0 auto;
  }
}
.page .page__head .page__btn .m-icon {
  margin-right: 0.5rem;
  position: relative;
  top: 0.2rem;
}

.footer {
  background: #000;
  color: #fff;
  padding: 60px 0 30px;
  margin: 100px 0 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .footer {
    margin: 80px 0 0;
    padding-bottom: 80px;
  }
}
.footer .footer__logo {
  width: 67px;
  margin: 0 auto;
}
.footer .footer__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: 30px auto 20px;
  font-size: 1.2rem;
}
@media screen and (min-width: 769px) {
  .footer .footer__list {
    padding: 0 20px;
  }
}
@media screen and (max-width: 768px) {
  .footer .footer__list {
    border-top: 1px solid #616161;
  }
}
@media screen and (min-width: 769px) {
  .footer .footer__list li {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  .footer .footer__list li {
    width: 50%;
    min-height: 50px;
    border-bottom: 1px solid #616161;
    padding: 20px 0 20px 10px;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .footer .footer__list li:nth-child(even) {
    border-left: 1px solid #616161;
  }
}
@media screen and (min-width: 769px) {
  .footer .footer__list li::before {
    content: "／";
    margin: 0 5px;
    display: inline-block;
  }
}
.footer .footer__list li:first-child::before {
  content: none;
}
.footer .footer__list a[target=_blank]:after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url("/order/assets_store_qo-shitate/img/icon_blank.png") no-repeat;
  background-size: contain;
  margin-left: 0.5rem;
  position: relative;
  top: 3px;
}