@charset "UTF-8";
/* =============================================== */
/* =============================================== */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

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

html {
  font-size: 62.5%;
}

p {
  font-size: 1.3rem;
  line-height: 2.5rem;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
body {
  background-repeat: repeat;
  background-size: auto;
  background-attachment: fixed;
  background-image: url(../images/bg.jpg);
}

@media screen and (min-width: 768px) {
  .modaal-gallery-item {
    width: auto !important;
  }
}

@media screen and (min-width: 768px) {
  .modaal-gallery-item > img {
    width: auto !important;
    height: 100% !important;
    max-height: 800px !important;
  }
}

.modaal-content-container {
  padding: 2rem !important;
}

@media screen and (min-width: 768px) {
  .modaal-content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 3rem !important;
  }
}

.modaal-content-container > p {
  margin-bottom: 2rem;
}

@media screen and (min-width: 768px) {
  .modaal-content-container > p {
    width: 45%;
  }
}

@media screen and (min-width: 768px) {
  .modaal-content-container > dl {
    width: 55%;
    padding-top: 3rem;
    padding-left: 3rem;
    padding-bottom: 3rem;
  }
}

.modaal-content-container > dl > dt {
  margin-bottom: 2rem;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}

.modaal-content-container > dl > dd > p > span {
  display: block;
  margin-top: 1rem;
  padding: 1.5rem;
  font-size: 0.9em;
  background: #f5f5f5;
}

.modaal-content-container > dl > dd:nth-of-type(1) {
  margin-bottom: 1rem;
  text-align: center;
  font-size: 1.6rem;
}

.modaal-content-container > dl > dd:nth-of-type(1) > span {
  font-size: 1.3em;
}

.modaal-content-container > dl > dd:last-of-type {
  margin-top: 2rem;
}

.modaal-content-container > dl > dd:last-of-type > a {
  display: block;
  padding: 2.5rem;
  text-align: center;
  text-decoration: none;
  color: white;
  font-size: 1.6rem;
  font-weight: bold;
  border-radius: 1rem;
  background: #ff93b7;
}

@media screen and (min-width: 768px) {
  .modaal-content-container > div {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

.iziModal {
  width: 90% !important;
  max-width: 750px !important;
}

.iziModal-overlay {
  background-color: rgba(0, 0, 0, 0.9) !important;
}

.iziModal-navigate-prev {
  left: 0 !important;
  width: 50px !important;
  margin-left: 0 !important;
  background-position-y: 80% !important;
}

@media screen and (min-width: 768px) {
  .iziModal-navigate-prev {
    width: 84px !important;
    background-position-y: 50% !important;
  }
}

.iziModal-navigate-next {
  right: 0 !important;
  width: 50px !important;
  margin-right: 0 !important;
  background-position-y: 80% !important;
}

@media screen and (min-width: 768px) {
  .iziModal-navigate-next {
    width: 84px !important;
    background-position-y: 50% !important;
  }
}

/* =============================================== */
/* =============================================== */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

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

html {
  font-size: 62.5%;
}

p {
  font-size: 1.3rem;
  line-height: 2.5rem;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
body {
  background-repeat: repeat;
  background-size: auto;
  background-attachment: fixed;
  background-image: url(../images/bg.jpg);
}

@media screen and (min-width: 768px) {
  .modaal-gallery-item {
    width: auto !important;
  }
}

@media screen and (min-width: 768px) {
  .modaal-gallery-item > img {
    width: auto !important;
    height: 100% !important;
    max-height: 800px !important;
  }
}

.modaal-content-container {
  padding: 2rem !important;
}

@media screen and (min-width: 768px) {
  .modaal-content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 3rem !important;
  }
}

.modaal-content-container > p {
  margin-bottom: 2rem;
}

@media screen and (min-width: 768px) {
  .modaal-content-container > p {
    width: 45%;
  }
}

@media screen and (min-width: 768px) {
  .modaal-content-container > dl {
    width: 55%;
    padding-top: 3rem;
    padding-left: 3rem;
    padding-bottom: 3rem;
  }
}

.modaal-content-container > dl > dt {
  margin-bottom: 2rem;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}

.modaal-content-container > dl > dd > p > span {
  display: block;
  margin-top: 1rem;
  padding: 1.5rem;
  font-size: 0.9em;
  background: #f5f5f5;
}

.modaal-content-container > dl > dd:nth-of-type(1) {
  margin-bottom: 1rem;
  text-align: center;
  font-size: 1.6rem;
}

.modaal-content-container > dl > dd:nth-of-type(1) > span {
  font-size: 1.3em;
}

.modaal-content-container > dl > dd:last-of-type {
  margin-top: 2rem;
}

.modaal-content-container > dl > dd:last-of-type > a {
  display: block;
  padding: 2.5rem;
  text-align: center;
  text-decoration: none;
  color: white;
  font-size: 1.6rem;
  font-weight: bold;
  border-radius: 1rem;
  background: #ff93b7;
}

@media screen and (min-width: 768px) {
  .modaal-content-container > div {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

.iziModal {
  width: 90% !important;
  max-width: 750px !important;
}

.iziModal-overlay {
  background-color: rgba(0, 0, 0, 0.9) !important;
}

.iziModal-navigate-prev {
  left: 0 !important;
  width: 50px !important;
  margin-left: 0 !important;
  background-position-y: 80% !important;
}

@media screen and (min-width: 768px) {
  .iziModal-navigate-prev {
    width: 84px !important;
    background-position-y: 50% !important;
  }
}

.iziModal-navigate-next {
  right: 0 !important;
  width: 50px !important;
  margin-right: 0 !important;
  background-position-y: 80% !important;
}

@media screen and (min-width: 768px) {
  .iziModal-navigate-next {
    width: 84px !important;
    background-position-y: 50% !important;
  }
}

.l-wrap {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .l-wrap {
    background-size: 100%;
  }
}

.l-wrap > p > img {
  display: block;
  width: 100%;
  height: auto;
}

.l-article {
  margin-bottom: 8rem;
}

.l-tit {
  width: 100%;
  font-size: 2.6rem;
  text-align: center;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

@media screen and (min-width: 768px) {
  .l-tit {
    display: block;
  }
}

.l-tit > b {
  display: block;
  margin-top: 3rem;
  font-size: 7.6rem;
  font-family: linotype-didot, serif;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.1rem;
}

.l-tit.l-tit--sp {
  margin: 4rem 0;
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .l-tit.l-tit--sp {
    display: none;
  }
}

.l-tit.l-tit--sp > b {
  font-size: 4.5rem;
}

.l-header {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 2rem;
  height: 70px;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  background: white;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .l-header {
    height: auto;
    background: none;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}

.l-header .l-header__logo {
  width: 120px;
}

@media screen and (min-width: 768px) {
  .l-header .l-header__logo {
    width: 140px;
  }
}

.l-header .l-header__logo > a {
  display: block;
}

.l-header .l-header__logo > a > img {
  width: 100%;
  height: auto;
}

.l-header .l-header__btns > li {
  background: #ce171a;
}

.l-header .l-header__btns > li > a {
  display: block;
  text-align: center;
  text-decoration: none;
  color: white;
  padding: 1rem 0.6rem;
  font-size: 0.8rem;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

@media screen and (min-width: 768px) {
  .l-header .l-header__btns > li > a {
    padding: 2rem 4rem;
    font-size: 1.4rem;
  }
}

.l-header .l-tit {
  display: none;
}

@media screen and (min-width: 768px) {
  .l-header .l-tit {
    display: block;
  }
}

.l-header .l-tit > b {
  display: block;
  margin-top: 3rem;
  font-size: 7.6rem;
  font-family: linotype-didot, serif;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.1rem;
}

@media screen and (min-width: 768px) {
  .l-header .l-header__menu {
    width: 100%;
  }
}

.l-header .l-header__menu .l-header__menu__btn {
  position: relative;
  width: 30px;
  height: 20px;
  z-index: 10;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .l-header .l-header__menu .l-header__menu__btn {
    width: 40px;
    height: 26px;
  }
}

.l-header .l-header__menu .l-header__menu__btn > span {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  left: 0;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  background: #343434;
}

@media screen and (min-width: 768px) {
  .l-header .l-header__menu .l-header__menu__btn > span {
    display: none;
  }
}

.l-header .l-header__menu .l-header__menu__btn > span:nth-child(1) {
  top: 0;
}

.l-header .l-header__menu .l-header__menu__btn > span:nth-child(2) {
  top: 50%;
  margin-top: -1px;
}

.l-header .l-header__menu .l-header__menu__btn > span:nth-child(3) {
  bottom: 0;
}

.l-header .l-header__menu .l-header__menu__list {
  position: fixed;
  right: 0;
  top: 70px;
  height: 100%;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 100 !important;
  background: #ececec;
}

@media screen and (min-width: 768px) {
  .l-header .l-header__menu .l-header__menu__list {
    position: static;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    background: none;
  }
}

@media screen and (min-width: 768px) {
  .l-header .l-header__menu .l-header__menu__list > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.l-header .l-header__menu .l-header__menu__list > ul > li {
  line-height: 3rem;
}

.l-header .l-header__menu .l-header__menu__list > ul > li > a {
  display: block;
  padding: 1.4rem 2rem;
  text-decoration: none;
  font-size: 1.4rem;
  color: #343434;
  letter-spacing: 0.1rem;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

@media screen and (min-width: 768px) {
  .l-header .l-header__menu .l-header__menu__list > ul > li > a {
    color: black;
  }
}

.l-header .l-header__menu.ls-active .l-header__menu__btn > span:nth-child(1) {
  top: 0.9rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

@media screen and (min-width: 768px) {
  .l-header .l-header__menu.ls-active .l-header__menu__btn > span:nth-child(1) {
    top: 1.2rem;
  }
}

.l-header .l-header__menu.ls-active .l-header__menu__btn > span:nth-child(2) {
  opacity: 0;
  -webkit-transform: translateX(1rem);
          transform: translateX(1rem);
}

.l-header .l-header__menu.ls-active .l-header__menu__btn > span:nth-child(3) {
  bottom: 0.9rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {
  .l-header .l-header__menu.ls-active .l-header__menu__btn > span:nth-child(3) {
    bottom: 1.2rem;
  }
}

.l-header .l-header__menu.ls-active .l-header__menu__list {
  z-index: 100;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.l-header.fixed {
  position: fixed;
  top: 0;
  left: 0;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  height: 70px;
  background: white;
  z-index: 10;
}

@media screen and (min-width: 768px) {
  .l-header.fixed {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.l-header.fixed .l-header__logo {
  width: 120px;
}

@media screen and (min-width: 768px) {
  .l-header.fixed .l-header__logo {
    width: 180px;
    margin-right: 5rem;
  }
}

.l-header.fixed .l-tit {
  display: none;
}

@media screen and (min-width: 768px) {
  .l-header.fixed .l-header__btns {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: 30%;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

@media screen and (min-width: 768px) {
  .l-header.fixed .l-header__btns > li > a {
    padding: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-header.fixed .l-header__menu .l-header__menu__btn {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .l-header.fixed .l-header__menu .l-header__menu__list {
    margin-right: 3rem;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

.l-section {
  margin-top: -7rem;
  padding-top: 15rem;
  padding-bottom: 6rem;
}

@media screen and (min-width: 768px) {
  .l-section {
    margin-top: -20rem;
    padding-top: 20rem;
  }
}

.l-section .l-section__inner {
  position: relative;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
}

.l-section .l-section__lead {
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
  font-size: 16px;
}

.l-accordion .l-accordion__contents {
  display: none;
}

.l-accordion .l-accordion__btn {
  max-width: 500px;
  margin-top: 4rem;
}

.l-accordion .l-accordion__btn::after {
  right: 2.9rem;
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.l-accordion .l-accordion__btn.is-active::after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
}

.l-hero {
  margin-bottom: 6rem;
}

.l-hero .l-hero__img {
  margin-bottom: 4rem;
}

.l-hero .l-hero__txt {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2rem;
  padding-right: 2rem;
  text-align: center;
}

.l-sceneList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.l-sceneList .l-sceneList__item {
  -webkit-box-flex: 50%;
      -ms-flex: 50%;
          flex: 50%;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .l-sceneList .l-sceneList__item {
    -webkit-box-flex: 33.3%;
        -ms-flex: 33.3%;
            flex: 33.3%;
  }
}

@media screen and (min-width: 1200px) {
  .l-sceneList .l-sceneList__item {
    -webkit-box-flex: 25%;
        -ms-flex: 25%;
            flex: 25%;
  }
}

.l-sceneList .l-sceneList__item > button {
  position: relative !important;
  display: block !important;
  text-decoration: none !important;
  color: #afa882 !important;
  border: none !important;
  padding: 0 !important;
  text-align: left !important;
  background: white !important;
  cursor: pointer !important;
}

.l-sceneList .l-sceneList__item > button::before {
  display: block;
  content: "";
  position: absolute;
  right: 1rem;
  bottom: 1.5rem;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 1px solid #afa882;
  z-index: 1;
}

@media screen and (min-width: 1200px) {
  .l-sceneList .l-sceneList__item > button::before {
    right: 2.5rem;
    bottom: 2.5rem;
    width: 3rem;
    height: 3rem;
  }
}

.l-sceneList .l-sceneList__item > button::after {
  display: block;
  content: "";
  position: absolute;
  right: 2rem;
  bottom: 2.2rem;
  width: 3px;
  height: 3px;
  border-top: 1px solid #afa882;
  border-right: 1px solid #afa882;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

@media screen and (min-width: 1200px) {
  .l-sceneList .l-sceneList__item > button::after {
    right: 3.9rem;
    bottom: 3.4rem;
    width: 6px;
    height: 6px;
  }
}

.l-sceneList .l-sceneList__item > button > p > img {
  opacity: 0.3;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.l-sceneList .l-sceneList__item > button > dl {
  position: absolute;
  left: 1rem;
  bottom: 2rem;
  font-size: 1.1rem;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

@media screen and (min-width: 1200px) {
  .l-sceneList .l-sceneList__item > button > dl {
    left: 2rem;
    bottom: 3rem;
    font-size: 2rem;
  }
}

.l-sceneList .l-sceneList__item > button > dl > dt > span,
.l-sceneList .l-sceneList__item > button > dl > dd > span {
  padding: 0 0.5rem;
  background: white;
}

.l-sceneList .l-sceneList__item > button > dl > dd > span {
  line-height: 2rem;
  font-size: 1.3em;
}

@media screen and (min-width: 1200px) {
  .l-sceneList .l-sceneList__item > button > dl > dd > span {
    line-height: 3.6rem;
  }
}

.l-sceneList .l-sceneList__item:hover > button > p > img {
  opacity: 1;
  -webkit-filter: grayscale(0);
  -moz-filter: grayscale(0);
  -ms-filter: grayscale(0);
  -o-filter: grayscale(0);
  filter: grayscale(0);
}

.l-studio__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .l-studio__list {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.l-studio__list .l-studio__list__item {
  width: 48%;
  margin-bottom: 3rem;
}

@media screen and (min-width: 768px) {
  .l-studio__list .l-studio__list__item {
    width: 23%;
  }
}

@media screen and (min-width: 768px) {
  .l-studio__list .l-studio__list__item:not(:nth-child(4n + 4)) {
    margin-right: 2.6%;
  }
}

.l-studio__list .l-studio__list__item > p {
  width: 100%;
  margin-bottom: 1rem;
}

@media screen and (min-width: 768px) {
  .l-studio__list .l-studio__list__item > p {
    margin-bottom: 0;
  }
}

.l-studio__list .l-studio__list__item > dl {
  width: 100%;
  padding: 1rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-studio__list .l-studio__list__item > dl {
    padding: 2rem;
  }
}

.l-studio__list .l-studio__list__item > dl > dt {
  font-size: 1.3rem;
  margin-bottom: 1rem;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

@media screen and (min-width: 768px) {
  .l-studio__list .l-studio__list__item > dl > dt {
    margin-bottom: 2rem;
    font-size: 1.8rem;
  }
}

.l-studio__list .l-studio__list__item > dl > dd:nth-of-type(1) {
  min-height: 30px;
  font-size: 0.7rem;
  line-height: 1.4rem;
  margin-bottom: 1rem;
}

@media screen and (min-width: 768px) {
  .l-studio__list .l-studio__list__item > dl > dd:nth-of-type(1) {
    margin-bottom: 2rem;
    min-height: 50px;
    font-size: 1.3rem;
    line-height: 2.4rem;
  }
}

.l-studio__list .l-studio__list__item > dl > dd:nth-of-type(2) {
  margin-bottom: 1rem;
}

@media screen and (min-width: 768px) {
  .l-studio__list .l-studio__list__item > dl > dd:nth-of-type(2) {
    margin-bottom: 2rem;
  }
}

.l-studio__list .l-studio__list__item > dl > dd:nth-of-type(2) > a {
  font-size: 1.4rem;
  color: #afa882;
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .l-studio__list .l-studio__list__item > dl > dd:nth-of-type(2) > a {
    font-size: 2.2rem;
  }
}

.l-studio__list .l-studio__list__item > dl > dd:nth-of-type(3) {
  margin-bottom: 1rem;
}

@media screen and (min-width: 768px) {
  .l-studio__list .l-studio__list__item > dl > dd:nth-of-type(3) {
    margin-bottom: 2rem;
  }
}

.l-studio__list .l-studio__list__item > dl > dd:nth-of-type(3) > a {
  padding: 1.5rem;
  font-size: 0.9rem;
}

@media screen and (min-width: 768px) {
  .l-studio__list .l-studio__list__item > dl > dd:nth-of-type(3) > a {
    padding: 2rem;
    font-size: 1.3rem;
  }
}

.l-studio__list .l-studio__list__item > dl > dd:nth-of-type(3) > a::before {
  right: 1rem;
  width: 1.4rem;
  height: 1.4rem;
}

@media screen and (min-width: 768px) {
  .l-studio__list .l-studio__list__item > dl > dd:nth-of-type(3) > a::before {
    right: 2rem;
    width: 2.2rem;
    height: 2.2rem;
  }
}

.l-studio__list .l-studio__list__item > dl > dd:nth-of-type(3) > a::after {
  right: 1.7rem;
  width: 3px;
  height: 3px;
}

@media screen and (min-width: 768px) {
  .l-studio__list .l-studio__list__item > dl > dd:nth-of-type(3) > a::after {
    right: 3rem;
    width: 5px;
    height: 5px;
  }
}

.l-studio__list .l-studio__list__item > dl > dd:nth-of-type(4) > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.l-studio__list .l-studio__list__item > dl > dd:nth-of-type(4) > ul > li > a {
  color: #343434;
  font-size: 0.9rem;
}

@media screen and (min-width: 768px) {
  .l-studio__list .l-studio__list__item > dl > dd:nth-of-type(4) > ul > li > a {
    font-size: 1.3rem;
  }
}

.l-faq .l-faq__list {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.l-faq .l-faq__list .l-faq__item {
  margin-bottom: 3rem;
}

.l-faq .l-faq__list .l-faq__item .l-faq__item__tit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 2rem;
  padding: 2rem;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
  font-size: 1.6rem;
  background: #e7e7e0;
}

.l-faq .l-faq__list .l-faq__item .l-faq__item__tit::before {
  display: block;
  content: attr(data-number);
  margin-right: 1rem;
  color: #afa882;
  font-family: linotype-didot, serif;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.1rem;
  font-size: 1.3em;
  font-style: oblique;
}

.l-limitedCampaign {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 80px;
  text-align: center;
  letter-spacing: 4px !important;
}

.l-limitedCampaign > dl {
  display: inline-block;
  padding: 20px;
  background-color: #ececec;
  letter-spacing: 1px;
}

@media screen and (min-width: 768px) {
  .l-limitedCampaign > dl {
    padding: 50px 30px 30px;
  }
}

.l-limitedCampaign > dl > dt {
  position: relative;
  margin-bottom: 60px;
  font-size: 18px;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

@media screen and (min-width: 768px) {
  .l-limitedCampaign > dl > dt {
    font-size: 24px;
  }
}

.l-limitedCampaign > dl > dt::before {
  content: attr(data-en);
  position: absolute;
  -webkit-transform: rotate(-5deg);
          transform: rotate(-5deg);
  top: -20px;
  right: 0;
  color: rgba(224, 66, 114, 0.6);
  font-size: 40px;
  font-weight: 400;
  opacity: 0.4;
  font-family: luxus-brut, cursive;
  font-style: italic;
}

@media screen and (min-width: 768px) {
  .l-limitedCampaign > dl > dt::before {
    font-size: 80px;
  }
}

.l-limitedCampaign > dl > dt::after {
  display: block;
  content: "";
  position: absolute;
  left: 50%;
  bottom: -50px;
  width: 1px;
  height: 30px;
  background-color: #343434;
}

.l-limitedCampaign > dl > dt > span {
  display: -ms-grid;
  display: grid;
  place-items: center;
  position: absolute;
  left: -10px;
  top: -70px;
  width: 65px;
  height: 65px;
  color: white;
  font-size: 12px;
  line-height: 1.4em;
  letter-spacing: 3px;
  border-radius: 50%;
  background-color: #ce171a;
}

@media screen and (min-width: 768px) {
  .l-limitedCampaign > dl > dt > span {
    left: -80px;
    top: -80px;
    width: 100px;
    height: 100px;
    font-size: 18px;
  }
}

.l-limitedCampaign > dl > dt > span::before {
  content: "";
  position: absolute;
  top: 85%;
  left: 85%;
  margin-top: -10px;
  -webkit-transform: rotate(38deg);
          transform: rotate(38deg);
  border: 10px solid transparent;
  border-left: 10px solid #ce171a;
}

.l-limitedCampaign > dl > dd {
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

.l-limitedCampaign > dl > dd:not(:last-of-type) {
  margin-bottom: 30px;
}

.l-limitedCampaign > dl > dd:last-of-type {
  margin-top: 30px;
}

.l-limitedCampaign > dl > dd.l-limitedCampaign__period > small {
  display: block;
  margin-top: 10px;
  font-size: 12px;
}

.l-limitedCampaign > dl > dd.l-limitedCampaign__period > small > span {
  display: block;
}

.l-limitedCampaign > dl > dd.l-limitedCampaign__contents {
  margin-bottom: 30px;
}

@media screen and (min-width: 768px) {
  .l-limitedCampaign > dl > dd.l-limitedCampaign__contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 30px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.l-limitedCampaign > dl > dd.l-limitedCampaign__contents > figure,
.l-limitedCampaign > dl > dd.l-limitedCampaign__contents > div {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.l-limitedCampaign > dl > dd.l-limitedCampaign__contents > div {
  margin-bottom: 30px;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .l-limitedCampaign > dl > dd.l-limitedCampaign__contents > div {
    margin-bottom: 0;
  }
}

.l-limitedCampaign > dl > dd.l-limitedCampaign__contents > div > div {
  margin-bottom: 20px;
  font-size: 18px;
  line-height: 2;
}

.l-limitedCampaign > dl > dd.l-limitedCampaign__contents > div > div > span {
  display: block;
  font-size: 1.4em;
  color: #ff93b7;
}

.l-limitedCampaign > dl > dd.l-limitedCampaign__contents > div > div > span > b {
  font-size: 1.4em;
}

.l-limitedCampaign > dl > dd.l-limitedCampaign__contents > div > ul > li {
  display: inline-block;
  position: relative;
  margin: 8px;
  padding: 10px;
  font-size: 14px;
  font-weight: bold;
  border-radius: 5px;
  background-color: white;
}

.l-limitedCampaign > dl > dd.l-limitedCampaign__contents > div > ul > li > b {
  color: #ff93b7;
}

.l-limitedCampaign > dl > dd.l-limitedCampaign__contents > div > ul > li:not(:first-child)::before {
  display: inline-block;
  content: "＋";
  position: absolute;
  left: -18px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.l-limitedCampaign > dl > dd.l-limitedCampaign__img {
  margin-bottom: 20px;
}

.l-limitedCampaign > dl > dd.l-limitedCampaign__txt {
  display: inline;
  position: relative;
  font-size: 18px;
  font-style: oblique;
  line-height: 2em;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(70%, rgba(0, 0, 0, 0)), color-stop(70%, #ffb4ca));
  background-image: linear-gradient(rgba(0, 0, 0, 0) 70%, #ffb4ca 70%);
}

@media screen and (min-width: 768px) {
  .l-limitedCampaign > dl > dd.l-limitedCampaign__txt {
    font-size: 24px;
  }
}

.l-campaign .l-campaign__tit {
  margin-bottom: 3rem;
  font-size: 2rem;
  text-align: center;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__tit {
    font-size: 3.2rem;
  }
}

.l-campaign .l-campaign__tit > span {
  position: relative;
}

.l-campaign .l-campaign__tit .l-campaign__intro__heptagon {
  position: absolute;
  left: -3rem;
  top: -9rem;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__tit .l-campaign__intro__heptagon {
    left: -15rem;
    top: -5rem;
  }
}

.l-campaign .l-campaign__block {
  margin-bottom: 10rem;
}

.l-campaign .l-campaign__block .l-campaign__intro {
  margin-bottom: 4rem;
  text-align: center;
}

.l-campaign .l-campaign__block .l-campaign__intro .l-campaign__intro__txt {
  margin-bottom: 3rem;
  font-size: 1.4rem;
  line-height: 2.6rem;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__block .l-campaign__intro .l-campaign__intro__txt {
    font-size: 2.2rem;
    line-height: 4rem;
  }
}

.l-campaign .l-campaign__block .l-campaign__intro .l-campaign__intro__period {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  padding: 2rem;
  font-size: 1.4rem;
  background: #ececec;
}

.l-campaign .l-campaign__block .l-campaign__list .l-campaign__list__box > h4 {
  margin-bottom: 40px;
  font-size: 24px;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__block .l-campaign__list .l-campaign__list__box > div {
    grid-gap: 0 4%;
    -ms-grid-columns: (minmax(48%, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(48%, 1fr));
  }
}

.l-campaign .l-campaign__block .l-campaign__list .l-campaign__list__box:not(:last-child) {
  margin-bottom: 60px;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__block .l-campaign__list .l-campaign__list__box:first-child > div {
    grid-gap: 0 2%;
    -ms-grid-columns: (minmax(49%, 49%))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(49%, 49%));
  }
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 180px;
  text-align: center;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > div .l-campaign__block__item__tit {
  line-height: 1.8;
  font-size: 2.4rem;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
  color: #afa882;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > div .l-campaign__block__item__tit > span {
  display: block;
  font-size: 16px;
  color: #343434;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > div .l-campaign__block__item__tit > span > small {
  display: block;
  font-size: 12px;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > div .l-campaign__block__item__discount {
  margin-top: 30px;
  font-size: 16px;
  line-height: 1.8;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > div .l-campaign__block__item__discount > span::before {
  display: inline-block;
  content: "▶︎";
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > div .l-campaign__block__item__discount > span > b {
  margin-left: 5px;
  color: #afa882;
  font-size: 1.4em;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > div > ul {
  padding: 15px;
  background-color: #ececec;
  margin-top: 30px;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > div > ul > li {
  display: inline-block;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 8px;
  padding: 10px;
  font-size: 12px;
  font-weight: bold;
  position: relative;
  border-radius: 5px;
  background-color: white;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__block .l-campaign__block__item > dd > div > ul > li {
    font-size: 14px;
  }
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > div > ul > li:not(:first-child)::before {
  display: block;
  content: "＋";
  position: absolute;
  left: -16px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > div > p {
  margin-top: 10px;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > dl {
  width: 100%;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dt {
  margin-bottom: 4rem;
  font-size: 2.4rem;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
  color: #afa882;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dd > small {
  display: block;
  font-size: 1.3rem;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dd:first-of-type {
  margin-bottom: 2rem;
  font-size: 1.8rem;
  line-height: 1.6em;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dd:nth-of-type(2), .l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dd:nth-of-type(3) {
  font-size: 1.6rem;
  line-height: 3.2rem;
  text-decoration: underline;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dd.l-campaign__block__item__price {
  font-size: 1.9em;
  text-decoration: none !important;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dd.l-campaign__block__item__price > b > span {
  color: #afa882;
  font-size: 1.4em;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dd.l-campaign__block__item__prices {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dd.l-campaign__block__item__prices > dl {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dd.l-campaign__block__item__prices > dl:not(:last-of-type) {
  margin-bottom: 3rem;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dd.l-campaign__block__item__prices > dl:not(:last-of-type) {
    margin-bottom: 0;
  }
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dd.l-campaign__block__item__prices > dl > dt {
  font-size: 1.5rem;
  font-weight: bold;
  color: #343434;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dd.l-campaign__block__item__prices > dl > dt > span {
  display: inline-block;
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #343434;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dd.l-campaign__block__item__prices > dl > dt > span > small {
  font-size: 0.8em;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dd.l-campaign__block__item__prices > dl > dd > p {
  font-size: 1.5rem;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > dl > dd.l-campaign__block__item__prices > dl > dd > p > span {
  margin-left: 1rem;
}

.l-campaign .l-campaign__block .l-campaign__block__item > dd > ul {
  width: 100%;
  margin-top: 2rem;
}

.l-campaign .l-campaign__block .l-campaign__block__outro {
  margin-left: 2rem;
  margin-right: 2rem;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__location .l-campaign__location__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__location .l-campaign__location__item .l-campaign__location__item__img {
    width: 48%;
  }
}

.l-campaign .l-campaign__location .l-campaign__location__item > dl {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 2rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__location .l-campaign__location__item > dl {
    padding: 0;
  }
}

.l-campaign .l-campaign__location .l-campaign__location__item > dl > dt {
  margin-bottom: 4rem;
  font-weight: normal;
  font-size: 2.4rem;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__location .l-campaign__location__item > dl > dt {
    font-size: 3rem;
  }
}

.l-campaign .l-campaign__location .l-campaign__location__item > dl > dd > div {
  margin-bottom: 1.5rem;
  font-size: 2.2rem;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
  color: #afa882;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__location .l-campaign__location__item > dl > dd > div {
    font-size: 3.4rem;
  }
}

.l-campaign .l-campaign__location .l-campaign__location__item > dl > dd > p {
  margin-bottom: 4rem;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__location .l-campaign__location__item > dl > dd > p {
    font-size: 1.6rem;
  }
}

.l-campaign .l-campaign__location .l-campaign__location__item:nth-child(1) {
  margin-bottom: 6rem;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__location .l-campaign__location__item:nth-child(1) > dl {
    margin-left: 5.5rem;
    margin-right: 10rem;
  }
}

.l-campaign .l-campaign__location .l-campaign__location__item:nth-child(2) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__location .l-campaign__location__item:nth-child(2) > dl {
    margin-left: 10rem;
    margin-right: 5.5rem;
  }
}

.l-campaign .l-campaign__option .l-campaign__option__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 5rem;
}

.l-campaign .l-campaign__option .l-campaign__option__list > li {
  position: relative;
  width: 47%;
  height: 47%;
  padding: 24%;
  border-radius: 50%;
  margin-bottom: 2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #e7e7e0;
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__option .l-campaign__option__list > li {
    width: 21%;
    height: 21%;
    padding: 11%;
    font-size: 1.4rem;
  }
}

.l-campaign .l-campaign__option .l-campaign__option__list > li::before {
  display: block;
  content: attr(data-number);
  position: absolute;
  left: 50%;
  top: -2rem;
  color: #afa882;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 3.6rem;
  font-style: oblique;
  font-family: linotype-didot, serif;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.1rem;
}

.l-campaign .l-campaign__option .l-campaign__option__list > li > span {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  line-height: 2.5rem;
  text-align: center;
}

.l-campaign .l-campaign__option .l-campaign__option__list > li > span > span {
  display: block;
}

.l-campaign .l-campaign__option .l-campaign__option__list > li .l-campaign__intro__heptagon {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: -5rem;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__option .l-campaign__option__list > li .l-campaign__intro__heptagon {
    left: auto;
    right: -3rem;
    top: -3rem;
    bottom: auto;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

.l-campaign .l-campaign__option .l-campaign__option__list > li > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  right: -2rem;
  top: -3rem;
  width: 75px;
  height: 75px;
  line-height: 1.4em;
  font-size: 1rem;
  font-weight: bold;
  color: white;
  border-radius: 50%;
  background-color: #ce171a;
}

@media screen and (min-width: 768px) {
  .l-campaign .l-campaign__option .l-campaign__option__list > li > div {
    right: -1rem;
    width: 100px;
    height: 100px;
    font-size: 1.3rem;
  }
}

.l-campaign .l-campaign__option .l-campaign__option__list > li > div::before {
  display: block;
  content: "";
  position: absolute;
  top: 90%;
  left: 3px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  margin-top: -8px;
  border: 8px solid transparent;
  border-right: 8px solid #ce171a;
}

.l-campaign .l-campaign__option .l-campaign__option__list > li > div > b {
  display: block;
  font-size: 1.2em;
}

.l-campaign .l-campaign__option .l-campaign__option__sub .l-campaign__option__sub__item > dt {
  padding: 2rem 0;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
  text-align: center;
  border-top: 1px solid #343434;
  border-bottom: 1px solid #343434;
  font-size: 2.4rem;
}

.l-campaign .l-campaign__option .l-campaign__option__sub .l-campaign__option__sub__item > dd > ul > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  line-height: 4.2rem;
  font-size: 1.4rem;
}

.l-campaign .l-campaign__option .l-campaign__option__sub .l-campaign__option__sub__item > dd > ul > li:not(:last-child) {
  border-bottom: 1px solid #343434;
}

.l-campaign .l-plan__setPlanBox:first-of-type {
  margin-top: 4rem;
}

.l-campaign .l-plan__setPlanBox:not(:last-of-type) {
  margin-bottom: 4rem;
}

@media screen and (min-width: 768px) {
  .l-flow .l-flow__list .l-flow__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.l-flow .l-flow__list .l-flow__item:not(:last-child) {
  margin-bottom: 4rem;
}

.l-flow .l-flow__list .l-flow__item .l-flow__item__tit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
  padding: 1.5rem;
  text-align: center;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
  font-size: 2.2rem;
  background: #e7e7e0;
}

@media screen and (min-width: 768px) {
  .l-flow .l-flow__list .l-flow__item .l-flow__item__tit {
    width: 35%;
    margin-bottom: 0;
    padding: 3rem;
  }
}

.l-flow .l-flow__list .l-flow__item .l-flow__item__tit::before {
  display: block;
  margin-bottom: 1rem;
  font-family: linotype-didot, serif;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.1rem;
  font-style: oblique;
  color: #afa882;
  content: attr(data-number);
}

@media screen and (min-width: 768px) {
  .l-flow .l-flow__list .l-flow__item .l-flow__item__txt {
    width: 61%;
  }
}

.l-voice .l-voice__item > dd > dl > dt {
  margin-bottom: 2rem;
  text-align: center;
  line-height: 3.8rem;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
  font-size: 2.4rem;
}

.l-voice .l-voice__item > dd > dl > dd > p > span {
  display: block;
  margin-top: 1rem;
  font-weight: bold;
  color: #afa882;
}

.buttonBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2rem;
}

@media screen and (min-width: 768px) {
  .buttonBox {
    margin-bottom: 3rem;
  }
}

.buttonBox .button {
  width: calc(100% / 2);
  margin-right: 26px;
  padding: 2rem;
  font-size: 1.6rem;
  color: #333;
  text-align: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background: #ececec;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

@media screen and (min-width: 768px) {
  .buttonBox .button {
    padding: 3rem;
  }
}

.buttonBox .button:last-child {
  margin-right: 0;
}

.buttonBox .button:hover {
  background-color: #afa882;
  color: #fff;
  cursor: pointer;
}

.buttonBox .button.tab-active {
  background-color: #afa882;
  color: #fff;
}

.contents {
  margin-bottom: 3rem;
}

.contents .tab-content {
  text-align: left;
}

[id="tab2"] {
  display: none;
}

#l-footer {
  position: relative;
  height: 420px;
  background: #343434;
}

@media screen and (min-width: 768px) {
  #l-footer {
    height: 340px;
  }
}

#l-footer .l-footer__floating {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  #l-footer .l-footer__floating {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1rem;
    background: white;
  }
}

@media screen and (min-width: 768px) {
  #l-footer .l-footer__floating > p,
  #l-footer .l-footer__floating > div {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

#l-footer .l-footer__floating > p {
  text-align: center;
}

#l-footer .l-footer__conversion {
  position: absolute;
  left: 50%;
  top: -5rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  margin-top: -4rem;
  padding: 2rem;
  border: none !important;
  background: white;
}

@media screen and (min-width: 768px) {
  #l-footer .l-footer__conversion {
    top: -4rem;
    padding: 3rem;
  }
}

#l-footer .l-footer__copy {
  position: absolute;
  left: 0;
  bottom: 2rem;
  width: 100%;
  text-align: center;
  color: white;
}

/* =============================================== */
/* =============================================== */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

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

html {
  font-size: 62.5%;
}

p {
  font-size: 1.3rem;
  line-height: 2.5rem;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
body {
  background-repeat: repeat;
  background-size: auto;
  background-attachment: fixed;
  background-image: url(../images/bg.jpg);
}

@media screen and (min-width: 768px) {
  .modaal-gallery-item {
    width: auto !important;
  }
}

@media screen and (min-width: 768px) {
  .modaal-gallery-item > img {
    width: auto !important;
    height: 100% !important;
    max-height: 800px !important;
  }
}

.modaal-content-container {
  padding: 2rem !important;
}

@media screen and (min-width: 768px) {
  .modaal-content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 3rem !important;
  }
}

.modaal-content-container > p {
  margin-bottom: 2rem;
}

@media screen and (min-width: 768px) {
  .modaal-content-container > p {
    width: 45%;
  }
}

@media screen and (min-width: 768px) {
  .modaal-content-container > dl {
    width: 55%;
    padding-top: 3rem;
    padding-left: 3rem;
    padding-bottom: 3rem;
  }
}

.modaal-content-container > dl > dt {
  margin-bottom: 2rem;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}

.modaal-content-container > dl > dd > p > span {
  display: block;
  margin-top: 1rem;
  padding: 1.5rem;
  font-size: 0.9em;
  background: #f5f5f5;
}

.modaal-content-container > dl > dd:nth-of-type(1) {
  margin-bottom: 1rem;
  text-align: center;
  font-size: 1.6rem;
}

.modaal-content-container > dl > dd:nth-of-type(1) > span {
  font-size: 1.3em;
}

.modaal-content-container > dl > dd:last-of-type {
  margin-top: 2rem;
}

.modaal-content-container > dl > dd:last-of-type > a {
  display: block;
  padding: 2.5rem;
  text-align: center;
  text-decoration: none;
  color: white;
  font-size: 1.6rem;
  font-weight: bold;
  border-radius: 1rem;
  background: #ff93b7;
}

@media screen and (min-width: 768px) {
  .modaal-content-container > div {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

.iziModal {
  width: 90% !important;
  max-width: 750px !important;
}

.iziModal-overlay {
  background-color: rgba(0, 0, 0, 0.9) !important;
}

.iziModal-navigate-prev {
  left: 0 !important;
  width: 50px !important;
  margin-left: 0 !important;
  background-position-y: 80% !important;
}

@media screen and (min-width: 768px) {
  .iziModal-navigate-prev {
    width: 84px !important;
    background-position-y: 50% !important;
  }
}

.iziModal-navigate-next {
  right: 0 !important;
  width: 50px !important;
  margin-right: 0 !important;
  background-position-y: 80% !important;
}

@media screen and (min-width: 768px) {
  .iziModal-navigate-next {
    width: 84px !important;
    background-position-y: 50% !important;
  }
}

.c-floating {
  position: fixed;
  right: 1rem;
  bottom: 0;
  width: 120px;
  height: 120px;
}

@media screen and (min-width: 768px) {
  .c-floating {
    right: 2rem;
    width: 170px;
    height: 170px;
  }
}

.c-floating > a {
  display: block;
}

.c-floating > a > img {
  width: 100%;
  height: auto;
}

.c-list {
  width: 100%;
  margin-top: 4rem;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

.c-list > div {
  position: relative;
  color: #343434;
  margin-bottom: 2rem;
  font-size: 1.8rem;
  text-align: center;
}

.c-list > div::before {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 50px;
  height: 1px;
  margin-right: 20px;
  background-color: #343434;
}

@media screen and (min-width: 768px) {
  .c-list > div::before {
    width: 150px;
  }
}

.c-list > div::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 50px;
  height: 1px;
  margin-left: 20px;
  background-color: #343434;
}

@media screen and (min-width: 768px) {
  .c-list > div::after {
    width: 150px;
  }
}

.c-list > ul {
  display: -ms-grid;
  display: grid;
  grid-gap: 20px 4%;
}

.c-list > ul > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 1rem;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4em;
  color: #343434;
  background-color: #ececec;
  border-radius: 5px;
}

@media screen and (min-width: 768px) {
  .c-list > ul > li {
    padding: 2rem 1rem;
    font-size: 1.4rem;
  }
}

.c-list > ul > li::before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  content: "＋";
  top: 50%;
  line-height: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}

.c-list > ul > li:last-child::before {
  display: none !important;
}

.c-list.c-list--indentNone > ul {
  -ms-grid-columns: (minmax(0, 30.66%))[auto-fit];
      grid-template-columns: repeat(auto-fit, minmax(0, 30.66%));
}

@media screen and (min-width: 768px) {
  .c-list.c-list--indentNone > ul {
    -ms-grid-columns: (minmax(0, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  }
}

.c-list.c-list--indentNone > ul > li::before {
  left: 100%;
}

@media screen and (min-width: 768px) {
  .c-list.c-list--indentNone > ul > li::before {
    left: 110%;
  }
}

.c-list.c-list--indentNone > ul > li:nth-child(3n+3)::before {
  display: none;
}

@media screen and (min-width: 768px) {
  .c-list.c-list--indentNone > ul > li:nth-child(3n+3)::before {
    display: block;
  }
}

.c-list.c-list--indent > ul {
  -ms-grid-columns: (minmax(0, 30.66%))[auto-fit];
      grid-template-columns: repeat(auto-fit, minmax(0, 30.66%));
}

.c-list.c-list--indent > ul > li::before {
  left: 100%;
}

@media screen and (min-width: 768px) {
  .c-list.c-list--indent > ul > li::before {
    left: 103%;
  }
}

.c-list.c-list--indent > ul > li:nth-child(3n+3)::before {
  display: none;
}

/* =============================================== */
/* =============================================== */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

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

html {
  font-size: 62.5%;
}

p {
  font-size: 1.3rem;
  line-height: 2.5rem;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
/* =============================================== */
body {
  background-repeat: repeat;
  background-size: auto;
  background-attachment: fixed;
  background-image: url(../images/bg.jpg);
}

@media screen and (min-width: 768px) {
  .modaal-gallery-item {
    width: auto !important;
  }
}

@media screen and (min-width: 768px) {
  .modaal-gallery-item > img {
    width: auto !important;
    height: 100% !important;
    max-height: 800px !important;
  }
}

.modaal-content-container {
  padding: 2rem !important;
}

@media screen and (min-width: 768px) {
  .modaal-content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 3rem !important;
  }
}

.modaal-content-container > p {
  margin-bottom: 2rem;
}

@media screen and (min-width: 768px) {
  .modaal-content-container > p {
    width: 45%;
  }
}

@media screen and (min-width: 768px) {
  .modaal-content-container > dl {
    width: 55%;
    padding-top: 3rem;
    padding-left: 3rem;
    padding-bottom: 3rem;
  }
}

.modaal-content-container > dl > dt {
  margin-bottom: 2rem;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}

.modaal-content-container > dl > dd > p > span {
  display: block;
  margin-top: 1rem;
  padding: 1.5rem;
  font-size: 0.9em;
  background: #f5f5f5;
}

.modaal-content-container > dl > dd:nth-of-type(1) {
  margin-bottom: 1rem;
  text-align: center;
  font-size: 1.6rem;
}

.modaal-content-container > dl > dd:nth-of-type(1) > span {
  font-size: 1.3em;
}

.modaal-content-container > dl > dd:last-of-type {
  margin-top: 2rem;
}

.modaal-content-container > dl > dd:last-of-type > a {
  display: block;
  padding: 2.5rem;
  text-align: center;
  text-decoration: none;
  color: white;
  font-size: 1.6rem;
  font-weight: bold;
  border-radius: 1rem;
  background: #ff93b7;
}

@media screen and (min-width: 768px) {
  .modaal-content-container > div {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

.iziModal {
  width: 90% !important;
  max-width: 750px !important;
}

.iziModal-overlay {
  background-color: rgba(0, 0, 0, 0.9) !important;
}

.iziModal-navigate-prev {
  left: 0 !important;
  width: 50px !important;
  margin-left: 0 !important;
  background-position-y: 80% !important;
}

@media screen and (min-width: 768px) {
  .iziModal-navigate-prev {
    width: 84px !important;
    background-position-y: 50% !important;
  }
}

.iziModal-navigate-next {
  right: 0 !important;
  width: 50px !important;
  margin-right: 0 !important;
  background-position-y: 80% !important;
}

@media screen and (min-width: 768px) {
  .iziModal-navigate-next {
    width: 84px !important;
    background-position-y: 50% !important;
  }
}

.p-appear--SP {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-appear--SP {
    display: none;
  }
}

.p-appear--PC {
  display: none;
}

@media screen and (min-width: 768px) {
  .p-appear--PC {
    display: block;
  }
}

/* =============================================== */
/* =============================================== */
.p-lineCharacter {
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}

.p-lineCharacter > span {
  display: block;
  color: rgba(0, 0, 0, 0);
  -webkit-text-stroke: 0.3px #343434;
  text-stroke: 0.3px #343434;
}

.p-sectionTit {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3rem;
  font-size: 3.4rem;
  text-align: center;
  background: #da9580;
  background: -webkit-gradient(linear, left top, right top, from(#da9580), color-stop(16%, #e1bc86), color-stop(33%, #ffde96), color-stop(50%, #8ab992), color-stop(67%, #88a1c7), color-stop(84%, #8a80af), to(#b48cb2));
  background: linear-gradient(90deg, #da9580 0%, #e1bc86 16%, #ffde96 33%, #8ab992 50%, #88a1c7 67%, #8a80af 84%, #b48cb2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-sectionTxt {
  margin-bottom: 3rem;
  text-align: center;
}

.p-sectionTit--JP {
  text-align: center;
  line-height: 1.4rem;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}

@media screen and (min-width: 768px) {
  .p-sectionTit--JP {
    font-size: 1.8rem;
    line-height: 2.6rem;
  }
}

.p-sectionTit--JP > span {
  display: block;
  margin-top: 0.5rem;
  font-size: 2.2rem;
  line-height: 3.2rem;
  color: rgba(0, 0, 0, 0);
  text-shadow: -1.5px -1.5px 0 #343434;
  -webkit-text-stroke: 0.8px #343434;
  text-stroke: 0.8px #343434;
  padding: 0 0 10px;
}

@media screen and (min-width: 768px) {
  .p-sectionTit--JP > span {
    margin-top: 1.5rem;
    font-size: 4rem;
    line-height: 4.8rem;
  }
}

.p-sectionTit--JP > span > b {
  font-size: 1.4em;
}

.p-sectionTit--EN {
  text-align: center;
  line-height: 1.4rem;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}

@media screen and (min-width: 768px) {
  .p-sectionTit--EN {
    font-size: 1.8rem;
    line-height: 2.6rem;
  }
}

.p-sectionTit--EN::before {
  display: block;
  content: attr(data-title);
  margin-bottom: 1rem;
  font-size: 2.8rem;
  color: #ff93b7;
  font-family: bely-display, sans-serif;
  font-weight: 400;
  font-style: normal;
}

@media screen and (min-width: 768px) {
  .p-sectionTit--EN::before {
    font-size: 4rem;
    line-height: 4.8rem;
  }
}

/* =============================================== */
/* =============================================== */
.p-cardItem {
  position: relative;
}

.p-cardItem::before {
  display: block;
  position: absolute;
  content: attr(data-number);
  left: 0;
  top: -2rem;
  color: #ff93b7;
  font-size: 3.2rem;
  font-family: bely-display, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.p-cardItem .p-cardItem__img {
  width: 100%;
  margin-bottom: 2rem;
}

.p-cardItem .p-cardItem__img > span {
  display: block;
  position: relative;
  margin-bottom: -3rem;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-cardItem .p-cardItem__img > span {
    margin-bottom: -4.5rem;
  }
}

.p-cardItem .p-cardItem__tit {
  font-size: 1.8rem;
  margin-bottom: 2rem;
  line-height: 2.6rem;
  color: #343434;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-cardsList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (min-width: 768px) {
  .p-cardsList .p-cardItem {
    width: 47%;
  }
}

.p-cardsList .p-cardItem:not(:last-child) {
  margin-bottom: 6rem;
}

@media screen and (min-width: 768px) {
  .p-cardsList.p-cardsList--sub .p-cardItem:nth-child(even) {
    margin-top: 25rem;
  }
}

.p-blockTits .p-blockTits__copy {
  margin-bottom: 2rem;
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: 0.2rem;
}

@media screen and (min-width: 768px) {
  .p-blockTits .p-blockTits__copy {
    font-size: 1.8rem;
  }
}

.p-blockTits .p-blockTits__copy > div {
  padding-right: 1.5rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.p-blockTits .p-blockTits__copy > div > span {
  padding: 1.5rem;
  background: white;
}

.p-blockTits .p-blockTits__copy > div > span > span {
  color: #ff8c00;
  background: -webkit-linear-gradient(0deg, #ff6196, #80c2c9);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-blockTits .p-blockTits__tit {
  font-size: 2rem;
  line-height: 3.2rem;
  color: #343434;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}

@media screen and (min-width: 768px) {
  .p-blockTits .p-blockTits__tit {
    font-size: 3.4rem;
    line-height: 5rem;
  }
}

.p-blockTits .p-blockTits__txt {
  margin-top: 2rem;
}

.p-conversionBtn {
  margin-left: auto;
  margin-right: auto;
  margin-top: 5rem;
}

@media screen and (min-width: 768px) {
  .p-conversionBtn {
    width: 100%;
  }
}

.p-conversionBtn > a {
  display: block;
}

.p-link {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  cursor: pointer !important;
}

.p-link:hover {
  opacity: 0.3;
}

.p-galleryList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-galleryList .p-galleryList__item {
  width: 47%;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-galleryList .p-galleryList__item {
    width: 18%;
  }
}

.p-galleryList .p-galleryList__item:not(:nth-last-child(-n + 2)) {
  margin-bottom: 3rem;
}

@media screen and (min-width: 768px) {
  .p-galleryList .p-galleryList__item:not(:nth-last-child(-n + 2)) {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-galleryList .p-galleryList__item:not(:nth-last-child(-n + 5)) {
    margin-bottom: 3rem;
  }
}

.p-galleryList .p-galleryList__item > a {
  display: block;
}

.p-galleryList .p-galleryList__item img {
  width: 100%;
}

.p-galleryList .p-galleryList__item .p-galleryList__item__txt {
  margin-top: 1rem;
  color: #343434;
  font-size: 1.4rem;
  line-height: 2rem;
  font-family: a-otf-midashi-go-mb31-pr6n, sans-serif;
  font-weight: 600;
  font-style: normal;
}

@media screen and (min-width: 768px) {
  .p-galleryList .p-galleryList__item .p-galleryList__item__txt {
    font-size: 1.6rem;
    line-height: 2.2rem;
  }
}

.p-section__tit {
  position: relative;
  margin-bottom: 6rem;
  text-align: center;
  font-size: 1.8rem;
}

.p-section__tit > span {
  position: relative;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

.p-section__tit > span::before {
  display: block;
  content: "";
  position: absolute;
  left: 50%;
  top: -60%;
  width: 5rem;
  height: 0.1rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: black;
}

.p-section__tit::before {
  display: block;
  content: attr(data-title);
  margin-bottom: 5rem;
  font-size: 5rem;
  font-family: linotype-didot, serif;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.1rem;
}

.p-section__txt {
  text-align: center;
  margin-bottom: 6rem;
}

.p-faqList .p-faqList__item > dt {
  cursor: pointer;
}

.p-numberBlock {
  position: relative;
}

.p-numberBlock::before {
  display: block;
  content: attr(data-number);
  position: absolute;
  left: 0;
  top: 0;
  padding: 0.5rem;
  color: #afa882;
  font-family: linotype-didot, serif;
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.1rem;
  font-size: 1.6rem;
  background: white;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .p-numberBlock::before {
    font-size: 2.2rem;
    padding: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .p-flexColumn {
    display: -ms-grid;
    display: grid;
    grid-gap: 1em 3%;
  }
}

.p-flexColumn .p-flexColumn__item {
  margin-bottom: 3rem;
}

.p-flexColumn .p-flexColumn__item > dd {
  padding: 2rem;
}

@media screen and (min-width: 768px) {
  .p-flexColumn .p-flexColumn__item > dd {
    padding: 3rem;
  }
}

.p-flexColumn.p-flexColumn--2 {
  -ms-grid-columns: (minmax(0, 48%))[auto-fit];
      grid-template-columns: repeat(auto-fit, minmax(0, 48%));
}

.p-flexColumn.p-flexColumn--3 {
  -ms-grid-columns: (minmax(0, 32%))[auto-fit];
      grid-template-columns: repeat(auto-fit, minmax(0, 32%));
}

.p-card {
  border-radius: 10px;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  background: white;
  overflow: hidden;
}

.p-button {
  display: block;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

@media screen and (min-width: 768px) {
  .p-button {
    max-width: 500px;
  }
}

.p-button::before {
  display: block;
  content: "";
  position: absolute;
  right: 2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  border: 1px solid #343434;
}

.p-button::after {
  display: block;
  content: "";
  position: absolute;
  right: 3rem;
  top: 50%;
  width: 5px;
  height: 5px;
  border-top: 1px solid #343434;
  border-right: 1px solid #343434;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.p-button.p-button--line {
  font-size: 1.6rem;
  color: #343434;
  border: 1px solid #343434;
}

.p-button.p-button--line:hover {
  color: white;
  background: #343434;
}

.p-button.p-button--line:hover::before {
  border: 1px solid white;
}

.p-button.p-button--line:hover::after {
  border-top: 1px solid white;
  border-right: 1px solid white;
}

.p-button.p-button--line:hover > a {
  color: white;
}

.p-button.p-button--more {
  padding: 2.5rem;
}

.p-button.p-button--transition a {
  display: block;
  padding: 2.5rem;
  text-decoration: none;
  color: #343434;
}

.p-button.p-button--conversion {
  padding: 3rem;
  font-size: 1.2rem;
  color: white;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
  background: #ce171a;
}

@media screen and (min-width: 768px) {
  .p-button.p-button--conversion {
    max-width: 800px;
    padding: 3.5rem;
    font-size: 1.6rem;
  }
}

.p-button.p-button--conversion::before {
  border: 1px solid white;
}

.p-button.p-button--conversion::after {
  border-top: 1px solid white;
  border-right: 1px solid white;
}

.p-button.p-button--conversion:hover {
  background: #570003;
}

.p-conversion {
  width: 90%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 6rem;
  padding-top: 6rem;
  padding-bottom: 6rem;
  text-align: center;
  border-top: 1px solid #343434;
  border-bottom: 1px solid #343434;
}

.p-conversion > h2 {
  margin-bottom: 3rem;
  font-size: 2rem;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

@media screen and (min-width: 768px) {
  .p-conversion > h2 {
    font-size: 2.8rem;
  }
}

.p-conversion .p-conversion__txt {
  margin-bottom: 3rem;
}

.p-conversion .p-button {
  margin-bottom: 3rem;
}

.p-conversion .p-conversion__outro > p {
  text-decoration: underline;
}

.p-price > b {
  font-size: 1.4em;
}

.p-gallery__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.p-gallery__list .p-gallery__list__item {
  width: 23%;
  margin-bottom: 3rem;
}

.p-gallery__list .p-gallery__list__item:not(:nth-child(4n + 4)) {
  margin-right: 2.6%;
}

.p-gallery__list .p-gallery__list__item > a {
  display: block;
}

.p-heptagon {
  width: 90px;
  height: 90px;
}

@media screen and (min-width: 768px) {
  .p-heptagon {
    width: 120px;
    height: 120px;
  }
}

.p-button--more > span:last-child {
  display: none;
}

.p-button--more.is-active > span:first-child {
  display: none;
}

.p-button--more.is-active > span:last-child {
  display: block;
}

.p-campaignPeriod {
  margin-top: 30px;
  font-size: 13px;
  line-height: 2em;
  font-family: a-otf-ud-reimin-pr6n, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2rem;
}

@media screen and (min-width: 768px) {
  .p-campaignPeriod {
    font-size: 16px;
  }
}

.p-campaignPeriod > span {
  display: block;
  padding: 10px 20px;
  background-color: white;
}

@media screen and (min-width: 768px) {
  .p-campaignPeriod > span {
    display: inline-block;
  }
}

.p-campaignPeriod > span > br {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-campaignPeriod > span > br {
    display: none;
  }
}

.p-campaignPeriod > span > span {
  display: block;
}

@media screen and (min-width: 768px) {
  .p-campaignPeriod > span > span {
    display: inline-block;
  }
}

.p-campaignPeriod b {
  font-size: 1.5em;
}

.p-supplement {
  margin-top: 4rem;
  text-align: center;
}

.p-supplement > ul {
  text-align: left;
  display: inline-block;
}

.p-supplement > ul > li {
  margin-bottom: 0.5rem;
}

.p-supplement > ul > li > p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-supplement > ul > li > p::before {
  display: block;
  content: "※";
}

.u-marginBottom--60 {
  margin-bottom: 6rem;
}

.u-marginBottom--80 {
  margin-bottom: 8rem;
}

.u-marginBottom--100 {
  margin-bottom: 10rem;
}

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

.ls-appear {
  opacity: 0;
  -webkit-transform: translateY(15%);
          transform: translateY(15%);
  -webkit-transition: all 1s;
  transition: all 1s;
}

.ls-appear.ls-active {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.u-shadow {
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
/*# sourceMappingURL=style.css.map */