section
{
  scroll-margin-top: 70px;
}

header
{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 60px;

  	transform: translateY(0);
  	transition: transform 0.3s ease;

	background-color: #fff;
	background-image: url("../img/bg_headerline.png");
	background-repeat: repeat-x;
	background-size: auto 100%;
	box-sizing: border-box;

	z-index: 1000;
}

header.is-hidden
{
  transform: translateY(-300%);
}

.header__inner
{
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 clamp(20px, 2vw, 300px);
}

.header__left,
.header__right 
{
	margin: 0;
}

.header__right
{
	display: flex;
	align-items: center;
	gap: 24px;
}

.header__nav
{
	list-style: none;
	margin: 0;
	margin-top: 10px;
	padding: 0;
	display: flex;
	gap: 40px;
	white-space: nowrap;
}

.header__nav a
{
	text-decoration: none;
	color: #ffffff;
	text-shadow:

    /* 外側 */
    -1.6px  0   0 #291600,
     1.6px  0   0 #291600,
     0   -1.6px  0 #291600,
     0    1.6px  0 #291600,
    -1.6px -1.6px  0 #291600,
     1.6px -1.6px  0 #291600,
    -1.6px  1.6px  0 #291600,
     1.6px  1.6px  0 #291600,

    /* 内側 */
    -1px  0   0 #291600,
     1px  0   0 #291600,
     0   -1px  0 #291600,
     0    1px  0 #291600,
    -1px -1px  0 #291600,
     1px -1px  0 #291600,
    -1px  1px  0 #291600,
     1px  1px  0 #291600;
}

.header__hamburger
{
	position: relative;
	width: 40px;
	height: 30px;
	background: none;
	border: none;
	cursor: pointer;
	display: none;
}

.header__hamburger span
{
	display: block;
    position: absolute;
    width: 80%;
    height: 4px;
    background: #ffffff;
}

.header__hamburger span:nth-child(1)
{
  top: 0;
}

.header__hamburger span:nth-child(2)
{
  top: 50%;
  transform: translateY(-50%);
}

.header__hamburger span:nth-child(3)
{
  bottom: 0;
}

.header__logo-btn img
{
	margin-top: clamp(40px, 8vw, 100px);
	width: clamp(100px, 20vw, 250px);
	height: auto;

	position: relative;
	z-index: 10;
}

.header__entry-btn-01 img
{
	margin-top: 30px;
	width: clamp(100px, 20vw, 140px);
	height: auto;

	position: relative;
	z-index: 10;

  	animation: header-pulse 1.5s ease-in-out infinite;
}

.header__entry-btn-01:hover
{
  filter: brightness(1.1);
}

@keyframes header-pulse
{
  0%   { transform: scale(1); }
  50%  { transform: scale(1.06); }
  100% { transform: scale(1); }
}

.hamburger__menu
{
	position: fixed;
	inset: 0;
	background: #ffdb11;
	display: none;
	z-index: 1000;
}

.hamburger__menu.is-open
{
	display: block;
}

.hamburger__menu-close.hamburger__menu-close-btn
{
  position: absolute;
  top: 12px;
  right: 16px;

  background: transparent;
  border: none;
  padding: 0;

  font-size: 36px;
  font-weight: 400;
  line-height: 1;
  color: #ffffff;

  cursor: pointer;
}

.hamburger__menu-list
{
	list-style: none;
	padding: 0;
	margin: 0;

	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0px;

	padding-top: 60px;
}

.hamburger__menu-list li
{
	width: 100%;
	max-width: 1200px;
	background: #fffee9;
	padding: 10px;
	border-bottom: 1.5px solid #dadada;
	text-align: center;
}

.hamburger__menu-list a
{
	font-size: 20px;
	text-decoration: none;
	color: #ffffff;
	text-shadow:

    /* 外側 */
    -1.6px  0   0 #291600,
     1.6px  0   0 #291600,
     0   -1.6px  0 #291600,
     0    1.6px  0 #291600,
    -1.6px -1.6px  0 #291600,
     1.6px -1.6px  0 #291600,
    -1.6px  1.6px  0 #291600,
     1.6px  1.6px  0 #291600,

    /* 内側 */
    -1px  0   0 #291600,
     1px  0   0 #291600,
     0   -1px  0 #291600,
     0    1px  0 #291600,
    -1px -1px  0 #291600,
     1px -1px  0 #291600,
    -1px  1px  0 #291600,
     1px  1px  0 #291600;
}

.hamburger__menu-list li:last-child
{
  border-bottom: none;
}

@media (max-width: 480px)
{
  	.header__inner
	{
		margin-top: 4px;
		align-items: center;
		padding: 0
  	}
	.header__right
	{
		display: none;
	}
	.header__hamburger
	{
		display: block;
		right: 3%;
	}
  	.header__logo-btn img
	{
    	margin-top: 0;
    	width: clamp(100px, 20vw, 140px);
	}
}