@charset "UTF-8";
/* foundation/Reset
   
html5doctor.com Reset Stylesheet
v1.4.1
2010-03-01
Author: Richard Clark - http://richclarkdesign.com

   ----------------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&display=swap");
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%;
  font-weight: normal;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1.5em; }

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
  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;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

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 #000;
  cursor: help; }

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

li {
  list-style: none; }

address {
  font-style: normal; }

input, select {
  vertical-align: middle; }

img {
  vertical-align: bottom; }

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

input:focus, select:focus, textarea:focus {
  outline: 0; }

.cf:after {
  content: "";
  display: block;
  clear: both; }

input[type="submit"] {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none; }

/* Base
   ----------------------------------------------------------------- */
@media screen and (min-width: 768px) {
  .pc_none, #header .menu-trigger_wrap {
    display: none !important; }
  a:hover {
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; } }

@media screen and (max-width: 767px) {
  .sp_none {
    display: none !important; }
  img {
    max-width: 100%; } }

html {
  min-height: 100%; }

body {
  height: 100%;
  color: #483F2C;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%; }

a {
  color: #483F2C;
  text-decoration: none; }

html {
  font-size: 62.5%;
  overflow-x: hidden;
  /*
	&::-webkit-scrollbar{
		display:none;
	}
*/ }
  @media screen and (max-width: 767px) {
    html {
      font-size: 50%; } }

#wrap {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6;
  background-size: auto auto;
  background-color: #a1e2e0;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 8px, #bdefec 8px, #bdefec 12px);
  color: #483F2C;
  position: relative; }
  @media screen and (max-width: 767px) {
    #wrap {
      padding-top: 60px; } }
  #wrap * {
    font-weight: 500; }
  #wrap strong {
    font-weight: bold; }
    #wrap strong * {
      font-weight: bold; }
  #wrap:before {
    content: "";
    display: block;
    background-image: url(../images/bg.svg);
    background-repeat: repeat;
    background-position: center center;
    width: 200%;
    height: 400%;
    position: fixed;
    top: -966px;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-animation: infinitescroll 40s linear infinite;
    animation: infinitescroll 40s linear infinite;
    z-index: 0; }

@keyframes infinitescroll {
  0% {
    transform: translate3d(0, 0, 0); }
  100% {
    transform: translate3d(-624px, 966px, 0); } }

body {
  overflow-y: hidden; }

img {
  width: 100%; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none; }

@media screen and (max-width: 767px) {
  #header {
    width: 100%;
    height: 60px;
    position: fixed;
    top: 0;
    z-index: 2; } }

#header .bg {
  background-image: url(../images/header_bg.png);
  background-size: contain;
  background-repeat: repeat-x;
  background-position: center bottom;
  padding: 12px 0 15px;
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 767px) {
    #header .bg {
      padding: 15px 0;
      height: 100%; } }

#header h1.logo {
  width: 28%; }
  @media screen and (min-width: 768px) {
    #header h1.logo a {
      transition: 0.4s ease-in-out; }
      #header h1.logo a:hover {
        opacity: .6; } }
  @media screen and (max-width: 767px) {
    #header h1.logo {
      width: auto;
      position: fixed;
      z-index: 2;
      top: 12px;
      left: 10px; }
      #header h1.logo img {
        height: 35px;
        width: auto; } }

#header .top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 10px; }
  @media screen and (max-width: 767px) {
    #header .top {
      padding-bottom: 0; } }

#header .sns {
  width: 8%;
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 767px) {
    #header .sns {
      width: 100%;
      justify-content: center;
      margin-top: 15px; } }
  #header .sns .target {
    display: block;
    width: 46%; }
    @media screen and (min-width: 768px) {
      #header .sns .target {
        transition: 0.4s ease-in-out; }
        #header .sns .target:hover {
          opacity: .6; } }
    @media screen and (max-width: 767px) {
      #header .sns .target {
        width: 14%;
        padding: 6px; } }

@media screen and (max-width: 767px) {
  #header .mid {
    width: 100%;
    padding: 20px 0 10px; } }

#header .snav {
  display: flex;
  justify-content: center;
  align-items: center; }
  @media screen and (max-width: 767px) {
    #header .snav {
      display: block;
      text-align: center;
      width: 100% !important; } }
  #header .snav .target {
    margin: 0 5px;
    padding: 5px;
    color: #fff;
    display: flex;
    align-items: center;
    position: relative; }
    #header .snav .target:after {
      content: '';
      position: absolute;
      left: 0;
      display: inline-block;
      height: 1em;
      width: 100%;
      border-bottom: 2px solid;
      margin-top: 20px;
      opacity: 0;
      -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
      transition: opacity 0.35s, transform 0.35s;
      transform: scale(0, 1); }
    @media screen and (min-width: 768px) {
      #header .snav .target:hover:after {
        opacity: 1;
        transform: scale(1); } }
    @media screen and (max-width: 767px) {
      #header .snav .target {
        justify-content: center; } }
    #header .snav .target svg {
      width: 20px;
      margin-right: 10px; }
      @media screen and (max-width: 767px) {
        #header .snav .target svg {
          width: 15px; } }

#header .bot {
  position: relative;
  top: -10px;
  background-color: #fff; }

#header .gnav {
  display: flex; }
  @media screen and (max-width: 767px) {
    #header .gnav {
      display: block;
      margin: 10px 0;
      width: 100% !important; } }
  #header .gnav .target {
    transition: 0.4s ease-in-out;
    width: calc(100% / 5);
    text-align: center;
    padding: 25px 0 15px;
    position: relative;
    font-size: 1.8rem;
    font-weight: 700 !important; }
    @media screen and (max-width: 767px) {
      #header .gnav .target {
        width: 100%;
        display: block;
        color: #fff;
        padding: 10px;
        border-bottom: 1px solid #8BD0DD; } }
    #header .gnav .target:not(:last-child):after {
      content: "";
      width: 2px;
      height: 30px;
      background-color: #E6E6E6;
      position: absolute;
      right: 0px; }
      @media screen and (max-width: 767px) {
        #header .gnav .target:not(:last-child):after {
          display: none; } }
    @media screen and (min-width: 768px) {
      #header .gnav .target:hover {
        background: #FBA700;
        color: #fff; }
      #header .gnav .target.g:hover {
        background: #33D097; }
      #header .gnav .target.p:hover {
        background: #F85A99; } }

#header .menu-trigger_wrap {
  text-align: center;
  position: fixed;
  right: 10px;
  top: 10px;
  z-index: 9999; }
  #header .menu-trigger_wrap p {
    font-size: 10px;
    color: #fff;
    margin-top: 2px;
    transform: scale(1);
    transform-origin: 0,0; }
  #header .menu-trigger_wrap .menu-trigger {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
    position: relative;
    width: 32px;
    height: 20px;
    background: none;
    border: none;
    appearance: none;
    cursor: pointer;
    z-index: 14; }
    #header .menu-trigger_wrap .menu-trigger span {
      display: inline-block;
      transition: all 0.4s;
      box-sizing: border-box;
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #fff;
      border-radius: 3px; }
      #header .menu-trigger_wrap .menu-trigger span:nth-of-type(1) {
        top: 0; }
      #header .menu-trigger_wrap .menu-trigger span:nth-of-type(2) {
        top: 9px; }
      #header .menu-trigger_wrap .menu-trigger span:nth-of-type(3) {
        bottom: 0; }
    #header .menu-trigger_wrap .menu-trigger.active span:nth-of-type(1) {
      transform: translateY(9px) rotate(-45deg); }
    #header .menu-trigger_wrap .menu-trigger.active span:nth-of-type(2) {
      left: 50%;
      opacity: 0;
      animation: active-menu-bar02 0.8s forwards; }
    #header .menu-trigger_wrap .menu-trigger.active span:nth-of-type(3) {
      transform: translateY(-9px) rotate(45deg); }

@keyframes active-menu-bar02 {
  100% {
    height: 0; } }

#header .sp_menu {
  background-color: #129CDA;
  position: fixed;
  top: 0;
  z-index: 1;
  padding: 10px;
  height: 100%;
  width: 100%;
  padding-top: 100px;
  opacity: 0;
  visibility: hidden; }
  #header .sp_menu.active {
    opacity: 1;
    visibility: visible; }

.s_head {
  text-align: center;
  margin-bottom: 60px; }
  @media screen and (max-width: 767px) {
    .s_head {
      margin-bottom: 30px; } }
  .s_head .title {
    font-size: 3.6rem;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold !important; }
  .s_head .s_title {
    font-size: 2.4rem; }

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }

.navigation {
  margin-top: 70px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .navigation {
      margin-top: 110px; } }
  .navigation .page-numbers {
    padding: 12px 16px;
    border: 3px solid #129CDA;
    background-color: #129CDA;
    border-radius: 10px;
    transition: 0.4s ease-in-out;
    color: #fff;
    font-size: 1.8rem;
    display: inline-block; }
    .navigation .page-numbers.current {
      border: 3px solid #129CDA;
      background-color: #fff;
      color: #129CDA; }
    @media screen and (min-width: 768px) {
      .navigation .page-numbers:not(.dot):hover {
        border: 3px solid #129CDA;
        background-color: #fff;
        color: #129CDA; } }
    @media screen and (max-width: 767px) {
      .navigation .page-numbers {
        margin-bottom: 10px; } }

.search {
  width: 40%; }
  @media screen and (max-width: 767px) {
    .search {
      width: 100%; } }
  .search form {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .search form .text {
      font-family: 'M PLUS Rounded 1c', sans-serif;
      width: 86%;
      padding: 7px 12px;
      border-radius: 10px;
      border: 1px solid #CCCCCC; }
      @media screen and (max-width: 767px) {
        .search form .text {
          width: 83%;
          padding: 12px;
          padding: 7px 12px; } }
    .search form button {
      width: 12%;
      padding: 9px 12px;
      background-color: #33D097;
      border-radius: 10px;
      transition: 0.4s ease-in-out; }
      .search form button img {
        width: 18px; }
      @media screen and (min-width: 768px) {
        .search form button:hover {
          opacity: .6; } }
      @media screen and (max-width: 767px) {
        .search form button {
          width: 14%;
          padding: 7px 16px;
          height: 38px; } }
  .search.box {
    background-color: #CFF6F9;
    padding: 30px 40px;
    margin-bottom: 30px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .search.box {
        display: block;
        padding: 20px; } }
    .search.box p {
      font-size: 1.5rem; }
      @media screen and (max-width: 767px) {
        .search.box p {
          text-align: center;
          margin-bottom: 5px; } }
    .search.box form {
      width: calc(98% - 7em); }
      @media screen and (max-width: 767px) {
        .search.box form {
          width: 100%; }
          .search.box form .text {
            width: 76%; }
          .search.box form button {
            width: 20%; } }

@media screen and (max-width: 767px) {
  .select + .items {
    margin-bottom: -30px; } }

.select .form .select_inner {
  display: flex;
  justify-content: center; }
  .select .form .select_inner .col {
    margin: 0 2%; }
    .select .form .select_inner .col .title {
      font-size: 2.4rem;
      font-weight: 800 !important;
      padding-bottom: 10px; }
      @media screen and (max-width: 767px) {
        .select .form .select_inner .col .title {
          font-size: 2rem; } }
    .select .form .select_inner .col .box {
      border-top: 3px solid #CCCCCC;
      padding-top: 30px; }
      @media screen and (max-width: 767px) {
        .select .form .select_inner .col .box {
          padding-top: 20px; } }
      @media screen and (min-width: 768px) {
        .select .form .select_inner .col .box.genre {
          display: flex;
          justify-content: space-between;
          flex-wrap: wrap; }
          .select .form .select_inner .col .box.genre .checkbox {
            width: 49%; } }
      .select .form .select_inner .col .box .checkbox {
        cursor: pointer;
        margin-bottom: 15px; }
        @media screen and (max-width: 767px) {
          .select .form .select_inner .col .box .checkbox {
            margin-bottom: 5px; } }
        .select .form .select_inner .col .box .checkbox label {
          position: relative;
          display: block;
          text-align: center; }
          .select .form .select_inner .col .box .checkbox label:has(input[type="checkbox"]:checked) {
            pointer-events: none; }
          .select .form .select_inner .col .box .checkbox label input[type="checkbox"] {
            position: absolute;
            opacity: 0; }
            .select .form .select_inner .col .box .checkbox label input[type="checkbox"] + span {
              cursor: pointer;
              display: block;
              color: #129CDA;
              border: 3px solid #129CDA;
              border-radius: 15px;
              font-size: 1.8rem;
              padding: 10px;
              font-weight: 700 !important; }
              @media screen and (max-width: 767px) {
                .select .form .select_inner .col .box .checkbox label input[type="checkbox"] + span {
                  padding: 6px;
                  font-size: 1.6rem; } }
            .select .form .select_inner .col .box .checkbox label input[type="checkbox"]:checked + span {
              background-color: #129CDA;
              color: #fff; }
          .select .form .select_inner .col .box .checkbox label .disp {
            display: block;
            border: 3px solid #129CDA;
            border-radius: 15px;
            font-size: 1.8rem;
            padding: 10px;
            background-color: #129CDA;
            color: #fff; }
            @media screen and (max-width: 767px) {
              .select .form .select_inner .col .box .checkbox label .disp {
                padding: 6px; } }
    .select .form .select_inner .col.genre {
      width: 66%; }
      @media screen and (max-width: 767px) {
        .select .form .select_inner .col.genre {
          width: 49%; } }
    .select .form .select_inner .col.usage {
      width: 32%; }
      @media screen and (max-width: 767px) {
        .select .form .select_inner .col.usage {
          width: 49%; } }
      .select .form .select_inner .col.usage .box .checkbox label input[type="checkbox"] + span {
        color: #FBA700;
        border: 3px solid #FBA700; }
      .select .form .select_inner .col.usage .box .checkbox label input[type="checkbox"]:checked + span {
        background-color: #FBA700;
        color: #fff; }
      .select .form .select_inner .col.usage .box .checkbox label .disp {
        border: 3px solid #FBA700;
        background-color: #FBA700; }
  .select .form .select_inner.list {
    width: 80%;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .select .form .select_inner.list {
        display: block; } }
    .select .form .select_inner.list .col.genre {
      width: 48%; }
      @media screen and (max-width: 767px) {
        .select .form .select_inner.list .col.genre {
          width: 100%; } }
    .select .form .select_inner.list .col.usage {
      width: 48%; }
      @media screen and (max-width: 767px) {
        .select .form .select_inner.list .col.usage {
          width: 100%; } }
    .select .form .select_inner.list .col .box {
      border: none;
      padding-top: 0; }

.select .form .btn {
  display: block;
  margin: 30px auto 0;
  font-size: 2.1rem;
  color: #fff;
  padding: 15px 40px;
  background-color: #33D097;
  border-radius: 10px; }
  @media screen and (min-width: 768px) {
    .select .form .btn {
      transition: 0.4s ease-in-out; }
      .select .form .btn:hover {
        opacity: .6; } }

.tab {
  display: flex;
  flex-wrap: wrap;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border-bottom: 12px solid #fff; }
  @media screen and (max-width: 767px) {
    .tab {
      border-bottom: 4px solid #fff; } }
  .tab.tab_recently {
    border-color: #129CDA; }
  .tab.tab_new {
    border-color: #F85A99; }
  .tab.tab_next {
    border-color: #FBA700; }
  .tab li {
    width: calc(100% / 3); }
    .tab li:first-child a {
      border-radius: 20px 0 0 0; }
    .tab li:last-child a {
      border-radius: 0 20px 0 0; }
    .tab li a {
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-size: 2.3rem;
      line-height: 70px;
      height: 70px;
      transition: 0.4s ease-in-out; }
      .tab li a h2 {
        font-weight: 700 !important;
        position: relative; }
        @media screen and (min-width: 768px) {
          .tab li a h2 {
            transition: 0.4s ease-in-out; } }
        .tab li a h2:after {
          content: '';
          position: absolute;
          left: 0;
          bottom: 1rem;
          display: inline-block;
          height: 1em;
          width: 100%;
          border-bottom: 2px solid;
          margin-top: 20px;
          opacity: 0;
          -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
          transition: opacity 0.35s, transform 0.35s;
          transform: scale(0, 1); }
      @media screen and (min-width: 768px) {
        .tab li a:hover h2:after {
          opacity: 1;
          transform: scale(1); } }
      @media screen and (max-width: 767px) {
        .tab li a {
          font-size: 1.8rem;
          line-height: 1.4;
          text-align: center; } }
      .tab li a img {
        width: auto;
        height: 40px;
        margin-right: 12px; }
        @media screen and (max-width: 767px) {
          .tab li a img {
            display: none; } }
      .tab li a.recently {
        background-color: #129CDA;
        border-left: 6px solid #129CDA;
        border-top: 6px solid #129CDA;
        border-right: 6px solid #129CDA; }
      .tab li a.new {
        background-color: #F85A99;
        border-left: 6px solid #F85A99;
        border-top: 6px solid #F85A99;
        border-right: 6px solid #F85A99; }
      .tab li a.next {
        background-color: #FBA700;
        border-left: 6px solid #FBA700;
        border-top: 6px solid #FBA700;
        border-right: 6px solid #FBA700; }

.area {
  margin-top: 30px; }
  @media screen and (max-width: 767px) {
    .area {
      margin-top: 55px; } }
  .area .value {
    display: none;
    /*はじめは非表示*/
    opacity: 0;
    /*透過0*/ }
  .area.is-active .value {
    display: block;
    /*表示*/
    animation-name: displayAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards; }

@keyframes displayAnime {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@media screen and (max-width: 767px) {
  .ranking .items {
    margin: -40px 0 -30px !important; } }

.ranking .items .item {
  position: relative; }
  .ranking .items .item .label {
    position: absolute;
    width: 38%;
    left: 0;
    top: 0; }
  .ranking .items .item dl dd a {
    color: #F85A99;
    border-color: #F85A99; }

.top {
  padding-top: 20px; }
  @media screen and (max-width: 767px) {
    .top .items {
      margin-bottom: -95px; } }
  .top .mv {
    margin-bottom: -50px; }
    @media screen and (max-width: 767px) {
      .top .mv {
        margin-bottom: -30px; } }
  @media screen and (min-width: 768px) {
    .top .divination .link {
      transition: 0.4s ease-in-out; }
      .top .divination .link:hover {
        opacity: .6; } }
  .top .divination .text {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 5%; }
    .top .divination .text .book {
      width: 16%; }
    .top .divination .text p {
      margin-left: 4%;
      font-size: 2.8rem;
      font-weight: 700 !important; }
  .top .slide {
    opacity: 0;
    transition: opacity 0.3s linear; }
  .top .slide.slick-initialized {
    opacity: 1; }
  .top .slide-navigation {
    opacity: 0;
    transition: opacity 0.3s linear; }
  .top .slide-navigation.slick-initialized {
    opacity: 1; }
  .top .slide .slick-list {
    padding: 0 8% !important; }
  .top .slide li {
    max-width: 1012px;
    margin: 0 10px;
    border: 6px solid #fff;
    background-color: #fff; }
    @media screen and (min-width: 768px) {
      .top .slide li img {
        transition: 0.4s ease-in-out; }
        .top .slide li img:hover {
          opacity: .6; } }
    @media screen and (max-width: 767px) {
      .top .slide li {
        margin: 0 4px;
        border: 2px solid #fff; } }
    .top .slide li a {
      display: block; }
  .top .slide-navigation {
    margin-top: 30px !important;
    padding: 0 30px; }
    @media screen and (max-width: 767px) {
      .top .slide-navigation {
        margin-top: 10px;
        padding: 0 20px; } }
    .top .slide-navigation li {
      margin: 0 3px;
      border: 4px solid #fff;
      transition: 0.4s ease-in-out;
      cursor: pointer;
      background-color: #fff; }
      @media screen and (min-width: 768px) {
        .top .slide-navigation li img {
          transition: 0.4s ease-in-out; }
          .top .slide-navigation li img:hover {
            opacity: .6; } }
      @media screen and (max-width: 767px) {
        .top .slide-navigation li {
          border: 2px solid #fff; } }
      .top .slide-navigation li a {
        display: block; }
    .top .slide-navigation .slick-arrow {
      height: 100% !important;
      width: 30px !important;
      background-color: #129CDA !important; }
      @media screen and (min-width: 768px) {
        .top .slide-navigation .slick-arrow {
          transition: 0.4s ease-in-out; }
          .top .slide-navigation .slick-arrow:hover {
            opacity: .6; } }
      @media screen and (max-width: 767px) {
        .top .slide-navigation .slick-arrow {
          width: 16px !important; } }
    .top .slide-navigation .slick-arrow:before {
      content: "" !important;
      width: 13px !important;
      height: 15px !important;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background-size: contain !important;
      background-repeat: no-repeat !important; }
      @media screen and (max-width: 767px) {
        .top .slide-navigation .slick-arrow:before {
          width: 8px !important;
          height: 9px !important; } }
    .top .slide-navigation .slick-next:before {
      background-image: url(../images/mv_arw_r.svg) !important;
      background-repeat: no-repeat !important; }
    .top .slide-navigation .slick-prev:before {
      background-image: url(../images/mv_arw_l.svg) !important;
      background-repeat: no-repeat !important; }
    @media screen and (max-width: 767px) {
      .top .slide-navigation .slick-prev {
        left: 0; }
      .top .slide-navigation .slick-next {
        right: 0; } }
  .top .catalog .catch {
    padding: 0 10%; }
  .top .catalog .text {
    font-size: 2.6rem;
    text-align: center;
    margin: 15px 0; }
    .top .catalog .text p {
      font-weight: 700 !important; }
  .top .twitter iframe {
    width: 100%;
    padding: 0 10%; }
  .top .bnr .heading {
    background-color: #F85A99; }
  .top .bnr .bnrs {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      .top .bnr .bnrs {
        display: block;
        margin-bottom: -15px; } }
    .top .bnr .bnrs .target {
      display: block;
      width: 49%; }
      @media screen and (min-width: 768px) {
        .top .bnr .bnrs .target {
          transition: 0.4s ease-in-out; }
          .top .bnr .bnrs .target:hover {
            opacity: .6; } }
      @media screen and (max-width: 767px) {
        .top .bnr .bnrs .target {
          width: 100%;
          margin-bottom: 15px; } }

.slide_video .slick-slide {
  outline: 8px solid #ccc;
  outline-offset: -8px; }

.slide_video .slick-arrow {
  z-index: 1; }

.slide_video .slick-arrow {
  width: 26px !important;
  height: 47px !important; }
  @media screen and (max-width: 767px) {
    .slide_video .slick-arrow {
      width: 16px !important; } }

.slide_video .slick-arrow:before {
  content: "" !important;
  width: 26px !important;
  height: 47px !important;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-size: contain !important;
  background-repeat: no-repeat !important; }
  @media screen and (max-width: 767px) {
    .slide_video .slick-arrow:before {
      width: 8px !important;
      height: 9px !important; } }

.slide_video .slick-next:before {
  background-image: url(../images/arw_video_arw_r.svg) !important;
  background-repeat: no-repeat !important; }

.slide_video .slick-prev:before {
  background-image: url(../images/arw_video_arw_l.svg) !important;
  background-repeat: no-repeat !important; }

.slide_video .slick-prev {
  left: 15px; }

.slide_video .slick-next {
  right: 15px; }

.slide-navigation_video {
  margin-top: 10px;
  padding: 0 45px;
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 767px) {
    .slide-navigation_video {
      padding: 0 25px; } }
  .slide-navigation_video .item {
    margin: 0 6px; }
  .slide-navigation_video .slick-arrow {
    height: 100% !important;
    width: 30px !important;
    background-color: #F85A99 !important; }
    @media screen and (min-width: 768px) {
      .slide-navigation_video .slick-arrow {
        transition: 0.4s ease-in-out; }
        .slide-navigation_video .slick-arrow:hover {
          opacity: .6; } }
    @media screen and (max-width: 767px) {
      .slide-navigation_video .slick-arrow {
        width: 16px !important; } }
  .slide-navigation_video .slick-arrow:before {
    content: "" !important;
    width: 13px !important;
    height: 15px !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-size: contain !important;
    background-repeat: no-repeat !important; }
    @media screen and (max-width: 767px) {
      .slide-navigation_video .slick-arrow:before {
        width: 8px !important;
        height: 9px !important; } }
  .slide-navigation_video .slick-next:before {
    background-image: url(../images/mv_arw_r.svg) !important;
    background-repeat: no-repeat !important; }
  .slide-navigation_video .slick-prev:before {
    background-image: url(../images/mv_arw_l.svg) !important;
    background-repeat: no-repeat !important; }
  .slide-navigation_video .slick-prev {
    left: 0; }
  .slide-navigation_video .slick-next {
    right: 0; }
  .slide-navigation_video .slick-slide {
    cursor: pointer;
    opacity: .6;
    outline: 6px solid #ccc;
    outline-offset: -6px; }
    .slide-navigation_video .slick-slide.slick-current {
      opacity: 1; }
      @media screen and (min-width: 768px) {
        .slide-navigation_video .slick-slide.slick-current {
          transition: 0.4s ease-in-out; }
          .slide-navigation_video .slick-slide.slick-current:hover {
            opacity: .6; } }

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9; }

.youtube iframe {
  width: 100%;
  height: 100%; }

.block {
  background-color: #fff;
  border-radius: 20px;
  margin-top: 90px !important;
  padding: 70px 60px;
  position: relative; }
  @media screen and (max-width: 767px) {
    .block {
      margin-top: 50px !important;
      padding: 30px 20px; } }
  .block.novel_single {
    margin-top: 20px !important; }
    @media screen and (max-width: 767px) {
      .block.novel_single {
        margin-top: 10px !important; } }

.items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: -45px; }
  .items:after {
    content: "";
    display: block;
    width: calc(100% / 4 - 10px);
    height: 0; }
    @media screen and (max-width: 767px) {
      .items:after {
        width: calc(100% / 2 - 5px); } }
  .items:before {
    content: "";
    display: block;
    width: calc(100% / 4 - 10px);
    order: 1;
    height: 0; }
    @media screen and (max-width: 767px) {
      .items:before {
        width: calc(100% / 2 - 5px); } }
  .items .item {
    width: calc(100% / 4 - 10px);
    margin-bottom: 45px;
    position: relative;
    display: flex;
    flex-direction: column; }
    @media screen and (max-width: 767px) {
      .items .item {
        width: calc(100% / 2 - 5px);
        margin-bottom: 30px;
        position: relative; } }
    .items .item .catch {
      border: 1px solid #e7e7e7; }
    .items .item a {
      width: 100%;
      font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
      font-weight: bold !important; }
    @media screen and (min-width: 768px) {
      .items .item .catch_target {
        transition: 0.4s ease-in-out; }
        .items .item .catch_target:hover {
          opacity: .6; } }
    .items .item .catch {
      margin-bottom: 18px; }
      @media screen and (max-width: 767px) {
        .items .item .catch {
          margin-bottom: 10px; } }
      .items .item .catch.series {
        border-radius: 10px;
        border: 3px solid #F85A99; }
    .items .item .release {
      color: #F85A99;
      font-weight: 700 !important;
      font-size: 1.4rem; }
    .items .item .date {
      color: #F85A99;
      font-size: 1.6rem; }
    .items .item .title {
      margin-bottom: 8px;
      line-height: 1.4;
      font-weight: 700 !important; }
      @media screen and (max-width: 767px) {
        .items .item .title {
          margin-bottom: 6px; } }
    .items .item dl {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      font-size: 1.4rem;
      width: 100%; }
      .items .item dl dd a {
        display: block;
        color: #129CDA;
        border-bottom: 1px solid #129CDA;
        line-height: 1; }

.btn_wrap {
  width: 100%;
  margin-top: auto; }
  .btn_wrap .btn_main, .btn_wrap #single .form .submit, #single .form .btn_wrap .submit {
    margin-top: 15px; }

.btn_main, #single .form .submit {
  background-color: #129CDA;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 800 !important;
  height: 50px;
  width: 100%;
  position: relative;
  font-size: 1.8rem; }
  .btn_main.kekka, #single .form .kekka.submit {
    background-color: #fba700;
    margin: 40px 0;
    font-size: 2.1rem;
    padding: 34px; }
    @media screen and (max-width: 767px) {
      .btn_main.kekka, #single .form .kekka.submit {
        margin: 20px 0 0; } }
  .btn_main.more, #single .form .more.submit {
    background-color: #F85A99; }
  .btn_main.type01, #single .form .type01.submit {
    background-color: #F85A99; }
  .btn_main.type02, #single .form .type02.submit {
    background-color: #FBA700; }
  .btn_main.type03, #single .form .type03.submit {
    background-color: #FBA700; }
  .btn_main.type04, #single .form .type04.submit {
    background-color: #E8342F; }
  .btn_main a.none, #single .form .submit a.none {
    pointer-events: none;
    user-select: none;
    background: #ccc; }
  @media screen and (min-width: 768px) {
    .btn_main:not(.u):hover svg, #single .form .submit:not(.u):hover svg {
      right: 8px; } }
  @media screen and (max-width: 767px) {
    .btn_main, #single .form .submit {
      height: 40px; } }
  .btn_main svg, #single .form .submit svg {
    width: 20px;
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translate(-50%, -50%) !important;
    transition: 0.4s ease-in-out; }
    @media screen and (max-width: 767px) {
      .btn_main svg, #single .form .submit svg {
        width: 16px;
        right: 12px; } }
  .btn_main.u svg, #single .form .u.submit svg {
    transform: rotate(90deg); }
  @media screen and (min-width: 768px) {
    .btn_main.u:hover svg, #single .form .u.submit:hover svg {
      top: calc(50% + 6px); } }
  .btn_main.t svg, #single .form .t.submit svg {
    transform: rotate(-90deg); }
  .btn_main.big, #single .form .big.submit {
    padding: 15px 0;
    font-size: 2.88rem;
    height: auto; }

.btn_main, #single .form .submit {
  background-color: #129CDA;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 800 !important;
  height: 50px;
  width: 100%;
  position: relative;
  font-size: 1.8rem; }
  .btn_main.more, #single .form .more.submit {
    background-color: #F85A99; }
  .btn_main.type01, #single .form .type01.submit {
    background-color: #F85A99; }
  .btn_main.type02, #single .form .type02.submit {
    background-color: #FBA700; }
  .btn_main.type03, #single .form .type03.submit {
    background-color: #FBA700; }
  .btn_main.type04, #single .form .type04.submit {
    background-color: #E8342F; }
  .btn_main a.none, #single .form .submit a.none {
    pointer-events: none;
    user-select: none;
    background: #ccc; }
  @media screen and (min-width: 768px) {
    .btn_main:not(.u):hover svg, #single .form .submit:not(.u):hover svg {
      right: -40px; } }
  @media screen and (max-width: 767px) {
    .btn_main, #single .form .submit {
      height: 40px; } }
  .btn_main svg, #single .form .submit svg {
    width: 20px;
    position: relative;
    right: -30px;
    top: 10px;
    transform: translate(-50%, -50%) !important;
    transition: 0.4s ease-in-out; }
    @media screen and (max-width: 767px) {
      .btn_main svg, #single .form .submit svg {
        width: 16px;
        right: -18px;
        top: 8px; } }

a.none {
  pointer-events: none;
  user-select: none;
  background: #ccc !important; }

.heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #F85A99;
  border-radius: 20px 20px 0 0;
  padding: 12px 60px;
  position: relative;
  margin-bottom: -65px;
  top: -105px;
  width: 100%;
  text-align: center; }
  .heading.o {
    background-color: #FBA700; }
  .heading.b {
    background-color: #129CDA; }
  .heading.g {
    background-color: #33D097; }
  .heading.video {
    top: -95px !important; }
  @media screen and (max-width: 767px) {
    .heading {
      padding: 0 20px;
      margin-bottom: -20px;
      top: -50px;
      height: 40px; }
      .heading.video {
        top: -85px !important; }
      .heading.video_detail {
        top: -50px !important; } }
  .heading img {
    width: auto;
    height: 40px; }
    @media screen and (max-width: 767px) {
      .heading img {
        height: 18px; } }
  .heading h2 {
    font-size: 2.88rem;
    font-weight: 800 !important;
    color: #fff;
    line-height: 1.2;
    padding: 0 10px; }
    @media screen and (max-width: 767px) {
      .heading h2 {
        font-size: 1.8rem; } }

.character {
  overflow: hidden;
  position: relative; }
  .character .character_inner {
    width: 92%;
    max-width: 1120px;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .character .character_inner {
        width: 80%;
        margin: 0 0 0 3%; } }
    .character .character_inner .copy {
      height: 15px;
      bottom: 15px;
      left: 50%;
      transform: translate(-50%, -50%);
      position: absolute; }
      @media screen and (max-width: 767px) {
        .character .character_inner .copy {
          height: 1.8vw; } }
    .character .character_inner .bg {
      margin: 30px -2% -8.5%; }
      @media screen and (max-width: 767px) {
        .character .character_inner .bg {
          margin: 20px -2% -8.5% 0; } }

#footer {
  background-color: #129CDA;
  position: relative; }
  #footer .top {
    padding: 30px 0; }
    @media screen and (max-width: 767px) {
      #footer .top {
        padding: 20px 0; } }
  #footer .fnav {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; }
    #footer .fnav .target {
      font-size: 1.6rem;
      color: #fff;
      padding-left: 14px;
      position: relative;
      display: flex;
      align-items: center;
      position: relative; }
      #footer .fnav .target:before {
        content: '';
        position: absolute;
        left: 0;
        display: inline-block;
        height: 1em;
        width: 100%;
        border-bottom: 2px solid;
        margin-top: 20px;
        opacity: 0;
        -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
        transition: opacity 0.35s, transform 0.35s;
        transform: scale(0, 1); }
      @media screen and (min-width: 768px) {
        #footer .fnav .target:hover:before {
          opacity: 1;
          transform: scale(1); } }
      @media screen and (max-width: 767px) {
        #footer .fnav .target {
          padding-left: 8px; } }
      #footer .fnav .target:not(:last-child):after {
        content: "";
        margin-left: 14px;
        width: 2px;
        height: 18px;
        border-radius: 11px;
        background-color: #fff; }
        @media screen and (max-width: 767px) {
          #footer .fnav .target:not(:last-child):after {
            margin-left: 8px;
            height: 16px; } }
  #footer .abj_logo {
    width: 9%;
    display: block;
    margin: 40px auto 20px; }
    @media screen and (max-width: 767px) {
      #footer .abj_logo {
        width: 18%;
        margin: 20px auto 20px; } }
  #footer .abj_text {
    font-size: 1.2rem;
    color: #fff;
    text-align: center; }
  #footer .bot {
    background-color: #fff;
    font-size: 1.2rem;
    text-align: center;
    padding: 15px 0; }
    @media screen and (max-width: 767px) {
      #footer .bot {
        padding: 10px 0; } }

#page-top {
  position: fixed;
  bottom: 30px;
  right: 0;
  width: 12%; }
  #page-top:not(.bot) {
    transition: 0.8s ease-in-out; }
  @media screen and (max-width: 767px) {
    #page-top {
      width: 20%; } }
  @media screen and (min-width: 768px) {
    #page-top a {
      transition: 0.4s ease-in-out; }
      #page-top a:hover {
        opacity: .6; } }

.inner {
  width: 92%;
  max-width: 1120px;
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .inner {
      width: 94%; } }

#breadcrumb {
  margin: 10px 0;
  font-size: 1.6rem; }
  #breadcrumb ul li {
    position: relative;
    display: inline;
    padding: 0 8px; }
    #breadcrumb ul li:first-child {
      margin-left: -10px; }
    #breadcrumb ul li:not(:last-child):after {
      content: "/";
      position: relative;
      padding-left: 10px;
      right: -2px; }
    #breadcrumb ul li a {
      padding: 2px;
      font-weight: 700 !important;
      border-bottom: 1px solid transparent; }
      @media screen and (min-width: 768px) {
        #breadcrumb ul li a {
          transition: 0.4s ease-in-out; }
          #breadcrumb ul li a:hover {
            border-bottom: 1px solid #129CDA; } }
  #breadcrumb + .block:not(#single) {
    margin-top: 55px !important; }
    @media screen and (max-width: 767px) {
      #breadcrumb + .block:not(#single) {
        margin-top: 30px !important; } }

#single {
  margin-top: 15px !important; }
  @media screen and (max-width: 767px) {
    #single {
      margin-top: 5px !important; }
      #single .items {
        margin-bottom: -40px; } }
  #single .heading {
    margin: 60px 0 20px;
    top: 0; }
    @media screen and (max-width: 767px) {
      #single .heading {
        margin: 40px 0 10px; } }
  #single .first {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      #single .first {
        display: block; } }
    #single .first .dls {
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 30px; }
      @media screen and (max-width: 767px) {
        #single .first .dls {
          margin-bottom: 20px; } }
      #single .first .dls + img {
        border: 1px solid #e7e7e7; }
      #single .first .dls dl {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        font-size: 1.6rem;
        margin-right: 15px; }
        #single .first .dls dl dd a {
          display: block;
          color: #129CDA;
          border-bottom: 1px solid #129CDA;
          line-height: 1;
          font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
          font-weight: bold !important; }
          @media screen and (min-width: 768px) {
            #single .first .dls dl dd a {
              transition: 0.4s ease-in-out; }
              #single .first .dls dl dd a:hover {
                border-bottom: 1px solid #fff; } }
    #single .first .dl_spec01 {
      margin-top: 30px; }
      @media screen and (max-width: 767px) {
        #single .first .dl_spec01 {
          margin-top: 20px;
          margin-bottom: 20px; } }
      #single .first .dl_spec01 dl {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        width: 100%; }
    #single .first .title {
      font-size: 2.4rem;
      font-weight: 800 !important;
      line-height: 1.4;
      margin-bottom: 10px; }
    #single .first .fukudai {
      font-weight: 600 !important; }
      #single .first .fukudai.ato {
        margin: -6px 0 12px; }
    #single .first .dl_text01 dt {
      color: #129CDA; }
    #single .first .dl_text01 dd {
      margin-bottom: 30px;
      font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
      font-weight: bold !important;
      overflow-wrap: break-word; }
      #single .first .dl_text01 dd span {
        font-weight: bold !important;
        overflow-wrap: break-word; }
    #single .first .cats {
      width: 100%;
      margin-top: 5px; }
      #single .first .cats.cat01 li a {
        background-color: #9BE9D8; }
      #single .first .cats.cat02 {
        margin-bottom: 35px; }
        @media screen and (max-width: 767px) {
          #single .first .cats.cat02 {
            margin-bottom: 20px; } }
        #single .first .cats.cat02 li a {
          background-color: #FFB3D2; }
      #single .first .cats li {
        display: inline-block;
        margin: 2px 0; }
        #single .first .cats li a {
          display: block;
          border-radius: 10px;
          padding: 4px 20px;
          font-weight: 700 !important; }
          @media screen and (min-width: 768px) {
            #single .first .cats li a {
              transition: 0.4s ease-in-out; }
              #single .first .cats li a:hover {
                opacity: .6; } }
    #single .first .left {
      width: 40%; }
      @media screen and (max-width: 767px) {
        #single .first .left {
          width: 100%; } }
    #single .first .right {
      width: 54%; }
      @media screen and (max-width: 767px) {
        #single .first .right {
          width: 100%; } }
      #single .first .right .btn_main, #single .first .right .form .submit, #single .form .first .right .submit {
        margin-bottom: 15px; }
        @media screen and (max-width: 767px) {
          #single .first .right .btn_main, #single .first .right .form .submit, #single .form .first .right .submit {
            margin-top: 10px; } }
        #single .first .right .btn_main.cv, #single .first .right .form .cv.submit, #single .form .first .right .cv.submit {
          font-size: 2.4rem;
          margin-bottom: 35px;
          background-color: #fba700; }
          @media screen and (max-width: 767px) {
            #single .first .right .btn_main.cv, #single .first .right .form .cv.submit, #single .form .first .right .cv.submit {
              margin-bottom: 20px; } }
  #single .items {
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      #single .items {
        margin-bottom: 40px; } }
  #single .c_btns {
    margin: 50px 0; }
    @media screen and (max-width: 767px) {
      #single .c_btns {
        margin-bottom: 40px; } }
    #single .c_btns ul {
      display: flex;
      justify-content: space-between;
      margin-bottom: 10px; }
      @media screen and (max-width: 767px) {
        #single .c_btns ul {
          display: block;
          margin-bottom: 0; } }
      #single .c_btns ul li {
        width: calc(50% - 5px); }
        @media screen and (max-width: 767px) {
          #single .c_btns ul li {
            width: 100%;
            margin-bottom: 10px; } }
  #single .comments .btn_main, #single .comments .form .submit, #single .form .comments .submit {
    position: absolute;
    left: 40px;
    width: calc(100% - 80px); }
  #single .comment_list {
    position: relative;
    border: 3px solid #129CDA;
    border-radius: 20px;
    padding: 40px 40px 80px;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      #single .comment_list {
        padding: 15px 20px 60px;
        margin-bottom: 30px; } }
    #single .comment_list .title {
      font-size: 2.4rem;
      font-weight: 800 !important;
      margin-bottom: 20px;
      text-align: center; }
      @media screen and (max-width: 767px) {
        #single .comment_list .title {
          margin-bottom: 10px; } }
    #single .comment_list .comment {
      background-color: #CFF6F9;
      padding: 15px;
      margin-bottom: 25px; }
      @media screen and (max-width: 767px) {
        #single .comment_list .comment {
          margin-bottom: 15px; } }
    #single .comment_list .acd {
      display: none; }
  #single .form .title {
    font-size: 2.4rem;
    font-weight: 800 !important;
    border-bottom: 3px solid #129CDA;
    text-align: center;
    padding-bottom: 10px;
    margin-bottom: 20px; }
    @media screen and (max-width: 767px) {
      #single .form .title {
        margin-bottom: 10px; } }
  #single .form ul {
    font-size: 1.6rem;
    padding-left: 1em;
    margin-bottom: 20px; }
    @media screen and (max-width: 767px) {
      #single .form ul {
        margin-bottom: 10px; } }
    #single .form ul li {
      list-style: disc;
      margin-bottom: 6px; }
  #single .form .comment-form-comment label {
    font-size: 0 !important; }
  #single .form .comment-form-comment label::before {
    font-size: 1.6rem;
    content: "おうえんコメント"; }
  #single .form #commentform {
    display: flex;
    flex-direction: column; }
  #single .form .comment-form-comment {
    order: 2; }
  #single .form #gakunen_block {
    order: 2; }
    #single .form #gakunen_block .gakunen {
      width: 100%; }
  #single .form .form-submit {
    order: 2; }
  #single .form .comment-form-url {
    display: none !important; }
  #single .form .comment-form-comment, #single .form .comment-form-author, #single .form .comment-form-url, #single .form #gakunen_block, #single .form .form-group {
    display: flex;
    margin-bottom: 20px; }
    #single .form .comment-form-comment label, #single .form .comment-form-author label, #single .form .comment-form-url label, #single .form #gakunen_block label, #single .form .form-group label {
      display: block;
      width: 20%;
      font-size: 1.6rem;
      padding-top: 8px;
      font-weight: 700 !important; }
    #single .form .comment-form-comment select, #single .form .comment-form-comment input, #single .form .comment-form-author select, #single .form .comment-form-author input, #single .form .comment-form-url select, #single .form .comment-form-url input, #single .form #gakunen_block select, #single .form #gakunen_block input, #single .form .form-group select, #single .form .form-group input {
      width: 50%;
      height: 40px; }
    #single .form .comment-form-comment input, #single .form .comment-form-comment textarea, #single .form .comment-form-comment select, #single .form .comment-form-author input, #single .form .comment-form-author textarea, #single .form .comment-form-author select, #single .form .comment-form-url input, #single .form .comment-form-url textarea, #single .form .comment-form-url select, #single .form #gakunen_block input, #single .form #gakunen_block textarea, #single .form #gakunen_block select, #single .form .form-group input, #single .form .form-group textarea, #single .form .form-group select {
      padding: 0;
      border: none;
      border-radius: 0;
      outline: none;
      background: none;
      width: 75%;
      padding: 10px;
      border: 2px solid #CCCCCC;
      background-color: #fff;
      margin-left: 5%;
      font-size: 1.6rem; }
      @media screen and (max-width: 767px) {
        #single .form .comment-form-comment input, #single .form .comment-form-comment textarea, #single .form .comment-form-comment select, #single .form .comment-form-author input, #single .form .comment-form-author textarea, #single .form .comment-form-author select, #single .form .comment-form-url input, #single .form .comment-form-url textarea, #single .form .comment-form-url select, #single .form #gakunen_block input, #single .form #gakunen_block textarea, #single .form #gakunen_block select, #single .form .form-group input, #single .form .form-group textarea, #single .form .form-group select {
          width: 100%; } }
  #single .form .comment-form {
    background-color: #CFF6F9;
    padding: 30px; }
    @media screen and (max-width: 767px) {
      #single .form .comment-form {
        padding: 20px; } }
  #single .form .submit {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 2rem;
    position: relative; }
    @media screen and (min-width: 768px) {
      #single .form .submit {
        transition: 0.4s ease-in-out; }
        #single .form .submit:hover {
          opacity: .6; } }

.box-fadein {
  width: 100%;
  margin-bottom: 10px; }
  .box-fadein img {
    opacity: 0;
    transition: opacity 1s; }
  .box-fadein.lazyloaded img.lazyloaded {
    opacity: 1; }

dt {
  font-weight: 700 !important; }

.bg_wrap {
  position: relative; }
  .bg_wrap .body_bg {
    position: absolute;
    top: 0;
    width: 370px; }
    .bg_wrap .body_bg .fbgn {
      margin-bottom: 200px; }
      .bg_wrap .body_bg .fbgn img {
        position: relative;
        transition: all 0.8s;
        opacity: 0; }
      .bg_wrap .body_bg .fbgn.active img {
        opacity: 1;
        top: 0; }
    .bg_wrap .body_bg.bg_left {
      left: -270px;
      top: 290px; }
      .bg_wrap .body_bg.bg_left img {
        left: -100px; }
      .bg_wrap .body_bg.bg_left .fbgn.active img {
        left: 0;
        transition-delay: 0.2s; }
    .bg_wrap .body_bg.bg_right {
      right: -270px;
      top: 120px; }
      .bg_wrap .body_bg.bg_right img {
        right: -100px; }
      .bg_wrap .body_bg.bg_right .fbgn.active img {
        right: 0;
        transition-delay: 0.4s; }

.genre_wrap .genre_block .genre_title {
  background-color: #129CDA; }

.genre_wrap .genre_block:nth-of-type(2n) .genre_title {
  background-color: #F85A99; }

.genre_wrap .genre_block:nth-of-type(3n) .genre_title {
  background-color: #33D097; }

.genre_wrap .genre_block:nth-of-type(4n) .genre_title {
  background-color: #FBA700; }

.genre_wrap .genre_block .genre_title {
  width: 100%;
  display: block;
  font-size: 2.5rem;
  color: #fff;
  text-align: center;
  padding: 12px;
  border-radius: 30px;
  position: relative;
  margin-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .genre_wrap .genre_block .genre_title {
      display: flex;
      justify-content: center;
      align-items: center; } }
  @media screen and (max-width: 767px) {
    .genre_wrap .genre_block .genre_title {
      font-size: 2.2rem;
      padding: 8px;
      margin-bottom: 20px; } }
  @media screen and (max-width: 767px) {
    .genre_wrap .genre_block .genre_title .img_wrap {
      width: 22px;
      position: absolute;
      top: 50%;
      right: 10px;
      transform: translate(-50%, -50%); } }
  @media screen and (min-width: 768px) {
    .genre_wrap .genre_block .genre_title .img_wrap {
      margin-left: 20px; } }
  .genre_wrap .genre_block .genre_title .img_wrap img {
    display: block;
    transition: 0.4s ease-in-out;
    position: relative;
    vertical-align: middle;
    right: 0; }
    @media screen and (min-width: 768px) {
      .genre_wrap .genre_block .genre_title .img_wrap img {
        width: 22px; } }
  @media screen and (min-width: 768px) {
    .genre_wrap .genre_block .genre_title:hover .img_wrap img {
      right: -8px; } }
  .genre_wrap .genre_block .genre_title + .items {
    margin-bottom: 0; }

#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #a1e2e0;
  z-index: 9998; }
  #loader-bg #loader {
    display: none;
    position: fixed;
    z-index: 9999;
    width: 100%;
    height: 100%; }
    #loader-bg #loader .loader_wrap {
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center; }
      #loader-bg #loader .loader_wrap img {
        width: 200px; }

.novel .under_block {
  margin-top: 55px !important; }
  @media screen and (max-width: 767px) {
    .novel .under_block {
      margin-top: 30px !important; } }

.novel .block {
  padding-bottom: 40px; }
  @media screen and (max-width: 767px) {
    .novel .block {
      padding-bottom: 30px; } }
  .novel .block .tab li {
    width: calc(100% / 2); }
    .novel .block .tab li a.new {
      border-radius: 0 20px 0 0; }
  @media screen and (max-width: 767px) {
    .novel .block .area {
      margin-top: 0; }
      .novel .block .area .value {
        margin-top: 65px; } }
  .novel .block .area .head {
    border-radius: 20px;
    background-color: #129CDA;
    background-image: url(../images/novel_bg_star_b.gif);
    background-size: 23px;
    position: relative;
    padding: 40px 60px;
    margin: 60px 0 40px;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .novel .block .area .head {
        padding: 20px 30px 20vw;
        margin: 30px 0 20px; } }
    .novel .block .area .head.u15 {
      background-color: #F85A99;
      background-image: url(../images/novel_bg_star_p.gif); }
    .novel .block .area .head.o {
      background-color: #FBA700;
      background-image: url(../images/novel_bg_star_y.gif); }
    .novel .block .area .head .title {
      font-size: 3.5rem;
      font-weight: 800 !important;
      margin-bottom: 50px;
      position: relative; }
      @media screen and (max-width: 767px) {
        .novel .block .area .head .title {
          margin-bottom: 30px; } }
    .novel .block .area .head .contents .text {
      font-size: 1.95rem;
      font-weight: 800 !important;
      min-height: 5em; }
      @media screen and (max-width: 767px) {
        .novel .block .area .head .contents .text {
          font-size: 3.6vw; } }
      .novel .block .area .head .contents .text.under {
        width: 72%;
        margin-top: 1em; }
        @media screen and (max-width: 767px) {
          .novel .block .area .head .contents .text.under {
            width: 100%; }
            .novel .block .area .head .contents .text.under br {
              display: none; } }
      .novel .block .area .head .contents .text.kekka {
        margin: 0 auto;
        width: 48%; }
    .novel .block .area .head .contents img {
      width: 30%;
      position: absolute;
      right: 20px;
      bottom: 0; }
      @media screen and (max-width: 767px) {
        .novel .block .area .head .contents img {
          width: 36%;
          right: 10px; } }
    .novel .block .area .head.select {
      padding: 100px 60px; }
      @media screen and (max-width: 767px) {
        .novel .block .area .head.select {
          padding: 20px 30px 30vw; } }
      .novel .block .area .head.select .title {
        margin-bottom: 0;
        width: 76%;
        margin-bottom: 2px; }
        @media screen and (max-width: 767px) {
          .novel .block .area .head.select .title {
            width: 100%; } }
      .novel .block .area .head.select .contents img {
        width: 24%; }
        @media screen and (max-width: 767px) {
          .novel .block .area .head.select .contents img {
            width: 32%; } }
    .novel .block .area .head.result {
      text-align: center;
      padding: 40px 0 60px; }
      @media screen and (max-width: 767px) {
        .novel .block .area .head.result {
          padding: 20px 0 20px; } }
      .novel .block .area .head.result .title_wrap {
        position: relative; }
        .novel .block .area .head.result .title_wrap img {
          position: absolute;
          width: 12%;
          max-width: 100px;
          top: 0; }
        .novel .block .area .head.result .title_wrap .l {
          left: 10%; }
          @media screen and (max-width: 767px) {
            .novel .block .area .head.result .title_wrap .l {
              left: 4%; } }
        .novel .block .area .head.result .title_wrap .r {
          right: 10%; }
          @media screen and (max-width: 767px) {
            .novel .block .area .head.result .title_wrap .r {
              right: 4%; } }
        .novel .block .area .head.result .title_wrap .title01 {
          font-size: 2.1rem;
          font-weight: 700 !important;
          text-shadow: 8px 8px 20px rgba(0, 0, 0, 0.5); }
          @media screen and (max-width: 767px) {
            .novel .block .area .head.result .title_wrap .title01 {
              font-size: 4.2vw; } }
        .novel .block .area .head.result .title_wrap .title02 {
          font-size: 3.1rem;
          font-weight: 800 !important;
          text-shadow: 8px 8px 20px rgba(0, 0, 0, 0.5); }
          @media screen and (max-width: 767px) {
            .novel .block .area .head.result .title_wrap .title02 {
              font-size: 5vw;
              width: 84%;
              margin: 0 auto; } }
        .novel .block .area .head.result .title_wrap .title {
          font-size: 5.7rem;
          text-shadow: 8px 8px 20px rgba(0, 0, 0, 0.5);
          margin-bottom: 30px; }
          @media screen and (max-width: 767px) {
            .novel .block .area .head.result .title_wrap .title {
              font-size: 8vw; } }
  .novel .block .area.application {
    margin: 0; }
    .novel .block .area.application .head {
      text-align: center;
      padding: 50px 20px;
      margin-top: 0; }
      @media screen and (max-width: 767px) {
        .novel .block .area.application .head {
          padding: 30px 10px; } }
      .novel .block .area.application .head .title {
        margin-bottom: 0; }
  .novel .block .youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .novel .block .youtube {
        margin-bottom: 30px; } }
    .novel .block .youtube iframe {
      width: 100%;
      height: 100%; }
  .novel .block .text01 {
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .novel .block .text01 {
        margin-bottom: 30px; } }
    .novel .block .text01 p {
      font-size: 1.5rem;
      line-height: 1.8; }
  .novel .block .figure {
    margin: -20px 0 50px; }
    @media screen and (max-width: 767px) {
      .novel .block .figure {
        margin: -10px 0 30px; } }
    .novel .block .figure + .text01 {
      margin-top: -30px; }
      @media screen and (max-width: 767px) {
        .novel .block .figure + .text01 {
          margin-top: -20px; } }
  .novel .block .address {
    background-color: #FDF5E8;
    border: 2px solid #FBA700;
    padding: 2rem 4rem;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .novel .block .address {
        margin-bottom: 30px; } }
    .novel .block .address .title {
      color: #FBA700; }
    .novel .block .address .sub_title {
      margin: 30px 0 20px;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .novel .block .address .sub_title {
          margin: 20px 0 10px; } }
      .novel .block .address .sub_title p {
        font-size: 2rem;
        font-weight: 800 !important;
        padding: 0 1.5rem;
        color: #FBA700;
        border-bottom: 3px solid #FBA700;
        display: inline-block;
        text-align: center; }
      .novel .block .address .sub_title + .btn_main, .novel .block .address #single .form .sub_title + .submit, #single .form .novel .block .address .sub_title + .submit {
        margin-top: 30px; }
        @media screen and (max-width: 767px) {
          .novel .block .address .sub_title + .btn_main, .novel .block .address #single .form .sub_title + .submit, #single .form .novel .block .address .sub_title + .submit {
            margin-top: 20px; } }
    .novel .block .address.u15 {
      background-color: #FFF3F9;
      border: 2px solid #F85A99; }
      .novel .block .address.u15 .sub_title p {
        color: #F85A99;
        border-bottom: 3px solid #F85A99; }
  .novel .block .table01 {
    font-size: 1.8rem;
    width: 100%;
    text-align: left;
    margin-bottom: 40px; }
    .novel .block .table01 tr th {
      color: #129CDA;
      font-weight: 700 !important;
      width: 7em;
      padding: 20px 0;
      border-bottom: 2px solid #E2D7C7;
      vertical-align: top; }
      .novel .block .table01 tr th.u15 {
        color: #F85A99; }
    .novel .block .table01 tr td {
      padding: 20px 0;
      border-bottom: 2px solid #E2D7C7; }
      .novel .block .table01 tr td .sm {
        font-size: 1.4rem; }
      .novel .block .table01 tr td .imgs {
        width: 100%;
        display: flex;
        justify-content: space-between; }
        .novel .block .table01 tr td .imgs img {
          width: 48%; }
  .novel .block .notice {
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .novel .block .notice {
        margin-bottom: 30px; } }
    .novel .block .notice .title {
      font-size: 1.8rem;
      font-weight: 700 !important;
      margin-bottom: 10px; }
    .novel .block .notice ul {
      padding-left: 1em; }
      .novel .block .notice ul li {
        list-style: disc;
        list-style-position: outside;
        margin-bottom: 4px; }
        .novel .block .notice ul li strong {
          color: #F85A99; }
    .novel .block .notice .faq {
      font-size: 1.4rem; }
      .novel .block .notice .faq dt {
        margin-bottom: 4px; }
      .novel .block .notice .faq dd {
        margin-bottom: 30px; }
      .novel .block .notice .faq .q, .novel .block .notice .faq .a {
        font-weight: 700 !important;
        margin-right: 0.5rem; }
      .novel .block .notice .faq .q {
        color: #F85A99; }
      .novel .block .notice .faq .a {
        color: #129CDA; }
  .novel .block .cv {
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px; }
    @media screen and (max-width: 767px) {
      .novel .block .cv {
        display: block;
        margin-bottom: 30px; } }
    .novel .block .cv a {
      width: 48.5%;
      height: 150px;
      position: relative;
      border-radius: 10px;
      background-size: 28px; }
      .novel .block .cv a.type01 {
        background-image: url(../images/novel_bg_star_p.gif); }
      .novel .block .cv a.type02 {
        background-image: url(../images/novel_bg_star_y.gif); }
      @media screen and (max-width: 767px) {
        .novel .block .cv a {
          display: block;
          width: 100%;
          margin-bottom: 15px; } }
      .novel .block .cv a .text {
        position: absolute;
        z-index: 1;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        color: #fff;
        font-size: 2.4rem;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 800 !important; }
        .novel .block .cv a .text svg {
          transition: 0.4s ease-in-out;
          display: inline-block;
          width: 22px;
          margin-left: 10px;
          position: relative;
          right: 0; }
      @media screen and (min-width: 768px) {
        .novel .block .cv a:hover svg {
          right: -12px; } }
  .novel .block .past_list .title {
    font-size: 1.8rem;
    font-weight: 700 !important;
    text-align: center;
    padding-bottom: 15px;
    margin-bottom: 25px;
    border-bottom: 2px solid #E2D7C7; }
  .novel .block .past_list .btn_main, .novel .block .past_list #single .form .submit, #single .form .novel .block .past_list .submit {
    font-size: 2.1rem;
    padding: 34px;
    border-radius: 22px;
    margin-bottom: 20px; }

.novel .items .item .label {
  width: 100%;
  text-align: center;
  color: #fff;
  font-size: 1.9rem;
  font-weight: 700 !important;
  background-color: #129CDA;
  border-radius: 10px 10px 0 0;
  padding: 12px 0;
  margin-bottom: 10px; }

.novel .head01 {
  border-bottom: 3px solid #129CDA;
  padding-bottom: 0.5rem;
  margin-bottom: 2rem;
  text-align: center; }
  .novel .head01 .title {
    font-size: 2rem;
    font-weight: 800 !important;
    color: #129CDA;
    position: relative; }
    .novel .head01 .title .sm {
      font-size: 1.4rem;
      position: absolute;
      right: 0;
      bottom: 0;
      color: #483f2c; }
      @media screen and (max-width: 860px) {
        .novel .head01 .title .sm {
          position: relative;
          display: block;
          padding-bottom: 6px;
          padding-top: 4px; } }
      @media screen and (max-width: 1120px) {
        .novel .head01 .title .sm.l {
          position: relative;
          display: block;
          padding-bottom: 8px; } }
    .novel .head01 .title img {
      width: 2rem;
      vertical-align: middle;
      margin-right: 3px; }
  .novel .head01.u15 {
    border-bottom: 3px solid #F85A99; }
    .novel .head01.u15 .title {
      color: #F85A99; }
  .novel .head01.o {
    border-bottom: 3px solid #FBA700; }
    .novel .head01.o .title {
      color: #FBA700; }

.novel .list01 {
  font-size: 1.6rem;
  text-align: left;
  width: 100%;
  margin-bottom: 40px; }
  @media screen and (max-width: 767px) {
    .novel .list01 {
      margin-bottom: 30px; } }
  .novel .list01 tr {
    border-bottom: 2px solid #E2D7C7; }
  .novel .list01 th {
    width: 78%;
    padding: 0.8rem 0; }
    @media screen and (max-width: 767px) {
      .novel .list01 th {
        width: 25rem;
        padding: 0.8rem 2rem 0.8rem 0; } }
    .novel .list01 th img {
      width: 1.6rem;
      vertical-align: middle;
      margin-right: 3px; }
  .novel .list01 td {
    padding: 0.8rem 0;
    color: #129CDA; }
  .novel .list01.u15 td {
    color: #F85A99; }

.novel .award {
  margin-bottom: 60px; }
  @media screen and (max-width: 767px) {
    .novel .award {
      margin-bottom: 40px; } }
  .novel .award .award_block {
    display: flex;
    align-items: center;
    padding: 20px 0;
    border-bottom: 2px solid #E2D7C7; }
    .novel .award .award_block .award_icon {
      width: 140px; }
      @media screen and (max-width: 767px) {
        .novel .award .award_block .award_icon {
          width: 100px; } }
      .novel .award .award_block .award_icon.s {
        padding: 15px; }
    .novel .award .award_block .award_text {
      padding-left: 40px; }
      @media screen and (max-width: 767px) {
        .novel .award .award_block .award_text {
          padding-left: 20px; } }
      .novel .award .award_block .award_text .title {
        font-size: 2.7rem;
        margin-bottom: 4px;
        font-weight: 800 !important; }
      .novel .award .award_block .award_text .none {
        font-size: 2.7rem;
        font-weight: 700 !important; }
      .novel .award .award_block .award_text .name {
        color: #129CDA;
        font-size: 1.8rem;
        margin-bottom: 2px; }
      .novel .award .award_block .award_text .value {
        color: #129CDA;
        font-size: 1.6rem; }
        @media screen and (max-width: 767px) {
          .novel .award .award_block .award_text .value {
            margin-top: 0; } }
  .novel .award.u15 .award_block .award_text .name {
    color: #F85A99; }
    .novel .award.u15 .award_block .award_text .name + .title {
      margin-top: 1rem; }
  .novel .award.u15 .award_block .award_text .value {
    color: #F85A99;
    margin-top: 2rem; }

.novel .review {
  margin-bottom: 60px; }
  @media screen and (max-width: 767px) {
    .novel .review {
      margin-bottom: 40px; } }
  .novel .review .title {
    font-size: 2rem;
    color: #fff;
    background-color: #129CDA;
    font-weight: 700 !important;
    width: 15rem;
    text-align: center;
    border-radius: 12px 12px 0 0;
    padding: 4px;
    margin-left: 20px; }
  .novel .review .contents {
    border: 2px solid #129CDA;
    background-color: #E3F8FC;
    padding: 4rem 4rem 2rem; }
    @media screen and (max-width: 767px) {
      .novel .review .contents {
        padding: 3rem 3rem 1rem; } }
    .novel .review .contents p {
      font-size: 1.6rem;
      margin-bottom: 2rem; }
      .novel .review .contents p strong {
        color: #129CDA; }
      .novel .review .contents p em {
        color: #e9518e;
        font-style: normal; }
      .novel .review .contents p.r {
        text-align: right; }
  .novel .review.u15 .title {
    background-color: #F85A99; }
  .novel .review.u15 .contents {
    border: 2px solid #F85A99;
    background-color: #FFF3F9; }
    .novel .review.u15 .contents p strong {
      color: #F85A99; }

.mb50 {
  margin-bottom: 50px; }
  @media screen and (max-width: 767px) {
    .mb50 {
      margin-bottom: 30px; } }

.divination_detail {
  background-color: #F1EFE1;
  padding-bottom: 220px; }
  @media screen and (max-width: 767px) {
    .divination_detail {
      padding-bottom: 100px; } }
  .divination_detail .text01 {
    text-align: center;
    margin-bottom: 40px; }
    @media screen and (max-width: 767px) {
      .divination_detail .text01 {
        margin-bottom: 30px; } }
    .divination_detail .text01 p {
      font-size: 3.7rem;
      font-weight: 800 !important; }
      @media screen and (max-width: 767px) {
        .divination_detail .text01 p {
          font-size: 2.8rem; } }
    .divination_detail .text01 img {
      width: 146px;
      margin: 0 auto 4px; }
      @media screen and (max-width: 767px) {
        .divination_detail .text01 img {
          width: 100px; } }
  .divination_detail .books {
    display: flex;
    justify-content: center;
    padding: 0 4%; }
    .divination_detail .books a {
      padding: 0 2%; }
  .divination_detail .catch {
    width: 100%;
    margin-bottom: 50px; }
    @media screen and (max-width: 767px) {
      .divination_detail .catch {
        margin-bottom: 30px; } }
    @media screen and (min-width: 768px) {
      .divination_detail .catch {
        transition: 0.4s ease-in-out; }
        .divination_detail .catch:hover {
          opacity: .6; } }
  .divination_detail .choice {
    background-color: #fff;
    padding: 40px;
    border-radius: 20px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .divination_detail .choice {
        padding: 30px;
        font-size: 2.8rem; } }
    .divination_detail .choice span {
      transition: 0.4s ease-in-out;
      opacity: 0;
      font-size: 3.7rem;
      font-weight: 800 !important; }
      @media screen and (max-width: 767px) {
        .divination_detail .choice span {
          font-size: 3rem; } }
      .divination_detail .choice span.active {
        animation-name: fade;
        animation-duration: 0.56s;
        animation-delay: 1.12s;
        animation-fill-mode: forwards; }

@keyframes fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
  .divination_detail .chara01 {
    width: 260px;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 0); }
    @media screen and (max-width: 767px) {
      .divination_detail .chara01 {
        width: 120px; } }
  .divination_detail .text02 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin-bottom: 60px; }
    @media screen and (max-width: 767px) {
      .divination_detail .text02 {
        margin-bottom: 30px;
        width: 60%;
        margin: 0 auto; } }
    .divination_detail .text02 .img01 {
      width: 24%;
      position: absolute;
      left: 7%;
      bottom: -60px; }
      @media screen and (max-width: 767px) {
        .divination_detail .text02 .img01 {
          left: -35%;
          width: 40%; } }
    .divination_detail .text02 .card {
      position: relative;
      width: 350px;
      z-index: 1; }
      @media screen and (max-width: 767px) {
        .divination_detail .text02 .card {
          width: 100%; } }
      .divination_detail .text02 .card:before {
        content: "";
        display: block;
        padding-top: 142.5%; }
      .divination_detail .text02 .card .back,
      .divination_detail .text02 .card .front {
        transition: all 0.6s;
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 100%;
        backface-visibility: hidden; }
      .divination_detail .text02 .card .front {
        transform: rotateY(-180deg); }
      .divination_detail .text02 .card .front.active {
        animation-name: rotate01;
        animation-duration: 0.56s;
        animation-delay: 0.8s;
        animation-fill-mode: forwards; }

@keyframes rotate01 {
  0% {
    transform: rotateY(-180deg); }
  100% {
    transform: rotateY(0); } }
      .divination_detail .text02 .card .back {
        transform: rotateY(0); }
      .divination_detail .text02 .card .back.active {
        animation-name: rotate02;
        animation-duration: 0.56s;
        animation-delay: 0.8s;
        animation-fill-mode: forwards; }

@keyframes rotate02 {
  0% {
    transform: rotateY(0); }
  100% {
    transform: rotateY(180deg); } }
      .divination_detail .text02 .card .wrap {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        text-align: center; }
        .divination_detail .text02 .card .wrap .main {
          font-size: 8rem;
          font-weight: 600 !important;
          color: #FBA700;
          line-height: 1.4; }
          @media screen and (max-width: 767px) {
            .divination_detail .text02 .card .wrap .main {
              font-size: 5rem; } }
        .divination_detail .text02 .card .wrap .sub {
          font-size: 4rem;
          font-weight: 600 !important;
          line-height: 1; }
          @media screen and (max-width: 767px) {
            .divination_detail .text02 .card .wrap .sub {
              font-size: 2.4rem; } }
    .divination_detail .text02 .img02 {
      width: 30%;
      position: absolute;
      right: 3.5%;
      bottom: -70px; }
      @media screen and (max-width: 767px) {
        .divination_detail .text02 .img02 {
          right: -40%;
          width: 48%; } }
  .divination_detail .text03 {
    text-align: center;
    margin: 0 0 40px;
    padding: 0 0 60px; }
    @media screen and (max-width: 767px) {
      .divination_detail .text03 {
        margin: 0px 0 0px;
        padding: 0 0 20px; } }
    @media screen and (max-width: 767px) {
      .divination_detail .text03.new {
        margin: 50px 0 10px;
        padding: 0 0 40px; } }
    .divination_detail .text03.mb0 {
      margin-bottom: 0; }
    @media screen and (min-width: 768px) {
      .divination_detail .text03 img {
        transition: 0.4s ease-in-out; }
        .divination_detail .text03 img:hover {
          opacity: .6; } }
    .divination_detail .text03 p {
      font-size: 3rem;
      font-weight: 800 !important; }
  .divination_detail .choice {
    position: relative;
    margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      .divination_detail .choice {
        margin-bottom: 20px; } }
    .divination_detail .choice img {
      position: absolute;
      left: 50%;
      top: -35px;
      transform: translate(-50%, 0);
      width: 80px; }
      @media screen and (max-width: 767px) {
        .divination_detail .choice img {
          width: 50px;
          top: -25px; } }
  .divination_detail .chk {
    margin-top: 140px;
    padding-bottom: 40px; }
    @media screen and (max-width: 767px) {
      .divination_detail .chk {
        margin-top: 50px;
        padding-bottom: 20px; } }
    .divination_detail .chk .o a {
      color: #FBA700 !important;
      border-color: #FBA700; }
  .divination_detail .items {
    border-bottom: 4px solid #fff;
    margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      .divination_detail .items {
        margin-bottom: 20px; } }

.divination_detail02 {
  padding-bottom: 0; }
  .divination_detail02 .card02 {
    width: 30%;
    margin: 20px 0 10px; }
    @media screen and (max-width: 767px) {
      .divination_detail02 .card02 {
        width: 50%;
        margin: 10px 0 10px; } }

@media screen and (min-width: 768px) {
  #video {
    padding-top: 60px;
    margin-top: -60px; } }

.animation.lazyload,
.animation.lazyloading {
  opacity: 0;
  visibility: hidden; }

.animation.lazyloaded {
  opacity: 1;
  visibility: visible;
  transition: 1s ease; }

.special {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translate(-50%, 0);
  color: #483F2C; }
  @media screen and (max-width: 767px) {
    .special {
      margin-top: 10px; } }
  .special .special_inner {
    max-width: 800px;
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .special .special_inner {
        padding: 0 20px; } }
  @media screen and (max-width: 767px) {
    .special .special_eye .inner {
      width: 100%; } }
  .special .special_eye.special_catalog {
    background-size: auto auto;
    background-color: #AC95C1;
    background-image: repeating-linear-gradient(90deg, #8fc48a, #8fc48a 22px, #6cb66f 22px, #6cb66f 44px);
    margin-top: 15px; }
  .special .special_eye.special_campaign {
    margin-top: 15px;
    background-color: #BCE1DE;
    background-image: url(../images/campaign_bg.png);
    background-position: center top;
    background-size: 1500px auto;
    background-repeat: repeat-x;
    padding: 40px 0 10px; }
    @media screen and (max-width: 767px) {
      .special .special_eye.special_campaign {
        background-size: contain;
        padding-top: 10px; } }
  .special .special_head01 {
    font-size: 2.2rem;
    font-weight: 800 !important;
    color: #fff;
    text-align: center;
    padding: 10px; }
    @media screen and (max-width: 767px) {
      .special .special_head01 {
        font-size: 1.6rem; } }
    .special .special_head01.special_catalog {
      background-color: #E8342F; }
    .special .special_head01.special_campaign {
      background-color: #E9528E; }
  .special .special_contents {
    padding: 40px 0 60px; }
    @media screen and (max-width: 767px) {
      .special .special_contents {
        padding: 30px 0 40px; } }
    .special .special_contents.special_catalog {
      background-color: #96EAE0; }
    .special .special_contents.special_campaign {
      background-color: #6355A1; }
  .special .special_head02 {
    font-size: 1.875rem;
    font-weight: 800 !important;
    color: #fff;
    text-align: center;
    padding: 20px 40px;
    border-radius: 10px;
    margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      .special .special_head02 {
        font-size: 1.6rem;
        padding: 10px 20px;
        margin-bottom: 20px; } }
    .special .special_head02.special_catalog {
      background-color: #E8342F; }
    .special .special_head02.special_campaign {
      background-color: #E9528E;
      text-align: left;
      font-size: 1.78rem; }
  .special .special_block01 {
    background-color: #fff;
    border-radius: 10px;
    padding: 30px;
    margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      .special .special_block01 {
        padding: 20px;
        margin-bottom: 20px; } }
    .special .special_block01 .special_block01_title {
      font-size: 1.6rem;
      font-weight: 800 !important;
      color: #fff;
      text-align: center;
      border-radius: 10px;
      padding: 5px;
      margin-bottom: 15px; }
      @media screen and (max-width: 767px) {
        .special .special_block01 .special_block01_title {
          font-size: 1.4rem;
          margin-bottom: 10px; } }
      .special .special_block01 .special_block01_title.special_catalog {
        background-color: #F99300; }
      .special .special_block01 .special_block01_title.special_campaign {
        background-color: #6355A1; }
    .special .special_block01 .special_block01_text {
      font-size: 2rem;
      font-weight: 800 !important;
      line-height: 1.7;
      display: flex;
      flex-wrap: wrap;
      justify-content: center; }
      @media screen and (max-width: 767px) {
        .special .special_block01 .special_block01_text {
          font-size: 1.4rem; } }
      .special .special_block01 .special_block01_text + .special_block01_title {
        margin-top: 20px; }
  .special .special_list {
    margin-bottom: 30px; }
    @media screen and (max-width: 767px) {
      .special .special_list {
        margin-bottom: 20px; } }
    .special .special_list.special_campaign {
      color: #fff; }
    .special .special_list li {
      font-size: 1.6rem;
      font-weight: 800 !important;
      line-height: 1.8;
      position: relative;
      padding-left: 2rem; }
      @media screen and (max-width: 767px) {
        .special .special_list li {
          font-size: 1.4rem; } }
      .special .special_list li:before {
        content: "● ";
        position: absolute;
        left: 0; }
  .special .special_text01 {
    color: #fff;
    font-size: 1.6rem;
    font-weight: 800 !important;
    margin-bottom: 30px; }
  .special .special_title01 {
    color: #FFFF00;
    font-size: 2.2rem;
    font-weight: 800 !important;
    margin-bottom: 10px; }
  .special small {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 700 !important;
    margin-bottom: -4rem; }
  .special .special_dl_wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    @media screen and (max-width: 767px) {
      .special .special_dl_wrap {
        display: block; } }
    .special .special_dl_wrap .special_dl {
      width: 48%;
      display: flex; }
      @media screen and (max-width: 767px) {
        .special .special_dl_wrap .special_dl {
          width: 100%;
          margin-bottom: 10px; } }
      .special .special_dl_wrap .special_dl dt {
        font-size: 1.5rem;
        font-weight: 800 !important;
        background-color: #E9528E;
        color: #fff;
        border-radius: 10px;
        padding: 10px 0;
        width: 40%;
        height: 5rem;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap; }
      .special .special_dl_wrap .special_dl dd {
        padding-left: 1.5rem;
        font-size: 2.2rem;
        font-weight: 800 !important;
        display: flex;
        align-items: center;
        flex-wrap: wrap; }
        .special .special_dl_wrap .special_dl dd span {
          font-weight: 800 !important; }
        .special .special_dl_wrap .special_dl dd .m {
          font-size: 1.8rem; }
        .special .special_dl_wrap .special_dl dd .s {
          font-size: 1.1rem;
          margin-top: -.5rem; }
  .special.mecha {
    padding: 0; }
    .special.mecha .special_eye.special_campaign {
      padding: 0 !important;
      background: rgba(230, 45, 139, 0.7) !important; }
    .special.mecha .special_head01.special_campaign {
      background-color: #005cff; }
    .special.mecha .special_head02.special_campaign {
      background-color: #005cff; }
    .special.mecha .special_dl_wrap .special_dl dt {
      background-color: #ff008c; }
    .special.mecha .special_block01 .special_block01_title.special_campaign {
      background-color: #005cff; }
    .special.mecha .special_contents.special_campaign {
      background-color: #fc7800; }

.div_item {
  transition: 0.4s ease-in-out;
  opacity: 0; }
  .div_item.active {
    animation-name: fade01;
    animation-duration: 0.7s;
    animation-delay: 1.4s;
    animation-fill-mode: forwards; }

@keyframes fade01 {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@media screen and (max-width: 767px) {
  .video_detail {
    top: 50px !important; } }

.divination_detail_wrap .divination_detail_contents:not(:first-child) {
  opacity: 0;
  visibility: hidden; }

.news .time {
  margin-bottom: 8px;
  display: block; }

.news .news_title {
  font-size: 2.8rem;
  font-weight: 900 !important;
  color: #129CDA;
  margin-bottom: 26px; }

.news .news_value {
  font-size: 1.8rem;
  margin-bottom: 100px;
  line-height: 1.8; }
  .news .news_value a {
    color: #129CDA;
    border-bottom: 2px solid #129CDA; }
    @media screen and (min-width: 768px) {
      .news .news_value a {
        transition: 0.4s ease-in-out; }
        .news .news_value a:hover {
          border-color: transparent; } }

.news .btn_main, .news #single .form .submit, #single .form .news .submit {
  width: 30rem;
  margin: 0 auto; }

.news .news_list .target {
  display: flex;
  align-items: center;
  border-bottom: 2px solid #E6E6E6;
  padding: 2rem 0; }
  .news .news_list .target .time {
    margin: 0;
    width: 18rem; }
    @media screen and (max-width: 767px) {
      .news .news_list .target .time {
        width: 26rem; } }
  .news .news_list .target .news_title {
    font-size: 1.6rem;
    font-weight: 600 !important;
    margin: 0;
    border-bottom: 1px solid #129CDA; }
    @media screen and (min-width: 768px) {
      .news .news_list .target .news_title {
        transition: 0.4s ease-in-out; }
        .news .news_list .target .news_title:hover {
          border-color: transparent; } }

.block.tab_block .items {
  margin-bottom: 0 !important; }

.block.tab_block .area {
  margin-top: 0 !important; }

@media screen and (min-width: 768px) {
  .block.tab_block {
    padding: 100px 60px 25px; } }

@media screen and (max-width: 767px) {
  .block.tab_block {
    padding: 90px 20px 0; } }

.sns_box {
  cursor: pointer;
  height: 40px;
  margin-inline: auto;
  position: relative;
  width: 40px; }

/* 画像のスタイル */
.sns_box img {
  height: auto;
  left: 0;
  position: absolute;
  width: 100%; }

/* 2枚目の画像は最初透明 */
.sns_box img:last-of-type {
  opacity: 0;
  transition: opacity 0.7s; }

/* hoverすると2枚目の画像が透明じゃなくなる */
.sns_box:hover img {
  opacity: 1; }

.aliceandpenguin {
  padding-bottom: 50px;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700 !important;
  font-style: normal;
  background-image: url(/wp-content/themes/juniorbunko/images/aliceandpenguin/bg.svg);
  background-size: 100%;
  background-repeat: repeat-y; }
  .aliceandpenguin a {
    display: inline-block;
    box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.3);
    transition: transform 0.1s ease, box-shadow 0.1s ease;
    cursor: pointer;
    border-radius: 50px; }
    .aliceandpenguin a:hover {
      transform: translate(5px, 5px);
      box-shadow: none; }
  .aliceandpenguin .aliceandpenguin__main__contents {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease, transform 0.8s ease; }
  .aliceandpenguin .aliceandpenguin__main__contents.fadein-show {
    opacity: 1;
    transform: translateY(0); }
  .aliceandpenguin img {
    max-width: 100%; }
  .aliceandpenguin__eye {
    margin-bottom: 80px;
    background: repeating-linear-gradient(90deg, #f9309e 0 22px, #e864ae 22px 44px); }
    .aliceandpenguin__eye img {
      max-width: 1400px;
      margin: 0 auto;
      display: block; }
    @media screen and (max-width: 767px) {
      .aliceandpenguin__eye {
        text-align: center;
        margin-bottom: 40px; } }
    .aliceandpenguin__eye img {
      width: 100%; }
  .aliceandpenguin__main {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px; }
    @media screen and (max-width: 767px) {
      .aliceandpenguin__main {
        padding: 0 20px; } }
    .aliceandpenguin__main__contents {
      position: relative; }
      .aliceandpenguin__main__contents.type00 {
        margin-bottom: 80px; }
        @media screen and (max-width: 767px) {
          .aliceandpenguin__main__contents.type00 {
            text-align: center;
            margin-bottom: 40px; } }
        .aliceandpenguin__main__contents.type00 .video-wrapper {
          position: absolute;
          left: 50%;
          transform: translateX(-50%);
          width: 65%;
          margin-top: 13%;
          padding-bottom: 37%;
          height: 0;
          overflow: hidden; }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type00 .video-wrapper {
              position: relative;
              left: 50%;
              transform: translateX(-50%);
              width: 100%;
              margin-top: 20px;
              margin-bottom: 40px;
              padding-bottom: 62.5%; } }
          .aliceandpenguin__main__contents.type00 .video-wrapper iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border: 2px solid #ff5072; }
        @media screen and (max-width: 767px) {
          .aliceandpenguin__main__contents.type00 .aliceandpenguin__main__contents__img01 {
            height: 70px; } }
        .aliceandpenguin__main__contents.type00 .aliceandpenguin__main__contents__img02, .aliceandpenguin__main__contents.type00 .aliceandpenguin__main__contents__img03 {
          position: absolute; }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type00 .aliceandpenguin__main__contents__img02, .aliceandpenguin__main__contents.type00 .aliceandpenguin__main__contents__img03 {
              position: relative; } }
        .aliceandpenguin__main__contents.type00 .aliceandpenguin__main__contents__img02 {
          left: -80px;
          width: 440px;
          bottom: -30px; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type00 .aliceandpenguin__main__contents__img02 {
              left: -40px;
              bottom: -24px;
              width: 29vw; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type00 .aliceandpenguin__main__contents__img02 {
              left: auto;
              bottom: auto;
              width: 90%; } }
        .aliceandpenguin__main__contents.type00 .aliceandpenguin__main__contents__img03 {
          width: 410px;
          right: -60px; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type00 .aliceandpenguin__main__contents__img03 {
              right: -40px;
              width: 29vw; } }
      .aliceandpenguin__main__contents.type01 {
        margin-bottom: 80px; }
        @media screen and (max-width: 767px) {
          .aliceandpenguin__main__contents.type01 {
            text-align: center;
            margin-bottom: 40px; } }
        @media screen and (max-width: 767px) {
          .aliceandpenguin__main__contents.type01 .aliceandpenguin__main__contents__img01 {
            width: 100%;
            margin-bottom: 10px; } }
        .aliceandpenguin__main__contents.type01 .text_wrap {
          position: absolute;
          left: 24%;
          top: 32%;
          width: 54%;
          font-size: 23px;
          line-height: 1.7;
          font-weight: 700 !important;
          color: #46469f; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type01 .text_wrap {
              font-size: 1.8vw; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type01 .text_wrap {
              position: relative;
              left: auto;
              top: auto;
              width: 90%;
              margin: 0 auto 10px;
              font-size: 18px;
              text-align: left; } }
          .aliceandpenguin__main__contents.type01 .text_wrap span {
            font-weight: 700 !important;
            background-color: #ffff00; }
          .aliceandpenguin__main__contents.type01 .text_wrap b {
            font-weight: 700 !important;
            font-size: .8em; }
        .aliceandpenguin__main__contents.type01 .aliceandpenguin__main__contents__img02, .aliceandpenguin__main__contents.type01 .aliceandpenguin__main__contents__img03, .aliceandpenguin__main__contents.type01 .aliceandpenguin__main__contents__img04 {
          position: absolute; }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type01 .aliceandpenguin__main__contents__img02, .aliceandpenguin__main__contents.type01 .aliceandpenguin__main__contents__img03, .aliceandpenguin__main__contents.type01 .aliceandpenguin__main__contents__img04 {
              position: relative; } }
        .aliceandpenguin__main__contents.type01 .aliceandpenguin__main__contents__img02 {
          width: 500px;
          left: -80px;
          bottom: -26px; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type01 .aliceandpenguin__main__contents__img02 {
              left: -50px;
              bottom: -10px;
              width: 34vw; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type01 .aliceandpenguin__main__contents__img02 {
              left: auto;
              bottom: auto;
              width: 90%;
              margin-bottom: 20px; } }
        .aliceandpenguin__main__contents.type01 .aliceandpenguin__main__contents__img03 {
          width: 310px;
          right: -40px;
          bottom: 70px;
          z-index: 1; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type01 .aliceandpenguin__main__contents__img03 {
              right: -30px;
              bottom: 50px;
              width: 22vw; } }
        .aliceandpenguin__main__contents.type01 .aliceandpenguin__main__contents__img04 {
          width: 740px;
          right: 110px;
          bottom: 20px;
          z-index: 1;
          display: inline-block; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type01 .aliceandpenguin__main__contents__img04 {
              right: 10vw;
              bottom: 12px;
              width: 50vw; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type01 .aliceandpenguin__main__contents__img04 {
              right: auto;
              bottom: auto;
              width: 100%; } }
      .aliceandpenguin__main__contents.type02 {
        margin-bottom: 80px; }
        @media screen and (max-width: 767px) {
          .aliceandpenguin__main__contents.type02 {
            text-align: center;
            margin-bottom: 40px; } }
        @media screen and (max-width: 767px) {
          .aliceandpenguin__main__contents.type02 .aliceandpenguin__main__contents__img01 {
            width: 100%;
            margin-bottom: 10px; } }
        .aliceandpenguin__main__contents.type02 .text_wrap {
          position: absolute;
          left: 21%;
          top: 38%;
          width: 35%;
          font-size: 23px;
          line-height: 1.7;
          font-weight: 700 !important;
          color: #46469f; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type02 .text_wrap {
              font-size: 1.8vw; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type02 .text_wrap {
              position: relative;
              left: auto;
              top: auto;
              width: 90%;
              margin: 0 auto 10px;
              font-size: 18px;
              text-align: left; } }
          .aliceandpenguin__main__contents.type02 .text_wrap span {
            font-weight: 700 !important;
            background-color: #ffff00; }
        .aliceandpenguin__main__contents.type02 .aliceandpenguin__main__contents__img02, .aliceandpenguin__main__contents.type02 .aliceandpenguin__main__contents__img03, .aliceandpenguin__main__contents.type02 .aliceandpenguin__main__contents__img04 {
          position: absolute; }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type02 .aliceandpenguin__main__contents__img02, .aliceandpenguin__main__contents.type02 .aliceandpenguin__main__contents__img03, .aliceandpenguin__main__contents.type02 .aliceandpenguin__main__contents__img04 {
              position: relative; } }
        .aliceandpenguin__main__contents.type02 .aliceandpenguin__main__contents__img02 {
          width: 310px;
          left: -62px;
          bottom: 30px;
          z-index: 1; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type02 .aliceandpenguin__main__contents__img02 {
              left: -50px;
              bottom: 20px;
              width: 22vw; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type02 .aliceandpenguin__main__contents__img02 {
              left: auto;
              bottom: auto;
              width: 90%;
              margin-bottom: 20px; } }
        .aliceandpenguin__main__contents.type02 .aliceandpenguin__main__contents__img03 {
          width: 620px;
          right: -64px;
          bottom: -40px;
          z-index: 1; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type02 .aliceandpenguin__main__contents__img03 {
              right: -5vw;
              bottom: -50px;
              width: 46vw; } }
        .aliceandpenguin__main__contents.type02 .aliceandpenguin__main__contents__img04 {
          width: 510px;
          left: 210px;
          bottom: 20px;
          z-index: 1; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type02 .aliceandpenguin__main__contents__img04 {
              left: 16vw;
              bottom: 20px;
              width: 40vw; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type02 .aliceandpenguin__main__contents__img04 {
              left: auto;
              bottom: auto;
              width: 100%; } }
      .aliceandpenguin__main__contents.type03 {
        margin-bottom: 80px; }
        @media screen and (max-width: 767px) {
          .aliceandpenguin__main__contents.type03 {
            text-align: center;
            margin-bottom: 40px; } }
        @media screen and (max-width: 767px) {
          .aliceandpenguin__main__contents.type03 .aliceandpenguin__main__contents__img01 {
            width: 100%;
            margin-bottom: 10px; } }
        .aliceandpenguin__main__contents.type03 .text_wrap {
          position: absolute;
          left: 28%;
          top: 28%;
          width: 50%;
          font-size: 23px;
          line-height: 1.7;
          font-weight: 700 !important;
          color: #46469f; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type03 .text_wrap {
              font-size: 1.8vw;
              left: 24%;
              top: 27%;
              width: 58%; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type03 .text_wrap {
              position: relative;
              left: auto;
              top: auto;
              width: 90%;
              margin: 0 auto 10px;
              font-size: 18px;
              text-align: left; } }
          .aliceandpenguin__main__contents.type03 .text_wrap span {
            font-weight: 700 !important;
            background-color: #ffff00; }
        .aliceandpenguin__main__contents.type03 .aliceandpenguin__main__contents__img02, .aliceandpenguin__main__contents.type03 .aliceandpenguin__main__contents__img03, .aliceandpenguin__main__contents.type03 .aliceandpenguin__main__contents__img04 {
          position: absolute; }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type03 .aliceandpenguin__main__contents__img02, .aliceandpenguin__main__contents.type03 .aliceandpenguin__main__contents__img03, .aliceandpenguin__main__contents.type03 .aliceandpenguin__main__contents__img04 {
              position: relative; } }
        .aliceandpenguin__main__contents.type03 .aliceandpenguin__main__contents__img02 {
          width: 600px;
          left: -52px;
          bottom: -60px;
          z-index: 1; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type03 .aliceandpenguin__main__contents__img02 {
              left: -4vw;
              bottom: -30px;
              width: 38vw; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type03 .aliceandpenguin__main__contents__img02 {
              left: auto;
              bottom: auto;
              width: 90%;
              margin-bottom: 20px; } }
        .aliceandpenguin__main__contents.type03 .aliceandpenguin__main__contents__img03 {
          width: 320px;
          right: -44px;
          bottom: 60px;
          z-index: 1; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type03 .aliceandpenguin__main__contents__img03 {
              right: -3vw;
              bottom: 90px;
              width: 20vw; } }
        .aliceandpenguin__main__contents.type03 .aliceandpenguin__main__contents__img04 {
          width: 540px;
          right: 180px;
          bottom: 30px;
          z-index: 1; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type03 .aliceandpenguin__main__contents__img04 {
              right: 8vw;
              bottom: 16px;
              width: 46vw; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type03 .aliceandpenguin__main__contents__img04 {
              right: auto;
              bottom: auto;
              width: 100%; } }
      .aliceandpenguin__main__contents.type04 {
        margin-bottom: 80px; }
        @media screen and (max-width: 767px) {
          .aliceandpenguin__main__contents.type04 {
            text-align: center;
            margin-bottom: 40px; } }
        @media screen and (max-width: 767px) {
          .aliceandpenguin__main__contents.type04 .aliceandpenguin__main__contents__img01 {
            width: 100%;
            margin-bottom: 10px; } }
        .aliceandpenguin__main__contents.type04 .text_wrap {
          position: absolute;
          left: 21%;
          top: 28%;
          width: 40%;
          font-size: 23px;
          line-height: 1.7;
          font-weight: 700 !important;
          color: #46469f; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type04 .text_wrap {
              font-size: 1.8vw;
              width: 46%; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type04 .text_wrap {
              position: relative;
              left: auto;
              top: auto;
              width: 90%;
              margin: 0 auto 10px;
              font-size: 18px;
              text-align: left; } }
          .aliceandpenguin__main__contents.type04 .text_wrap span {
            font-weight: 700 !important;
            background-color: #ffff00; }
        .aliceandpenguin__main__contents.type04 .aliceandpenguin__main__contents__img02, .aliceandpenguin__main__contents.type04 .aliceandpenguin__main__contents__img03, .aliceandpenguin__main__contents.type04 .aliceandpenguin__main__contents__img04 {
          position: absolute; }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type04 .aliceandpenguin__main__contents__img02, .aliceandpenguin__main__contents.type04 .aliceandpenguin__main__contents__img03, .aliceandpenguin__main__contents.type04 .aliceandpenguin__main__contents__img04 {
              position: relative; } }
        .aliceandpenguin__main__contents.type04 .aliceandpenguin__main__contents__img02 {
          width: 310px;
          left: -48px;
          bottom: 30px; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type04 .aliceandpenguin__main__contents__img02 {
              left: -50px;
              bottom: 20px;
              width: 22vw; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type04 .aliceandpenguin__main__contents__img02 {
              left: auto;
              bottom: auto;
              width: 90%;
              margin-bottom: 20px; } }
        .aliceandpenguin__main__contents.type04 .aliceandpenguin__main__contents__img03 {
          width: 580px;
          right: -30px;
          bottom: -70px;
          z-index: 1; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type04 .aliceandpenguin__main__contents__img03 {
              right: -3vw;
              bottom: -70px;
              width: 38vw; } }
        .aliceandpenguin__main__contents.type04 .aliceandpenguin__main__contents__img04 {
          width: 460px;
          left: 210px;
          bottom: 30px; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type04 .aliceandpenguin__main__contents__img04 {
              left: 16vw;
              bottom: 20px;
              width: 36vw; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type04 .aliceandpenguin__main__contents__img04 {
              left: auto;
              bottom: auto;
              width: 100%; } }
      .aliceandpenguin__main__contents.type05 {
        margin-bottom: 80px; }
        @media screen and (max-width: 767px) {
          .aliceandpenguin__main__contents.type05 {
            text-align: center;
            margin-bottom: 40px; } }
        @media screen and (max-width: 767px) {
          .aliceandpenguin__main__contents.type05 .aliceandpenguin__main__contents__img01 {
            width: 100%;
            margin-bottom: 10px; } }
        .aliceandpenguin__main__contents.type05 .text_wrap {
          position: absolute;
          left: 22%;
          top: 28%;
          width: 56%;
          font-size: 23px;
          line-height: 1.7;
          font-weight: 700 !important;
          color: #46469f; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type05 .text_wrap {
              font-size: 1.8vw;
              left: 19%;
              top: 28%;
              width: 64%; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type05 .text_wrap {
              position: relative;
              left: auto;
              top: auto;
              width: 90%;
              margin: 0 auto 10px;
              font-size: 18px;
              text-align: left; } }
          .aliceandpenguin__main__contents.type05 .text_wrap span {
            font-weight: 700 !important;
            background-color: #ffff00; }
          .aliceandpenguin__main__contents.type05 .text_wrap b {
            font-weight: 700 !important;
            font-size: .8em; }
        .aliceandpenguin__main__contents.type05 .aliceandpenguin__main__contents__img02, .aliceandpenguin__main__contents.type05 .aliceandpenguin__main__contents__img03, .aliceandpenguin__main__contents.type05 .aliceandpenguin__main__contents__img04 {
          position: absolute; }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type05 .aliceandpenguin__main__contents__img02, .aliceandpenguin__main__contents.type05 .aliceandpenguin__main__contents__img03, .aliceandpenguin__main__contents.type05 .aliceandpenguin__main__contents__img04 {
              position: relative; } }
        .aliceandpenguin__main__contents.type05 .aliceandpenguin__main__contents__img02 {
          width: 540px;
          left: -52px;
          bottom: -130px;
          z-index: 1; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type05 .aliceandpenguin__main__contents__img02 {
              left: -4vw;
              bottom: -85px;
              width: 36vw; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type05 .aliceandpenguin__main__contents__img02 {
              left: auto;
              bottom: auto;
              width: 90%;
              margin-bottom: 20px; } }
        .aliceandpenguin__main__contents.type05 .aliceandpenguin__main__contents__img03 {
          width: 510px;
          right: -44px;
          bottom: -110px; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type05 .aliceandpenguin__main__contents__img03 {
              right: -3vw;
              bottom: -70px;
              width: 32vw; } }
        .aliceandpenguin__main__contents.type05 .aliceandpenguin__main__contents__img04 {
          width: 490px;
          right: 400px;
          bottom: 40px; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type05 .aliceandpenguin__main__contents__img04 {
              right: 22vw;
              bottom: 35px;
              width: 40vw; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type05 .aliceandpenguin__main__contents__img04 {
              right: auto;
              bottom: auto;
              width: 100%; } }
      .aliceandpenguin__main__contents.type06 {
        text-align: center;
        margin-bottom: 80px; }
        @media screen and (max-width: 767px) {
          .aliceandpenguin__main__contents.type06 {
            text-align: center;
            margin-bottom: 40px; } }
        @media screen and (max-width: 767px) {
          .aliceandpenguin__main__contents.type06 .aliceandpenguin__main__contents__img01 {
            width: 100%;
            margin-bottom: 10px; } }
        .aliceandpenguin__main__contents.type06 .aliceandpenguin__main__contents__img01 {
          max-width: 1100px; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type06 .aliceandpenguin__main__contents__img01 {
              width: 90%; } }
        .aliceandpenguin__main__contents.type06 .aliceandpenguin__main__contents__img02 {
          width: 630px;
          display: inline-block; }
          @media screen and (min-width: 768px) and (max-width: 1399px) {
            .aliceandpenguin__main__contents.type06 .aliceandpenguin__main__contents__img02 {
              width: 60%; } }
          @media screen and (max-width: 767px) {
            .aliceandpenguin__main__contents.type06 .aliceandpenguin__main__contents__img02 {
              width: 100%; } }
  .aliceandpenguin .copy {
    text-align: center;
    display: block;
    padding-bottom: 40px; }
    .aliceandpenguin .copy img {
      width: 80px; }
