@charset "UTF-8";
/* CSS Document */

*,*::before,*::after{
margin: 0;
padding: 0;
box-sizing: border-box;
}

img{
max-width: 100%;
height: auto;
vertical-align: bottom;
}

body{
min-width: 100%;
background-color:#e2d4b7;
color: #fff;
line-height: 2;
font-family: sans-serif;
}

@media(min-width:767px){
body{
min-width: 1100px;

}
}

.container{
width: 90%;
margin: 0 auto;
}

@media(min-width:767px){
.container{
width: 1000px;
}
}

header {
  display: flex;
  justify-content: space-between; /* 左右に寄せる */
  align-items: center;
  padding: 5px 20px;
  background: #e2d4b7;
  width: 100%;
  box-sizing: border-box;
}


header nav {
  flex: 1;
  display: flex;
  justify-content: center; /* ナビを中央に */
}

header nav ul {
  display: flex;
  gap: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: center;
}

nav ul li.has-submenu {
  position: relative;
}

header nav ul li a {
  text-decoration: none;
  font-size: 30px;
}

header .contact {
  display: flex;
  gap: 6px;
  align-items: center;
}

/* PCサイズ */
.hed .contact {
  display: flex;          /* 横並び */
  align-items: center;    /* 縦位置を揃える */
  gap: 1rem;              /* 要素間余白 */
}

.hed .contact p {
  margin: 0;
  font-size: 1rem;
}

/* スマホサイズ */
@media screen and (max-width: 768px) {
  .hed .contact {
    flex-direction: column;  /* 縦並びに切り替え */
    text-align: center;
  }
  .hed .contact p {
    font-size: 0.9rem;       /* 文字も少し小さく */
  }
  .hed .contact img {
    max-width: 150px;        /* ロゴサイズ調整 */
    height: auto;
  }
}

.contact p {
  padding: 15px;
  margin: 0;
  font-size: 20px;
  color:#40210f;

}

.insta img {
  height: 60px;
  min-width: 60px; 
}

.insta img:hover{
background-color: rgba(180,180,255,0.25);
}

header .contact h1{
width: 320px;
margin: 0 auto;
min-width: 70px; 
}

nav ul{
display: flex;
list-style: none;
font-size: 40px;
}

@media(max-width:767px){
header{
flex-wrap:wrap;
}

@media (max-width: 600px) {
  .hed {
    flex-direction: column;
	width: 100%;
  box-sizing: border-box;
}
  }
  .hed img {
    max-height: 50px;
  }

nav li{
width: 25%;
text-align: center;
}
}

nav a{
color:#40210f;
text-decoration: none;
padding: 10px;
display: block;
}

nav a:hover{
background-color: rgba(180,180,255,0.25);
}

.hed{
display: flex;
  justify-content: space-between; /* 左右に分布させる */
  align-items: center;            /* 縦方向を中央揃え */
  gap: 20px;                      /* 要素の間隔 */
  flex-wrap: wrap;                /* 画面が狭いとき折り返し */
  padding: 10px 20px;
}

.hed img {
  max-height: 60px;   /* ロゴが小さくなりすぎないように制御 */
  height: auto;
  width: auto;
}

/* サブメニューを最初は非表示 */
nav ul li ul.submenu {
  display: none;
  position: absolute;
  background: #000;
  padding: 10px 0;
  list-style: none;
  margin: 0;
}

nav ul li ul.submenu li {
  padding: 8px 20px;
}

nav ul li ul.submenu li a {
  color: #fff;
  text-decoration: none;
  font-size: 20px;
}

/* Menu項目にカーソルを合わせた時だけ表示 */
nav ul li.has-submenu:hover ul.submenu {
  display: block;
}

/* 親メニューの位置を基準に配置 */
nav ul li.has-submenu {
  position: relative;
}

.main-visual{
background-color: #003;
background-image: url("../images/top.png");
height: 70vh;
min-height: 540px;
background-size:cover;
background-position: center;
background-attachment: fixed;
font-family: serif;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
overflow: hidden;
}

main{
background-color: #e2d4b7;
}

section{
padding: 80px 0;
}

section h2{
font-size: 25px;
text-align: center;
margin-bottom: 60px;
font-family: serif;
}

section h3{
font-size: 48px;
text-align: center;
margin-bottom: 60px;
font-family: serif;
}


section h4{
font-size: 21px;
margin-top: 10px;
margin-bottom: 10px;
}

section p{
margin-bottom: 20px;
}

.main-visual h2{
font-size: 30px;
margin-top: 200px;
}

.youkoso p{
font-size: 20px;
text-align: center;
color:#40210f;
}

.youkoso h3{
color:#40210f;
}

.youkoso h4{
color:#40210f;
font-size: 35px;
text-align: center;
}

.menu-gallery{
/*display: flex;*/
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2列配置 */
  gap: 60px; /* 画像の間にスペース */
  list-style: none;
  justify-content: space-between;
}

/*.menu li{
width: 240px;
margin-bottom: 20px;
}*/

.menu-gallery img {
  width: 90%;
  height: auto;
  display: block;
  border-radius: 8px; /* 角丸にしたい場合 */
}

@media(max-width:767px){
.menu li{
width: 60%;
}
}

.menu-gallery {
  list-style: none;
  padding: 0;
  display: grid;                 /* ギャラリーの整列 */
  grid-template-columns: repeat(auto-fill,minmax(200px,1fr));
  gap: 1.5rem;
}

.menu-gallery li {
  text-align: center;            /* li全体の基準を中央に */
}
.menu-gallery li img {
  display: block;
  margin: 0 auto;                /* 画像だけ中央 */
}
.menu-gallery li h4,
.menu-gallery li p {
  text-align: left;              /* テキストだけ左揃え */
}

.media {
  background-color: #cfc;
  background-image: url("../images/tannsann.jpg");
  padding: 120px 0;
  min-height: 540px;
  background-size:cover;
  background-position: center;
  background-attachment: fixed;
  font-family: serif;
  display: flex;
  flex-direction: column;
  justify-content:space-between;

}

.media h3 {
  text-align: left;
  margin-bottom: 1px;
}

.mediaCard {
  display: flex;
  justify-content: space-between;
}

@media(max-width:767px){
.mediaCard {
display: block;
}
}

.mediaCard__video {
/*  background-color: #f99;*/
  width: 640px;
}

.mediaCard__video iframe {
  width: 640px;
  height: 360px;
}

.mediaCard__text {
  background-color: black;
  height: 360px;
  /*width: 300px*/;
  padding: 18px;
}

@media(max-width:767px){
.mediaCard__text {
width: 100%;
}
}

.mediaCard__text h3{
font-size: 25px;
}

.mediaCard__text p{
font-size: 15px;
}

.kodawari{
background-color: black;
min-height: 540px;
background-size:cover;
background-position: center;
background-attachment: fixed;
font-family: serif;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}

.kodawari p{
text-align: center;
font-size: 20px;
}

.slider .slick-slide {
  margin: 0 10px; /* 左右に10pxの余白 */
}

.menuagain nav ul {
  display: flex;
  gap: 40px;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.menuagain nav > ul > li{
width: 25%;
text-align: center;

}

.tennpojouhou{
background-color: #e2d4b7;
}

.tennpojouhou h3{
color:#40210f;
}

table{
border-collapse: collapse;
width: 100%;
}

th,td{
border: 1px solid black;
padding: 10px 20px;
}

th{
background-color: rgba(180,180,255,0.25)
}

.tennpojouhou th,td{
color: #40210f;
}

footer{
background-color: #e2d4b7;
border-top: 2px solid #40210f;
text-align: center;
padding: 20px;
}

/* PC用（横並び） */
header nav ul,
footer nav ul {
  display: flex;
  justify-content: center;
  gap: 1rem; /* 要素間余白 */
}

/* スマホ用（縦並びに変更） */
@media screen and (max-width: 768px) {
  header nav ul,
  footer nav ul {
    flex-direction: column;  /* 縦並びにする */
    align-items: center;     /* 中央寄せ */
  }

  header nav ul li,
  footer nav ul li {
    width: 100%;             /* 幅いっぱいにしたい場合 */
    text-align: center;      /* 文字も中央揃え */
  }
}

/* サブメニューのリンク全体をブロックに */
footer .submenu li a {
  display: block;          /* テキスト幅ではなくブロック全体に */
  padding: 0.75em 1em;     /* 上下左右に余白を付ける */
  text-align: center;      /* 文字位置 */
}

/* ホバー色や背景もわかりやすく */
footer .submenu li a:hover {
  background-color: rgba(255,255,255,0.1); /* 例：薄い背景 */
}

/* スマホ用に文字も大きめに */
@media screen and (max-width: 768px) {
  footer .submenu li a {
    font-size: 1rem;  /* 文字サイズ調整 */
    padding: 1em;     /* さらに大きなタップ領域に */
  }
}