@charset "UTF-8";
/* Scss Document */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

ul, li, ol, dl, dt, dd {
  list-style: none; }

/*! Flickity v2.2.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative; }

.flickity-enabled:focus {
  outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%; }

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%; }

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

/* ---- flickity-button ---- */
.flickity-button {
  position: absolute;
  background: rgba(255, 255, 255, 0.75);
  border: none;
  color: #333; }

.flickity-button:hover {
  background: white;
  cursor: pointer; }

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F; }

.flickity-button:active {
  opacity: 0.6; }

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none; }

.flickity-button-icon {
  fill: currentColor; }

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%); }

.flickity-prev-next-button.previous {
  left: 10px; }

.flickity-prev-next-button.next {
  right: 10px; }

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px; }

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px; }

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%; }

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1; }

.flickity-rtl .flickity-page-dots {
  direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer; }

.flickity-page-dots .dot.is-selected {
  background-color: #c071e8;
  opacity: 1; }

/* Scss Document */
html {
  font-size: 62.5%; }

* {
  box-sizing: inherit; }

body {
  font-family: "Rubik", "Helvetica Neue", 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN , Meiryo, sans-serif;
  font-size: 1.6rem;
  -webkit-text-size-adjust: 100%;
  color: #2d2d2e; }

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  font-weight: 600;
  line-height: 1.2; }

h1 {
  font-size: 2em; }

h2 {
  font-size: 1.8em; }

h3 {
  font-size: 1.6em; }

h4 {
  font-size: 1.4em; }

h5 {
  font-size: 1.2em; }

h6 {
  font-size: 1.1em; }

small {
  font-size: 0.8em; }

.hide {
  display: none; }

.show {
  display: block; }

.list-unstyled {
  list-style: none !important;
  margin: 0 !important; }

.inline {
  display: inline !important; }

.inline-block {
  display: inline-block !important; }

.block {
  display: block !important; }

.clearfix:after {
  clear: both !important;
  content: " " !important;
  display: table !important; }

.flex {
  display: flex !important; }

.align-center {
  align-items: center !important; }

.flex-justify {
  display: flex !important;
  justify-content: space-around !important; }

/* **********************
margin padding 
************************* */
.mg0 {
  margin: 0 !important; }

.mgt0 {
  margin-top: 0px !important; }

.mgt5 {
  margin-top: 5px !important; }

.mgt10 {
  margin-top: 10px !important; }

.mgt15 {
  margin-top: 15px !important; }

.mgt20 {
  margin-top: 20px !important; }

.mgt30 {
  margin-top: 30px !important; }

.mgt40 {
  margin-top: 40px !important; }

.mgt50 {
  margin-top: 50px !important; }

.mgr0 {
  margin-right: 0px !important; }

.mgr5 {
  margin-right: 5px !important; }

.mgr10 {
  margin-right: 10px !important; }

.mgr15 {
  margin-right: 15px !important; }

.mgr20 {
  margin-right: 20px !important; }

.mgr30 {
  margin-right: 30px !important; }

.mgr40 {
  margin-right: 40px !important; }

.mgr50 {
  margin-right: 50px !important; }

.mgb0 {
  margin-bottom: 0px !important; }

.mgb5 {
  margin-bottom: 5px !important; }

.mgb10 {
  margin-bottom: 10px !important; }

.mgb15 {
  margin-bottom: 15px !important; }

.mgb20 {
  margin-bottom: 20px !important; }

.mgb30 {
  margin-bottom: 30px !important; }

.mgb40 {
  margin-bottom: 40px !important; }

.mgb50 {
  margin-bottom: 50px !important; }

.mgl0 {
  margin-left: 0px !important; }

.mgl5 {
  margin-left: 5px !important; }

.mgl10 {
  margin-left: 10px !important; }

.mgl15 {
  margin-left: 15px !important; }

.mgl20 {
  margin-left: 20px !important; }

.mgl30 {
  margin-left: 30px !important; }

.mgl40 {
  margin-left: 40px !important; }

.mgl50 {
  margin-left: 50px !important; }

.pd0 {
  padding: 0 !important; }

.pdt0 {
  padding-top: 0px !important; }

.pdt5 {
  padding-top: 5px !important; }

.pdt10 {
  padding-top: 10px !important; }

.pdt15 {
  padding-top: 15px !important; }

.pdt20 {
  padding-top: 20px !important; }

.pdt30 {
  padding-top: 30px !important; }

.pdt40 {
  padding-top: 40px !important; }

.pdt50 {
  padding-top: 50px !important; }

.pdr0 {
  padding-right: 0px !important; }

.pdr5 {
  padding-right: 5px !important; }

.pdr10 {
  padding-right: 10px !important; }

.pdr15 {
  padding-right: 15px !important; }

.pdr20 {
  padding-right: 20px !important; }

.pdr30 {
  padding-right: 30px !important; }

.pdr40 {
  padding-right: 40px !important; }

.pdr50 {
  padding-right: 50px !important; }

.pdb0 {
  padding-bottom: 0px !important; }

.pdb5 {
  padding-bottom: 5px !important; }

.pdb10 {
  padding-bottom: 10px !important; }

.pdb15 {
  padding-bottom: 15px !important; }

.pdb20 {
  padding-bottom: 20px !important; }

.pdb30 {
  padding-bottom: 30px !important; }

.pdb40 {
  padding-bottom: 40px !important; }

.pdb50 {
  padding-bottom: 50px !important; }

.pdl0 {
  padding-left: 0px !important; }

.pdl5 {
  padding-left: 5px !important; }

.pdl10 {
  padding-left: 10px !important; }

.pdl15 {
  padding-left: 15px !important; }

.pdl20 {
  padding-left: 20px !important; }

.pdl30 {
  padding-left: 30px !important; }

.pdl40 {
  padding-left: 40px !important; }

.pdl40 {
  padding-left: 50px !important; }

/* フォント */
.fs10 {
  font-size: 0.1em !important; }

.fs20 {
  font-size: 0.2em !important; }

.fs30 {
  font-size: 0.3em !important; }

.fs40 {
  font-size: 0.4em !important; }

.fs50 {
  font-size: 0.5em !important; }

.fs60 {
  font-size: 0.6em !important; }

.fs70 {
  font-size: 0.7em !important; }

.fs80 {
  font-size: 0.8em !important; }

.fs90 {
  font-size: 0.9em !important; }

.fs110 {
  font-size: 1.1em !important; }

.fs120 {
  font-size: 1.2em !important; }

.fs130 {
  font-size: 1.3em !important; }

.fs140 {
  font-size: 1.4em !important; }

.fs150 {
  font-size: 1.5em !important; }

.fs160 {
  font-size: 1.6em !important; }

.fs170 {
  font-size: 1.7em !important; }

.fs180 {
  font-size: 1.8em !important; }

.fs190 {
  font-size: 1.9em !important; }

.fs200 {
  font-size: 2em !important; }

.fw-bold {
  font-weight: bold !important; }

.fw-normal {
  font-weight: normal !important; }

.t-left {
  text-align: left !important; }

.t-center {
  text-align: center !important; }

.t-right {
  text-align: right !important; }

.v-top {
  vertical-align: top !important; }

.v-middle {
  vertical-align: middle !important; }

.v-bottom {
  vertical-align: bottom !important; }

.nakaten {
  display: inline-block;
  margin: 0 -0.2em; }

/* ********************************
カラー
******************************** */
.color-purple {
  color: #c071e8; }

.color-green {
  color: #298D96; }

.color-blue {
  color: #68acff; }

.color-red {
  color: #ef4952; }

.color-pink {
  color: #FE847A; }

html, body {
  height: 100%; }

.layout {
  position: relative;
  height: auto !important;
  height: 100%;
  min-height: 100%;
  margin: 0 auto; }

.upper {
  position: relative;
  padding-bottom: 50px; }

.lower {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 50px;
  background-color: #2d2d2e;
  width: 100%; }

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  z-index: 999; }

.main {
  width: 100%;
  padding-top: 50px; }

.footer {
  color: #fff; }

.section, .mgl0.mgr0 > .section-headline, .hero > img, .mgl0.mgr0 > .block-btn-wrap, .copyright {
  margin-left: 4vw;
  margin-right: 4vw; }

.section.concept > .concept-unit .concept-text, .section.concept > .concept-unit .count {
  padding-left: calc(4vw + 1rem); }

.section, .content {
  padding-top: 3rem; }

h2, h3, h4, h5, h6, p, .section-headline, .content, .block-btn, .figure-lg, .section.concept > .concept-unit, .flickity-page-dots {
  margin-bottom: 3rem; }

.category2 .flickity-page-dots {
  margin-top: 3rem; }

.footer-btn {
  text-decoration: none;
  color: #fff;
  background: linear-gradient(to right, #a717ef, #c071e8 100%);
  display: block;
  height: 90px;
  text-align: center;
  position: relative;
  box-shadow: 0 -3px 10px 0 rgba(0, 0, 0, 0.1); }
  .footer-btn > div {
    position: absolute;
    top: 50%;
    width: 100%;
    transform: translateY(-50%); }
    .footer-btn > div > b {
      font-size: 2.6rem;
      font-weight: 600;
      margin-top: 0.5rem; }

.header {
  padding-left: 27vw;
  padding-right: 2vw;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  background-color: #fff;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.1)); }
  .header h1 {
    height: 70px;
    align-self: flex-start; }
  .header .head-inner:nth-child(1) {
    margin-left: -2px; }
    .header .head-inner:nth-child(1) > img {
      height: 100%;
      width: auto; }
  .header .head-inner:nth-child(2) {
    margin-left: 0.5rem;
    margin-right: 0.5rem; }
    .header .head-inner:nth-child(2) > div:first-child {
      font-weight: 600;
      font-size: 1.4rem;
      line-height: 1.4; }
    .header .head-inner:nth-child(2) > div:last-child {
      font-size: 1rem;
      line-height: 1.2;
      letter-spacing: -0.04em; }
  .header .head-inner:nth-child(3) {
    margin-left: 27vw;
    flex: none; }
  .header .xs-btn {
    font-size: 1.2rem;
    line-height: 1.2;
    text-decoration: none;
    color: #fff;
    text-align: center;
    background: linear-gradient(to right, #a717ef, #c071e8 100%);
    padding: 1rem 1rem;
    border-radius: 50em;
    display: block; }

@media (max-width: 375px) {
  .header .head-inner:nth-child(2) {
    flex-grow: 1; }
    .header .head-inner:nth-child(2) > div:last-child > span:first-child {
      display: block; }
    .header .head-inner:nth-child(2) > div:last-child > span:last-child {
      display: block; }
  .header .head-inner:nth-child(3) {
    flex-grow: 1; }
  .header .xs-btn {
    padding: 0.6rem 2rem; }
    .header .xs-btn > span {
      display: block; } }
.hero {
  width: 100%;
  height: 170px;
  position: relative; }
  .hero > img {
    width: calc(100% - 8vw);
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%); }
  .hero:before {
    content: '';
    background: linear-gradient(to bottom, rgba(255, 57, 57, 0.4), rgba(253, 53, 90, 0.4)), url(/asset/image/lp/top-img3.jpg) no-repeat;
    background-size: cover;
    width: 100%;
    z-index: -1;
    display: block;
    height: 170px; }

@media (min-width: 768px) {
  .hero > img {
    left: 50%;
    transform: translate(-50%, -50%); } }
.block-btn-wrap {
  text-align: center;
  height: 100%; }

.block-btn {
  text-decoration: none;
  color: #fff;
  background: linear-gradient(to right, #a717ef, #c071e8 100%);
  border-radius: 50em;
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  max-width: 320px !important;
  width: 100%;
  padding: 1.2rem 0;
  text-align: center;
  top: 0;
  left: 0;
  box-shadow: 0px 8px 18px -5px rgba(0, 0, 0, 0.2); }
  .block-btn > b {
    display: block;
    margin-top: 0.5rem;
    font-size: 2.4rem; }
  .block-btn:active {
    box-shadow: none;
    transform: translateY(4%);
    transition: ease-in .03s; }

.block-btn:active, .xs-btn:active {
  background-color: #6c7387;
  color: #fff; }

.section, .copyright {
  position: relative; }
  .section:after, .copyright:after {
    content: '';
    position: absolute;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    height: 100%;
    background-color: transparent;
    z-index: -1; }

.section {
  box-sizing: border-box;
  position: relative;
  z-index: 0; }
  .section.color-bg:after {
    background-color: #fff4ef; }
  .section .section-headline {
    font-size: 2rem;
    line-height: 1.6;
    font-weight: 700;
    text-align: center;
    position: relative;
    padding-bottom: 2rem;
    letter-spacing: -0.03em;
    color: #65332D; }
    .section .section-headline:after {
      content: '';
      position: absolute;
      display: block;
      bottom: 0;
      height: 4px;
      width: 40px;
      background-color: #c071e8;
      opacity: 0.5;
      border-radius: 2px;
      left: 50%;
      transform: translateX(-50%); }
  .section .figure-lg > img {
    width: 100%; }
  .section h3 {
    font-size: 1.8rem;
    line-height: 1.4;
    text-align: justify;
    letter-spacing: -0.02em; }
  .section p {
    font-size: 1.6rem;
    line-height: 1.8;
    text-align: justify;
    letter-spacing: -0.02em; }
  .section .intro-h {
    font-size: 2.5rem;
    color: #fe6981;
    padding-left: 1rem;
    display: block; }
    .section .intro-h small {
      font-size: 1.4rem;
      color: #6c7387; }

/* ***********************************
.diviner-section
*********************************** */
.section.diviner-section .diviner-headline {
  border-top: 6px double #2d2d2e;
  border-bottom: 2px solid #2d2d2e;
  padding: 2rem 0;
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 600;
  position: relative; }

.diviner {
  padding-top: 0; }
  .diviner:last-of-type {
    margin-bottom: 0; }
  .diviner dl, .diviner dt, .diviner dd, .diviner ul, .diviner li {
    list-style: none; }
  .diviner .diviner-info {
    display: flex;
    margin-bottom: 2rem;
    align-items: center; }
    .diviner .diviner-info figure {
      width: 90px;
      height: 90px;
      border-radius: 50%;
      overflow: hidden;
      margin-right: 1rem;
      flex: none;
      position: relative; }
      .diviner .diviner-info figure img {
        width: 110%;
        height: auto;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%); }
    .diviner .diviner-info > ul {
      flex-grow: 1; }
      .diviner .diviner-info > ul > li:not(:last-child) {
        margin-bottom: 0.4rem; }
  .diviner .name {
    font-size: 1.8rem;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.05em;
    vertical-align: baseline;
    display: flex;
    align-items: center;
    padding-top: 0.7rem; }
    .diviner .name:before, .diviner .name:after {
      content: '';
      height: 1px;
      background-color: #2d2d2e;
      flex-grow: 1; }
    .diviner .name:before {
      margin-right: 1rem; }
    .diviner .name:after {
      margin-left: 1rem; }
    .diviner .name ruby[data-ruby] {
      margin-top: 0; }
  .diviner .diviver-h {
    font-size: 1.4rem;
    margin-bottom: 0.8rem !important;
    color: #6c7387;
    font-weight: 600;
    /*font-style: oblique;*/
    line-height: 1.2; }
  .diviner .divination, .diviner .consult {
    font-size: 1.2rem;
    width: 100%;
    display: table;
    box-sizing: border-box;
    height: 1.4rem;
    line-height: 1.4rem;
    vertical-align: middle; }
    .diviner .divination > span:first-child, .diviner .consult > span:first-child {
      color: #fff;
      width: 15%;
      float: left;
      position: relative;
      box-sizing: border-box;
      text-align: center;
      background-color: #2d2d2e;
      font-size: 0.8em;
      display: inline-flex;
      justify-content: space-around;
      border-radius: 3px; }
    .diviner .divination > span:last-child, .diviner .consult > span:last-child {
      display: inline-block;
      width: 80%;
      padding-left: 0.5rem; }
    .diviner .divination:after, .diviner .consult:after {
      clear: both;
      content: " ";
      display: table; }
  .diviner .score > span {
    font-size: 2rem;
    color: #a717ef; }
  .diviner .score > ul.star-ul {
    display: inline;
    margin-left: 3px; }
    .diviner .score > ul.star-ul > li {
      background: url(/asset/image/lp/star-yellow.svg) no-repeat;
      background-size: contain;
      width: 18px;
      height: 18px;
      display: inline-block;
      vertical-align: top; }
      .diviner .score > ul.star-ul > li.half {
        background-image: url(/asset/image/lp/star-half.svg); }
      .diviner .score > ul.star-ul > li.blank {
        background-image: url(/asset/image/lp/star-blank.svg); }

.review {
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 2rem;
  color: #2d2d2e;
  border-radius: 1rem;
  background-color: #fafafa;
  border: 1px solid #d2d5dd;
  position: relative; }
  .review:before {
    content: '';
    width: 100%;
    position: absolute;
    height: 5px;
    background-color: #fff;
    box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.2);
    left: 0;
    bottom: 0;
    border-radius: 50%;
    z-index: -1; }
  .review > dt {
    text-align: center; }
  .review .review-h {
    text-align: center;
    font-size: 1.8rem;
    position: relative;
    display: inline-block;
    padding-bottom: 1.2rem;
    margin-bottom: 2rem;
    z-index: 0; }
    .review .review-h:before {
      content: '';
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: -0;
      height: 3px;
      width: 30px;
      border-radius: 1.5px;
      background-color: #ccc;
      display: inline-block;
      z-index: -1; }
  .review > dd > div:not(:last-child) {
    border-bottom: 1px dotted #d2d5dd;
    margin-bottom: 2rem; }
  .review > dd p {
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: left;
    letter-spacing: -0.03em; }
  .review > dd time {
    color: #6c7387;
    font-size: 1.4rem;
    line-height: 1.5;
    margin-bottom: 1rem; }
  .review > dd .review-p {
    width: 100%;
    text-align: justify;
    letter-spacing: -0.03em;
    margin-bottom: 2rem; }

@media (max-width: 320px) {
  .diviner .diviner-info figure {
    width: 70px;
    height: 70px; } }
/* ***********************************
.section.flow2
*********************************** */
.section.flow2 {
  padding-top: 5rem; }
  .section.flow2 .section-headline {
    font-size: 1.8rem;
    color: #fff;
    text-align: left;
    line-height: 1.5;
    padding-bottom: 0;
    margin-bottom: 5rem;
    padding-left: 1rem; }
    .section.flow2 .section-headline:after {
      content: none; }
  .section.flow2:after {
    background: linear-gradient(to bottom, rgba(243, 140, 100, 0.6), #ffe1d1), url(/asset/image/lp/flow-bg.jpg) no-repeat 70% top;
    background-size: 120% auto; }
  .section.flow2 > p {
    font-size: 1.6rem;
    line-height: 1.6; }
  .section.flow2 .flow-p-wrap {
    padding-right: 1.5rem;
    text-align: center; }
    .section.flow2 .flow-p-wrap p {
      font-size: 1.6rem;
      font-weight: 600;
      vertical-align: middle;
      display: inline-flex;
      height: 48px; }
      .section.flow2 .flow-p-wrap p > span:nth-child(1) {
        text-align: center;
        width: 30px;
        height: 30px;
        line-height: 30px;
        display: inline-block;
        background-color: #c071e8;
        color: #fff;
        margin-right: 0.5rem;
        flex: none; }
      .section.flow2 .flow-p-wrap p > span:nth-child(2) {
        line-height: 1.4;
        padding: 0.3rem 0; }
  .section.flow2 .carousel .carousel-cell > img {
    width: 250px;
    padding: 0 1.5rem 0 0; }
  .section.flow2 .carousel .carousel-cell small {
    font-size: 1.1rem;
    line-height: 1;
    display: block;
    font-weight: 400;
    margin-top: 0.2rem;
    opacity: 0.8; }

/* ***********************************
flickity Script Style
*********************************** */
.flickity-page-dots {
  position: relative;
  bottom: 0;
  display: inline-block;
  width: 100%; }
  .flickity-page-dots .dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    opacity: 0.6;
    margin-left: 14px;
    margin-right: 14px;
    background: #6c7387; }
    .flickity-page-dots .dot.is-selected {
      background-color: #c071e8;
      opacity: 1; }

.category2 .flickity-page-dots {
  margin-top: -1rem;
  /* 影の分垂直マージン調整 */ }

.slick-wrap {
  position: relative; }
  .slick-wrap .slick {
    width: 100vw;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch; }
    .slick-wrap .slick > .group {
      display: inline-flex; }

.slick-dots-wrap {
  margin: 2rem 0; }
  .slick-dots-wrap ul, .slick-dots-wrap li {
    list-style: none; }
  .slick-dots-wrap ul {
    max-width: 100px;
    margin: 0 auto;
    display: flex;
    justify-content: space-around; }
    .slick-dots-wrap ul > li {
      display: inline; }
      .slick-dots-wrap ul > li > a:after {
        content: '';
        display: inline-block;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background-color: #6c7387; }
      .slick-dots-wrap ul > li.active > a:after {
        background-color: #c071e8; }

/* ***********************************
.section.category2 s
*********************************** */
.section.category2 {
  box-sizing: border-box; }
  .section.category2 ul, .section.category2 li {
    list-style: none; }
  .section.category2 .carousel {
    margin-top: -1rem;
    /* 影の分垂直マージン調整 */ }
    .section.category2 .carousel .carousel-cell {
      width: 280px;
      margin: 1rem;
      border-radius: 1rem;
      box-shadow: 0 4px 14px -1px rgba(0, 0, 0, 0.1);
      background-color: #fff; }
      .section.category2 .carousel .carousel-cell .category-title {
        border-radius: 1rem 1rem 0 0;
        padding: 2rem 0;
        text-align: center;
        background: linear-gradient(45deg, rgba(247, 98, 210, 0.6), rgba(254, 132, 122, 0.4)), url(/asset/image/lp/category-bg-01.jpg) 10% 70%;
        background-size: cover;
        color: #fff;
        font-size: 1.8rem;
        line-height: 1;
        margin-bottom: 2rem; }
        .section.category2 .carousel .carousel-cell .category-title span {
          display: block;
          height: 18px; }
        .section.category2 .carousel .carousel-cell .category-title small {
          font-size: 0.6em;
          font-weight: 400; }
      .section.category2 .carousel .carousel-cell:nth-child(2) > .category-title {
        background: linear-gradient(45deg, rgba(226, 105, 254, 0.4), rgba(254, 105, 231, 0.4)), url(/asset/image/lp/category-bg-02.jpg); }
      .section.category2 .carousel .carousel-cell:nth-child(3) > .category-title {
        background: linear-gradient(45deg, rgba(254, 191, 105, 0.8), rgba(254, 162, 105, 0.8)), url(/asset/image/lp/category-bg-01.jpg) bottom; }
      .section.category2 .carousel .carousel-cell > ul {
        padding: 0 2rem;
        display: flex;
        flex-direction: column; }
        .section.category2 .carousel .carousel-cell > ul > li {
          display: flex;
          margin-bottom: 2rem;
          align-items: center; }
          .section.category2 .carousel .carousel-cell > ul > li:not(:last-child) {
            border-bottom: 1px solid #ddd;
            padding-bottom: 2rem; }
          .section.category2 .carousel .carousel-cell > ul > li > figure {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            overflow: hidden;
            position: relative;
            margin-right: 1rem;
            flex: none; }
            .section.category2 .carousel .carousel-cell > ul > li > figure > img {
              width: 120%;
              height: auto;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%); }
          .section.category2 .carousel .carousel-cell > ul > li > ul {
            vertical-align: middle; }
            .section.category2 .carousel .carousel-cell > ul > li > ul > li:first-child {
              font-weight: 600;
              font-size: 1.6rem;
              margin-bottom: 0.5rem; }
            .section.category2 .carousel .carousel-cell > ul > li > ul > li:last-child {
              font-size: 1.2rem;
              line-height: 1.2;
              color: #6c7387; }

.section.concept {
  box-sizing: border-box;
  margin-left: 0;
  margin-right: 0; }
  .section.concept > .concept-unit {
    display: table;
    width: 100%; }
    .section.concept > .concept-unit > .col-left {
      float: left;
      width: 86%; }
      .section.concept > .concept-unit > .col-left > .count {
        z-index: 2;
        height: 120px;
        font-size: 5rem;
        font-weight: 300;
        font-style: italic;
        line-height: 110px;
        vertical-align: middle;
        color: #d2d5dd;
        margin-bottom: 0.5rem;
        text-align: center;
        width: 24%; }
    .section.concept > .concept-unit .text-wrap {
      position: relative;
      z-index: 1;
      padding-left: 1rem; }
      .section.concept > .concept-unit .text-wrap:before {
        content: '';
        display: block;
        position: absolute;
        background-color: #ffece4;
        opacity: 0.9;
        width: 100%;
        height: 100%;
        top: -2rem;
        left: -4vw;
        padding: 0 1rem 4rem 2rem;
        z-index: -1; }
    .section.concept > .concept-unit .concept-text {
      position: relative;
      z-index: 1; }
      .section.concept > .concept-unit .concept-text:before {
        content: '';
        display: block;
        position: absolute;
        background-color: #ffece4;
        opacity: 0.9;
        width: 100%;
        height: 100%;
        top: -2rem;
        left: 0;
        padding: 2rem 2rem 0 0;
        z-index: -1; }
      .section.concept > .concept-unit .concept-text h3 {
        margin-bottom: 1rem;
        color: #FE847A; }
      .section.concept > .concept-unit .concept-text p {
        font-size: 1.4rem;
        display: inline-block;
        margin-bottom: 2rem; }
    .section.concept > .concept-unit > .col-right {
      position: relative;
      width: 100%; }
      .section.concept > .concept-unit > .col-right > img {
        position: absolute;
        width: 76%;
        height: 120px;
        object-fit: cover;
        object-position: 50% 50%;
        top: 0;
        right: 0;
        z-index: -1; }
    .section.concept > .concept-unit:nth-of-type(2) .col-right > img {
      width: 76%;
      object-fit: contain;
      object-position: center;
      padding-right: 1rem; }
  .section.concept .afterword {
    position: relative;
    width: 100%;
    height: 100%;
    padding-top: 5rem;
    padding-right: 4vw; }
    .section.concept .afterword p {
      font-size: 1.8rem;
      font-weight: 600;
      color: #6c7387;
      text-align: left;
      line-height: 1.6;
      margin-bottom: 5rem;
      padding-left: 1rem; }
    .section.concept .afterword:after {
      content: '';
      position: absolute;
      width: 100vw;
      left: 50%;
      transform: translateX(-50%);
      top: 0;
      height: 100%;
      background: linear-gradient(to bottom, rgba(250, 250, 250, 0.6), rgba(250, 250, 250, 0.6)), url(/asset/image/lp/afterword-bg.jpg) no-repeat 50% -40px;
      background-size: 110% auto;
      z-index: -1; }

@media (max-width: 360px) {
  .section.concept > .concept-unit .concept-text h3 {
    font-size: 1.7rem; } }
.copyright {
  padding: 2rem 0; }
  .copyright:after {
    background-color: #2d2d2e; }
  .copyright > p {
    font-size: 1rem;
    color: #ddd;
    text-align: center;
    margin-bottom: 0; }
    .copyright > p > a {
      color: #ddd;
      margin-left: 0.5rem; }

/* 通常のルビ */
ruby {
  position: relative; }
  ruby > rt {
    font-size: 0.5em;
    transform: translateY(0.5em);
    margin-bottom: -0.3em; }

/* 音読ルビ */
ruby[data-ruby] {
  position: relative;
  display: inline-block;
  text-align: center;
  margin-top: 0.5em; }
  ruby[data-ruby]:before {
    content: attr(data-ruby);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: block;
    font-size: 0.5em;
    font-weight: normal;
    margin-top: -1em;
    white-space: nowrap; }
  ruby[data-ruby] > rt {
    display: none; }

@media (min-width: 768px) {
  .section, .mgl0.mgr0 > .section-headline, .hero > img, .mgl0.mgr0 > .block-btn-wrap, .copyright, .section.concept {
    width: 414px;
    margin-left: auto;
    margin-right: auto; }

  .section.concept .afterword:after {
    background-size: 414px auto; }

  .section.flow, .section.flow2, .section.category, .section.category2 {
    width: auto; }

  .section.concept > .concept-unit .concept-text, .section.concept > .concept-unit .count, .mgl0.mgr0 .afterword {
    padding-left: 2rem; }

  .header .head-inner:nth-child(3) {
    flex-grow: 0; }

  .section.flow2:after {
    background: linear-gradient(to bottom, rgba(247, 154, 118, 0.6), #FFF4EE), url(/asset/image/lp/flow-bg-b.jpg) no-repeat center top;
    background-size: 100% auto; } }

/*# sourceMappingURL=style.css.map */
.carousel-cell { display:inline-block; }
.left {text-align:left;}
.center {text-align:center;}
#diviner-01,#diviner-02,#diviner-03 { width: 670px; margin:0 auto; }
