*{
margin:0;
padding:0;
text-align:center;
font-family:"メイリオ","Hiragino Kaku Gothic ProN",sans-serif;
}
a img{
border:none;
}
img{
width:100%;
vertical-align:bottom;
}
li{
list-style-type: none;
}

body{
transform-origin:top 0;
background: url(images/bg_firework_l.png) -20% 0% repeat-y, url(images/bg_firework_r.png) 120% 0% repeat-y, url(images/bg_wave_l.png) 0% 0% repeat-y, url(images/bg_wave_r.png) 100% 0% repeat-y, linear-gradient(180deg, rgba(224, 103, 186, 1) 0%, rgba(115, 62, 194, 1) 100%);
background-size: 45%, 45%, 20%, 20%, 100%;
}

#loader{
width: 100vw;
height: 100dvh;
position: fixed;
top:0;
left: 0;
background: #7CB9B6;
z-index: 999;
}
#loaderIcon{
position: absolute;
width: 17%;
aspect-ratio:740/640;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
#loaderIcon img{
position: absolute;
top: 0;
left: 0;
}
#loaderIcon img:nth-last-of-type(1){
position: relative;
transform-origin: 75% bottom; /* 底を支点にスケール */
animation: bounce 1.4s infinite;
}
@keyframes bounce {
  0%   { transform: rotate(-5.5deg); }
  25%  {  transform: rotate(1deg); }
  50%  { transform: rotate(-5.5deg); }
  100% { transform: rotate(-5.5deg); }
}

.loaderFloat {
--amplitude: 0.6vw;   /* 上下の移動幅 */
--duration: 2.0s;    /* 往復の所要時間 */
--timing: cubic-bezier(.22,.9,.35,1); /* 優しいイージング */
}
.loaderFloat:nth-of-type(2n) {
animation: loaderFloatY1 var(--duration) ease-in-out infinite;
}
.loaderFloat:nth-of-type(2n+1) {
animation: loaderFloatY2 var(--duration) ease-in-out infinite;
}

@keyframes loaderFloatY1 {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(calc(-1 * var(--amplitude))); }
  100% { transform: translateY(0); }
}

@keyframes loaderFloatY2 {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(calc(0.6 * var(--amplitude))); }
  100% { transform: translateY(0); }
}

#menuBtn{
position:fixed;
top:0;
right:0;
width:9%;
cursor:pointer;
z-index:998;
 animation-name:fuwafuwa;
 animation-timing-function: ease-in-out;
 animation-iteration-count: infinite;
 animation-direction: alternate;
 animation-duration: 1s;
}
@keyframes fuwafuwa {
0% {
transform: translateY(0);
}
100% {
transform: translateY(10px);
}
}
#menuClose{
position:absolute;
top:0;
left:0;
display:none;
}
#menu{
position: fixed;
top: 0;
padding:2% 0 0 0;
width: 100%;
height:100vh;
background: linear-gradient(180deg, rgb(44, 4, 161), rgb(209, 15, 180));
display:none;
z-index:997;
}
#menu .logo{
margin:1% auto 0 auto;
width:35%;
}
#menu .btn{
margin:0 auto 0 auto;
width:30%;
}
#menu .btn img{
margin-top:2%;
width:100%;
}
#menu .sns{
margin:2% auto 0 auto;
width:30%;
}
#menu .sns img{
display:inline-block;
width:18%;
}

header{
position:relative;
}
header .logo{
position:relative;
margin:1% auto 0 0;
width:31%;
}
header h1{
position:relative;
display: block;
margin: -5% auto 0 auto;
width: 32%;
font-size: 0;
aspect-ratio:1520/340;
background: url("images/news_midashi.png");
background-size: 100%;
}
header h1::before, header h1::after{
content: "";
aspect-ratio:1520/340;
width: 100%;
position: absolute;
top:0;
left: 0;
--amplitude: 1vw;   /* 上下の移動幅 */
--duration: 2.8s;    /* 往復の所要時間 */
--timing: cubic-bezier(.22,.9,.35,1); /* 優しいイージング */
}
header h1::before{
background: url("../images/h1.png");
background-size: 100%;
animation: floatY1 var(--duration) ease-in-out infinite;
}
header h1::after{
background: url("../images/h2.png");
background-size: 100%;
animation: floatY2 var(--duration) ease-in-out infinite;
}
@keyframes floatY1 {
0%   { transform: translateY(0); }
50%  { transform: translateY(calc(-1 * var(--amplitude))); }
100% { transform: translateY(0); }
}
@keyframes floatY2 {
0%   { transform: translateY(0); }
50%  { transform: translateY(calc(0.6 * var(--amplitude))); }
100% { transform: translateY(0); }
}

section > div{
position: relative;
width: 52%;
margin: 6% auto 0 auto;
background: #FFFFE0;
border: solid 6px #E2D57A;
border-radius: 3vw;
padding: 6% 6% 10% 6%;
}
section > div::before {
position:absolute;
content: "";
background: url("images/news_c_h_pc.png");
background-size: 100%;
aspect-ratio:2240/360;
width: 125%;
left: -11%;
top:-2vw;
}
section > div::after {
position:absolute;
content: "";
background: url("images/news_c_f_pc.png");
background-size: 100%;
aspect-ratio:2240/360;
width: 107%;
left: -3%;
bottom:-3vw;
}
section > div p{
margin-top:2%;
text-align:justify;
font-size:1.2rem;
line-height:1.6;
color: #7B581B;
}
section > div p.date{
text-align:center;
font-size:1rem;
}
section > div h2{
margin-top:4%;
font-size:2rem;
color:#ed0084;
}

section > div h3{
margin-top:2%;
font-size:1.6rem;
line-height:1.4;
color: #7B581B;
}
section .comment{
margin-top:8%;
}
section .namae{
margin-top:2%;
}

section div#n20251213 .comment img, section div#n20251213 .namae img {
transform: scale(0.8);
}

section .summary{
margin-top:1rem;
border-radius: 2vw;
padding:1% 4% 4% 4%;
background-color:#ffef8a;
}
section .summary p{
font-size:0.9rem;
line-height:1.4;
}
section .summary p.midashi{
text-align:center;
font-size:1.1rem;
}
section .summary .note{
font-size:0.8rem;
}

.eizoArea{
position: relative;
margin:1rem auto 0 auto;
width: 100%;
padding-top: 56.25%;/*16:9=100:x*/
}
.eizoArea iframe{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.photo{
margin-top:1rem;
}

footer{
padding:2% 0;
}
footer .icon{
margin:0 auto;
width:16%;
}
footer .toho{
margin:1% auto 0 auto;
width:8%;
}
footer p, footer a{
margin-top:1%;
font-size:0.7rem;
color:#fff;
}

.mobile{
display:none;
}
.mobile_inline{
display:none;
}


@media (max-width: 639px) {
body{
background: url("images/bg_firework_l.png") -250% 0 repeat-y, url("images/bg_firework_r.png") 500% 0 repeat-y, url("images/bg_wave_l.png") 0% 0% repeat-y, url("images/bg_wave_r.png") 100% 0% repeat-y, linear-gradient(180deg, rgba(224, 103, 186, 1) 0%, rgba(115, 62, 194, 1) 100%);
background-size: 90%, 90%, 40%, 40%, 100%;
}

#loaderIcon{
width: 38%;
}
.loaderFloat {
--amplitude: 1.2vw;   /* 上下の移動幅 */
}

#menuBtn {
right: unset;
left: 0;
width:17%;
}

#menu .logo{
width:85%;
}
#menu .btn{
width:78%;
}
#menu .sns{
margin:4% auto 0 auto;
width:85%;
}

header .logo{
margin:2% auto 0 auto;
width:42%;
}
header h1{
margin: 0 auto 0 auto;
width: 80%;
}
header h1::before, header h1::after{
--amplitude: 2.8vw;   /* 上下の移動幅 */
--duration: 2.8s;    /* 往復の所要時間 */
}

section > div{
width: 80%;
margin: 10% auto 0 auto;
border: solid 3px #E2D57A;
border-radius: 8vw;
padding: 4% 4% 16% 4%;
}
section > div::before {
width: 110%;
left: -5%;
top:-2vw;
}
section > div::after {
width: 110%;
left: -5%;
bottom:-3vw;
}
section > div p{
font-size:0.9rem;
}
section > div p.date{
font-size:0.8rem;
}
section > div h2{
font-size:1.2rem;
}
section > div h3{
margin-top:2%;
font-size:1rem;
}

section div#n20251213 .comment img, section div#n20251213 .namae img {
transform: scale(1);
}

section .summary{
border-radius: 4vw;
padding:2% 6% 6% 6%;
}
section .summary p{
word-break: break-all; 
font-size:0.8rem;
}
section .summary p.midashi{
font-size:0.9rem;
}
section .summary .note{
font-size:0.7rem;
}

footer{
padding:4% 0 2% 0;
}
footer .icon{
width:38%;
}
footer .toho{
margin:1% auto 0 auto;
width:19%;
}
footer p, footer a{
margin-top:2%;
font-size:0.6rem;
}

.pc{
display:none;
}
.mobile{
display:block;
}
.mobile_inline{
display:inline;
}


/*swiper*/
.swiper-slide {
width: 38%;
}
}