/************************/
.header_mid .ttl {
  display: none; }

/************************/
main {
  background: url("../images/common/bg_top_index.svg") top right no-repeat #F7F9F8; }

/************************/
main {
  padding-top: 16px; }

.index_top {
  margin: 0 auto 95px; }
  .index_top h1 {
    text-align: center;
    position: relative;
    z-index: 5;
    padding: 105px 0 0 0;
    background: url("../images/ikoni_logo.svg") center top no-repeat;
    margin: 0 auto 40px; }
    .index_top h1 span {
      display: block; }
    .index_top h1 .img {
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap;
      background: url("../images/index/index_top.svg") center top no-repeat;
      background-size: contain;
      width: 300px;
      height: 87px;
      margin: 0 auto 16px; }
    .index_top h1 .txt {
      margin: 0 auto;
      width: fit-content;
      position: relative;
      font-weight: 500;
      font: 1.4rem/1em "Noto Sans JP", sans-serif;
      padding: 0 10px; }
      .index_top h1 .txt:before {
        position: absolute;
        content: "";
        display: block;
        width: 100%;
        height: 10px;
        background-color: #FFB300;
        left: 50%;
        transform: translateX(-50%);
        bottom: -5px;
        z-index: -1;
        border-radius: 50px; }
  .index_top p {
    font: 2.4rem/1.85em "Noto Sans JP", sans-serif;
    font-weight: 700;
    color: #4A4A4A;
    max-width: 290px;
    width: 100%;
    margin: 0 auto; }

.index_top_image {
  position: relative;
  background: url("../images/index/index_top_image.svg") center center no-repeat;
  background-size: contain;
  display: block;
  width: 272px;
  height: 435px;
  margin: 0 auto 120px;
  text-indent: -9999px;
  white-space: nowrap; }
  .index_top_image:before {
    background: url("../images/common/character_i.svg") center center no-repeat;
    background-size: contain;
    width: 50px;
    height: 84px;
    left: -36px;
    top: 0; }
  .index_top_image:after {
    background: url("../images/common/character_o.svg") center center no-repeat;
    background-size: contain;
    width: 90px;
    height: 72px;
    right: -32px;
    bottom: -36px; }
  .index_top_image:before, .index_top_image:after {
    position: absolute;
    content: "";
    display: block;
    opacity: 0;
    transform: scale(0.6); }
  .index_top_image.is_show:before {
    animation: popIn 0.5s ease forwards;
    animation-delay: 0.3s; }
  .index_top_image.is_show:after {
    animation: popIn 0.5s ease forwards;
    animation-delay: 0.55s; }

@keyframes popIn {
  0% {
    opacity: 0;
    transform: scale(0.6); }
  70% {
    opacity: 1;
    transform: scale(1.12); }
  100% {
    opacity: 1;
    transform: scale(1); } }
/************************/
.about {
  margin: 0 auto 110px; }
  .about.fade_in p:nth-of-type(1) {
    animation: aboutPop 0.7s ease forwards;
    animation-delay: 0s; }
  .about.fade_in p:nth-of-type(2) {
    animation: aboutPop 0.9s ease forwards;
    animation-delay: 0.18s; }
  .about.fade_in p:nth-of-type(3) {
    animation: aboutPop 1.1s ease forwards;
    animation-delay: 0.36s; }
  .about p {
    opacity: 0;
    transform: translateY(20px) scale(0.96);
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    position: relative; }
    .about p:nth-of-type(1) {
      width: 100%;
      max-width: 100%;
      height: auto;
      background: url("../images/index/about-01.svg") center top no-repeat;
      background-size: 420px;
      height: 183px; }
    .about p:nth-of-type(2) {
      margin: -63px 0 0 0;
      width: 100%;
      max-width: 100%;
      height: auto;
      background: url("../images/index/about-02.svg") center top no-repeat;
      background-size: 420px;
      height: 158px; }
    .about p:nth-of-type(3) {
      margin: -12px 0 0 0;
      width: 100%;
      max-width: 100%;
      height: auto;
      background: url("../images/index/about-03.svg") center top no-repeat;
      background-size: 420px;
      height: 225px; }

@keyframes aboutPop {
  0% {
    opacity: 0;
    transform: translateY(20px) scale(0.96); }
  70% {
    opacity: 1;
    transform: translateY(-6px) scale(1.03); }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1); } }
/************************/
.schedule {
  margin-bottom: 140px; }

.next {
  background: url("../images/index/schedule.svg") center top no-repeat;
  display: block;
  width: 302px;
  height: 115px;
  margin: 0 auto 35px;
  padding: 50px 0 0 0;
  position: relative; }
  .next:before {
    position: absolute;
    content: "";
    display: block;
    background: url("../images/common/character_i2.svg") center center no-repeat;
    width: 99px;
    height: 96px;
    right: -20px;
    top: -89px; }
  .next p {
    text-align: center;
    color: #fff;
    font: 2.8rem/1em "Noto Sans JP", sans-serif;
    font-weight: 700; }
    .next p span {
      font-size: 2rem; }

.schedule_accordion {
  background-color: #fff;
  border-radius: 15px;
  width: 302px;
  padding: 0;
  margin: 0 auto 85px;
  border: 1px solid #A8A8A8; }
  .schedule_accordion .switch {
    transition: .3s;
    cursor: pointer;
    font: 1.6rem/1em "Noto Sans JP", sans-serif;
    font-weight: 700;
    position: relative;
    width: 100%;
    padding: 20px 30px; }
    .schedule_accordion .switch:before {
      position: absolute;
      content: "+";
      font: 3rem/1em "Noto Sans JP", sans-serif;
      font-weight: 500;
      color: #00C46F;
      top: 49%;
      transform: translateY(-50%);
      right: 20px;
      transition: 0.3s; }
    .schedule_accordion .switch:after {
      position: absolute;
      content: "";
      background-color: #00C46F;
      width: 14px;
      height: 3px;
      display: block;
      top: 53%;
      transform: translateY(-50%);
      right: 22px;
      opacity: 0; }
    .schedule_accordion .switch.open:before {
      opacity: 0; }
    .schedule_accordion .switch.open:after {
      opacity: 1; }
  .schedule_accordion ul {
    width: calc(100% - 60px);
    margin: 0 auto;
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease;
    position: relative; }
    .schedule_accordion ul:before {
      border-top: 1px solid #4A4A4A;
      position: absolute;
      content: "";
      display: block;
      top: 0;
      left: 0;
      width: 100%;
      height: 1px;
      transition: .2s ease;
      opacity: 0; }
    .schedule_accordion ul.open:before {
      opacity: 1; }
  .schedule_accordion li {
    color: #4A4A4A;
    padding: 20px;
    border-bottom: 1px solid #4A4A4A; }
    .schedule_accordion li p {
      font: 1.6rem/1.5em "Noto Sans JP", sans-serif;
      font-weight: 700; }
    .schedule_accordion li time {
      font: 2rem/1.5em "Noto Sans JP", sans-serif;
      font-weight: 700; }
    .schedule_accordion li:last-of-type {
      border-bottom: none; }

.place {
  max-width: 302px;
  width: 100%;
  margin: 0 auto; }
  .place h3 {
    background: url("../images/index/placettl.svg") center center no-repeat;
    width: 111px;
    height: 33px;
    display: block;
    margin: 0 auto 28px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap; }
  .place p {
    font: 1.65rem/1.8em "Noto Sans JP", sans-serif;
    font-weight: 700;
    text-align: center;
    margin: 0 auto 5px; }
  .place h4 {
    color: #00C46F;
    font: 2.8rem/1.8em "Noto Sans JP", sans-serif;
    font-weight: 700;
    text-align: center;
    margin: 0 auto 10px; }
  .place .map {
    width: 302px;
    height: 302px;
    overflow: hidden;
    margin: 0 auto 10px;
    border-radius: 15px; }
    .place .map iframe {
      width: 100%;
      height: 100%; }
  .place a {
    text-decoration: none;
    font: 1.2rem/1em "Noto Sans JP", sans-serif;
    font-weight: 500; }

@media (hover: hover) {
  .schedule_accordion .switch:hover {
    color: #00C46F; } }
/************************/
.important,
.howto {
  background: url("../images/index/Dot_01.png") top center no-repeat;
  background-size: 375px;
  padding: 25px 0 0 0; }
  .important h2,
  .howto h2 {
    display: block;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    margin: 0 auto 30px; }
  .important ul,
  .howto ul {
    margin: 0 auto 115px; }
  .important li,
  .howto li {
    text-align: center;
    width: 302px;
    padding: 30px 0;
    border: 2px solid #FFB300;
    border-radius: 15px;
    background-color: #fff;
    margin: 0 auto 15px;
    font: 2.4rem/1.6em "Noto Sans JP", sans-serif;
    font-weight: 700; }

@media (max-width: 1024px) {
  .important,
  .howto {
    background: url("../images/index/Dot_01.png") top center no-repeat;
    background-size: 480px; } }
/*max-width:1024px*/
/*max-width:768px*/
/*max-width:480px*/
/************************/
.howto {
  margin: 0 auto 115px; }
  .howto h2 {
    background: url("../images/index/howto.svg") top center no-repeat;
    height: 197px; }

/************************/
.important {
  margin: 0 auto 130px; }
  .important h2 {
    background: url("../images/index/important.svg") top center no-repeat;
    height: 257px; }

/************************/
.index_sns {
  margin: 0 auto 60px; }
  .index_sns .sns_list {
    max-width: 250px; }

/************************/
.index_instagram {
  margin: 0 auto 60px; }
  .index_instagram > div {
    margin: 0 auto 30px;
    width: calc(100% - 17px); }
  .index_instagram > a {
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    background: url("../images/index/instagram_ttl.svg") center top no-repeat;
    height: 35px;
    width: 221px;
    display: block;
    margin: 0 auto;
    position: relative; }

@media (hover: hover) {
  .index_instagram > a:hover {
    top: -5px; } }
/************************/
.message {
  margin: 0 auto 150px;
  position: relative;
  background: url("../images/index/message_bg.png") top center no-repeat;
  padding: 115px 0 80px 0; }
  .message:before {
    position: absolute;
    content: "";
    z-index: 5;
    display: block;
    background: url("../images/index/character_o.svg") center center no-repeat;
    background-size: contain;
    width: 102px;
    height: 97px;
    bottom: -43px;
    right: 60px;
    animation: jump 3s infinite; }
  .message div {
    position: relative;
    z-index: 5; }
  .message p {
    max-width: 290px;
    z-index: 1;
    color: #fff;
    font: 2.4rem/1.83em "Noto Sans JP", sans-serif;
    font-weight: 700;
    margin: 0 auto 47px; }
  .message a {
    font: 1.4rem/41px "Noto Sans JP", sans-serif;
    font-weight: 700;
    color: #4A4A4A;
    text-decoration: none;
    text-align: center;
    padding: 0 22px 0 0;
    margin: 0 auto;
    display: block;
    width: 170px;
    height: 45px;
    border: 2px solid #00C46F;
    position: relative;
    background-color: #fff;
    border-radius: 50px; }
    .message a:before {
      position: absolute;
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      background-color: #FFB300;
      border-radius: 50px;
      z-index: -1;
      right: -5px;
      bottom: -7px; }
    .message a:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/index/message_arrow.svg") center center no-repeat;
      width: 23px;
      height: 20px;
      top: 10px;
      right: 15px;
      transition: 0.3s; }

@keyframes jump {
  0% {
    transform: translateY(0); }
  10% {
    transform: translateY(-10px); }
  20% {
    transform: translateY(0); }
  100% {
    transform: translateY(0); } }
@media (hover: hover) {
  .message a:hover {
    color: #FFB300; }
    .message a:hover:after {
      right: 10px; } }
/************************/
.index_contact {
  padding: 0; }
  .index_contact:before {
    display: none; }
