
body{
    background:#87ceeb; /* 昼っぽい空 */
    padding: 0;
    width: 1000px;
}

.ki{
    position: absolute;
    top:50%;
    left:1000px;
    transform: translateY(-50%);
    max-width: var(--IMAGE-MAX-WIDTH);
    object-fit: contain; 
    z-index: 2;
}
.engawa{
    position: absolute;
    top: 280px;
    left: 0;
    object-fit: cover; 
    z-index: 3;  
}
.background{
    position:absolute; 
    top:200px;
    left:200px;
    z-index: 1;
}
.hurinn{
    position: absolute;
    top: 0;
    left: 50px;
    max-width: var(--IMAGE-MAX-WIDTH);
    object-fit: contain;
    animation: swing 2s infinite ease-in-out;
    transform-origin: top center;
    z-index: 4; 
}
@keyframes swing {
    0%   { transform: rotate(5deg); }
    50%  { transform: rotate(-5deg); }
    100% { transform: rotate(5deg); }
    }
.kumo{
    position: absolute;
    top: 0;
    left: 50px;
    transform: translateX(50%);
    max-width: var(--IMAGE-MAX-WIDTH);
    object-fit: contain;
}
.kinyu{
    position: absolute;  
    right:0px; 
    z-index: 5;
    object-fit: contain;
}
textarea{
    resize: none;
    font-size: 40px;
}
button { padding: .6em 1em; border-radius: .6em; border: 1px solid #ccc; cursor: pointer; }
button:hover{
    opacity:0.7;
}
.hidden{
    display:none;
}

.haikuText{
    writing-mode: vertical-rl;
    width:120px; 
    height:600px;
    border:none;
    background-color: #cec4a7;
}

/*おじいいちゃんの吹き出し*/
.bubble {
position:absolute;
bottom:10px;
left:300px;
display: inline-block;
width:600px;
height:80px;
max-width: 1720px;
background: #fff;
border: 2px solid #197b38;
border-radius: 16px;
padding: 16px 20px;
box-shadow: 0 6px 18px rgba(0,0,0,.08);
z-index: 7;
}
.bubble::after {
content: "";
position: absolute;
left: -12px;
top: 26px;
border-width: 10px 12px 10px 0;
border-style: solid;
border-color: transparent #319017 transparent transparent;
}
.bubble::before {
content: "";
position: absolute;
left: -9px;
top: 26px;
border-width: 10px 12px 10px 0;
border-style: solid;
border-color: transparent #fff transparent transparent;
z-index: 1;
}
.large{font-size:25px;
       font-weight: bold;
       color:#197b38
}
.small{
    font-size:20px;
}
#modal {
      display: none; /* 最初は非表示 */
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0,0,0,0.5);
      z-index: 8;
    }
    /* モーダルの中身 */
 #modalContent {
      background: white;
      padding: 20px;
      margin:20% auto;
      width: 400px;
      border-radius: 10px;
      text-align: center;
    }
.button{
    background-color: #197b38;
    width:125px;
}