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

body{
margin: 0;
padding: 0;
font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
img{
	border:none;
	}
img.w_auto{
width: 100%;
height: auto;
}

 #header{
 width: 980px;
 margin: 5px auto;
 }
 @media screen and (max-width: 800px) {
  #header{
 width: 100%;
 margin: 5px auto;
 }
}


.header_top{
 display: flex;
 justify-content: space-between;
 }
 .header_h2{
 font-size: 13px;
 }
 .header_top a{
 width: 20%;
 display: block;
 }
 .header_top a img{
display: block;
margin: 15px 0;
}
 @media screen and (max-width: 600px) {
 .header_h2{
 width: 60%;
 }
 .header_top a{
 width: 30%;
}
}


.header_middle_smp{
display: none;
}
 @media screen and (max-width: 600px) {
 .header_middle{
 display: none;
 }
 .header_middle_smp{
 display: block;
 }
}

/* --- 全体設定（PC版） --- */
.header_menu {
    display: flex;
    justify-content: center;
    align-items: stretch;
    padding: 0;
    margin: 0;
    list-style: none;
    width: 100%;
    box-sizing: border-box;
		margin-top: 10px;
}

.header_menu li {
    flex: 1 1 auto;
    border-right: solid 1px #999999;
    min-width: 0;
    display: flex; /* li自体もFlexにして高さをaタグに伝える */
}

.header_menu li:last-child {
    border-right: none;
}

.header_menu li a {
    display: flex;
    align-items: center;      /* 【重要】上下中央 */
    justify-content: center;   /* 【重要】左右中央 */
    width: 100%;
    min-height: 50px;         /* メニューの高さ（お好みで調整） */
    padding: 10px;
    text-decoration: none;
    color: #555555;
    font-weight: bold;
    font-size: 16px;
    transition: all 0.3s ease;
    white-space: nowrap;
    box-sizing: border-box;
}

/* アイコンサイズ固定 */
.header_menu li img {
    width: 30px; 
    height: auto;
    display: block;
}

.header_menu li.home,
.header_menu li.cart {
    flex: 0 0 70px; 
}

.header_menu li a:hover {
    color: #EE4E80;
    background-color: #f9f9f9;
}

/* --- スマホ向け（700px以下） --- */
@media screen and (max-width: 700px) {
    .header_menu li a {
        min-height: 20px;    /* スマホでは少し高さを抑える */
        padding: 0px 1px;
        font-size: 10px;
        letter-spacing: -0.5px;
    }
    
    .header_menu li img {
        width: 18px; 
    }
    
    .header_menu li.home,
    .header_menu li.cart {
        flex: 0 0 35px;
    }
}

/* 超小型スマホ用 */
@media screen and (max-width: 350px) {
    .header_menu li a {
        font-size: 9px;
        letter-spacing: -1px;
    }
}
