@charset "UTF-8";

html {
  -webkit-font-smoothing: antialiased; /* フォントスムージングをオフ */
  scroll-behavior: smooth;
}

body {
  -webkit-text-stroke: 0.5px; /* フォントの輪郭を調整 */
  font-family: "Noto Sans SC", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  font-size: 12px;
  color: #333;
  margin: 0 auto; /* 外側の余白（上下と中央配置） */
  padding: 1em;     /* 内側余白 */
  border: solid 2px #eee; /* 線の種類・太さ・色 */
  transition: background-color 0.3s;
}
.wrap { animation: fadein 1.5s forwards; }

@keyframes fadein {
  0% {opacity: 0}
  100% {opacity: 1}
}
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*----------------------- PC -----------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/

@media screen and (min-width: 750px) {

/* メニュー全体 */
.menu-wrapper {
  position: fixed;
  top: 40px;
  right: 40px;
  z-index: 100;
}
/* ハンバーガーメニュー */
.menu-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  user-select: none;
}
/* チェックボックスを隠す */
.menu-checkbox { display: none; }
/* 3本線 */
.menu-icon {
  width: 30px;
  height: 20px;
  position: relative;
}
.menu-icon span {
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: white;
  transition: 0.3s ease-in-out;
}
.menu-icon span:nth-child(1) { top: 0; }
.menu-icon span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.menu-icon span:nth-child(3) { bottom: 0; }

/* テキスト */
.menu-label {
  margin-top: 5px;
  font-size: 12px;
  font-weight: 200;
  transition: 0.3s ease-in-out;
  color: white;
}
.menu-label::after { content: "menu"; }
/* メニューエリア */
.menu-content {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: background-color 0.5s ease-in-out, opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
}
.menu-content ul {
  list-style: none;
  text-align: center;
}
.menu-content li {
  margin: 20px 0;
  font-size: 24px;
  color: white;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, .3);
}
/* チェックが入ったら変化 */
.menu-checkbox:checked + .menu-wrapper .menu-icon span:nth-child(1) {
  top: 45%;
  transform: rotate(45deg);
}
.menu-checkbox:checked + .menu-wrapper .menu-icon span:nth-child(2) { opacity: 0; }
.menu-checkbox:checked + .menu-wrapper .menu-icon span:nth-child(3) {
  bottom: 45%;
  transform: rotate(-45deg);
}
.menu-checkbox:checked + .menu-wrapper .menu-label::after { content: "close"; }
/* メニューを表示する（ふわっと出る） */
.menu-checkbox:checked ~ .menu-content {
  background-image: linear-gradient(210deg, rgba(85, 85, 85, .85) 26%, rgba(0, 0, 0, 1));
  opacity: 1;
  visibility: visible;
}
.menu-checkbox:checked ~ .menu-content li { opacity: 1; }
/* メニューを閉じるときのふわっと感 */
.menu-checkbox:not(:checked) ~ .menu-content {
  background-color: rgba(0, 0, 0, 0);
  opacity: 0;
  visibility: hidden;
}
.menu-checkbox:not(:checked) ~ .menu-content li { opacity: 0; }

/*----------------------   header   ----------------------*/

header {
  background-image: url('../image/001.jpg');
  background-size: cover;
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
header h1.sp { display: none; }
header h1 {
  font-family: "Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 180px;
  color: white;
  text-align: center;
  line-height: .5;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, .3);
}
header h1 span {
  font-family: "Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 42px;
  color: white;
}

/*----------------------   banner   ----------------------*/

#banner {
  padding: 120px 0;
  display: block;
  margin: 0 auto;
}
#banner a img {
  display: block;
  margin: 0 auto 40px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
#banner a img:hover {
  transform: translateY(-3px) scale(1.01);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

/*----------------------   news   ----------------------*/

#news {
  background-color: #eee;
  padding: 160px 0;
  display: block;
  margin: 0 auto;
}
#news h2 {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  font-size: 42px;
  text-align: center;
  letter-spacing: 0.12em;
  padding-top: 50px;
}
#news ul {
  display: block;
  width: 800px;
  margin: 0 auto;
  padding-top: 80px;
}
#news ul li {
  border-bottom: 1px solid #ccc;
  line-height: 1.5;
  padding: 8px 0;
}
#news ul li span {
  font-size: 10px;
  color: #666;
}
#news ul li span.new_tag {
  background-color: red;
  padding: 2px 4px;
  color: white;
  margin-right: 8px;
}
.blinking{
  -webkit-animation:blink 1s ease-in-out infinite alternate;
  -moz-animation:blink 1s ease-in-out infinite alternate;
  animation:blink 1s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
/*----------------------   foot   ----------------------*/

#foot {
  width: 100%;
  margin: 0 auto;
}
#foot img {
  width: 100%;
  display: block;
}
#foot img.sp { display: none; }

/*----------------------   footer   ----------------------*/

footer {
  width: 100%;
  padding: 24px 0 8px;
  margin: 0 auto;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 10px;
}

}

/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*----------------------- SP -----------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/

@media screen and (max-width: 749px) {

/* メニュー全体 */
.menu-wrapper {
  position: fixed;
  top: 30px;
  right: 30px;
  z-index: 100;
}
/* ハンバーガーメニュー */
.menu-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  user-select: none;
}
/* チェックボックスを隠す */
.menu-checkbox { display: none; }
/* 3本線 */
.menu-icon {
  width: 30px;
  height: 20px;
  position: relative;
}
.menu-icon span {
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: white;
  transition: 0.3s ease-in-out;
}
.menu-icon span:nth-child(1) { top: 0; }
.menu-icon span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.menu-icon span:nth-child(3) { bottom: 0; }

/* テキスト */
.menu-label {
  margin-top: 5px;
  font-size: 12px;
  font-weight: 200;
  transition: 0.3s ease-in-out;
  color: white;
}
.menu-label::after { content: "menu"; }
/* メニューエリア */
.menu-content {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: background-color 0.5s ease-in-out, opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
}
.menu-content ul {
  list-style: none;
  text-align: center;
}
.menu-content li {
  margin: 20px 0;
  font-size: 24px;
  color: white;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, .3);
}
/* チェックが入ったら変化 */
.menu-checkbox:checked + .menu-wrapper .menu-icon span:nth-child(1) {
  top: 45%;
  transform: rotate(45deg);
}
.menu-checkbox:checked + .menu-wrapper .menu-icon span:nth-child(2) { opacity: 0; }
.menu-checkbox:checked + .menu-wrapper .menu-icon span:nth-child(3) {
  bottom: 45%;
  transform: rotate(-45deg);
}
.menu-checkbox:checked + .menu-wrapper .menu-label::after { content: "close"; }
/* メニューを表示する（ふわっと出る） */
.menu-checkbox:checked ~ .menu-content {
  background-image: linear-gradient(210deg, rgba(85, 85, 85, .85) 26%, rgba(0, 0, 0, 1));
  opacity: 1;
  visibility: visible;
}
.menu-checkbox:checked ~ .menu-content li { opacity: 1; }
/* メニューを閉じるときのふわっと感 */
.menu-checkbox:not(:checked) ~ .menu-content {
  background-color: rgba(0, 0, 0, 0);
  opacity: 0;
  visibility: hidden;
}
.menu-checkbox:not(:checked) ~ .menu-content li { opacity: 0; }

/*----------------------   header   ----------------------*/

header {
  background-image: url('../image/sp/001.jpg');
  background-size: cover;
  width: 100%;
  height: 97vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
header h1.pc { display: none; }
header h1 {
  font-family: "Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 9vw;
  color: white;
  text-align: center;
  line-height: 1.2;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, .3);
  margin-bottom: 200px;
}
header h1 span.front {
  font-family: "Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 28vw;
  color: white;
}
header h1 span.back {
  font-family: "Baskerville", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 7vw;
  color: white;
}
/*----------------------   banner   ----------------------*/

#banner {
  padding: 16px 0;
  display: block;
  margin: 0 auto;
}
#banner a img {
  display: block;
  margin: 0 auto 20px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
#banner a:nth-of-type(2) img { margin-bottom: 0; }
#banner a img:hover {
  transform: translateY(-3px) scale(1.01);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

/*----------------------   news   ----------------------*/

#news {
  background-color: #eee;
  padding: 50px 0;
  display: block;
  margin: 0 auto;
}
#news h2 {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  font-size: 42px;
  text-align: center;
  letter-spacing: 0.12em;
}
#news ul {
  display: block;
  width: 90%;
  margin: 0 auto;
  padding-top: 80px;
}
#news ul li {
  border-bottom: 1px solid #ccc;
  line-height: 1.5;
  padding: 8px 0;
}
#news ul li span {
  font-size: 10px;
  color: #666;
  line-height: 3;
}
#news ul li span.new_tag {
  background-color: red;
  padding: 2px 4px;
  color: white;
  margin-right: 8px;
}
.blinking{
  -webkit-animation:blink 1s ease-in-out infinite alternate;
  -moz-animation:blink 1s ease-in-out infinite alternate;
  animation:blink 1s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

/*----------------------   foot   ----------------------*/

#foot {
  width: 100%;
  margin: 0 auto;
}
#foot img.pc { display: none; }
#foot img {
  width: 100%;
  display: block;
}

/*----------------------   footer   ----------------------*/

footer {
  width: 100%;
  padding: 24px 0 8px;
  margin: 0 auto;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 10px;
}



}

/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*---------------------- TAB -----------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/
/*--------------------------------------------------*/

@media screen and (min-width:768px) and ( max-width:1200px) {



}
