@charset "UTF-8";
/* =======================================
【BASE】
========================================== */
header {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 1111;
  background: rgba(255, 255, 255, 0.4);
  -webkit-backdrop-filter: blur(3.9500000477px);
  backdrop-filter: blur(3.9500000477px);
}

.header01 .nav01 {
  display: flex;
}
.header01 .nav01 ul {
  display: flex;
}
.header01 .nav01 > ul:nth-child(1) {
  padding-top: 10px;
}
.header01 .nav01 > ul:nth-child(1) li:not(:last-child) {
  margin-right: 20px;
}
.header01 .nav01 > ul:nth-child(1) .btn01.cart a {
  padding-right: 16px !important;
  padding-left: 4em !important;
  background: url(../img/cart.svg) no-repeat left 1.2em bottom 13px/1.7em,
    #101010;
}
.header01 .nav01 > ul:nth-child(1) .btn01.youtube a {
  padding-right: 16px !important;
  padding-left: 4em !important;
  background: url(../img/youtube.svg) no-repeat left 1.2em bottom 15px/1.7em,
    #101010;
}

.header02 > div {
  display: flex;
  color: #fbfbfb;
  margin-top: 8px;
}

.header02 > div > .tel {
  padding-right: 30px;
}

.header02 > div > .tel a {
  width: 218px;
  padding-top: 4px;
  display: block;
}

.header02 > div > .con_line {
  position: relative;
  padding-left: 32px;
}

.header02 > div > .con_line:before {
  content: "";
  width: 1px;
  height: calc(100% - 7px);
  background: #e8e3d6;
  position: absolute;
  left: -5px;
  top: 2px;
}

.header02 > div > .con_line > ul {
  display: flex;
  font-weight: 600;
}

.header02 > div > .con_line > ul li:nth-child(1) {
  background: url(../img/icon_mail.svg) no-repeat center left 0/1.3em;
}

.header02 > div > .con_line a {
  color: #232220;
  padding-left: 1.6em;
  line-height: 100%;
}

.header02 > div > .con_line > ul li:nth-child(2) {
  background: url(../img/icon_line.svg) no-repeat center left 0/1.3em;
  margin-left: 27px;
}

.header_nav {
  background: linear-gradient(90deg, #ff5500, #ea8b00);
  margin-top: 21px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.0901960784);
}
.header_nav .nav {
  width: 1200px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  position: relative;
  z-index: 9;
}
.header_nav .nav > li {
  list-style: none;
  width: 14.2857142857%;
  position: relative;
}
.header_nav .nav li a {
  display: block;
  text-align: center;
  color: #fff;
  text-decoration: none;
  box-sizing: border-box;
  padding: 11px 0 13px;
}
.header_nav .nav li ul {
  width: calc(100% + 40px);
  display: none;
  margin-left: -20px;
  position: absolute;
  z-index: 999;
  background: #fff;
}
.header_nav .nav li ul li a {
  border-top: 1px solid #eee;
  color: #6a2600;
}
.header_nav .content {
  width: 750px;
  height: 200px;
  background: #eee;
  margin: 0 auto;
  padding: 10px;
  text-align: left;
  box-sizing: border-box;
}

/* =======================================
	【common】左がロゴ＋右側がその他
========================================== */
.headerArea {
  display: flex;
  justify-content: space-between;
  width: 93% !important;
}

h1.logo a {
  display: inline-block;
  width: 20.2em;
}

.header02 {
  display: block;
}
.header02 .sns img {
  width: 2.1em;
}
.header02 .sns:nth-of-type(2) img {
  width: 2em;
}
.header02 .sns:nth-of-type(3) img {
  width: 2.2em;
}
.header02 .nav01 > ul {
  width: 100%;
}
.header02 .nav01 .h_tel a,
.header02 .nav01 .h_contact a,
.header02 .nav01 .h_btn a {
  display: inline-block;
  width: 100%;
}
.header02 .nav01 .tel_icon {
  padding-left: 1em;
  background: url(../img/h_tel.svg) no-repeat left center/0.8em;
}
.header02 .nav01 .contact_icon {
  padding-left: 3em;
  background: url(../img/mail.svg) no-repeat left center/2em;
}
.header02 .nav01 .h_btn a {
  background: #004f92;
  padding: 20px;
  text-align: center;
}

.header_nav {
  background: none;
  box-shadow: none;
  justify-content: flex-end;
}
.header_nav .nav {
  max-width: 1200px;
  width: 100%;
  justify-content: flex-end;
}
.header_nav .nav li a {
  display: block;
  text-align: center;
  color: #222;
  text-decoration: none;
  box-sizing: border-box;
  padding: 11px 0 13px;
}
.header_nav .nav > li {
  list-style: none;
  width: auto;
  position: relative;
  margin-right: 24px;
}
.header_nav .nav > li a {
  padding: 5px 0 13px;
}
.header_nav .nav > li:last-child {
  margin-right: 0;
}

/* =======================================
	メガメニュー利用の場合
========================================== */
/* メガメニューの初期状態（非表示） */
.mega-menu-content {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  top: 100%;
  width: 43%;
  background: #fbf9f4;
  border: 1px solid #000;
  box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 0.25);
  padding: 20px 0;
  z-index: 9999;
  transition: 0.3s;
  display: none;
}

/* メニューリストのスタイル */
.mega-menu-content .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.mega-menu-content ul {
  display: flex;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
}

.mega-menu-content li {
  padding: 10px 20px;
}

/* メガメニュー内リンク共通設定 */
.mega-menu-content ul li a {
  position: relative; /* 疑似要素の基準にする */
  display: inline-block; /* 横幅＝文字列分にして中央寄せのズレを防止 */
  padding: 4px 2px; /* 下線と文字がくっつかないよう少し余白 */
  color: #222;
  font-weight: bold;
  text-decoration: none;
  padding-right: 2em;
  background: url(../img/arrow.png) no-repeat right center/1.2em;
}

/* 疑似要素で “アニメーションする下線” を作る */
.mega-menu-content ul li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0; /* 文字の真下 */
  width: 100%;
  height: 1px; /* 線の太さ */
  background: #59a952;
  transform: scaleX(0); /* 初期状態＝幅 0 */
  transform-origin: left center; /* 左端を基点に伸びる */
  transition: transform 0.3s ease; /* スピードとイージングを調整 */
}

/* ホバー（またはフォーカス）時に下線を全幅へ */
.mega-menu-content ul li a:hover::after,
.mega-menu-content ul li a:focus::after {
  transform: scaleX(1);
} /*# sourceMappingURL=header.css.map */
