@charset "UTF-8";
/*========================================================
// SP基本 フォントサイズ
========================================================*/
.btn-anchor img,.btn-redfull img p.txt-btn.txt-red img{
    border: none;
    display: block;
    width: auto;
    margin: auto;
}

.txt-subtitle {
  font-size: 15px; }

.txt-lead {
  font-size: 12px; }

.txt-lead-sub {
  font-size: 11px; }

.txt-anchor-count {
  font-size: 13px;
  line-height: 100%; }
  .txt-anchor-count img {
    height: 20px;
    vertical-align: middle; }
  .txt-anchor-count span {
    display: inline-block;
    vertical-align: middle;
    padding: 2px 0 0 4px; }

.txt-anchor-sub {
  font-size: 12px;
  color: #fff; }

.txt-anchor-title {
  font-size: 18px;
  color: #fff; }

.txt-about-title {
  font-size: 18px; }

.txt-about-lead {
  font-size: 12px; }

.txt-btn {
  font-size: 14px; }

.txt-plan-sub {
  font-size: 14px;
  color: #C20020; }

.txt-plan-title {
  font-size: 18px;
  color: #C20020; }

.txt-plan-midashi {
  font-size: 16px;
  color: #C20020; }

.txt-plan-body-l {
  font-size: 12px; }

.txt-plan-body {
  font-size: 12px; }

.txt-plan-cap {
  font-size: 11px; }

.txt-shop-title {
  font-size: 12px; }

.txt-shop-body {
  font-size: 10px; }
  .txt-shop-body a {
    color: #000; }

/*========================================================
// ■ tablet
========================================================*/
@media (min-width: 550px) {
  .txt-subtitle {
    font-size: 14px; }

  .txt-lead {
    font-size: 14px; }

  .txt-lead-sub {
    font-size: 12px; }

  .txt-anchor-count {
    font-size: 13px;
    line-height: 100%; }
    .txt-anchor-count img {
      height: 20px;
      vertical-align: middle; }
    .txt-anchor-count span {
      display: inline-block;
      vertical-align: middle;
      padding: 2px 0 0 4px; }

  .txt-anchor-sub {
    font-size: 11px;
    color: #fff; }

  .txt-anchor-title {
    font-size: 16px;
    color: #fff; }

  .txt-about-title {
    font-size: 20px; }

  .txt-about-lead {
    font-size: 13px; }

  .txt-btn {
    font-size: 12px; }

  .txt-plan-sub {
    font-size: 14px;
    color: #C20020; }

  .txt-plan-title {
    font-size: 25px;
    color: #C20020; }

  .txt-plan-midashi {
    font-size: 15px;
    color: #C20020; }

  .txt-plan-body-l {
    font-size: 13px; }

  .txt-plan-body {
    font-size: 12px; }

  .txt-plan-cap {
    font-size: 10px; }

  .txt-shop-title {
    font-size: 14px; }

  .txt-shop-body {
    font-size: 12px; }
    .txt-shop-body a {
      color: #000; } }
/*========================================================
// ■ tablet
========================================================*/
@media (min-width: 801px) {
  .txt-subtitle {
    font-size: 14px; }

  .txt-lead {
    font-size: 14px; }

  .txt-lead-sub {
    font-size: 12px; }

  .txt-anchor-count {
    font-size: 13px;
    line-height: 100%; }
    .txt-anchor-count img {
      height: 20px;
          width: auto;
          text-align:
      vertical-align: middle; }
    .txt-anchor-count span {
      display: inline-block;
      vertical-align: middle;
      padding: 2px 0 0 4px; }

  .txt-anchor-sub {
    font-size: 11px;
    color: #fff; }

  .txt-anchor-title {
    font-size: 16px;
    color: #fff; }

  .txt-about-title {
    font-size: 20px; }

  .txt-about-lead {
    font-size: 13px; }

  .txt-btn {
    font-size: 12px; }

  .txt-plan-sub {
    font-size: 14px;
    color: #C20020; }

  .txt-plan-title {
    font-size: 25px;
    color: #C20020; }

  .txt-plan-midashi {
    font-size: 15px;
    color: #C20020; }

  .txt-plan-body-l {
    font-size: 13px; }

  .txt-plan-body {
    font-size: 12px; }

  .txt-plan-cap {
    font-size: 10px; }

  .txt-shop-title {
    font-size: 14px; }

  .txt-shop-body {
    font-size: 12px; }
    .txt-shop-body a {
      color: #000; } }
/*========================================================
// ■ pc-small:
========================================================*/
/*========================================================
// ■ pc:
========================================================*/
@media (min-width: 1100px) {
  .txt-subtitle {
    font-size: 15px; }

  .txt-lead {
    font-size: 14px; }

  .txt-lead-sub {
    font-size: 12px; }

  .txt-anchor-count {
    font-size: 13px;
    line-height: 100%; }
    .txt-anchor-count img {
      height: 20px;
      vertical-align: middle;
      margin: auto; }
    .txt-anchor-count span {
      display: inline-block;
      vertical-align: middle;
      padding: 2px 0 0 4px; }

  .txt-anchor-sub {
    font-size: 15px;
    color: #fff; }

  .txt-anchor-title {
    font-size: 19px;
    color: #fff; }

  .txt-about-title {
    font-size: 35px; }

  .txt-about-lead {
    font-size: 16px; }

  .txt-btn {
    font-size: 14px; }

  .txt-plan-sub {
    font-size: 17px;
    color: #C20020; }

  .txt-plan-title {
    font-size: 35px;
    color: #C20020; }

  .txt-plan-midashi {
    font-size: 20px;
    color: #C20020; }

  .txt-plan-body-l {
    font-size: 16px; }

  .txt-plan-body {
    font-size: 14px; }

  .txt-plan-cap {
    font-size: 12px; }

  .txt-shop-title {
    font-size: 16px; }

  .txt-shop-body {
    font-size: 12px; }
    .txt-shop-body a {
      color: #000; } }
/*========================================================
// ■ pc-large: 1200px;
========================================================*/
/*============================
#common style
============================*/
.pc {
  display: none; }

.sp {
  display: block; }

br.spbr {
  display: inline; }

br.pcbr {
  display: none; }

.b {
  font-weight: bold; }

.txt-le {
  text-align: left; }

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

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

.txt-js {
  text-align: justify;
  text-justify: inter-ideograph; }

.sp-pt-s {
  padding-top: 10px; }

.sp-pt-m {
  padding-top: 20px; }

.sp-pt-l {
  padding-top: 30px; }

.sp-pb-s {
  padding-bottom: 10px; }

.sp-pb-m {
  padding-bottom: 20px; }

.sp-pb-l {
  padding-bottom: 30px; }

.sp-mt-s {
  margin-top: 10px; }

.sp-mt-m {
  margin-top: 20px; }

.sp-mt-l {
  margin-top: 30px; }

.sp-mb-s {
  margin-bottom: 10px; }

.sp-mb-m {
  margin-bottom: 20px; }

.sp-mb-l {
  margin-bottom: 30px; }

.lh-100 {
  line-height: 100%; }

.lh-110 {
  line-height: 110%; }

.lh-120 {
  line-height: 120%; }

.lh-130 {
  line-height: 130%; }

.lh-140 {
  line-height: 140%; }

.lh-150 {
  line-height: 150%; }

.lh-160 {
  line-height: 160%; }

.lh-170 {
  line-height: 170%; }

.lh-180 {
  line-height: 180%; }

.lh-190 {
  line-height: 190%; }

.lh-200 {
  line-height: 200%; }

::selection {
  background: #fff;
  /* Safari */ }

::-moz-selection {
  background: #fff;
  /* Firefox */ }

.img-40 img {
  width: 40%; }

.img-50 img {
  width: 50%; }

.img-55 img {
  width: 55%; }

.img-60 img {
  width: 60%; }

.img-70 img {
  width: 70%; }

.img-80 img {
  width: 80%; }

.img-90 img {
  width: 90%; }

.img-100 img {
  width: 100%; }

/*============================
汎用パディング
============================*/
.sb-s {
  padding: 0 10px; }

.sb-m {
  padding: 0 10px; }

.sb-l {
  padding: 0 15px; }

.sb-ll {
  padding: 0 15px; }

.sud-s {
  padding: 20px 0; }

.sud-m {
  padding: 40px 0; }

.sud-l {
  padding: 60px 0; }

.sall-s {
  padding: 10px; }

.sall-m {
  padding: 10px; }

.sall-l {
  padding: 10px; }

.sall-ll {
  padding: 20px; }

.pb-xl {
  padding-bottom: 60px; }

.pb-ll {
  padding-bottom: 40px; }

.pb-l {
  padding-bottom: 30px; }

.pb-m {
  padding-bottom: 25px; }

.pb-s {
  padding-bottom: 15px; }

.pb-ss {
  padding-bottom: 10px; }

.pb-xs {
  padding-bottom: 8px; }

.pb-xxs {
  padding-bottom: 5px; }

.pb-xxxs {
  padding-bottom: 2px; }

.pt-xl {
  padding-top: 60px; }

.pt-ll {
  padding-top: 40px; }

.pt-l {
  padding-top: 30px; }

.pt-m {
  padding-top: 25px; }

.pt-s {
  padding-top: 20px; }

.pt-ss {
  padding-top: 15px; }

.pt-xs {
  padding-top: 10px; }

.pt-xxs {
  padding-top: 8px; }

.pt-xxxs {
  padding-top: 5px; }

.pl-xs {
  padding-left: 10px; }

.pl-xxs {
  padding-left: 8px; }

.mb-xl {
  margin-bottom: 60px; }

.mb-ll {
  margin-bottom: 40px; }

.mb-l {
  margin-bottom: 30px; }

.mb-m {
  margin-bottom: 25px; }

.mb-s {
  margin-bottom: 20px; }

.mb-ss {
  margin-bottom: 15px; }

.mb-xs {
  margin-bottom: 10px; }

.mb-xxs {
  margin-bottom: 8px; }

.mb-xxxs {
  margin-bottom: 5px; }

.mt-xl {
  margin-top: 60px; }

.mt-ll {
  margin-top: 40px; }

.mt-l {
  margin-top: 30px; }

.mt-m {
  margin-top: 25px; }

.mt-s {
  margin-top: 20px; }

.mt-ss {
  margin-top: 15px; }

.mt-xs {
  margin-top: 10px; }

.mt-xxs {
  margin-top: 8px; }

.mt-xxxs {
  margin-top: 5px; }

/*========================================================
// ■ tablet
========================================================*/
@media (min-width: 550px) {
  .pc {
    display: block; }

  .sp {
    display: none; }

  br.spbr {
    display: none; }

  br.pcbr {
    display: inline; }

  /*============================
  汎用パディング
  ============================*/
  .sb-s {
    padding: 0 10px; }

  .sb-m {
    padding: 0 20px; }

  .sb-l {
    padding: 0 30px; }

  .sb-ll {
    padding: 0 40px; }

  .sud-s {
    padding: 20px 0; }

  .sud-m {
    padding: 40px 0; }

  .sud-l {
    padding: 60px 0; }

  .sall-s {
    padding: 20px; }

  .sall-m {
    padding: 40px; }

  .sall-l {
    padding: 60px; }

  .sall-ll {
    padding: 100px; } }
/*========================================================
// ■ pc-small
========================================================*/
/*========================================================
// ■ pc
========================================================*/
@media (min-width: 1100px) {
  /*============================
  汎用パディング
  ============================*/
  .sp-pt-s {
    padding-top: 0px; }

  .sp-pt-m {
    padding-top: 0px; }

  .sp-pt-l {
    padding-top: 0px; }

  .sp-pb-s {
    padding-bottom: 0px; }

  .sp-pb-m {
    padding-bottom: 0px; }

  .sp-pb-l {
    padding-bottom: 0px; }

  .sp-mt-s {
    margin-top: 0px; }

  .sp-mt-m {
    margin-top: 0px; }

  .sp-mt-l {
    margin-top: 0px; }

  .sp-mb-s {
    margin-bottom: 0px; }

  .sp-mb-m {
    margin-bottom: 0px; }

  .sp-mb-l {
    margin-bottom: 0px; }

  .sb-s {
    padding: 0 20px; }

  .sb-m {
    padding: 0 40px; }

  .sb-l {
    padding: 0 60px; }

  .sb-ll {
    padding: 0 100px; }

  .sud-s {
    padding: 20px 0; }

  .sud-m {
    padding: 40px 0; }

  .sud-l {
    padding: 60px 0; }

  .sall-s {
    padding: 20px; }

  .sall-m {
    padding: 40px; }

  .sall-l {
    padding: 60px; }

  .sall-ll {
    padding: 100px; }

  .pb-xl {
    padding-bottom: 100px; }

  .pb-ll {
    padding-bottom: 60px; }

  .pb-l {
    padding-bottom: 40px; }

  .pb-m {
    padding-bottom: 30px; }

  .pb-s {
    padding-bottom: 20px; }

  .pb-ss {
    padding-bottom: 15px; }

  .pb-xs {
    padding-bottom: 10px; }

  .pb-xxs {
    padding-bottom: 8px; }

  .pb-xxxs {
    padding-bottom: 5px; }

  .pt-xl {
    padding-top: 100px; }

  .pt-ll {
    padding-top: 60px; }

  .pt-l {
    padding-top: 40px; }

  .pt-m {
    padding-top: 30px; }

  .pt-s {
    padding-top: 20px; }

  .pt-ss {
    padding-top: 15px; }

  .pt-xs {
    padding-top: 10px; }

  .pt-xxs {
    padding-top: 8px; }

  .pt-xxxs {
    padding-top: 5px; }

  .pl-xs {
    padding-left: 10px; }

  .pl-xxs {
    padding-left: 8px; }

  .mb-xl {
    margin-bottom: 100px; }

  .mb-ll {
    margin-bottom: 60px; }

  .mb-l {
    margin-bottom: 40px; }

  .mb-m {
    margin-bottom: 30px; }

  .mb-s {
    margin-bottom: 20px; }

  .mb-ss {
    margin-bottom: 15px; }

  .mb-xs {
    margin-bottom: 10px; }

  .mb-xxs {
    margin-bottom: 8px; }

  .mb-xxxs {
    margin-bottom: 5px; }

  .mt-xl {
    margin-top: 100px; }

  .mt-ll {
    margin-top: 60px; }

  .mt-l {
    margin-top: 40px; }

  .mt-m {
    margin-top: 30px; }

  .mt-s {
    margin-top: 20px; }

  .mt-ss {
    margin-top: 15px; }

  .mt-xs {
    margin-top: 10px; }

  .mt-xxs {
    margin-top: 8px; }

  .mt-xxxs {
    margin-top: 5px; } }
/*========================================================
// ■ SP
========================================================*/
.letterline {
  background: url("../img/letterline-sp.png") no-repeat center/cover;
  height: 15px; }

a:hover .btn-red {
  opacity: 0.8; }

.btn-red {
  border: 1px solid #C20020;
  padding: 0.9em;
  text-align: center;
  color: #C20020; }
  .btn-red a {
    color: #C20020; }

.btn-redfull {
  background-color: #C20020;
  padding: 0.9em;
  text-align: center;
  color: #fff; }
  .btn-redfull a {
    color: #fff; }

.btn-bk {
  border: 1px solid #000;
  padding: 0.9em;
  text-align: center;
  color: #000;
  background-color: #fff; }

.bdr-box-red2 {
  border: 2px solid #C20020; }

.bdr-box-red1 {
  border: 1px solid #C20020; }

.bdr-t-red2 {
  border-top: 2px solid #C20020; }

.bdr-t-red {
  border-top: 1px solid #C20020; }

.bdr-r-red {
  border-right: 1px solid #C20020; }

.bdr-t-wt {
  border-top: 1px solid #fff; }

.bdr-t-red-sp {
  border-top: 1px solid #C20020;
  width: calc(100vw - 32px);
  margin-left: -20px; }

.udr-line {
  text-decoration: underline; }

.txt-red {
  color: #C20020; }

.txt-wt {
  color: #fff; }

.txt-bk {
  color: #000; }

.bg-gray {
  background-color: #F7F7F7; }

.bg-gray-dark {
  background-color: #E2E2E2; }

.bg-red {
  background-color: #C20020; }

.bg-wt {
  background-color: #fff; }

/*========================================================
// ■ tablet: 768px;
========================================================*/
@media (min-width: 801px) {
  .letterline {
    background: url("../img/letterline.png") no-repeat center/cover;
    height: 21px; }

  .btn-red {
    border: 1px solid #C20020;
    padding: 0.9em;
    text-align: center;
    color: #C20020; }
    .btn-red a {
      color: #C20020; }

  .btn-redfull {
    background-color: #C20020;
    padding: 0.9em;
    text-align: center;
    color: #fff; }
    .btn-redfull a {
      color: #fff; }

  .btn-bk {
    border: 1px solid #000;
    padding: 0.9em;
    text-align: center;
    color: #000;
    background-color: #fff; }

  .bdr-box-red2 {
    border: 2px solid #C20020; }

  .bdr-box-red1 {
    border: 1px solid #C20020; }

  .bdr-t-red2 {
    border-top: 2px solid #C20020; }

  .bdr-t-red {
    border-top: 1px solid #C20020; }

  .bdr-t-red-sp {
    border-top: 0px solid #fff; }

  .bdr-r-red {
    border-right: 1px solid #C20020; }

  .bdr-t-wt {
    border-top: 1px solid #fff; }

  .udr-line {
    text-decoration: underline; }

  .txt-red {
    color: #C20020; }

  .txt-wt {
    color: #fff; }

  .txt-bk {
    color: #000; }

  .bg-gray {
    background-color: #F7F7F7; }

  .bg-gray-dark {
    background-color: #E2E2E2; }

  .bg-red {
    background-color: #C20020; }

  .bg-wt {
    background-color: #fff; } }
/*========================================================
// ■ pc-small
========================================================*/
@media (min-width: 990px) {
  .letterline {
    background: url("../img/letterline.png") no-repeat center/cover;
    height: 16px; } }
/*========================================================
// ■ pc: 992px;
========================================================*/
/*========================================================
// ■ pc-large: 1200px;
========================================================*/
/*========================================================
// SP基本 layoutここから
========================================================*/
.tw-ie {
  display: none; }

.twitter-widget-0 {
  width: 100%; }

#last-letter {
  font-family: "FOT-筑紫Aオールド明朝 Pr6N R",yu-mincho-pr6, sans-serif;
  font-style: normal;
  font-weight: 400;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
  line-height: 170%; }

#last-letter .lead-box{
  top: 78%;
}
#last-letter .logo-box .message{
  margin: 1em 0 0;
  color: red;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.65;
}

@media (min-width: 990px) {
  #last-letter .lead-box{
    top: 76%;
  }
  #last-letter .logo-box .message{
    font-size: 1.8rem;
  }
}

div.shop-verline a {
  text-decoration: underline; }

.wrap {
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

main {
  width: 100%;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: #fff url(../img/kv_sp.jpg) 0 0 no-repeat;
  background-size: cover;
  background-position: center center;
  height: 85vh;
  position: relative; }
  main .logo-box {
    z-index: 4;
    left: 50%;
    position: absolute;
    top: 40%; }
  main .logo-box-inner {
    width: 170%;
    transform: translate(-50%, -50%); }
    main .logo-box-inner h1 img {
      width: 100%; }
  main .lead-box {
    z-index: 2;
    left: 50%;
    position: absolute;
    top: 74%; }
  main .lead-box-inner {
    transform: translate(-50%, -50%);
    width: 170%; }
  main .cpn-box {
    z-index: 3;
    position: relative; }
    main .cpn-box .cpn-box-inner {
      position: absolute;
      right: 10px;
      top: 10px; }
      main .cpn-box .cpn-box-inner img {
        width: 120px; }
  main .gra-box {
    z-index: 1;
    height: 85vh;
    position: relative;
    width: 100%; }
    main .gra-box .gra-box-inner {
      bottom: 0;
      width: 100%;
      height: 350px;
      position: absolute;
      background: linear-gradient(rgba(255, 255, 255, 0), #ffffff); }

.three-column {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row; }
  .three-column .column-item {
    flex-basis: 100%;
    justify-content: space-between;
    display: flex;
    flex-direction: column; }
  .three-column .column-item-b {
    justify-content: space-between;
    flex-direction: column; }
  .three-column .column-item-t {
    display: flex;
    flex-direction: column;
    align-items: stretch; }

.arrow-down {
  height: 10px; }
  .arrow-down img {
    width: 15px; }

.btn-anchor {
  display: block;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }
  .btn-anchor a {
    background-color: #C20020;
    padding: 10px;
    display: block;
    text-decoration: none; }
  .btn-anchor a.shop {
    text-align: center;
    width: 100%;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #C20020;
    padding: 10px 10px 8px 10px;
    display: inline-block;
    text-decoration: none; }

.two-column {
  display: flex;
  align-items: center;
  /* 縦方向中央揃え */
  justify-content: space-around;
  /* 等幅（先端・終端にも余白） */
  flex-wrap: wrap; }
  .two-column .column-item {
    display: flex;
    width: 100%;
    flex-direction: column; }
  .two-column a {
    text-decoration: none; }

.note {
  border-top: 1px solid transparent;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 99%, #dddddd 99%, #dddddd 100%);
  background-size: 100% 2.252em;
  line-height: 3; }

.note p {
  margin-bottom: 4em; }

.two-column-width {
  display: flex;
  align-items: top;
  /* 縦方向上揃え */
  justify-content: space-between;
  /* 等幅（先端・終端にも余白） */
  flex-wrap: wrap; }
  .two-column-width .column-item {
    display: flex;
    width: 100%;
    flex-direction: column; }
  .two-column-width .column-item-64 {
    display: flex;
    width: 100%;
    flex-direction: column; }
  .two-column-width .column-item-64:nth-child(2n) {
    width: 100%; }
  .two-column-width a {
    text-decoration: none; }
  .two-column-width .divider {
    display: inline-block;
    border-left: 1px solid #C20020; }

.two-column-top {
  display: flex;
  align-items: top;
  /* 縦方向上揃え */
  justify-content: space-around;
  /* 等幅（先端・終端にも余白） */
  flex-wrap: wrap; }
  .two-column-top .column-item {
    display: flex;
    width: 100%;
    flex-direction: column; }
  .two-column-top a {
    text-decoration: none; }

ol li {
  list-style: none;
  padding-left: 1.3em;
  text-indent: -1.3em; }

.box-sb {
  padding: 0 15px; }

.box-sb-m {
  padding: 0 5px; }

.pos-tw-icon {
  position: relative;
  top: 3px; }

.shop-box .shop-left {
  display: inline-block;
  width: 80%; }
.shop-box .shop-right {
  display: inline-block;
  width: 18%;
  text-align: right;
  transition: 1s;
  position: relative;
  height: 25px; }
  .shop-box .shop-right .inner {
    position: absolute;
    right: 0; }
    .shop-box .shop-right .inner img {
      transition: 0.5s;
      width: 15px; }
.shop-box .arrow_rotate {
  transform: rotate(180deg);
  transition: .3s; }
.shop-box table {
  width: 100%; }
.shop-box th {
  width: 4em;
  padding-right: 2em; }
.shop-box td.bdr {
  border-left: 1px solid #5D5D5D; }
.shop-box .shop-verline {
  padding: 0  2em; }
.shop-box .shop-bdr-td .shop-bdr {
  border-left: 0px solid #5D5D5D !important;
  border-top: 1px solid #5D5D5D;
  padding-top: 1em;
  margin-top: 1em; }

.scroll_area {
  width: 100%;
  height: 500px;
  overflow: scroll;
  overflow-x: hidden; }

.scroll-table {
  overflow: auto;
  white-space: nowrap; }

/*========================================================
// ■ // 大きめのスマホ
========================================================*/
/*========================================================
// ■ // 小さめのtablet
========================================================*/
@media (min-width: 550px) {
  .tw-ie {
    display: none; }

  .wrap {
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }

  .three-column {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    flex-direction: column; }
    .three-column .column-item {
      flex-basis: 100%; }

  .box-sb {
    padding: 0 15px; } }
/*========================================================
// ■ tablet
========================================================*/
@media (min-width: 801px) {
  .tw-ie {
    display: none; }

  .wrap {
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }

  main .cpn-box {
    z-index: 3;
    position: relative; }
    main .cpn-box .cpn-box-inner {
      position: absolute;
      right: 10px;
      top: 10px; }
      main .cpn-box .cpn-box-inner img {
        width: 150px; }

  .three-column {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between; }
    .three-column .column-item {
      flex-basis: 230px; }

  .note {
    border-top: 1px solid transparent;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 99%, #dddddd 99%, #dddddd 100%);
    background-size: 100% 3em;
    line-height: 3; }

  .note p {
    margin-bottom: 4em; }

  .shop-box th {
    width: 6em; }

  .box-sb {
    padding: 0 40px; }

  .box-sb-m {
    padding: 0 20px; } }
/*========================================================
// ■ pc-small
========================================================*/
@media (min-width: 990px) {
  .tw-ie {
    display: none; }

  .wrap {
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }

  main .cpn-box {
    z-index: 3;
    position: relative; }
    main .cpn-box .cpn-box-inner {
      position: absolute;
      right: 20px;
      top: 20px; }
      main .cpn-box .cpn-box-inner img {
        width: 180px; }

  .three-column {
    flex-direction: row; }
    .three-column .column-item {
      flex-basis: 270px; }

  .two-column {
    display: flex;
    align-items: center;
    /* 縦方向中央揃え */
    justify-content: space-around;
    /* 等幅（先端・終端にも余白） */ }
    .two-column .column-item {
      display: flex;
      width: 45%;
      flex-direction: column; }
    .two-column a {
      text-decoration: none; }

  .two-column-width {
    display: flex;
    align-items: top;
    /* 縦方向上揃え */
    justify-content: space-between;
    /* 等幅（先端・終端にも余白） */ }
    .two-column-width .column-item {
      display: flex;
      width: 45%;
      flex-direction: column; }
    .two-column-width .column-item-64 {
      display: flex;
      width: 57%;
      flex-direction: column; }
    .two-column-width .column-item-64:nth-child(2n) {
      width: 37%; }
    .two-column-width a {
      text-decoration: none; }
    .two-column-width .divider {
      display: inline-block;
      border-left: 1px solid #C20020; }

  .two-column-top {
    display: flex;
    align-items: top;
    /* 縦方向上揃え */
    justify-content: space-around;
    /* 等幅（先端・終端にも余白） */ }
    .two-column-top .column-item {
      display: flex;
      width: 45%;
      flex-direction: column; }
    .two-column-top a {
      text-decoration: none; }

  .note {
    border-top: 1px solid transparent;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 99%, #dddddd 99%, #dddddd 100%);
    background-size: 100% 4em;
    line-height: 4em; }

  .note p {
    margin-bottom: 4em; }

  .shop-right .inner img {
    width: 20px; } }
/*========================================================
// ■ pc
========================================================*/
@media (min-width: 1100px) {
  .tw-ie {
    display: none; }

  .wrap {
    width: 1100px;
    margin: 0 auto; }

  main {
    width: 100%;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff url(../img/kv_pc.jpg) 0 0 no-repeat;
    background-size: cover;
    background-position: center center;
    height: 70vh;
    position: relative; }
    main .logo-box {
      left: 50%;
      position: absolute;
      top: 40%; }
    main .logo-box-inner {
      transform: translate(-50%, -50%);
      width: 110%; }
      main .logo-box-inner h1 img {
        width: 100%; }
    main .lead-box {
      z-index: 2;
      left: 50%;
      position: absolute;
      top: 74%; }
    main .lead-box-inner {
      transform: translate(-50%, -50%);
      width: 110%; }
    main .cpn-box {
      z-index: 3;
      position: relative; }
      main .cpn-box .cpn-box-inner {
        position: absolute;
        right: 35px;
        top: 35px; }
        main .cpn-box .cpn-box-inner img {
          width: 180px; }
    main .gra-box {
      z-index: 1;
      height: 70vh;
      position: relative;
      width: 100%; }
      main .gra-box .gra-box-inner {
        bottom: 0;
        width: 100%;
        height: 330px;
        position: absolute;
        background: linear-gradient(rgba(255, 255, 255, 0), #ffffff); }

  .btn-anchor {
    display: inline-block; }
    .btn-anchor a {
      background-color: #C20020;
      padding: 30px 30px 20px 30px;
      display: block;
      text-decoration: none; }
    .btn-anchor a.shop {
      text-align: center;
      width: 20em;
      background-color: #C20020;
      padding: 15px 15px 10px 15px;
      display: inline-block;
      text-decoration: none; }

  .three-column {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    flex-direction: row; }
    .three-column .column-item {
      flex-basis: 300px;
      justify-content: space-between;
      display: flex;
      flex-direction: column; }
    .three-column .column-item-b {
      justify-content: space-between;
      flex-direction: column; }
    .three-column .column-item-t {
      display: flex;
      flex-direction: column;
      align-items: stretch; }

  .note {
    border-top: 1px solid transparent;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 99%, #dddddd 99%, #dddddd 100%);
    background-size: 100% 4em;
    line-height: 4em; }

  .note p {
    margin-bottom: 4em; }

  .two-column {
    display: flex;
    align-items: center;
    /* 縦方向中央揃え */
    justify-content: space-around;
    /* 等幅（先端・終端にも余白） */ }
    .two-column .column-item {
      display: flex;
      width: 45%;
      flex-direction: column; }
    .two-column a {
      text-decoration: none; }

  .two-column-width {
    display: flex;
    align-items: top;
    /* 縦方向上揃え */
    justify-content: space-between;
    /* 等幅（先端・終端にも余白） */ }
    .two-column-width .column-item {
      display: flex;
      width: 45%;
      flex-direction: column; }
    .two-column-width .column-item-64 {
      display: flex;
      width: 57%;
      flex-direction: column; }
    .two-column-width .column-item-64:nth-child(2n) {
      width: 37%; }
    .two-column-width a {
      text-decoration: none; }
    .two-column-width .divider {
      display: inline-block;
      border-left: 1px solid #C20020; }

  .two-column-top {
    display: flex;
    align-items: top;
    /* 縦方向上揃え */
    justify-content: space-around;
    /* 等幅（先端・終端にも余白） */ }
    .two-column-top .column-item {
      display: flex;
      width: 45%;
      flex-direction: column; }
    .two-column-top a {
      text-decoration: none; }

  .box-sb {
    padding: 0 100px; }

  .box-sb-m {
    padding: 0 40px; }

  .shop-right .inner img {
    width: 25px; } }
/*========================================================
// ■ pc-large
========================================================*/
@media (min-width: 1200px) {
  .wrap {
    width: 1100px;
    margin: 0 auto; } }
/*========================================================
// ■ edge ハック
========================================================*/
@supports (-ms-ime-align: auto) {
  .lead-box {
    z-index: 2;
    left: 0;
    position: absolute;
    top: 0; }

  .lead-box-inner {
    transform: none;
    width: 100%; }

  /* Edge のみ適用される */ }
/*========================================================
// ■ IE11 ハック
========================================================*/
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .l-main {
    display: block !important;
    width: 100% !important;
    -moz-box-sizing: border-box !important;
    box-sizing: border-box !important;
    background: url("../img/kv_pc_g@2x.jpg") 0 0 no-repeat;
    background-size: cover !important;
    background-position: center center !important;
    height: 600px !important;
    position: relative !important; }

  *::-ms-backdrop, .logo-box {
    z-index: 4;
    left: 0% !important;
    position: static !important;
    top: 0% !important; }

  *::-ms-backdrop, .logo-box-inner {
    width: 100% !important;
    transform: none !important;
    padding: 150px 0 50px 0 !important; }

  *::-ms-backdrop, .logo-box-inner h1 img {
    width: 50% !important; }

  *::-ms-backdrop, .lead-box {
    z-index: 2;
    width: 100% !important;
    left: 0 !important;
    position: static !important;
    top: 0 !important; }

  *::-ms-backdrop, .lead-box-inner {
    transform: none !important;
    width: 100% !important; }

  *::-ms-backdrop, .gra-box {
    z-index: 1 !important;
    height: 600px !important;
    position: relative !important;
    width: 100% !important; }

  *::-ms-backdrop, .gra-box-inner {
    bottom: 0;
    width: 100% !important;
    height: 115px !important;
    position: static !important;
    background: linear-gradient(rgba(255, 255, 255, 0), #ffffff); }

  *::-ms-backdrop, .cpn-box {
    z-index: 3 !important;
    position: relative !important; }

  *::-ms-backdrop, .cpn-box-inner {
    position: absolute !important;
    right: 30px !important;
    top: 40px !important; }

  *::-ms-backdrop, .cpn-box-inner img {
    width: 180px !important; }

  *::-ms-backdrop, .two-column {
    display: -moz-flex !important;
    display: -webkit-flex !important;
    display: -o-flex !important;
    display: -ms-flex !important;
    flex-wrap: wrap !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    flex-direction: row !important;
    align-items: center !important;
    flex: 1 0 auto !important; }

  *::-ms-backdrop, .two-column .column-item p.iepos2 {
    padding-right: 30px !important; }

  *::-ms-backdrop, .two-column-width {
    align-items: stretch !important; }

  *::-ms-backdrop, .two-column-top {
    align-items: stretch !important; }

  *::-ms-backdrop, .two-column-width .column-item {
    width: 45% !important;
    flex-direction: column !important;
    min-height: 0% !important;
    max-width: 100%;
    display: block !important; }

  *::-ms-backdrop, .two-column .column-item img.iepos {
    padding-top: 30px !important; }

  *::-ms-backdrop, .two-column-top .column-item {
    width: 45% !important;
    flex-direction: column !important;
    min-height: 0% !important;
    max-width: 100%;
    display: block !important; }

  *::-ms-backdrop, .two-column-width .column-item img {
    width: 100% !important; }

  *::-ms-backdrop, .two-column .column-item {
    display: block !important;
    width: 50% !important;
    min-height: 0% !important;
    max-width: 100%;
    justify-content: space-around !important; }

  *::-ms-backdrop, a {
    text-decoration: none !important; }

  *::-ms-backdrop, .twitter-tweet {
    display: none !important; }

  *::-ms-backdrop, .tw-ie {
    display: block !important; } }
