body{
margin: 0;
padding: 0;
font-family: 'Shippori Mincho', serif;
color:#4A3D3D;
background: url("img/mv_img.png") center center / cover no-repeat;
background-attachment: fixed;
}

header{
height:100vh;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: relative;
text-align: center;
}

h1{
font-weight: normal;
font-size: 1.45rem;
text-shadow: 0 0 8px rgba(255,255,255,0.6);
margin-bottom:0px;
}

h1 span{
color:#f58db4;
}

p{
line-height: 1.9;
letter-spacing: 0.06em;
font-size: 0.95rem;
}

.sp{
display: none;
}

.shindanbox{
padding: 20px;
border-radius: 20px;
width:440px;
background: rgba(255,255,255,0.88);
border: 1px solid rgba(255,230,238,0.8);
border-radius: 28px;
box-shadow: 0 10px 30px rgba(255,182,210,0.10);
margin-top:10px;
}

.small{
line-height: 1.9;
letter-spacing: 0.06em;
font-size: 0.85rem;
}

h2{
color:#f58db4;
font-weight: normal;
letter-spacing: 0.06em;
margin:0;
padding: 0;
}

form{
max-width: 420px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 18px;
}

input{
width: 100%;
height: 58px;
padding: 0 20px;
font-size: 16px;
color: #666;
background: rgba(255,255,255,0.9);
border: 1px solid #f3d8e3;
border-radius: 14px;
box-shadow: inset 0 2px 6px rgba(255,230,238,0.35);
outline: none;
box-sizing: border-box;
font-family: 'Lato', sans-serif;
}

input::placeholder{
color: #b8b8b8;
}

button{
width: 100%;
height: 58px;
border: none;
border-radius: 40px;
font-size: 18px;
letter-spacing: 0.08em;
color: #fff;
cursor: pointer;
background: linear-gradient(90deg,#f7a2c4 0%, #f47fb1 50%, #ee6ea4 100%);
box-shadow: 0 10px 25px rgba(255, 182, 210, 0.28);
transition: 0.3s;
font-family: "Zen Old Mincho", serif;
}

button:hover{
transform: translateY(-2px);
box-shadow: 0 14px 28px rgba(255, 182, 210, 0.35);
}

footer{
background:#fff;
text-align:center;
font-family: 'EB Garamond','Shippori Mincho', serif;
font-size:0.8rem;
line-height: 2.5;
letter-spacing: 0.08em;
}

section{
flex-direction: column;
justify-content: center;
align-items: center;
position: relative;
text-align: center;
}

h3{
font-weight: normal;
font-size: 1.45rem;
text-shadow: 0 0 8px rgba(255,255,255,0.6);
margin-bottom:10px;
letter-spacing: 0.06em;
}

h3 span{
font-size: 2rem;
}

h4{
font-weight: normal;
font-size: 1.25rem;
text-shadow: 0 0 8px rgba(255,255,255,0.6);
margin-bottom:10px;
letter-spacing: 0.06em;
}

h4 span{
font-size: 1.45rem;
color:#f58db4;
}

.box{
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(255, 228, 238, 0.95);
  border-radius: 15px;
  padding:50px;
  margin:0 auto;
}



#result-box{
background: rgba(255, 255, 255, 0.2);
border: 1px solid rgba(255, 228, 238, 0.95);
border-radius: 28px;
box-shadow:
  0 8px 30px rgba(255, 210, 230, 0.12),
  inset 0 1px 0 rgba(255,255,255,0.7);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
padding: 30px;
width:900px;
margin:0 auto;
margin-bottom:60px;
}

.left{
  text-align:left;
}

.box a{
display: block;
text-decoration: none;
width: 100%;
line-height: 58px;
border: none;
border-radius: 40px;
font-size: 18px;
letter-spacing: 0.08em;
color: #fff;
cursor: pointer;
background: linear-gradient(90deg,#f7a2c4 0%, #f47fb1 50%, #ee6ea4 100%);
box-shadow: 0 10px 25px rgba(255, 182, 210, 0.28);
transition: 0.3s;
font-family: "Zen Old Mincho", serif;
}

.box a:hover{
transform: translateY(-2px);
box-shadow: 0 14px 28px rgba(255, 182, 210, 0.35);
}

@media(max-width:768px){
  body{
	background-image: url('img/mv_img_sp.png');
  }
  h1{
    font-size:1.5rem;
    line-height:1.6;
    padding:0 15px;
  }
  .sp{
	display: block;
  }
  p{
	font-size: 0.88rem;
    line-height: 1.8;
    letter-spacing: 0.04em;
  }
  .shindanbox{
    width:80% !important;
    padding:20px;
  }
  #result-box{
    box-sizing: border-box;
    width:90% !important;
    padding:10px;
    max-width:500px;
  }
  .box{
    box-sizing: border-box;
    width:100% !important;
    padding:30px 10px;
  }
  img{
    width: 100%;
  }
  .logo{
    width:60%;
  }
}