/* モーダルCSS */

.modalArea {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
  position: absolute;
  top: 0;
  z-index: 0;
}

.modalWrapper {
	position: absolute;
    top: -160px;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 0;
/*
  transform:translate(-50%,-50%);
  padding: 0;
*/
	@media screen and (max-width: 480px) {
    top: -165px;
	}
}

.modalContents {
    position: relative;
    top: 200px;
    max-height: 80%;
    overflow-y: scroll;
    overflow-x: hidden;
    margin: 0 auto 250px;	
	padding: 0 0 100px 0;
	@media screen and (max-width: 480px) {
    max-width: 340px;
	}
}

.modalContents {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.modalContents::-webkit-scrollbar {
    display: none;
}

.closeModal {
    position: absolute;
    top: 160px;
    right: 35px;
    cursor: pointer;
    color: #fff;
    font-size: 40px;
    z-index: 9999;
	@media screen and (max-width: 480px) {
		top: 165px;
        right: 12px;
        font-size: 28px;
    }
}


/* button */
#openModal {
	position: absolute;
    top: -5px;
    right: 30px;
/*     transform: translate(-50%, -50%); */
@media screen and (max-width: 768px) {
    top: 3px;
    right: 8px;
	}
}
.sticky #openModal {
	position: absolute;
    top: 7px;
    right: 23px;
@media screen and (max-width: 768px) {
    top: 4px;
    right: 8px;
	}
}
button.glonavi {
    padding: 2px 15px;
    background-color: #fff;
    border: 1px solid #333;
    cursor: pointer;
    font-size: 26px;
    color: #333;
@media screen and (max-width: 768px) {
    padding: 2px 10px;
    border: none;
    font-size: 22px;
	}
}
.sticky button.glonavi {
    padding: 1px 15px;
    background-color: #fff;
    border: 1px solid #333;
    cursor: pointer;
    font-size: 20px;
    color: #333;
@media screen and (max-width: 768px) {
    padding: 2px 10px;
    border: none;
    font-size: 22px;
	}
}

/* NAVI MENU               */

.modalContents .menu_ttl { 
	color: #333;   
	text-align: center;
    margin: 0 auto 18px;
    font-size: 20px;
@media screen and (max-width: 480px) {
    font-size: 18px;
    margin: 0 auto 16px;
	}   	
}

.modalContents .menu_list_wrap {
	background: rgba(255,255,255,0.95);
    padding: 30px 20px 20px;
    margin: 10px auto 0;
    max-width: 600px;
    min-width: 550px;
    z-index: 9999;
    position: relative;
@media screen and (max-width: 480px) {
    margin: 5px auto;
    padding: 22px 10px 15px;	
    min-width: 340px; 	
	}   				
}

/* mypage links */
.modalContents ul.mypage_links li {
	color: #333;
    text-align: center;
}
.modalContents ul.mypage_links li p.mypage_top {
    color: #fff;
    display: inline-block;
    text-decoration: none;
    word-break: keep-all;
    white-space: nowrap;
    font-size: 15px;
    line-height: 16px;
    font-weight: 600;
    margin-bottom: 16px;
    background: #333;
    padding: 12px 30px;
@media screen and (max-width: 480px) {
    margin-bottom: 15px;
    font-size: 14px;
    padding: 12px 20px;
	}    
}
.modalContents ul.mypage_links li p.mypage_prime_top {
    color: #fff;
    display: inline-block;
    text-decoration: none;
    word-break: keep-all;
    white-space: nowrap;
    font-size: 15px;
    line-height: 16px;
    font-weight: 600;
    margin-bottom: 16px;
    background: #33afb0;
    padding: 12px 30px;
}
.modalContents ul.mypage_links li.mypage_btn {
    display: inline-block;
}
.modalContents ul.mypage_links li.mypage_btn {
    display: inline-block;
}

/* seach list */
.search_window_menu{
	margin: 0;
@media screen and (max-width: 480px) {

	}  
}

.modalContents .menu_list_wrap_search {
	background: rgba(255,255,255,0.95);
    padding: 20px;
    margin: 10px auto;
    max-width: 600px;
    min-width: 550px;
    z-index: 9999;
    position: relative;
@media screen and (max-width: 480px) {
    margin: 5px auto;
    padding: 16px;	
    min-width: 340px; 	
	}   					
}
.modalContents input[type=email], input[type=password], input[type=tel], input[type=text], select, textarea { border: 1px solid #c2a284; }
.menu_list_search { text-align: center; }
.menu_searchinput { 
	width: 240px;
	outline: 0;
    height: 33px;
    padding: 0 10px;
    border-radius: 2px;
    border: 1px solid #c2a284;
@media screen and (max-width: 480px) {
	width: 210px;
	}   
}

/* concerns list */
.modalContents .menu_list_concern_flex {
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    justify-content: space-between;
	align-items: center;
}
.modalContents .menu_list_concern_flex .menu_list {
    flex-basis: 50%;
    margin: 5px 0;
	@media screen and (max-width: 480px) {
	        flex-basis: 40%;
	        margin: 0;
	}
}
.modalContents .menu_list_concern_flex .menu_list div {
    color: #fff;
    display: inline-block;
    text-decoration: none;
    word-break: keep-all;
    white-space: nowrap;
    font-size: 15px;
    line-height: 16px;
    font-weight: 600;
    margin-bottom: 5px;
    min-width: 85%;
    background: #c2a284;
    padding: 12px 30px;
    border-radius: 40px;
	@media screen and (max-width: 480px) {
    padding: 12px 18px;
    margin-bottom: 15px;
	}
}
.modalContents .menu_list_concern_flex .menu_list div:hover {
	opacity: 0.85;
}
@media screen and (max-width: 480px) {
.modalContents div.menu_concern_list a {
        font-size: 16px;
    }
}

/* category list */
.modalContents .menu_list_category_flex {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    justify-content: center;
	align-items: center;
}
.modalContents .menu_list_category_flex a:hover {
	background: rgba(194,162,132,0.2);
	text-decoration: none;
}
.modalContents .menu_list_category_flex .menu_list {
    width: 50%;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    justify-content: center;
	align-items: center;
    border: 1px solid #ccc;
    background: #fff;
    margin: -1px;
    padding: 5px 5px;
@media screen and (max-width: 480px) {
    width: 50%;
    min-height: 90px;
    padding: 3px;
    }
}
.modalContents .menu_list_wrap .all_list {
	background: #c2a284;
    margin-top: 16px;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    padding: 15px 0;
    color: #fff;
@media screen and (max-width: 480px) {
    font-size: 15px;
    }
}
.modalContents .menu_list_wrap .all_list:hover {
	opacity: 0.85;
	text-decoration: none;
}
.modalContents .menu_list_wrap a:hover {
	text-decoration: none;
}

.modalContents .menu_list_category_flex .menu_list img {
	width: 60px;
	margin-right: 5px;
}
.modalContents .menu_list_category_flex .menu_list div.txt {
	width: 65%;
    color: #333;
    font-size: 14px;
    line-height: 16px;
    font-weight: 600;
    word-break: keep-all;
    white-space: nowrap;
    text-decoration: none;
@media screen and (max-width: 480px) {
    font-size: 13px;
    line-height: 15px;
    width: 100%;
    }
}

@media screen and (max-width: 480px) {
.modalContents div.menu_list_category_flex a {
        font-size: 16px;
    }
}

/* cp list */
.modalContents .menu_ttl_cp { 
	color: #fff;   
	text-align: center;
    margin: 0 auto 18px;
    font-size: 20px;
    font-weight: 600;
@media screen and (max-width: 480px) {
    font-size: 18px;
	}  
}
.modalContents .menu_list_wrap_cp {
	background: rgb(221, 186, 153,0.85);
    padding: 30px 20px 20px;
    margin: 10px auto;
    max-width: 600px;
    min-width: 550px;
    z-index: 9999;
    position: relative;
@media screen and (max-width: 480px) {
    max-width: 340px;
    min-width: 340px;
    padding: 30px 5px 20px;
    margin: 5px auto;
	}   	
}
.modalContents .menu_list_cp_flex {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    justify-content: center;
	align-items: center;
}
.modalContents .menu_list_cp_flex a:hover {
	background: rgba(255,255,255,0.2);
}
.modalContents .menu_list_cp_flex .menu_list {
    width: 30%;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    justify-content: center;
	align-items: center;
    margin: 0;
    padding: 10px 0;
@media screen and (max-width: 480px) {
    width: 45%;
    margin:5px;
    padding: 0;
    }
}

.modalContents .menu_list_cp_flex .menu_list img {
	width: 80%;
@media screen and (max-width: 480px) {
	width: 100%;
    }
}

/* brand list */
.modalContents .menu_list_wrap_brand {
	color: #333; 
	background: rgba(255,255,255,0.95);
    padding: 50px 20px;
    margin: 10px auto;
    max-width: 600px;
    min-width: 550px;
    text-align: left;
    z-index: 9999;
    position: relative;
@media screen and (max-width: 480px) {
    margin: 5px auto;
    padding: 20px;	
    min-width: 340px; 	
	}   	
}
.modalContents .menu_list_brand {
	border-top: 1px solid #ccc;
    font-weight: 600;
    font-size: 15px;
	margin: 20px 0;
    padding: 20px 5px 0;
@media screen and (max-width: 480px) {

	}   
}
.modalContents .menu_list_brand:last-child  {
	border-bottom: 1px solid #ccc;
	padding-bottom: 20px;
}


.modalContents .menu_list_brand .menu_list {
    font-weight: 600;
    font-size: 15px;
}

.modalContents .menu_brand_cont .sub {
    margin: 0;
    padding: 8px 0;
    font-size: 16px;
    text-indent: 60px;
    font-weight: 300;
@media screen and (max-width: 480px) {
    font-size: 15px;
    text-indent: 5px;
	}  
}
.modalContents .menu_brand_cont .sub div {
	color: #777;	
	text-indent: 92px;
    font-size: 12px;
@media screen and (max-width: 480px) {
    text-indent: 35px;
    line-height: 21px;
	}  
}
.modalContents .menu_list_brand .menu_brand_cont a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}
.modalContents .menu_list_brand .magazine {
	display: inline-block;
	margin-top: 10px;
}
.modalContents .menu_list_brand .magazine img {
	width: 45px;
}

.g_naviMessage { text-decoration:underline;text-underline-offset:4px;text-decoration-color:#333; }
.g_naviMessage_num { color:#b10012;font-size:13px; }

/* --------------------------------------------------------------------------------
 Accordion
-------------------------------------------------------------------------------- */

#modalArea {

	/* 三角アイコン削除（Safari） */
	summary::-webkit-details-marker {
	  display: none;
	}
	
	/* タイトル */
	.summary {
	  cursor: pointer;
	  padding: 0.5em 1em 0.5em 1em;
	  display: grid;
	  grid-template-columns: auto 1fr;
	  align-items: center;
	  gap: 1em;
	  overflow: hidden;
		@media screen and (max-width: 480px) {
		padding: 0.5em 1em 0.5em 0;
		}  
	}
	
	/* アイコン共通 */
	.summary::before,
	.summary::after {
	  /* アイコンの位置:1or2 */
	  grid-column: 2;
	  grid-row: 1;
	  justify-self: end;
	  content: '';
	  width: 18px;
	  border-bottom: 1px solid #333;
	}
	
	.summary::before {
	  transform: rotate(-90deg);
	  transition: transform .3s;
	}
	
	.is-open > .summary::before {
	  transform: rotate(0deg);
	}
	
	.details-content {
	  box-sizing: content-box;
	  overflow: hidden;
	  margin: 0;
	  padding: 0 1em;
	  opacity:0;
	  transition: padding .2s ease .1s, max-height .3s, opacity .7s;
		@media screen and (max-width: 480px) {
		padding: 0 5px;
		}  
	}
	
	.is-open > .details-content {
	  padding-block: 1em;
	  opacity:1;
	  transition: padding .3s, max-height .3s, opacity .7s;
	}
}



@media screen and (max-width: 480px) {
    .menu_list div a {
        position: relative;
        border-bottom: none;
        word-break: keep-all;
    }
    .menu_list div a::after {
        position: absolute;
        bottom: -1px;
        left: 0;
        content: '';
        width: 100%;
        height: 1px;
        background: #fff;
        transform: scale(1, 1);
        transform-origin: right top;
        transition: transform .3s;
    }
    .menu_list div a:hover::after {
        transform-origin: left top;
        transform: scale(0, 1);
    }
}

@media screen and (max-width: 480px) {
#cart_area p.cart-trigger, #cart_area p.cart-trigger2, #cart_area p.tp-cart-trigger {
    position: absolute;
    right: 56px; }
.sp-user {
    position: absolute;
    top: 14px;
    right: 114px; }
    
.search_window_sp {
        position: absolute;
        z-index: 200;
        top: 0;
        right: 142px;
    }
}


/* --------------------------------------------------------------------------------
 OLD megamenu
-------------------------------------------------------------------------------- */

header #page-header-menu {
  z-index: 9;
  width: 100%;
  color: #1d1d1d;
  background-color: #fff;
  opacity: 0.9;
  position: fixed;
  transition: 0.5s;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .13);
   }

  header #page-header-menu .inners {
    height: 50px;
    margin: 60px 0 8px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
}
  header #page-header-menu .inners a img {
    height: 25px;
}
  header #page-header-menu .inners a div {
    font-size: 11px;
    margin-top: 3px;
}