@media screen and (min-width: 768px) {
  /* line 16, style_2.scss */
  body {
    background-image: url(../img/background-image.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-color: rgba(255, 255, 255, 0.7);
    background-blend-mode: lighten;
  }
}
/* line 25, style_2.scss */
.main {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 10px;
}

/* line 31, style_2.scss */
.rankwrap {
  animation: fadein 3s forwards;
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* line 40, style_2.scss */
.js-fade {
  opacity: 0;
  visibility: hidden;
  transform: translateY(50px);
  transition: opacity 1s,visibility 1s, transform 1s;
}

/* line 47, style_2.scss */
.scroll {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

/* line 53, style_2.scss */
.top_image {
  width: 100%;
}
/* line 55, style_2.scss */
.top_image img {
  width: 100%;
}

/* line 60, style_2.scss */
.alert_18 {
  width: 100%;
}
/* line 62, style_2.scss */
.alert_18 p {
  margin: 15px 15px;
}
/* line 64, style_2.scss */
.alert_18 p:nth-of-type(2) {
  color: #0000ff;
  text-align: center;
  margin-bottom: 6px;
}

/* line 73, style_2.scss */
.perm a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 10px auto 20px;
  max-width: 320px;
  padding: 20px 25px;
  color: #543618;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  background: #eeee;
  border-radius: 50px;
  border: 0.2rem solid #543618;
  box-shadow: 0.2rem 0.2rem 0px 0.1rem #cccccc;
  text-decoration: none;
}
/* line 89, style_2.scss */
.perm a:hover, .perm a:active {
  transform: translate3d(0.2rem, 0.2rem, 0);
  box-shadow: none;
  opacity: 1;
  transition: all 0.2s;
}
/* line 95, style_2.scss */
.perm a::after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: 3px solid #543618;
  border-right: 3px solid #543618;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 40px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

/* line 111, style_2.scss */
.under_18 {
  text-align: center;
  margin-top: 30px;
}
/* line 114, style_2.scss */
.under_18 a {
  display: block;
  color: #666;
  /*
  border: 1px solid #666;
  padding: 10px;
  text-decoration: none;
  display: inline-block;
  margin: 15px 20px;
  border-radius: 30px;
  */
}

/* line 128, style_2.scss */
.about {
  margin: 15px 15px;
  padding: 0.5em 1em;
  color: #333333;
  background: white;
  border-top: solid 5px #5d627b;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}
/* line 135, style_2.scss */
.about p {
  font-size: 16px;
  margin-top: 6px;
}
/* line 138, style_2.scss */
.about p span {
  border-bottom: solid 2px orange;
}

/* line 147, style_2.scss */
.company {
  margin: 15px;
}
/* line 149, style_2.scss */
.company h1 {
  font-size: 20px;
  font-weight: normal;
  margin: 40px 0 40px 10px;
  width: 100%;
  max-width: 250px;
  height: 52px;
  background-color: #0ac4b6;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.company h2{
  display: inline-block;
  margin-left: 10px;
  padding: 5px 20px;
  font-size: 17px;
  font-weight: normal;
  background: #b3ede8;
}



/* line 162, style_2.scss */
.company table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 40px;
  font-size: 16px;
  margin-left: 10px;
}
/* line 168, style_2.scss */
.company table tr {
  border-bottom: 1px solid #b5b1b1;
}
/* line 170, style_2.scss */
.company table tr th {
  width: 30%;
  padding: 24px 0;
  border: none;
  vertical-align: middle;
  text-align: left;
}
/* line 177, style_2.scss */
.company table tr td {
  padding: 24px 0;
  border: none;
  vertical-align: middle;
}

@media only screen and (max-width: 480px) {
  /* line 187, style_2.scss */
  .company th, .company td, .company tr {
    width: 100% !important;
    display: block !important;
  }
}
@media only screen and (max-width: 480px) {
  /* line 194, style_2.scss */
  .company td {
    padding-top: 0 !important;
  }
}


.publish_wrapper{
  margin: 0px 0px 50px 10px;
}

.publish{
  margin: 20px 0;
  border-bottom: 1px solid #b5b1b1;
}

.publish_name{
  font-size: 16px;
  margin-bottom: 5px;
}

.publish_txt{
  font-size: 16px;
  margin-left: 2rem;
  margin-bottom: 5px;
}



















.privacy{
  padding: 0 10px;
}


.section_ttl{
  display: inline-flex;
  justify-content: center;
  margin: 40px 0 30px 0px;
  padding: 10px 10px;
  font-size: 20px;
  font-weight: normal;
  background-color: #0ac4b6;
  color: #fff;
  align-items: center;
}


.data_wrapper{
  margin-bottom: 20px;
}

.data_ttl{
  display: inline-block;
  margin-left: 10px;
  padding: 5px 20px;
  font-size: 17px;
  font-weight: normal;
  background: #b3ede8;
}

.data_txt{
  font-size: 16px;
  margin-left: 10px;
}


.privacypolicy_ttl{
  display: inline-block;
  margin-left: 10px;
  padding: 5px 20px;
  font-size: 17px;
  font-weight: normal;
  background: #b3ede8;
}


.privacypolicy_txt{
  font-size: 16px;
  margin:0 0 20px 10px;
}


.disclaimer_txt{
  font-size: 16px;
  margin:0 0 0px 10px;
}


.guideline_txt{
  font-size: 16px;
  margin:0 0 20px 10px;
}


















/* line 199, style_2.scss */
.pageback {
  display: block;
  margin: 50px 0;
}
/* line 202, style_2.scss */
.pageback input[type="button"] {
  background: #eee;
  border-radius: 3px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 20px 100px;
  color: #313131;
}

/* line 217, style_2.scss */
footer {
  margin: 20px 0;
  background-color: #eeee;
  padding: 10px;
}
/* line 221, style_2.scss */
footer ul {
  display: flex;
  align-items: stretch;
  justify-content: space-around;
}



@media screen and (max-width: 600px) {
  footer ul{
    flex-wrap: wrap;
    justify-content:flex-start;
  }
}



/* line 225, style_2.scss */
footer ul li {
  list-style: none;
  width: 50%;
  text-align: center;
  border-right: 1px solid #333;
}
/* line 229, style_2.scss */
footer ul li:last-child {
  border-right:none
}

@media screen and (max-width: 600px) {
  footer ul li{
    border-right: none;
  }
  footer ul li:nth-child(odd) {
    /* border-right: 1px solid #333; */
  }

}



/* line 232, style_2.scss */
footer ul li a {
  color: #333;
  text-decoration: none;
  font-size: 14px;
}
/* line 238, style_2.scss */
footer + small {
  display: block;
  text-align: center;
}

/* line 244, style_2.scss */
.content_top {
  margin: 14px 0 6px;
}
/* line 246, style_2.scss */
.content_top h1 {
  font-size: 16px;
  text-align: center;
  color: #985ca3;
  margin-bottom: 4px;
  position: relative;
}
/* line 252, style_2.scss */
.content_top h1::before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  content: '';
  background: #985ca3;
}
/* line 261, style_2.scss */
.content_top h1 span {
  position: relative;
  padding: 0 1em;
  background: #fff;
}
/* line 266, style_2.scss */
.content_top h1 img {
  width: 18px;
  margin-right: 6px;
  vertical-align: text-bottom;
}
/* line 272, style_2.scss */
.content_top p {
  font-size: 14px;
  margin: 0 15px;
}

@media screen and (min-width: 768px) {
  /* line 280, style_2.scss */
  .content_top h1 {
    font-size: 30px;
  }
  /* line 282, style_2.scss */
  .content_top h1 img {
    width: 30px;
  }
  /* line 286, style_2.scss */
  .content_top p {
    font-size: 25px;
  }
}
/* line 292, style_2.scss */
.date {
  text-align: right;
  font-size: 12px;
  padding-right: 15px;
}
/* line 297, style_2.scss */
.date dl dt, .date dl dd {
  display: inline-block;
}

/* line 306, style_2.scss */
.content_rank {
  margin: 15px;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
  border-radius: 0 0 6px 6px;
}
/* line 311, style_2.scss */
.content_rank a {
  text-decoration: none;
}
/* line 313, style_2.scss */
.content_rank a h2 {
  font-size: 16px;
  color: #e50065;
  margin-bottom: 4px;
  background-color: #111;
  padding: 6px 0;
  border-radius: 6px 6px 0 0;
}
/* line 320, style_2.scss */
.content_rank a h2 img {
  width: 16px;
  margin-left: 10px;
  margin-right: 4px;
  vertical-align: text-bottom;
}
/* line 326, style_2.scss */
.content_rank a h2 span {
  margin-right: 10px;
}
/* line 330, style_2.scss */
.content_rank a h3 {
  color: #388de6;
  margin: 0 10px;
}
/* line 334, style_2.scss */
.content_rank a .box {
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 4px;
}
/* line 339, style_2.scss */
.content_rank a .box .box_left {
  width: 35%;
}
/* line 341, style_2.scss */
.content_rank a .box .box_left img {
  display: block;
  width: 100%;
  margin: 0 auto;
}
/* line 347, style_2.scss */
.content_rank a .box .box_right {
  width: 60%;
}
/* line 349, style_2.scss */
.content_rank a .box .box_right h3 {
  color: #388de6;
}
/* line 353, style_2.scss */
.content_rank a .box .box_right ul li {
  list-style: none;
  font-size: 14px;
  color: #e50065;
  font-weight: bold;
}
/* line 358, style_2.scss */
.content_rank a .box .box_right ul li i {
  margin-right: 6px;
}
/* line 363, style_2.scss */
.content_rank a .box .box_right .review {
  display: flex;
  align-items: stretch;
  color: #E68200;
  margin-top: 6px;
  justify-content: center;
  border: 1px solid #efb77c;
  font-size: 14px;
}
/* line 371, style_2.scss */
.content_rank a .box .box_right .review h4 {
  font-weight: normal;
}
/* line 375, style_2.scss */
.content_rank a .box .box_right .review .star p {
  display: inline-block;
  margin-left: 2px;
  font-size: 12px;
}
/* line 385, style_2.scss */
.content_rank a .regist {
  width: 100%;
}
/* line 387, style_2.scss */
.content_rank a .regist img {
  width: 95%;
  display: block;
  margin: 2px auto;
  padding-bottom: 6px;
}

/* line 398, style_2.scss */
.pc_rank {
  margin: 80px 15px;
  padding: 0 15px;
}
/* line 401, style_2.scss */
.pc_rank h2 {
  display: flex;
  align-items: end;
  margin-bottom: 10px;
  position: relative;
}
/* line 406, style_2.scss */
.pc_rank h2 img {
  width: 45px;
  margin-right: 10px;
  display: none;
}
/* line 411, style_2.scss */
.pc_rank h2 span {
  color: #8494ce;
  margin-left: 10px;
}
/* line 415, style_2.scss */
.pc_rank h2 a {
  margin: 0 40px 0 10px;
  color: #8494ce;
  text-decoration: none;
}
/* line 420, style_2.scss */
.pc_rank h2 .review {
  display: inline-block;
  font-size: 24px;
  color: #d8c719;
}
/* line 425, style_2.scss */
.pc_rank h2 .review h4 {
  display: inline-block;
  font-weight: normal;
}
/* line 429, style_2.scss */
.pc_rank h2 .review .star {
  display: inline-block;
  font-weight: normal;
}
/* line 432, style_2.scss */
.pc_rank h2 .review .star p {
  display: inline-block;
  font-size: 18px;
  margin-left: 10px;
}
/* line 439, style_2.scss */
.pc_rank h2::before {
  content: "";
  display: block;
  width: 4px;
  background-color: #8494ce;
  height: 2.5rem;
  margin-left: 10px;
}
/* line 447, style_2.scss */
.pc_rank h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -18px;
  width: 100%;
  height: 4px;
  background-color: #0ac4b6;
}

/* line 459, style_2.scss */
.pc_box {
  margin-top: 30px;
}
/* line 461, style_2.scss */
.pc_box img {
  width: 100%;
}

/* line 466, style_2.scss */
.pc_about {
  width: 100%;
  font-size: 16px;
  margin-top: 30px;
  border-bottom: 1px solid #8494ce;
}
/* line 471, style_2.scss */
.pc_about dl {
  display: flex;
  justify-content: center;
  height: 60px;
  align-items: stretch;
  border-top: 1px solid #8494ce;
  border-left: 1px solid #8494ce;
  border-right: 1px solid #8494ce;
}
/* line 479, style_2.scss */
.pc_about dl dt {
  width: 30%;
  min-width: 250px;
  background-color: #f2f4fa;
  display: flex;
  align-items: center;
  padding-left: 30px;
}
/* line 487, style_2.scss */
.pc_about dl dd {
  width: 70%;
  display: flex;
  align-items: center;
  padding-left: 50px;
}

/* line 496, style_2.scss */
.pc_regist {
  margin: 30px 15px;
}
/* line 498, style_2.scss */
.pc_regist button {
  width: 100%;
}
/* line 500, style_2.scss */
.pc_regist button a {
  display: block;
  width: 100%;
  position: relative;
  background: #b60ac4;
  padding: 1.3em 2em;
  color: #fff;
  text-decoration: none;
  text-align: center;
  transition-duration: 0.3s;
  border-radius: 40px;
  overflow: hidden;
}
/* line 512, style_2.scss */
.pc_regist button a::after {
  content: "";
  width: 10px;
  height: 10px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 40px;
  margin-top: -6px;
}
/* line 525, style_2.scss */
.pc_regist button a::before {
  position: absolute;
  content: '';
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  transition: 0.2s;
  animation: shiny_btn01 3s ease-in-out infinite;
}
/* line 536, style_2.scss */
.pc_regist button a:hover {
  border: 1px solid #b60ac4;
  background: #fff;
  color: #b60ac4;
}
/* line 540, style_2.scss */
.pc_regist button a:hover::after {
  border-top: 2px solid #b60ac4;
  border-right: 2px solid #b60ac4;
}

/* line 549, style_2.scss */
.pc_rate {
  margin: 20px 0 6px;
}
/* line 551, style_2.scss */
.pc_rate h5 {
  font-size: 20px;
  color: #b60ac4;
  margin-bottom: 8px;
}
/* line 556, style_2.scss */
.pc_rate p {
  font-size: 20px;
}

@-webkit-keyframes shiny_btn01 {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
/* line 569, style_2.scss */
.pagetop {
  height: 50px;
  width: 50px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  background: #fff;
  border: solid 2px #b60ac4;
  border-radius: 50%;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 2;
  cursor: pointer;
}

@media only screen and (min-width: 1000px) {
  /* line 586, style_2.scss */
  .pagetop {
    right: 20%;
    bottom: 100px;
  }
}
/* line 592, style_2.scss */
.pagetop__arrow {
  display: block;
  height: 10px;
  width: 10px;
  border-top: 3px solid #b60ac4;
  border-right: 3px solid #b60ac4;
  transform: translateY(20%) rotate(-45deg);
}

/* line 601, style_2.scss */
.contact {
  width: 100%;
  padding: 15px;
}
/* line 604, style_2.scss */
.contact h1 {
  font-size: 20px;
  font-weight: normal;
  margin: 40px 0 10px 10px;
  width: 100%;
  max-width: 250px;
  height: 52px;
  background-color: #0ac4b6;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* line 617, style_2.scss */
.contact form {
  margin: 20px 10px;
}
/* line 619, style_2.scss */
.contact form label {
  display: block;
}
/* line 622, style_2.scss */
.contact form input[type="text"], .contact form input[type="email"] {
  border-bottom: 1px solid #000;
  margin-bottom: 45px;
}
/* line 626, style_2.scss */
.contact form textarea {
  border: 1px solid #000;
}
/* line 629, style_2.scss */
.contact form input[type="submit"] {
  background: #eee;
  border-radius: 3px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 30px auto 10px;
  max-width: 280px;
  padding: 20px 100px;
  color: #313131;
}
/* line 641, style_2.scss */
.contact form .check {
  margin-top: 30px;
}

/* line 647, style_2.scss */
.article_list {
  margin: 50px 15px 20px;
}
/* line 649, style_2.scss */
.article_list ul {
  border: solid 2px #985ca3;
  padding: 0.5em;
  position: relative;
  margin-top: 2em;
}
/* line 654, style_2.scss */
.article_list ul li {
  line-height: 1.5;
  padding: 0.5em 0 0.5em 1.4em;
  border-bottom: dashed 1px silver;
  list-style-type: none !important;
}
/* line 659, style_2.scss */
.article_list ul li:last-of-type {
  border-bottom: none;
}
/* line 662, style_2.scss */
.article_list ul li::before {
  font-family: "FontAwesome";
  content: "\f138";
  position: absolute;
  left: 0.5em;
  color: #985ca3;
}
/* line 669, style_2.scss */
.article_list ul li::after {
  background: #985ca3;
  color: #fff;
  font-weight: bold;
  position: absolute;
  left: -2px;
  bottom: 100%;
  padding: 1px 7px;
  content: "POINT";
  letter-spacing: 0.05em;
}
/* line 680, style_2.scss */
.article_list ul li a {
  color: #985ca3;
  list-style: none;
  text-decoration: none;
  display: block;
}

/* line 692, style_2.scss */
.article {
  margin: 15px 15px;
}
/* line 694, style_2.scss */
.article .beginning {
  width: 100%;
  background: #eadeec;
}
/* line 697, style_2.scss */
.article .beginning h1 {
  font-size: 1.2em;
  background: #985ca3;
  padding: 4px;
  text-align: center;
  color: #FFF;
  font-weight: bold;
  letter-spacing: 0.05em;
}
/* line 706, style_2.scss */
.article .beginning p {
  padding: 15px 10px;
  margin: 0;
  font-size: 16px;
}
/* line 712, style_2.scss */
.article section {
  margin: 26px 0;
  background: #eadeec;
}
/* line 715, style_2.scss */
.article section h2 {
  font-size: 1.2em;
  background: #985ca3;
  padding: 4px;
  text-align: center;
  color: #FFF;
  font-weight: bold;
  letter-spacing: 0.05em;
}
/* line 724, style_2.scss */
.article section ul {
  list-style: none;
  padding: 15px 10px;
  margin: 0;
  font-size: 16px;
}
/* line 729, style_2.scss */
.article section ul li {
  margin-bottom: 20px;
}
/* line 731, style_2.scss */
.article section ul li span {
  font-weight: bold;
  border-bottom: solid 2px orange;
}
/* line 735, style_2.scss */
.article section ul li:last-child {
  margin-bottom: 0;
}
/* line 739, style_2.scss */
.article section ul + p {
  padding: 0 10px 15px;
}
/* line 741, style_2.scss */
.article section ul + p .summary {
  display: block;
  text-align: center;
  font-weight: bold;
  margin: 10px 0;
}
/* line 749, style_2.scss */
.article section p {
  padding: 15px 20px;
}
/* line 753, style_2.scss */
.article .button {
  width: 100%;
  margin: 0 auto;
}
/* line 756, style_2.scss */
.article .button button {
  background: #eee;
  border-radius: 3px;
  color: #313131;
  padding: 10px 0;
}


.carousel_wrapper{
  padding: 5px 5px 20px 5px;
  background: #000;
}



/* line 768, style_2.scss */
.carousel_title {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px 10px;
  padding: 10px 0px 6px 0px;
  background: #fff;
  border: 3px solid #e50065;
  border-radius: 8px;
}

.carousel_title_icon{
  width: 7%;
  margin-right: 8px;
  margin-bottom: 6px;
}


/* line 770, style_2.scss */
.carousel_title h1 {
  font-size: 20px;
  position: relative;
  background: #fff;
  /* background: #f4f4f4; */
  /* padding: 2px 5px 2px 60px; */
  color: #e50065;
  /* border-radius: 0 10px 10px 0; */
}
/* line 778, style_2.scss */
/* map */
/* .carousel_title h1::before {
  font-family: FontAwesome;
  content: "\f041";
  display: inline-block;
  line-height: 40px;
  position: absolute;
  padding: 0em;
  color: white;
  background: #ff6363;
  font-weight: 900;
  width: 40px;
  text-align: center;
  height: 40px;
  line-height: 40px;
  left: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 50%;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.29);
} */

/*        ▼▼▼ swiper用ここから ▼▼▼        */
/* line 806, style_2.scss */
.swiper {
  width: 100%;
}
/* line 808, style_2.scss */
.swiper .swiper-wrapper {
  width: 100%;
}
/* line 812, style_2.scss */
.swiper .swiper-wrapper .swiper-slide a img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

/* line 820, style_2.scss */
.swiper-slide.chara {
  position: relative;
}
/* line 822, style_2.scss */
/* .swiper-slide.chara::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  background: url(../img/LINE_APP_iOS_100_100.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 4px;
  right: 4px;
} */

/* line 835, style_2.scss */
.chara a .note {
  position: absolute;
  bottom: 6px;
  color: #FFF;
  background-color: rgba(0, 0, 0, 0.6);
  display: block;
  width: 100%;
  text-align: center;
  font-size: 12px;
}

/*        ▲▲▲ swiper用ここまで ▲▲▲        */
