html,body,div,span,iframe,h1,h2,h3,h4,p,pre,del,em,img,b,i,dl,dt,dd,ol,ul,li,form,table,tbody,tr,th,td,article,aside,footer,header,nav,section{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;box-sizing:border-box}
article,aside,footer,header,nav,section{display:block}
body{line-height:1;overflow-wrap:break-word;word-wrap:break-word}
input,textarea,select{font-family:'Inter', sans-serif;font-size:inherit;color:inherit;vertical-align:middle;box-sizing:border-box}
a{margin:0;padding:0;text-decoration:none;outline:none;font-size:100%;vertical-align:baseline;background:transparent}
a img{border-style:none}
ul,li{list-style-type:none}
.cf:before,.cf:after{content:" ";display:table}.cf:after{clear:both}

/* ===================================
Background, text, link settings
=================================== */

html{
font-size:62.5%
}

body, h1, h2, h3, h4, h5, h6, p, span, a, li, dt, dd, em, b, i, div, section, article, nav, header, footer {
    text-transform: none;
}

body{
  background-color: #1C0704;
  color:#252431;
  font-family: 'Inter', sans-serif;
  font-size:1.1em;
  line-height:1.5;
  margin:20px
}

/*  リンク
------------------------------ */
a{
color:#1C0704
}
a:hover{
color:#999;
text-decoration:underline
}
#contents a{
color:#21b3b2
}

/* ===================================
基本
=================================== */

#wrapper{
margin:0 auto;
width:440px
}
header{
background:#fff;
border:1px solid #000;
border-radius:3px;
margin-bottom:10px
}
.header-inner{
padding:10px
}
#contents{
background:#fff;
border:1px solid #000;
border-radius:3px;
margin-bottom:10px;
padding:5px 10px 10px
}
footer{
padding:0 0 5px;
text-align:center;
color: white;
}

/* ===================================
メニュー
=================================== */

#menu{
background:#fff;
border:1px solid #000;
border-radius:3px;
color:#ccc;
margin-bottom:10px;
padding:5px 10px;
width:100%
}
nav li{
display:inline-block;
position:relative;
height:2em;line-height:2em;
}
nav li a,nav li span{
color:#1C0704;
display:inline-block;
margin:0 5px
}
nav > ul > li + li:before{
content:"│"
}

.sub-menu{
background:rgba(0,0,0,.8);
position:absolute;
width:180px;
z-index:20
}
.sub-menu li{
display:block;
height:0;
width:100%;
visibility:hidden;
overflow:hidden
}
.sub-menu li a{
color:#fff;
display:block;
margin:0;
padding:0 5px
}
.sub-menu li a:hover{
background:rgba(0,0,0,.5)
}
nav li:hover .sub-menu li{
height:2em;line-height:2em;
visibility:visible;
overflow:visible;
transition: .5s
}
#open{display:none}

/* ===================================
ページ上部へのリンク、著作権表示
=================================== */

#pagetop{
background:rgba(0,0,0,.8);
color:#fff;
border-radius:5px;
display:block;
padding:10px;
position:fixed;
text-align:center;
z-index:10
}
#pagetop:hover{
background:rgba(0,0,0,.5)
}
#fl a {
  display: inline-block;
  margin: 10px 0;
}

/* Make sure all link states are visible */
#fl a:link,
#fl a:visited {
  color: darkgray;
}

#fl a:hover,
#fl a:active {
  color: white; /* or any hover color you prefer */
}



/* ===================================
見出し、枠、線
=================================== */

h1{
font-size:1.4em;
line-height:1;
margin-bottom:10px
}
h2{
border-bottom:1px solid #000;
font-size:1.4em;
margin:20px 0
}

h3{

border-bottom:1px dashed #000;
font-size:1em;
font-weight:400;
margin:20px 0;
padding-left:13px
}
dt{
clear:both;
font-weight:700;
float:left;
margin:0 0 5px;
width:160px
}
dd{
border-bottom:1px solid #ccc;
margin:0 0 5px 160px
}
em{
background:#ccc;
font-weight:700
}
input,textarea{
background:#fff;
border:1px solid #000;
color:#999;
margin:3px 0;
width:200px
}
textarea{
height:50px
}
hr{
border:0;
border-top:1px solid #ccc;
display:block;
margin:1em 0;
padding:0;
height:1px
}
.marker{
background:#25f4f4;
background:-webkit-linear-gradient(rgba(37,244,244,0) 60%, #25f4f4 0%);
background:linear-gradient(rgba(37,244,244,0) 60%, #25f4f4 0%);
padding:0 2px
}
.dcline{
border-left:4px solid #000;
margin:5px 0;
padding:3px
}
.textbox{
border:1px solid #000;
border-radius:3px;
text-align:center
}
.title{
color:#ccc;
font-size:1.5em;
font-weight:700;
margin:2em 0;
text-align:right
}
.txt{
border-left:1px solid #666;
margin:1em;
padding:0 0 0 1em
}
.frame{
background:#fff;
border-radius:3px;
padding:6px;
box-shadow:4px 4px 5px #999
}
.line{
background:url(image/line01.gif) repeat 0 0;
line-height:11px;height:11px
}

/* ===================================
スマホ、タブレット用
横幅480pxで切り替え
=================================== */

@media screen and (max-width: 480px){
body{
font-size:1.4em;
margin:10px
}
#wrapper{
padding:0;
position:relative;
width:100%
}
h1{
padding-right:50px;
min-height:40px
}
img{
height:auto;
max-width:100%
}
dt{float:none;clear:none;width:auto}
dd{margin-left:20px}

#menu{
background:rgba(0,0,0,.9);
display:none;
margin:0;padding:0;
position:absolute;
left:0;
z-index:20
}
nav li{
display:block;
height:auto;line-height:inherit
}
nav > ul > li+li:before{
content:""
}
nav > ul > li+li{
border-top:1px solid #666
}
nav li a,nav li span{
color:#fff;
display:block;
margin:0;
padding:10px 20px;
position:relative
}
nav li a:hover,.sub-menu li a:hover,nav li span:hover{
background:rgba(0,0,0,.6);
color:#fff
}
.sub-menu{
background:rgba(255,255,255,.1);
border-top:1px dashed #666;
display:none;
position:static;
width:100%;
z-index:auto
}
.sub-menu li{
display:inline-block;
height:auto;
width:50%;
visibility:visible;
overflow:visible
}
.sub-menu li a{
padding:10px 20px
}
.sub-menu li a:after{
display:none
}
nav li:hover .sub-menu li{
height:auto;line-height:inherit
}
nav li span:after{
border-top:3px solid #fff;
border-right:3px solid #fff;
content:"";
display:block;
margin-top:-5px;
position:absolute;
top:50%;right:20px;
height:5px;width:5px;
-ms-transform:rotate(45deg);
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
transition:.2s
}
nav li span.open:after{
-ms-transform:rotate(135deg);
-webkit-transform:rotate(135deg);
transform:rotate(135deg)
}
#open{
display:inline-block;
position:absolute;
height:40px;width:40px;
top:10px;right:10px
}
#open-icon,#open-icon:before,#open-icon:after{background:#1C0704}
#open-icon{display:block;margin:-1px 0 0 -10px;position:absolute;top:50%;left:50%;height:2px;width:20px}
#open-icon:before,#open-icon:after{content:"";display:block;position:absolute;top:50%;left:0;height:2px;width:20px;transition:.3s}
#open-icon:before{margin-top:-8px}
#open-icon:after{margin-top:6px}
#open .close{background:transparent}
#open .close:before,#open .close:after{margin-top:0}
#open .close:before{-ms-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}
#open .close:after{-ms-transform:rotate(-135deg);-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}

.square-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
  gap: 2px;
  width: 100%;
  margin: 10px 0;
}

.square-gallery .gallery-item {
  aspect-ratio: 1 / 1;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.3s ease;
}

.square-gallery .gallery-item:hover {
  opacity: 1;
}

.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.85);
  display: flex;
  justify-content: center;
  align-items: center;
  visibility: hidden;
  opacity: 0;
  z-index: 9999;
  transition: opacity 0.3s ease;
}

.lightbox.active {
  visibility: visible;
  opacity: 1;
}

.lightbox img {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  border-radius: 4px;
}

.lightbox::after {
  content: "✕";
  position: absolute;
  top: 20px;
  right: 30px;
  color: white;
  font-size: 2rem;
  cursor: pointer;
}

.lang-switch {
  
  text-align: center; /* align like your menu */
  margin: 10px 0;
}

.lang-switch button {
  background-color: #fff;    /* light background like menu */
  color: #1C0704;            /* your dark text color */
  border: 1px solid #000;    /* subtle border */
  border-radius: 4px;
  padding: 6px 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: 'Inter', sans-serif;
}

.lang-switch button:hover {
  background-color: #1C0704; /* dark hover */
  color: #fff;               /* white text on hover */
  border-color: #fff;
}

/* Mobile adjustments */
@media screen and (max-width: 480px) {
  .lang-switch {
    text-align: center;
    margin: 15px 0;
  }
  .lang-switch button {
    margin: 0 5px;
    padding: 8px 14px;
  }
  
    #fl a:link,
  #fl a:visited {
    color: darkgray; /* mesma cor que no PC */
  }

  #fl a:hover,
  #fl a:active {
    color: white; /* mesma cor que no PC */
  }
}
}
.gif-big {
  width: 200px;   /* change size */
  max-width: 90%; /* still responsive */
  display: block;
  margin: 0 auto;
}






/* Center language buttons on desktop */
@media screen and (min-width: 481px) {
  .lang-switch {
    text-align: center; /* center buttons horizontally */
  }
  .lang-switch button {
    margin: 0 5px; /* spacing between buttons */
  }
}

/* Mobile submenu */
@media screen and (max-width: 480px) {
  #menu li .sub-menu {
    display: none;   /* esconde por padrão */
  }
  #menu li.open .sub-menu {
    display: block;  /* mostra quando li tem classe open */
  }
}


