@charset "utf-8";
/* diver */
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,input,textarea {
    margin: 0;
    padding: 0;
    border: none;
    font-size: 100%;
    font-style: normal
}
audio,canvas,video {
    display: inline-block;
    display: inline;
    zoom:1
}
.screen-reader-text,.hide,[hidden] {
    display: none
}
*,*:before,*:after {
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box
}
:where(a) {
    -webkit-transition: all ease-in-out .3s;
    -o-transition: all ease-in-out .3s;
    transition: all ease-in-out .3s;
    text-decoration: none;
    color: inherit
}
*,*:before,*:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
img,iframe {
    max-width: 100%;
    vertical-align: middle
}
ul,ol {
    margin: 0;
    padding: 0;
    list-style: none;
    list-style-image: none
}
ul ul {
    margin-left: 1em
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    border: 0;
    font-size: 10px;
    color: #888;
    -ms-interpolation-mode: bicubic
}
form {
    margin: 0
}
button,input,select,textarea {
    font-size: 100%;
    margin: 0;
    vertical-align: baseline;
    vertical-align: middle
}
button,input {
    line-height: normal
}
button,html input[type=button],input[type=reset],input[type=submit],.btn {
    overflow: visible
}
input[type=checkbox],input[type=radio] {
    padding: 0;
    height: 13px;
    width: 13px
}
input[type=text],input[type=password],input[type=email],input[type=search],input[type=url],input[type=tel],input[type=number],input[type=date],textarea {
    margin: 0;
    padding: 8px 4px;
    max-width: 100%;
    width: 80%;
    outline: none;
    border: 1px solid #ddd;
    border-radius: 2px;
    color: #777;
    vertical-align: bottom;
    font-size: 13px;
    background-color: #f7f7f7
}

input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=search]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=number]:focus,input[type=date]:focus,textarea:focus {
    background: #fff;
    -webkit-box-shadow: 0 0 3px #eee;
    box-shadow: 0 0 3px #eee;
    color: #444
}
button,input[type=submit],input[type=reset],input[type=button] {
    display: inline-block;
    padding: .5em 1.5em;
    border-radius: 3px;
    text-decoration: none;
    line-height: normal;
    cursor: pointer
}
button:focus,input[type=submit]:focus,input[type=reset]:focus,input[type=button]:focus {
    outline-offset: -2px
}
h1,h2,h3,h4,h5 {
    line-height: 2;
    display: block
}
.content h2,h2 {
    position: relative;
    padding: .5em 1em;
    font-size: 1.4em;
    margin: 1.5em 0 1em;
    line-height: 1.5
}

.content h3,h3 {
    position: relative;
    padding: .3em 1em;
    font-weight: bold;
    margin: 1.2em 0 .8em;
    font-size: 1.2em
}
.size-auto,.size-full,.size-large,.size-medium,.size-thumbnail {
    height: auto
}
#container,.wrapper {
    margin: 0 auto;
    width: 100%
}
@media screen and (max-width: 1200px) {
    #main-wrap {
        width:96%
    }

    img {
        max-width: 100%
    }
}
@media screen and (max-width: 768px) {
    h2 {
        font-size: 1.3em
    }

    h3 {
        font-size: 1.2em
    }
}
/* elementor-frontend */
.elementor-screen-only,.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible {
    position: absolute;
    top: -10000em;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0
}
.elementor *,.elementor :after,.elementor :before {
    box-sizing: border-box
}

.elementor a {
    box-shadow: none;
    text-decoration: none
}
.elementor img {
    height: auto;
    max-width: 100%;
    border: none;
    border-radius: 0;
    box-shadow: none
}
.elementor-element {
    --flex-direction: initial;
    --flex-wrap: initial;
    --justify-content: initial;
    --align-items: initial;
    --align-content: initial;
    --gap: initial;
    --flex-basis: initial;
    --flex-grow: initial;
    --flex-shrink: initial;
    --order: initial;
    --align-self: initial;
    flex-basis: var(--flex-basis);
    flex-grow: var(--flex-grow);
    flex-shrink: var(--flex-shrink);
    order: var(--order);
    align-self: var(--align-self)
}
.elementor-element:where(.e-con-full,.elementor-widget) {
    flex-direction: var(--flex-direction);
    flex-wrap: var(--flex-wrap);
    justify-content: var(--justify-content);
    align-items: var(--align-items);
    align-content: var(--align-content);
    gap: var(--gap)
}

.elementor-invisible {
    visibility: hidden
}

.elementor-align-center {
    text-align: center
}

.elementor-align-center .elementor-button {
    width: auto
}
:root {
    --page-title-display: block
}
.elementor-section {
    position: relative
}

.elementor-section .elementor-container {
    display: flex;
    margin-right: auto;
    margin-left: auto;
    position: relative
}

@media (max-width: 1024px) {
    .elementor-section .elementor-container {
        flex-wrap:wrap
    }
}

.elementor-section.elementor-section-boxed>.elementor-container {
    max-width: 1140px
}

.elementor-section.elementor-section-stretched {
    position: relative;
    width: 100%
}

.elementor-section.elementor-section-items-top>.elementor-container {
    align-items: flex-start
}

.elementor-section.elementor-section-items-middle>.elementor-container {
    align-items: center
}
.elementor-widget-wrap {
    position: relative;
    width: 100%;
    flex-wrap: wrap;
    align-content: flex-start
}

.elementor:not(.elementor-bc-flex-widget) .elementor-widget-wrap {
    display: flex
}

.elementor-widget-wrap>.elementor-element {
    width: 100%
}
.elementor-widget {
    position: relative
}

.elementor-widget:not(:last-child) {
    margin-bottom: 20px
}

.elementor-widget:not(:last-child).elementor-absolute,.elementor-widget:not(:last-child).elementor-widget__width-auto,.elementor-widget:not(:last-child).elementor-widget__width-initial {
    margin-bottom: 0
}

.elementor-column {
    position: relative;
    min-height: 1px;
    display: flex
}
.elementor-column-gap-default>.elementor-column>.elementor-element-populated {
    padding: 10px
}
@media (min-width: 768px) {
    .elementor-column.elementor-col-10,.elementor-column[data-col="10"] {
        width:10%
    }

    .elementor-column.elementor-col-11,.elementor-column[data-col="11"] {
        width: 11.111%
    }

    .elementor-column.elementor-col-12,.elementor-column[data-col="12"] {
        width: 12.5%
    }

    .elementor-column.elementor-col-14,.elementor-column[data-col="14"] {
        width: 14.285%
    }

    .elementor-column.elementor-col-16,.elementor-column[data-col="16"] {
        width: 16.666%
    }

    .elementor-column.elementor-col-20,.elementor-column[data-col="20"] {
        width: 20%
    }

    .elementor-column.elementor-col-25,.elementor-column[data-col="25"] {
        width: 25%
    }

    .elementor-column.elementor-col-30,.elementor-column[data-col="30"] {
        width: 30%
    }

    .elementor-column.elementor-col-33,.elementor-column[data-col="33"] {
        width: 33.333%
    }

    .elementor-column.elementor-col-40,.elementor-column[data-col="40"] {
        width: 40%
    }

    .elementor-column.elementor-col-50,.elementor-column[data-col="50"] {
        width: 50%
    }

    .elementor-column.elementor-col-60,.elementor-column[data-col="60"] {
        width: 60%
    }

    .elementor-column.elementor-col-66,.elementor-column[data-col="66"] {
        width: 66.666%
    }

    .elementor-column.elementor-col-70,.elementor-column[data-col="70"] {
        width: 70%
    }

    .elementor-column.elementor-col-75,.elementor-column[data-col="75"] {
        width: 75%
    }

    .elementor-column.elementor-col-80,.elementor-column[data-col="80"] {
        width: 80%
    }

    .elementor-column.elementor-col-83,.elementor-column[data-col="83"] {
        width: 83.333%
    }

    .elementor-column.elementor-col-90,.elementor-column[data-col="90"] {
        width: 90%
    }

    .elementor-column.elementor-col-100,.elementor-column[data-col="100"] {
        width: 100%
    }
}
@media (max-width: 767px) {
    .elementor-column {
        width: 100%
    }
}
@media (max-width: 1024px) {
    #elementor-device-mode:after {
        content:"tablet"
    }
}
@media (max-width: 767px) {
    #elementor-device-mode:after {
        content:"mobile"
    }
}
.elementor-element .elementor-widget-container {
    transition: background .3s,border .3s,border-radius .3s,box-shadow .3s,transform var(--e-transform-transition-duration,.4s)
}

.elementor-button {
    display: inline-block;
    line-height: 1;
    background-color: #69727d;
    font-size: 15px;
    padding: 12px 24px;
    border-radius: 3px;
    color: #fff;
    fill: #fff;
    text-align: center;
    transition: all .3s
}

.elementor-button:focus,.elementor-button:hover,.elementor-button:visited {
    color: #fff
}

.elementor-button-content-wrapper {
    display: flex;
    justify-content: center
}
.elementor-button-text {
    flex-grow: 1;
    order: 10;
    display: inline-block
}
.elementor-button span {
    text-decoration: inherit
}
.elementor-element,.elementor-lightbox {
    --swiper-theme-color: #000;
    --swiper-navigation-size: 44px;
    --swiper-pagination-bullet-size: 6px;
    --swiper-pagination-bullet-horizontal-gap: 6px
}
.elementor-widget-text-path {
    font-size: 20px;
    text-align: var(--alignment,left)
}

.elementor-widget-text-path svg {
    width: var(--width);
    max-width: 100%;
    height: auto;
    overflow: visible;
    word-spacing: var(--word-spacing);
    transform: rotate(var(--rotate,0)) scaleX(var(--scale-x,1)) scaleY(var(--scale-y,1))
}

.elementor-widget-text-path svg path {
    vector-effect: non-scaling-stroke;
    fill: var(--path-fill,transparent);
    stroke: var(--stroke-color,transparent);
    stroke-width: var(--stroke-width,1px);
    transition: var(--stroke-transition) stroke,var(--stroke-transition) fill
}

.elementor-widget-text-path svg:hover path {
    --path-fill: var(--path-fill-hover);
    --stroke-color: var(--stroke-color-hover);
    --stroke-width: var(--stroke-width-hover)
}

.elementor-widget-text-path svg text {
    --fill: var(--text-color);
    fill: var(--fill);
    direction: var(--direction,ltr);
    transition: var(--transition) stroke,var(--transition) stroke-width,var(--transition) fill
}

.elementor-widget-text-path svg text:hover {
    --color: var(--text-color-hover,var(--text-color));
    --fill: var(--color);
    color: var(--color)
}
.elementor-widget-divider {
    --divider-border-style: none;
    --divider-border-width: 1px;
    --divider-color: #0c0d0e;
    --divider-icon-size: 20px;
    --divider-element-spacing: 10px;
    --divider-pattern-height: 24px;
    --divider-pattern-size: 20px;
    --divider-pattern-url: none;
    --divider-pattern-repeat: repeat-x
}

.elementor-widget-divider .elementor-divider {
    display: flex
}
.elementor-widget-divider .elementor-divider-separator {
    display: flex;
    margin: 0;
    direction: ltr
}
.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator {
    border-block-start:var(--divider-border-width) var(--divider-border-style) var(--divider-color)
}
.elementor-heading-title {
    padding: 0;
    margin: 0;
    line-height: 1
}
.elementor-widget-image {
    text-align: center
}

.elementor-widget-image a {
    display: inline-block
}

.elementor-widget-image a img[src$=".svg"] {
    width: 48px
}

.elementor-widget-image img {
    vertical-align: middle;
    display: inline-block
}
.elementor-column .elementor-spacer-inner {
    height: var(--spacer-size)
}
/*決済ボタン*/
.btnbx {
  margin: 40px;
  display: flex;
  justify-content: center;
}
.cta_btn05 {
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1em 2em 1em calc(5em - 15px);
  transition: 0.05s;
  text-decoration: none;
  color: #fff;
  border-radius: 0.5rem;
  background: #45B173;
  filter: drop-shadow(0 5px 0 #19934e);
  margin-left: 10px;
}
.cta_btn05 p {
  margin: 0;
}
.cta_btn05 .cta_btn05_copy {
  position: absolute;
  bottom: 0.5em;
  left: -20px;
  display: inline-block;
  width: 5em;
  height: 5em;
  line-height: 4.5em;
  text-align: center;
  color: #45B173;
  font-size: 80%;
  font-weight: bold;
  background: #fff;
  border: 3px solid #45B173;
  border-radius: 50%;
  box-sizing: border-box;
  transform: rotate(-30deg);
}
.cta_btn05 .cta_btn05_copy::before {
  position: absolute;
  content: "";
  bottom: -5px;
  right: -10px;
  border: 9px solid transparent;
  border-left: 15px solid #FFF;
  z-index: 0;
  transform: rotate(45deg);
}
.cta_btn05:active {
  transform: translate(0, 5px);
  background: #45B173;
  filter: drop-shadow(0 0 0 #19934e);
}

/*スイッチオンオフおじさん猫になるポップアップ画面*/
.on-off {
  display: flex;
  justify-content: center;
}
#switch {
  display: block;
  width: 80px;
  height: 112px;
  margin-top: 30px;
  object-fit: contain;
  cursor: pointer;
}
#switch_on_switch {
  display: none;
  width: 80px;
  height: 112px;
  margin-top: 30px;
  object-fit: contain;
  cursor: pointer;
}
#ojisan {
  display: block;
  margin-top: -130px;
  width: 300px;
  height: 221px;
  object-fit: contain;
}
#ojisan_on_neko {
  display: none;
  margin-top: -130px;
  width: 300px;
  height: 221px;
  object-fit: contain;
}
#popup-wrapper01, #popup-wrapper02, #popup-wrapper03, #correct01, #incorrect01, #correct02_1, #incorrect02_1 {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(0 0 0 / .5);
  justify-content: center;
  align-items: center;
  z-index: 99;
}
#popup-inside01, #popup-inside02, #popup-inside02_1, #popup-inside02_2, #popup-inside03, #popup-inside04_1, #popup-inside04_2 {
  position: fixed;
  inset: 0;
  margin: auto;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 80%;
  max-width: 350px;
  height: 40%;
  max-height: 300px;
  background: white;
  padding: 10px 5px;
  border: 3px solid #997526;
  border-radius: 20px;
}
.message2 {
  margin: 10px 0px;
  font-size: 17px;
  font-weight: 400;
  font-family: "Rockn Roll One", sans-serif;
  line-height: 1.5em;
  color: #000;
}
@media screen and (max-width: 959px) {
  #switch {
  width: 65px;
  height: 91px;
  }
  #switch_on_switch {
  width: 65px;
  height: 91px;
  }
  #ojisan {
  width: 250px;
  height: 184px;
  }
  #ojisan_on_neko {
  width: 250px;
  height: 184px;
  }
}
@media screen and (max-width: 480px) {
  #switch {
  width: 50px;
  height: 70px;
  }
  #switch_on_switch {
  width: 50px;
  height: 70px;
  }
  #ojisan {
  width: 200px;
  height: 147px;
  }
  #ojisan_on_neko {
  width: 200px;
  height: 147px;
  }
  .message,.message2 {
  font-size: 16px;
  }
}
#container01 {
  position: relative;
  width: 100%;
  height: 150px;
  overflow: hidden;
}
#bakuhatu01 {
  display: none;
}
#bakuhatu01 span {
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  transform: scale(0);
}
#bakuhatu01 span:nth-child(1) {
  top: 50px;
  left: -50px;
  animation: explosions-anim 2s 0s linear infinite,
    color-anim 2.5s 0s linear infinite;
}
#bakuhatu01 span:nth-child(2) {
  top: 80px;
  left: -140px;
  animation: explosions-anim 2s 0.2s linear infinite,
    color-anim 2.5s -1s linear infinite;
}
#bakuhatu01 span:nth-child(3) {
  top: 75px;
  left: -75px;
  animation: explosions-anim 2s 0.4s linear infinite,
    color-anim 2.5s -2s linear infinite;
}
#bakuhatu01 span:nth-child(4) {
  top: 100px;
  left: 0px;
  animation: explosions-anim 2s 0.6s linear infinite,
    color-anim 2.5s -3s linear infinite;
}
#bakuhatu01 span:nth-child(5) {
  top: 80px;
  left: 50px;
  animation: explosions-anim 2s 0.8s linear infinite,
    color-anim 2.5s -4s linear infinite;
}
@keyframes explosions-anim {
  0% {transform: scale(0);}
  35% {transform: scale(0);}
  49.9% {transform: scale(1);}
  50% {transform: scale(0);}
  80% {transform: scale(0);}
  99.9% {transform: scale(2);}
  100% {transform: scale(0);}
}
@keyframes color-anim {
  0%, 100% {background: #84ff84;}
  20% {background: #84ffff;}
  40% {background: #ff84ff;}
  60% {background: #ff8484;}
  80% {background: #ffff84;}
}
/*ボタン問題*/
.alert {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.alert.anime02 {
  animation: .6s ease-out infinite running spread02;
}
@keyframes spread02 {
  from {background-color: rgba(255, 0, 0, .7);z-index: 99;}
  to {background-color: rgba(44, 62, 80, .7);z-index: 99;}
}
.button02 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 3px;
}
.button02 input[type="radio"] {
    display: none;
}
.button02 label {
  width: 60px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e95464;
  -webkit-box-shadow: 0 6px 0 #9f000c;
  box-shadow: 0 6px 0 #9f000c;
  color: #fff;
  font-size: 19px;
  font-weight: 600;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  margin: 3px;
  text-decoration: none;
  cursor: pointer;
  transition: 0.1s;
}
.button02 input[type="radio"]:checked + label {
  background: #FF8C00;
  transform: translateY(5px);
  color: #9f000c;
  -webkit-box-shadow: 0 1px 0 #9f000c;
  box-shadow: 0 1px 0 #9f000c;
}

/*直線を引くcanvas*/
.ono_siritori_container {
  background-image: url('https://miyajima-noasobi.com/wp-content/uploads/2024/02/e81adb6ed49b8009d9b725dfbb94fb22.webp');
  background-size: contain;
  position: relative;
  width: 350px;
  height: 352px;
  margin: 0 auto;
}
#ono_siritori_canvas {
  display: block;
  margin: 0 auto;
  cursor: crosshair;
  touch-action: none;
}
.clear_botan {
  display: block;
  margin: 10px auto;
  padding: 0;
  width: 80px;
  height: 30px;
  align-items: center;
  font-size: 14px;
  font-weight: 400;
  font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;
  text-shadow: 1px 1px 1px rgb(77 77 77 / .7);
  border-radius: 15px;
  border: 0;
  color: #ffffff;
  background: #ee5533;
  box-shadow: 0 4px 0 #802d1b;
  cursor: pointer;
  transition: 0.05s;
  user-select: none;
}
.clear_botan:active {
  transform: translate(0, 4px);
  background: #ee5533;
  text-shadow: none;
  box-shadow: 0 0 0 #802d1b;
  user-select: none;
}
/*おじさん猫魔法の水*/
.ojisanneko {
  text-align: center;
  margin-top: -350px;
  margin-left: 30px;
}
.supoito {
  text-align: center;
  margin-left: 75px;
}
.supoitoimg {
  width: 80px;
  height: 85px;
  object-fit: contain;
}
.karadaimage {
  width: 300px;
  height: 221px;
  object-fit: contain;
}
#drop{
  position: relative;
  margin:  0 auto;
  top: 0px;
  width: 15px;
  height: 15px;
  background: #7fc7ef;
  border-radius: 0% 100% 50% 50%/ 0% 50% 50% 100%;
  transform: rotate(45deg) skew(10deg, 10deg);
}
#drop.anime03_1 {
  animation: 3s cubic-bezier(.97,.03,.86,.12) 0s running fall03;
}
@keyframes fall03 {
  to { top: 180px; }
}
.ripple {
  position: relative;
  margin:  0 auto;
  top: 100px;
  width: 300px;
  height: 150px;
  border-radius: 300px / 150px;
  border: 15px solid #ff00ff;
  transform: scale(0.01,0.01);
  opacity: 0;
}
.ripple.anime03_2 {
  animation: 3s ease-out 3s running spread03;
}
@keyframes spread03 {
  from { opacity: 1; }
  to { transform: scale(0.5,0.5); opacity: 0; }
}
.delay1 {
  position: relative;
  margin:  0 auto;
  top: -50px;
  width: 300px;
  height: 150px;
  border-radius: 300px / 150px;
  border: 15px solid red;
  transform: scale(0.01,0.01);
  opacity: 0;
}
.delay1.anime03_3 {
  animation: 3s ease-out 3s running spread03;
  animation-delay: 3.6s;
}
.delay2 {
  position: relative;
  margin:  0 auto;
  top: -200px;
  width: 300px;
  height: 150px;
  border-radius: 300px / 150px;
  border: 15px solid blue;
  transform: scale(0.01,0.01);
  opacity: 0;  
}
.delay2.anime03_4 {
  animation: 3s ease-out 3s running spread03;
  animation-delay: 4s;
}
/*削るcanvas*/
#ono_kaiga_container {
  position: relative;
  width: 350px;
  height: 350px;
  margin: 0 auto 30px;
}
#ono_kaiga_content {
  position: absolute;
  margin: 0 auto;  
  width: 350px;
  height: 350px;
  text-align: center;
  background-image: url('https://miyajima-noasobi.com/wp-content/uploads/2024/02/fb044cc6b96f2dad955505fccfd830f6.webp');
	background-size: cover;
  z-index: -1;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none; 
  -o-user-select: none;
  user-select: none;
  border: 4px solid #d66a35;
  box-shadow: 0 1.2em 2.5em rgb(16 2 96 / .2);
}
#ono_kaiga_canvas {
  display: block;
  position: absolute;
	margin: 0 auto;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: crosshair;
  touch-action: none;
  border: 4px solid #d66a35;
}
/*回転アニメーション*/
.kurukuru {
  animation: rotate_anime 8s linear infinite;
}
@keyframes rotate_anime {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(360deg);
  }
}
.kurukurutate {
  animation: rotate_anime_tate 8s linear infinite;
}
@keyframes rotate_anime_tate {
  0% {
    transform: rotatex(0deg);
  }
  100% {
    transform: rotatex(360deg);
  }
}
/*尾道ラーメン食べよう*/
.coffee {
  position: relative;
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
.coffee_text {
  position: absolute;
  bottom: 110px;
  width: 120px;
  font-family: serif;
  color: #47443b;
}
.coffee_text > span {
  position: absolute;
  display: block;
  font-size: 18px;
  letter-spacing: 18px;
  offset-path: path("m61.498,27.295c9.366,9.437,4.071,22.205-6.929,23.205-10.006.91-19.834-7.567-19.834-23.475,0-13,12.942-24.525,31.834-24.525,18.704,0,25.174,19.976,25,32-.231,16.017-7.03,24.708-13,34-18.22,28.357-18.22,49.926-13,58");
  opacity: 0;
  animation: move-text 6s linear infinite, distort-text 6s linear infinite;
}
.coffee_text > span:nth-child(1) {
  animation-delay: 0s;
}
.coffee_text > span:nth-child(2) {
  animation-delay: 0.3s;
}
.coffee_text > span:nth-child(3) {
  animation-delay: 0.6s;
}
.coffee_text > span:nth-child(4) {
  animation-delay: 0.9s;
}
.coffee_text > span:nth-child(5) {
  animation-delay: 1.2s;
}
.coffee_text > span:nth-child(6) {
  animation-delay: 1.5s;
}
.coffee_text > span:nth-child(7) {
  animation-delay: 1.8s;
}
.coffee_text > span:nth-child(8) {
  animation-delay: 2.1s;
}
.coffee_text > span:nth-child(9) {
  animation-delay: 2.4s;
}
.coffee_text > span:nth-child(10) {
  animation-delay: 2.7s;
}
.coffee_text > span:nth-child(11) {
  animation-delay: 3s;
}
.coffee_text > span:nth-child(12) {
  animation-delay: 3.3s;
}
.coffee_text > span:nth-child(13) {
  animation-delay: 3.6s;
}
.coffee_text > span:nth-child(14) {
  animation-delay: 3.9s;
}
.coffee_text > span:nth-child(15) {
  animation-delay: 4.2s;
}
.coffee_text > span:nth-child(16) {
  animation-delay: 4.5s;
}
.coffee_text > span:nth-child(17) {
  animation-delay: 4.8s;
}
@keyframes move-text {
  0% {
    offset-distance: 100%;
    opacity: 0;
  }
  10%, 90% {
    opacity: 1;
  }
  100% {
    offset-distance: 0;
    opacity: 0;
  }
}
@keyframes distort-text {
  45% {
    transform: scaleY(1);
  }
  65% {
    transform: scaleY(1.8);
  }
  85% {
    transform: scaleY(1);
  }
  100% {
    transform: scaleY(0.5);
  }
}
.coffee_cup {
  position: absolute;
  display: block;
  width: 150px;
  height: 150px;
  background-image: url("https://miyajima-noasobi.com/wp-content/uploads/2024/02/34067f74cf380a318be4e98d03cb1fd8.webp");
  background-size: contain;
  background-repeat: no-repeat;
}
/*回転カルーセル*/
.container {
  margin: 40px auto;
  width: 250px;
  height: 200px;
  position: relative;
  perspective: 1000px;
}
.carousel {
  height: 100%;
  width: 100%;
  position: absolute;
  transform-style: preserve-3d;
  transition: transform 1s;
}
.item {
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 250px;
  height: 200px;
  text-align: center;
  opacity: 0.95;
  border-radius: 10px;
}
.item-title {
  background-color: #e6b422;
  width: 40px;
  height: 40px;
  margin: 0.5em;
  display: inline-block;
  border-radius: 50%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2em;
  font-weight: Bold;
  color: #fff;
  font-weight: bold;
  line-height: 40px;
}
.item-description {
  padding: 0.2em;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.75em;
  line-height: 1.5em;
  color: #FFF;
}
@media screen and (max-width: 480px) {
    .item {
        width: 95%;
    }
    .item-description {
        font-size: 0.7em;
        padding: 0.1em;
    }
}
.a {
  transform: rotateY(0deg) translateZ(230px);
  background: #c9171e;
}
.b {
  transform: rotateY(60deg) translateZ(230px);
  background: #1569BD;
}
.c {
  transform: rotateY(120deg) translateZ(230px);
  background: #54917f;
}
.d {
  transform: rotateY(180deg) translateZ(230px);
  background: #D86020;
}
.e {
  transform: rotateY(240deg) translateZ(230px);
  background: #9d5b8b;
} 
.f {
  transform: rotateY(300deg) translateZ(230px);
  background: #946243;
}
.box {
   position: absolute;
   top: 300px;
   left: 50%;
   transform: translateX(-50%);
}
.prev,.next {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 0.5rem 1rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  border-radius: 0.5rem;
  color: #fff;
  background-color: #999;
  border-bottom: 5px solid #444;
}
.prev:active,.next:active {
  margin-top: 3px;
  color: #fff;
  background: #999;
  border-bottom: 2px solid #444;
}
/*回転テキスト*/
.circle-text {
  position:relative;
  width: 300px;
  height: 300px;
  font-size: 18px;
  text-align: center;
  margin: 0;
  transform: rotate(-80deg);
  animation: rotateReverse normal infinite 30s linear;
	transform-origin: 50% 50%;
}
.circle-text span {
  position: absolute;
  top: 0;
  left: calc(50% - 9px);
  display: inline-block;
  width: 18px;
  height: 150px;
  transform-origin: center bottom;
}
@media screen and (max-width: 959px) {
  .circle-text {
    width: 250px;
    height: 250px;
    font-size: 17px;
  }
  .circle-text span {
    left: calc(50% - 8.5px);
    width: 17px;
    height: 125px;
  }
}
@media screen and (max-width: 480px) {
  .circle-text {
    width: 180px;
    height: 180px;
    font-size: 16px;
  }
  .circle-text span {
    left: calc(50% - 8px);
    width: 16px;
    height: 90px;
  }
}
.circle-text span:nth-child(1) {
  transform: rotate(0deg);
}
.circle-text span:nth-child(2) {
  transform: rotate(20deg);
}
.circle-text span:nth-child(3) {
  transform: rotate(40deg);
}
.circle-text span:nth-child(4) {
  transform: rotate(60deg);
}
.circle-text span:nth-child(5) {
  transform: rotate(80deg);
}
.circle-text span:nth-child(6) {
  transform: rotate(100deg);
}
.circle-text span:nth-child(7) {
  transform: rotate(120deg);
}
.circle-text span:nth-child(8) {
  transform: rotate(140deg);
}
.circle-text span:nth-child(9) {
  transform: rotate(160deg);
}
.circle-text span:nth-child(10) {
  transform: rotate(180deg);
}
.circle-text span:nth-child(11) {
  transform: rotate(200deg);
}
.circle-text span:nth-child(12) {
  transform: rotate(220deg);
}
.circle-text span:nth-child(13) {
  transform: rotate(240deg);
}
.circle-text span:nth-child(14) {
  transform: rotate(260deg);
}
.circle-text span:nth-child(15) {
  transform: rotate(280deg);
}
.circle-text span:nth-child(16) {
  transform: rotate(300deg);
}
.circle-text span:nth-child(17) {
  transform: rotate(320deg);
}
.circle-text span:nth-child(18) {
  transform: rotate(340deg);
}
@keyframes rotateReverse {
	to {transform: rotate(-360deg);}
}
/*揺れるテキスト*/
h2 > span{
  display: inline-block;
  animation: wave-text 5.5s ease-in-out infinite;
}
h2 > span:nth-of-type(1){ animation-delay: 0s; }
h2 > span:nth-of-type(2){ animation-delay: 0.3s; }
h2 > span:nth-of-type(3){ animation-delay: 0.6s; }
h2 > span:nth-of-type(4){ animation-delay: 0.9s; }
h2 > span:nth-of-type(5){ animation-delay: 1.2s; }
h2 > span:nth-of-type(6){ animation-delay: 1.5s; }
h2 > span:nth-of-type(7){ animation-delay: 1.8s; }
h2 > span:nth-of-type(8){ animation-delay: 2.1s; }
h2 > span:nth-of-type(9){ animation-delay: 2.4s; }
h2 > span:nth-of-type(10){ animation-delay: 2.7s; }
h2 > span:nth-of-type(11){ animation-delay: 3s; }
h2 > span:nth-of-type(12){ animation-delay: 3.3s; }

@keyframes wave-text{
  00%{
    transform: translateY(0em);
  }
  60%{
    transform: translateY(-0.3em);
  }
  100%{
    transform: translateY(0em);
  }
}
/*揺れるテキスト*/
#hamburger01{
  position: fixed;
  z-index: 99;
  right: 10px;
  top: 10px;
  background: none;
  border: none;
  cursor: pointer;
  width: 50px;
  height:50px;
  border-radius: 5px;
}
#hamburger01 span{
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 14px;
  height: 2px;
  border-radius: 5px;
  background: #000;
  box-shadow: 0px 0px 1px 1px #f5f5f5;
  width: 45%;
}
#hamburger01 span:nth-of-type(1) {
  top: 13px; 
}
#hamburger01 span:nth-of-type(2) {
  top: 19px;
}
#hamburger01 span:nth-of-type(3) {
  top: 25px;
}
#hamburger01 span:nth-of-type(3)::after {
  content: "Menu";
  position: absolute;
  top: 5px;
  left: -2px;
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
  font-size: 0.6rem;
  text-transform: uppercase;
}
#hamburger01.action {
  background: #4169e1;
}
#hamburger01.action span:nth-of-type(1) {
  top: 14px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
  background: #fff;
  box-shadow: none;
}
#hamburger01.action span:nth-of-type(2) {
  opacity: 0;
}
#hamburger01.action span:nth-of-type(3){
  top: 26px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
  background: #fff;
  box-shadow: none;
}
#hamburger01.action span:nth-of-type(3)::after {
  content: "Close";
  transform: translateY(0) rotate(-45deg);
  top: 7px;
  left: 4px;
  color: #fff;
}
#nav01{
  position: fixed;
  z-index: 9;
  top: 0;
  right: -120%;
  width: 100%;
  height: 100vh;
  background: #93b69c;
  transition: all 0.6s;
}
#nav01.action {
  right: 0;
}
#nav01.action #nav01-list{
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
#nav01 ul{
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
#nav01 ul li{
  list-style: none;
  text-align: center;
}
#nav01 a{
  color: #333;
  text-decoration: none;
  padding: 5px;
  display: block;
  letter-spacing: 0.1em;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  transition: 0.5s;
}
#nav01 li a:hover{
  color: #ffffff;
  background: #cd5c5c;
}

input[type="text"].anser_waku {
  display: flex;
  margin: 10px auto;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 2.3em;
  width: 250px;
  padding: 0 10px;
  border-radius: 5px;
  border: 1px solid #63d62d;
  background: #fff;
  font-size: 19px;
  font-family: "Yusei Magic", sans-serif;
  color: #c53d43;
  box-shadow: 0 0 10px 2px rgb(99 214 45 / .35);
  appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}
input[type="text"].anser_waku::placeholder {
    color: #7b7c7d;
}
input[type="text"].anser_waku:focus {
  outline: 0;
  background: #fff;
  border: 1px solid #e6b422;
  box-shadow: 0px 0px 10px 2px rgb(230 180 34 / .35);
  color: #160c28;
}
.sousin_botan {
  display: flex;
  width: 90px;
  height: 44px;
  margin: 20px auto;
  padding: 0;
  justify-content: center;
  align-items: center;
  font-size: 17px;
  font-weight: 600;
  font-family: "Noto Sans JP", sans-serif;
  text-shadow: 1px 1px 1px rgb(77 77 77 / .7);
  line-height: 17px;
  border-radius: 5px;
  border: 0;
  color: #ffffff;
  background: #00AAEE;
  cursor: pointer;
  box-shadow: 0 5px 0 #005b80;
  -webkit-user-select: none;
  user-select: none;
}
.sousin_botan:active {
  transform: translate(0, 3px);
  box-shadow: 0 0 0 #005b80;
}
.popup-correct, .popup-incorrect {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(0 0 0 / .5);
  justify-content: center;
  align-items: center;
  z-index: 99;
}
.popup-inner {
  position: fixed;
  inset: 0;
  margin: auto;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 85%;
  max-width: 400px;
  height: 40%;
  background: white;
  padding: 10px 5px;
  border: 4px solid #997526;
  border-radius: 20px;
}
.fuseikai {
  width: 95%;
  height: 95%;
  background-image: url(https://miyajima-noasobi.com/wp-content/uploads/2025/03/8e2ddb50af6c51d65b37da955f10e7e7.webp);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
.close {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 5px;
  right: 10px;
  height: 30px;
  width: 30px;
  font-size: 18px;
  font-weight: 600;
  background: #ffec47;
  border: 1px solid #006e54;
  border-radius: 50%;
  color: #00a381;
  cursor: pointer;
  z-index: 999;
}
.loader {
  background: rgb(0 0 0 / .5);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 999;
}
.loader_spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.loader_saigo {
  width: 40px;
  height: 40px;
  --c:no-repeat linear-gradient(#99DDFF 0 0);
  background: var(--c),var(--c),var(--c),var(--c);
  background-size: 21px 21px;
  animation: l5 1.3s infinite cubic-bezier(0.3,1,0,1);
}
@keyframes l5 {
   0%   {background-position: 0    0,100% 0   ,100% 100%,0 100%}
   33%  {background-position: 0    0,100% 0   ,100% 100%,0 100%;width:60px;height: 60px}
   66%  {background-position: 100% 0,100% 100%,0    100%,0 0   ;width:60px;height: 60px}
   100% {background-position: 100% 0,100% 100%,0    100%,0 0   }
}
.text_message,
.text_message2,
.text_message3 {
  font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", HG丸ｺﾞｼｯｸM-PRO, HGMaruGothicMPRO, sans-serif;
  
  text-decoration: none;
  margin: 5px;
}
.text_message {
  font-size: 20px;
  color: #EE0044;
  font-weight: 600;
  margin-bottom: 15px;
}
.text_message2 {
  font-size: 16px;
  color: #00AAEE;
  font-weight: 600;
  margin-bottom: 15px;
}
.text_message2 p {
  margin: 2px;
}
.text_message3 {
  font-size: 16px;
  color: #160c28;
  font-weight: 400;
}
.text_message4 {
  font-family: "Rockn Roll One", sans-serif;
  font-size: 16px;
  color: #160c28;
  font-weight: 400;
  text-decoration: none;
  margin: 0;
}
.text_massage4 p {
  margin: 10px;
}
p {
  margin: 0;

}