﻿@charset "UTF-8";

/* ----------------------------------
 Common
---------------------------------- */
@media (min-width: 769px) {
	.for-sp-window { display: none !important;}
}
@media (max-width: 768px) {
	.for-pc-window { display: none !important;}
}

/* ----------------------------------
 Layout
---------------------------------- */
div.col1_,
div.login_,
div.order_,
div.contact_,
div.customer_ { max-width: 1200px; width: 100%; padding: 0; margin: 0 auto; text-align: left; box-sizing: border-box;}
div.col1_ div.order_ { width: 100%; min-width: unset; padding: 0;}
div.col1_::after,
div.order_::after,
div.customer_::after { content: ''; display: block; clear: both;}

/* ----------------------------------
 OrderHeader
---------------------------------- */
#header { padding-top: 70px;}
#header .container { width: 100%; height: 70px; position: fixed; top: 0; left: 0; z-index: 100;padding-top: 0;transition: 0.2s;background: none;background: #fff;}
#header .header-fixed-frame { width: 100%; height: 74px; margin: 0 auto; border-bottom: #DDE4EC 1px solid; background: #fff; box-sizing: border-box; position: fixed; top: 0; left: 0; right: 0; z-index: 100;}
#header .header-fixed-frame-inner { width: 1240px; padding: 0 20px; margin: 0 auto; height: 100%; display: flex; align-items: center; box-sizing: border-box;}
#header .block-headernav { margin: 0 0 0 auto; display: flex; align-items: center; justify-content: flex-end; gap: 16px; position: relative;}
#header .block-header-logo { width: 370px; padding: 0; margin: 0; border: none; text-align: center; align-self: center;font-size: 32px;}
#header .block-header-logo a { transition: 0.3s;}
#header .block-header-logo a:hover { opacity: 0.7;}
#header .block-header-logo img { vertical-align: middle;}

/* ----------------------------------
 Header
---------------------------------- */
#header:has(#site_header_frame) { padding-top: 0;}

#site_header { height: 85px; margin-bottom: 60px; position: relative;}
body.page-top #site_header,
body:has(.navitopicpath_) #site_header { margin-bottom: 0;}

#site_header_frame { width: 100%; height: 85px; background: #FFF; z-index: 200; box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.06);}
#site_header:not(.order-header) #site_header_frame { position: fixed; top: 0; left: 0; right: 0;}
#site_header_frame .frame-inner { padding: 20px 40px; display: flex; align-items: center;}
#site_header_frame .logo { width: 184px; min-width: 184px; height: 45px; padding: 0 16px 0 0; margin: 0 auto 0 0;}
#site_header_frame .logo img { height: 45px; vertical-align: top;}
#site_header_frame .header-fixedmode-menu { display: none;}
#site_header_frame .header-fixedmode-menu .header-service-list { margin: 0 20px 0 0; display: flex; justify-content: flex-end; align-items: center; gap: 10px;}
#site_header_frame .header-fixedmode-menu .header-service-list li a { 
	height: 40px;
	padding: 0 10px;
	font-size: 12px;
	font-weight: 400;
	color: var(--site-color-sky);
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#site_header_frame .header-fixedmode-menu .header-service-list li a::after {
	content: '';
	width: 14px;
	height: 14px;
	margin: 0 0 0 6px;
	border-radius: 14px;
	line-height: 1.0;
	font-size: 8px;
	font-weight: 400;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: transparent;
	background-image: var(--bg-image-arrow-sky);
	-webkit-background-size: 10px auto;
	background-size: 10px auto;
	background-position: center;
	background-repeat: no-repeat;
}
#site_header_frame .header-fixedmode-menu .header-contact-list { display: flex; justify-content: flex-end; align-items: center; gap: 10px;}
#site_header_frame .header-fixedmode-menu .header-contact-list li a { 
	height: 100%;
	height: 40px;
	padding: 0 2px;
	font-size: 12px;
	font-weight: 700;
	color: var(--site-color-blue);
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#site_header_frame .header-fixedmode-menu .header-contact-list li a::before {
	content: '';
	width: 18px;
	height: 18px;
	margin: 0 6px 0 0;
	border-radius: 18px;
	line-height: 1.0;
	font-size: 8px;
	font-weight: 400;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: transparent;
	-webkit-background-size: 18px auto;
	background-size: 18px auto;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
}
#site_header_frame .header-fixedmode-menu .header-contact-list li.contact a::before { background-image: url("../../img/usr/icon/ico_contact.png"); bottom: -1px;}
#site_header_frame .header-fixedmode-menu .header-contact-list li.area a::before { background-image: url("../../img/usr/icon/ico_area.png"); bottom: -1px;}
#site_header_frame .header-search { width: 480px; border-radius: var(--radius-02); background: var(--site-bg-dark); position: relative;}
#site_header_frame .header-search .search_form_ {
  width: 100%;
  height: 40px;
	padding: 0 5px 0 0;
  margin: 0;
  border: none;
  border-radius: var(--radius-02);
	display: flex;
	justify-content: space-between;
	align-items: center;
  background: transparent;
}
#site_header_frame .header-search .search_form_ #header_goods_keyword {
	width: calc(100% - 45px);
  height: 40px;
	min-height: 40px;
	padding: 0 10px;
	margin: 0;
  border: none !important;
	outline: none;
  border-radius: 0;
	font-size: 16px;
	font-weight: 400;
	display: flex;
	justify-content: flex-start;
	align-items: center;
  background: transparent;
	box-shadow: none;
}
#site_header_frame .header-search .search_form_ #header_goods_keyword::placeholder { color: #999;}
#site_header_frame .header-search .search_button_ { width: 40px; height: 40px; border-radius: 0; border: none; outline: none; background: none; display: block; cursor: pointer;}

#site_header_frame .header-site { margin: 0 0 0 16px;}
#site_header_frame .header-site-list { display: flex; align-items: center;}
#site_header_frame .header-site-list li { width: 140px; height: 40px; display: flex; align-items: center; overflow: hidden;}
#site_header_frame .header-site-list li a,
#site_header_frame .header-site-list li span { width: 100%; height: 40px; font-size: 12px; font-weight: 400; display: flex; justify-content: center; align-items: center;}
#site_header_frame .header-site-list li:first-of-type { border-radius: 40px 0 0 40px;}
#site_header_frame .header-site-list li:last-of-type { border-radius: 0 40px 40px 0;}
#site_header_frame .header-site-list li a { text-decoration: none; color: var(--site-color-sky); background: var(--site-bg-dark);}
#site_header_frame .header-site-list li span { text-decoration: none; color: #FFF; background: var(--site-color-sky);}

#site_header_frame .header-menu { margin: 0 0 0 16px;}
#site_header_frame .header-menu-list { display: flex; justify-content: flex-end; align-items: center; gap: 0 4px;}
#site_header_frame .header-menu-list li,
#site_header_frame .header-menu-list li a,
#site_header_frame .header-menu-list li .switch { width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; cursor: pointer;}
#site_header_frame .header-menu-list li img { width: 24px; height: 24px; vertical-align: top;}
#site_header_frame .header-menu-list li#hnav_cart { position: relative;}
#site_header_frame .header-menu-list li#hnav_cart .js-cart-count { 
	width: 18px;
	height: 18px;
	border-radius: 18px;
	font-size: 10px;
	text-align: center;
	line-height: 17px;
	letter-spacing: -1px;
	color: #FFF;
	background: var(--site-color-blue);
	position: absolute;
	top: 0;
	right: 0;
}

@media (max-width: 1200px) {
	#site_header_frame .frame-inner { padding: 20px 20px 20px 40px;}
}
@media (max-width: 1000px) {
	#site_header_frame .header-site-list li.house,
	#site_header_frame .header-site-list li.clothing { width: 55px; height: 36px; overflow: hidden;}
	#site_header_frame .header-site-list li.clothing a {
	  height: 36px;
	  font-size: 0;
	  background-color: var(--site-bg-dark);
		background-image: url("../../img/usr/icon/ico_site_clothes_sp.png");
		background-repeat: no-repeat;
		background-position: 52% center;
		-webkit-background-size: auto 18px;
		background-size: auto 18px;
	}
	#site_header_frame .header-site-list li.house span {
	  height: 36px;
	  font-size: 0;
	  background-color: var(--site-color-sky);
		background-image: url("../../img/usr/icon/ico_site_home_sp.png");
		background-repeat: no-repeat;
		background-position: 52% center;
		-webkit-background-size: auto 18px;
		background-size: auto 18px;
	}
}
@media (max-width: 768px) {
	#site_header { height: 53px; margin-bottom: 24px;}
	#site_header_frame { height: 53px;}
	#site_header_frame .frame-inner { padding: 8px 10px;}
	#site_header_frame .frame-inner .logo { margin: 0 auto; order: 2;}
	#site_header_frame .frame-inner .header-site { margin: 0; order: 1;}
	#site_header_frame .frame-inner .header-menu { margin: 0; order: 3;}
	#site_header_frame .logo { width: 100px; min-width: 100px; height: auto; padding: 0; margin: 0 auto; display: flex; justify-content: center; align-items: center;}
	#site_header_frame .logo img { height: 26px; vertical-align: top;}
	#site_header_frame .header-search { display: none !important;}
	#site_header_frame .header-menu { width: calc(36px * 3);}
	#site_header_frame .header-menu-list li,
	#site_header_frame .header-menu-list li a,
	#site_header_frame .header-menu-list li .switch { width: 36px; height: 36px;}
	#site_header_frame .header-menu-list li#hnav_contact { display: none !important;}
}

/* Fixed Mode */
@media (max-width: 1200px) {
	#site_header.mode-fixhd #site_header_frame .header-site-list li.house,
	#site_header.mode-fixhd #site_header_frame .header-site-list li.clothing { width: 55px; height: 36px; overflow: hidden;}
	#site_header.mode-fixhd #site_header_frame .header-site-list li.clothing a {
	  height: 36px;
	  font-size: 0;
	  background-color: var(--site-bg-dark);
		background-image: url("../../img/usr/icon/ico_site_clothes_sp.png");
		background-repeat: no-repeat;
		background-position: 52% center;
		-webkit-background-size: auto 18px;
		background-size: auto 18px;
	}
	#site_header.mode-fixhd #site_header_frame .header-site-list li.house span {
	  height: 36px;
	  font-size: 0;
	  background-color: var(--site-color-sky);
		background-image: url("../../img/usr/icon/ico_site_home_sp.png");
		background-repeat: no-repeat;
		background-position: 52% center;
		-webkit-background-size: auto 18px;
		background-size: auto 18px;
	}
}
@media (max-width: 1000px) {
	#site_header.mode-fixhd #site_header_frame .header-fixedmode-menu .header-service-list { margin-right: 10px;}
	#site_header.mode-fixhd #site_header_frame .header-fixedmode-menu .header-service-list li a { padding: 0 5px;}
	#site_header.mode-fixhd #site_header_frame .header-fixedmode-menu .header-contact-list { gap: 10px;}
	#site_header.mode-fixhd #site_header_frame .header-fixedmode-menu .header-contact-list li a { 
		height: 36px;
		padding: 0 14px;
		border-radius: 36px;
		font-size: 0;
		background: var(--site-bg-dark);
	}
	#site_header.mode-fixhd #site_header_frame .header-fixedmode-menu .header-contact-list li a::before {
		content: '';
		width: 26px;
		height: 26px;
		margin: 0;
		border-radius: 26px;
		-webkit-background-size: 26px auto;
		background-size: 26px auto;
	}
	#site_header.mode-fixhd #site_header_frame .header-site { margin-left: 10px;}
	#site_header.mode-fixhd #site_header_frame .header-site .header-site-list li.clothing a { background-color: var(--site-bg-dark);}
}
@media (min-width: 769px) {
	#site_header.mode-fixhd #site_header_frame { height: 60px;}
	#site_header.mode-fixhd #site_header_frame .frame-inner { padding: 10px 40px;}
	#site_header.mode-fixhd #site_header_frame .logo { width: 120px; min-width: 120px; height: auto; margin: 0 auto 0 0;}
	#site_header.mode-fixhd #site_header_frame .logo img { height: 30px; vertical-align: top;}
	#site_header.mode-fixhd #site_header_frame .header-search { display: none;}
	#site_header.mode-fixhd #site_header_frame .header-fixedmode-menu { display: flex; justify-content: flex-end; align-items: center;}
	#site_header.mode-fixhd #site_header_frame #hnav_contact,
	#site_header.mode-fixhd #site_header_frame #hnav_mypage { display: none;}
}
	
/* ----------------------------------
 HamburgerMenu
---------------------------------- */
body.hmenu-open { overflow: hidden;}

.bgfilter { display: none; background: rgba(0,0,0,0.7); position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: -1;}
body.hmenu-open .bgfilter { display: block; z-index: 300;}

#header_hamburger_menu_wrap { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: -1;}
#header_hamburger_menu_header { height: 56px; display: flex; justify-content: center; align-items: center; background: var(--site-bg-gray); position: relative;}
#header_hamburger_menu_header #hnav_menu_close {
  width: 100px;
  height: 56px;
	font-size: 15px;
	text-align: center;
	line-height: 1.0;
	color: var(--site-color-sky);
  display: flex;
  justify-content: center;
	align-items: center;
	gap: 10px;
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
}
#header_hamburger_menu_header #hnav_menu_close::before {
  content: '';
  width: 8px;
  height: 8px;
  border-right: var(--site-color-sky) 2px solid;
  border-top: var(--site-color-sky) 2px solid;
  display: block;
  transform: rotate(-135deg);
	transition: var(--transition);	
}
#header_hamburger_menu { width: 100%; max-width: 480px; height: 100%; background: var(--site-bg-dark); cursor: auto;}
#header_hamburger_menu .hamburger-inner { width: 100%; height: 100%; padding-bottom: 100px; overflow-y: auto;}
#header_hamburger_menu .hamburger-menu-list-contact,
#header_hamburger_menu .hamburger-menu-list-customer { margin: 16px 0;}
#header_hamburger_menu .hamburger-menu-list-contact  li + li,
#header_hamburger_menu .hamburger-menu-list-customer li + li { border-top: var(--border-solid-list);}
#header_hamburger_menu .hamburger-menu-list-contact  li a,
#header_hamburger_menu .hamburger-menu-list-customer li a {
  min-height: 56px;
	padding: 5px 16px;
  font-size: 14px;
  text-decoration: none;
  color: var(--site-color-black);
  display: flex;
  align-items: center;
  gap: 10px;
	background: #FFF;
}
#header_hamburger_menu .hamburger-menu-list-contact  li a::before,
#header_hamburger_menu .hamburger-menu-list-customer li a::before {
	content: '';
	width: 22px;
	min-width: 22px;
	height: 22px;
	display: inline-block;
	background-repeat: repeat;
	background-position: center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;	
}
#header_hamburger_menu .hamburger-menu-list-contact  li#gnav_area a::before     { background-image: url("../../img/usr/icon/ico_area.png");}
#header_hamburger_menu .hamburger-menu-list-contact  li#gnav_price a::before    { background-image: url("../../img/usr/icon/ico_price.png");}
#header_hamburger_menu .hamburger-menu-list-contact  li#gnav_contact a::before  { background-image: url("../../img/usr/icon/ico_contact.png");}
#header_hamburger_menu .hamburger-menu-list-customer li#gnav_bookmark a::before { background-image: url("../../img/usr/icon/ico_bookmark.png");}
#header_hamburger_menu .hamburger-menu-list-customer li#gnav_mypage a::before   { background-image: url("../../img/usr/icon/ico_mypage.png");}
#header_hamburger_menu .hamburger-menu-list { margin: 16px;}
#header_hamburger_menu .hamburger-menu-list li { border-bottom: var(--border-solid-frame);}
#header_hamburger_menu .hamburger-menu-list li a { min-height: 48px; font-size: 14px; text-decoration: none; color: var(--site-color-dark); display: flex; align-items: center; gap: 10px;}
#header_hamburger_menu .hamburger-menu-list li a[target="_blank"]::after {
	content: '';
	width: 13px;
	min-width: 13px;
	height: 13px;
	display: inline-block;
	background-image: var(--bg-image-blank);
	background-repeat: repeat;
	background-position: center;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
}
body.hmenu-open #header_hamburger_menu_wrap { display: flex; justify-content: flex-end; z-index: 300; cursor: pointer;}

@media (max-width: 768px) {
	#header_hamburger_menu { max-width: unset;}
}

/* ----------------------------------
 Header Vue Category
---------------------------------- */
#header_hamburger_menu .block-goods-list__navi { margin: 0 0 16px; position: relative;}
#header_hamburger_menu .block-goods-list__navi.open { overflow: visible;}
#header_hamburger_menu .block-goods-list__navi .list { border-bottom: none; background: none;}
#header_hamburger_menu .block-goods-list__navi .list-item { flex-wrap: wrap;}
#header_hamburger_menu .block-goods-list__navi .list-item__center {
  min-height: 57px;
  padding: 8px 16px;
  border-top: var(--border-solid-list);
	border-bottom: none;
  font-size: 14px;
  font-weight: 400;
  text-align: left;
  line-height: var(--line-height-middle);
  word-break: break-all;
  color: var(--site-color-black);
  display: flex;
  align-items: center;
  background: #FFF;
  order: 0;
}

/* 1階層ノーマルリンク用 */
#header_hamburger_menu .block-goods-list__navi--menulist > li.list-item--chevron { padding-left: 16px;}
#header_hamburger_menu .block-goods-list__navi .list-item--expandable { background: none;}

/* slidedown用 */
#header_hamburger_menu .block-goods-list__navi-slidedown { width: 100%; overflow: hidden; position: relative;}
#header_hamburger_menu .block-goods-list__navi .list-item--chevron { position: relative; flex-wrap: wrap;}
#header_hamburger_menu .block-goods-list__navi .list-item--chevron span i { margin: 3px 5px 0 0; float: right;}
#header_hamburger_menu .block-goods-list__navi .list-item--chevron.arrowdown { border-bottom: none;}
#header_hamburger_menu .block-goods-list__navi .list-item--chevron.arrowdown:before { top: 17px; right: 13px; transform: rotate(45deg);}
#header_hamburger_menu .block-goods-list__navi .list-item--chevron.arrowup:before { top: 20px; right: 13px; transform: rotate(225deg);}
#header_hamburger_menu .block-goods-list__navi-slidedown > ul { max-height: 0; transition: max-height 0.8s;}
#header_hamburger_menu .block-goods-list__navi-slidedown.open > ul { max-height: 100vh; border-bottom: none; line-height: 1.5;}
#header_hamburger_menu .block-goods-list__navi-slidedown > ul li:last-child { border-bottom: none;}

/* slideside用 */
#header_hamburger_menu .block-goods-list__navi.open .block-goods-list__navi-slideside { height: auto; display: none; overflow: hidden; z-index: 8;}
#header_hamburger_menu .block-goods-list__navi-slideside h4 { padding: 8px 32px; text-align: center;}
#header_hamburger_menu .block-goods-list__navi-slideside .block-goods-list__navi-slideside { z-index: 6;}
#header_hamburger_menu .block-goods-list__navi-slideside .block-goods-list__navi-slideside .block-goods-list__navi-slideside { z-index: 7;}
#header_hamburger_menu .block-goods-list__navi .list-title-cancel { padding: 8px 16px; margin: 0; position: absolute; top: 3px; left: 0;}

/* fontawesome overwrite */
#header_hamburger_menu .fas { color: #ddd;}
#header_hamburger_menu .block-goods-list__navi--side-slide { width: 100%; height: 100vh; overflow: scroll; position: fixed; left: 120vw; top: 0; z-index: 30; transition: 0.4s;}
#header_hamburger_menu .block-goods-list__navi--side-slide.open { left: 0;}

/* block-goods-list__item */
#header_hamburger_menu .block-goods-list__item { padding: 0; margin: 0; display: block;}
#header_hamburger_menu .block-goods-list__navi .arrowclose:before { display: none !important;}
#header_hamburger_menu .list-item div.list-item__center { position: relative; cursor: pointer;}
#header_hamburger_menu .list-item--img_ > div.list-item__center::before,
#header_hamburger_menu .list-item--chevron > div.list-item__center:before,
#header_hamburger_menu .list-item--chevron > div.list-item__center:after { display: none !important;}
#header_hamburger_menu .list-item--chevron .list-item__center span { width: 57px; height: 100%; position: absolute; top: 0; right: 0; z-index: 5; cursor: pointer;}
#header_hamburger_menu .list-item__center span::before {
	content: '';
	width: 28px;
	height: 28px;
	border-radius: 28px;
	display: block;
	background: #FFF;
	position: absolute;
	top: calc(50% - 14px);
	right: 16px;
	transition: var(--transition);
}
#header_hamburger_menu .list-item__center span::after {
  content: '';
  width: 8px;
  height: 8px;
  border-right: var(--site-color-blue) 2px solid;
  border-top: var(--site-color-blue) 2px solid;
  position: absolute;
  right: 25px;
  top: calc(50% - 7px);
  display: block;
  transform: rotate(135deg);
	transition: var(--transition);
}
#header_hamburger_menu .list-item__center.minus > span::before { background: var(--site-bg-blue);}
#header_hamburger_menu .list-item__center.minus > span::after { transform: rotate(-45deg); top: calc(50% - 2px);}
#header_hamburger_menu .list-item.list-item--img_ .list-item__center span::before,
#header_hamburger_menu .list-item.list-item--img_ .list-item__center span::after { display: none;}
#header_hamburger_menu .list-item__center.level0 { font-size: 16px; font-weight: bold; line-height: 1.5;}
#header_hamburger_menu .list-item__center.level0 + .block-goods-list__navi-slideside > ul.list > li:first-of-type { display: none;}
#header_hamburger_menu .list-item__center.level1 { padding-left: 16px; background: #FFF;}
#header_hamburger_menu .list-item__center.level2 { min-height: 48px; padding-left: 32px; background: var(--site-bg-dark);}
#header_hamburger_menu .list-item__center.level3 { min-height: 48px; padding-left: 48px; background: var(--site-color-grayout);}
#header_hamburger_menu .list-item__center.level4 { min-height: 48px; padding-left: 64px; background: var(--site-color-grayout);}

#header_hamburger_menu .block-goods-list__navi .list-item__center.level3,
#header_hamburger_menu .block-goods-list__navi .list-item__center.level4 { border-top: var(--border-solid-input);}
#header_hamburger_menu .list-item__center.level2 span::before,
#header_hamburger_menu .list-item__center.level3 span::before,
#header_hamburger_menu .list-item__center.level4 span::before,
#header_hamburger_menu .list-item__center.level2.minus span::before,
#header_hamburger_menu .list-item__center.level3.minus span::before,
#header_hamburger_menu .list-item__center.level4.minus span::before { background: transparent !important;}
#header_hamburger_menu .list-item__center.level2 span::after,
#header_hamburger_menu .list-item__center.level3 span::after,
#header_hamburger_menu .list-item__center.level4 span::after,
#header_hamburger_menu .list-item__center.level2.minus span::after,
#header_hamburger_menu .list-item__center.level3.minus span::after,
#header_hamburger_menu .list-item__center.level4.minus span::after { border-right: var(--site-color-dark) 2px solid; border-top: var(--site-color-dark) 2px solid;}

/* ----------------------------------
 Footer
---------------------------------- */
.change_mode_ { display: none !important;}
#footer { width: 100%; min-width: unset; padding: 40px; margin: 60px 0 0; border-top: var(--border-solid-frame); background: #FFF; position: relative; z-index: 100;}
#footer #footer_inner { max-width: 1200px; margin: 0 auto;}
#footer .logo { width: 170px; margin: 0 auto 40px;}
#footer .logo img { width: 100%; vartical-align: top;}
#footer #footernav_list { width: auto; margin: 0 auto 40px; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 24px;}
#footer #footernav_list li { width: calc((100% - 24px * 3)/4); border-bottom: #F2F4F8 1px solid; font-size: 13px; font-weight: 400; text-align: left; color: var(--site-color-dark);}
#footer #footernav_list li a {
  padding: 10px;
  font-size: 13px;
  font-weight: 400;
  text-align: left;
  text-decoration: none;
  color: var(--site-color-dark);
	display: flex;
	align-items: center;
	position: relative;
}
#footer #footernav_list li a::after {
	content: '';
	width: 14px;
	height: 14px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: transparent;
	background-image: var(--bg-image-arrow-dark);
	-webkit-background-size: 10px auto;
	background-size: 10px auto;
	background-position: center;
	background-repeat: no-repeat;
	position: absolute;
	right: 10px;
	top: calc(50% - 7px);
}
#footer #footernav_list li a:hover { color: var(--site-color-blue);}
#footer #footernav_list li a:hover::after { color: var(--site-color-blue);}
#footer #copyright { padding: 0; margin: 0 0 0 auto; font-size: 10px; font-weight: 400; text-align: center; word-break: keep-all; color: var(--site-color-gray);}
#footer #for_pagetop { position: fixed; right: 20px; bottom: 20px; z-index: 101;}
#footer #for_pagetop a {
  width: 48px;
  height: 48px;
	border: var(--border-solid-blue);
  border-radius: var(--radius-02);
  font-size: 0;
  display: flex;
  justify-content: center;
  align-items: center;
	background-color: #FFF;
}
#footer #for_pagetop a::before {
  content: '';
  width: 12px;
  height: 12px;
  border-right: var(--site-color-blue) 2px solid;
  border-top: var(--site-color-blue) 2px solid;
  position: absolute;
  left: calc(50% - 7px);
  top: calc(50% - 3px);
  display: block;
  transform: rotate(-45deg);
}

@media screen and (max-width: 1024px) {
	#footer { width: 100%; min-width: unset; padding: 24px; margin: 60px 0 0; border: none; box-shadow: 0px -4px 12px 0px rgba(0, 0, 0, 0.05);}
	#footer .logo { width: 126px; margin: 0 auto 14px;}
	#footer #footernav_list { margin: 0 0 24px; display: block;}
	#footer #footernav_list li { width: 100%; border-bottom: none;}
	#footer #copyright { margin: 20px auto 0;}
	#footer #for_pagetop { right: 10px; bottom: 10px;}
	#footer #for_pagetop a { width: 36px; height: 36px;}
	#footer #for_pagetop a::before { width: 8px; height: 8px; left: calc(50% - 5px); top: calc(50% - 3px);}
}

/* ----------------------------------
 数量選択POPUP
---------------------------------- */
div.qty-popup { position: absolute; z-index: -1;}
body.is-qty-popup-fixed { overflow: hidden;}
body.is-qty-popup-fixed div.qty-popup { position: relative; z-index: 300;}

div.qty-popup .qty-popup-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
div.qty-popup .qty-popup-inner .qty-popup-body { width: 340px; margin: auto; border-radius: 16px; background: #FFF; overflow: hidden;}
div.qty-popup .qty-popup-inner .qty-popup-head {
  min-height: 44px;
  padding: 5px 32px;
  font-size: 13px;
  text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
  background: var(--site-bg-dark);
  position: relative;
}
div.qty-popup .qty-popup-inner .qty-popup-head .qty-popup-close {
	width: 28px;
	height: 28px;
	border-radius: 28px;
	font-size: 0;
	display: flex;
	justify-content: center;
	align-items: center;
  background: #C1C7CD;
  position: absolute;
  top: calc(50% - 14px);
  right: 7px;
	cursor: pointer;
}
div.qty-popup .qty-popup-inner .qty-popup-head .qty-popup-close::before,
div.qty-popup .qty-popup-inner .qty-popup-head .qty-popup-close::after {
	content: '';
	width: 12px;
	border-top: #FFF 1px solid;
	font-size: 0;
	display: block;
  position: absolute;
  top: calc(50% - 0.5px);
  left: calc(50% - 6px);
	transform: rotate(45deg);
}
div.qty-popup .qty-popup-inner .qty-popup-head .qty-popup-close::after { transform: rotate(-45deg);}
div.qty-popup .qty-popup-inner .qty-popup-list { min-width: 340px; padding: 32px; display: flex; flex-direction: column; gap: 8px; background: #FFF;}
div.qty-popup .qty-popup-inner .qty-popup-list li.qty-popup-item {
	width: 100%;
  height: 48px;
  padding: 5px 16px;
	border: var(--border-solid-input);
	border-radius: var(--radius-03);
  font-size: 14px;
  font-weight: 400;
  display: flex;
  align-items: center;
  background: #FFF;
	cursor: pointer;
}
div.qty-popup .qty-popup-inner .qty-popup-list li.qty-popup-item.is-selected { 
	border: var(--border-solid-blue);
	font-weight: 700;
	color: var(--site-color-blue);
	background: var(--site-bg-blue);
}

@media (max-width: 768px) {
	div.qty-popup .qty-popup-inner .qty-popup-body { width: calc(100dvw - 32px);}
}

/* ----------------------------------
 POPUP NOTICE
---------------------------------- */
body.popup-notice-fixed { overflow: hidden;}

div.popup-notice .switch { margin: 16px 0; font-size: 13px; color: var(--site-color-sky); display: flex; align-items: center;}
div.popup-notice .switch span {
	min-height: 36px;
	padding: 0 25px 0 8px;
	border: var(--border-solid-frame);
	border-radius: var(--radius-03);
  font-size: 13px;
  color: var(--site-color-sky);
	display: flex;
	align-items: center;
	gap: 5px;
	background-color: #FFF;
	background-image: var(--bg-image-arrow-sky);
	-webkit-background-size: 10px auto;
	background-size: 10px auto;
	background-position: calc(100% - 8px) center;
	background-repeat: no-repeat;
  cursor: pointer;
	transition: var(--transition);
}
div.popup-notice .switch span:hover { opacity: var(--opacity);}
div.popup-notice .switch span::before {
	content: '？';
	width: 16px;
	height: 16px;
	border-radius: 16px;
  font-size: 14px;
	font-weight: 700;
	text-align: center;
  color: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--site-color-sky);
}

div.popup-notice div.popup-notice-pop-frame { display: none; background: rgba(0,0,0,0.7); position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: -1;}
div.popup-notice.is-open div.popup-notice-pop-frame { display: flex; justify-content: center; align-items: center; z-index: 300;}
div.popup-notice-pop-inner { max-width: 720px; margin: auto; border-radius: 16px; background: #FFF; overflow: hidden;}
div.popup-notice-pop-head {
  min-height: 44px;
  padding: 5px 32px;
  font-size: 13px;
  text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
  background: var(--site-bg-dark);
  position: relative;
}
div.popup-notice-pop-head .pop-close {
	width: 28px;
	height: 28px;
	border-radius: 28px;
	font-size: 0;
	display: flex;
	justify-content: center;
	align-items: center;
  background: #C1C7CD;
  position: absolute;
  top: calc(50% - 14px);
  right: 7px;
	cursor: pointer;
}
div.popup-notice-pop-head .pop-close::before,
div.popup-notice-pop-head .pop-close::after {
	content: '';
	width: 12px;
	border-top: #FFF 1px solid;
	font-size: 0;
	display: block;
  position: absolute;
  top: calc(50% - 0.5px);
  left: calc(50% - 6px);
	transform: rotate(45deg);
}
div.popup-notice-pop-head .pop-close::after { transform: rotate(-45deg);}
div.popup-notice-pop-body { padding: 32px; background: #FFF;}
div.popup-notice-pop-body-box { max-height: 70vh; overflow-y: auto;}
div.popup-notice-pop-body div + div { margin-top: 20px;}
div.popup-notice-pop-text { font-size: 14px;}
div.popup-notice-pop-image { text-align: center;}

@media (max-width: 768px) {
	div.popup-notice-pop-inner { width: calc(100dvw - 32px);}
	div.popup-notice-pop-body-box { max-height: calc(100dvh - 44px - 64px - 20px);}
}

/* ----------------------------------
 POPUP NOTICE - FREEPAGE
---------------------------------- */
.popup-notice .switch span.switch-btn { text-decoration: underline; color: var(--site-color-sky); cursor: pointer}
.popup-notice div.popup-notice-pop-frame { display: none; background: rgba(0,0,0,0.7); position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: -1;}
.popup-notice.is-open div.popup-notice-pop-frame { display: flex; justify-content: center; align-items: center; z-index: 300;}

/* ----------------------------------
 FAQ BOX
---------------------------------- */
#add_faq_frame { padding: 40px 32px; margin: 0 0 60px; background: #FFF;}
#add_faq_frame .title { margin: 0 0 10px; font-size: 24px; font-weight: 700; text-align: center; color: var(--site-color-deepblue);}
#add_faq_frame .sub { margin: 0 0 10px; font-size: 10px; font-weight: 400; text-align: center; letter-spacing: 0.25em; color: var(--site-color-sky);}
#add_faq_frame .faq-list li.faq-box { border-bottom: var(--border-solid-list);}
#add_faq_frame .faq-box .q { min-height: 52px; padding: 10px 50px 10px 0; font-size: 15px; display: flex; align-items: center; position: relative;}
#add_faq_frame .faq-box .q::before {
  content: '';
  width: 8px;
  height: 8px;
  border-right: var(--site-color-blue) 2px solid;
  border-top: var(--site-color-blue) 2px solid;
  position: absolute;
  right: 16px;
  top: calc(50% - 6px);
  display: block;
  transform: rotate(135deg);
	transition: var(--transition); 
}
#add_faq_frame .faq-box .a { padding: 0 0 10px; font-size: 15px; display: none;}
#add_faq_frame .faq-box .a { padding: 20px; font-size: 15px; display: none; background: rgba(243, 244, 246, 0.5);}
#add_faq_frame .faq-box .a a { font-size: 15px; text-decoration: underline; color: var(--site-color-blue);}
#add_faq_frame .faq-box.is-open .q::before { top: calc(50% - 3px); transform: rotate(-45deg);}
#add_faq_frame .faq-box.is-open .a {}

#add_faq_frame .more-btn {
  width: 360px;
  height: 56px;
  margin: 32px auto 0;
	border: var(--border-solid-blue);
	border-radius: var(--radius-03);
	font-size: 16px;
	text-align: center;
	color: var(--site-color-blue);
  display: flex;
  justify-content: center;
  align-items: center;
	background: transparent;
	cursor: pointer;
	transition: var(--transition);
}
#add_faq_frame .more-btn:hover { opacity: var(--opacity);}
#add_faq_frame .more-btn span { padding: 0 20px; position: relative;}
#add_faq_frame .more-btn span::before,
#add_faq_frame .more-btn span::after {
  content: '';
  width: 10px;
  border-top: var(--border-solid-blue);
  display: block;
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
	transition: var(--transition);
}
#add_faq_frame .more-btn span::after { transform: rotate(-90deg);}
#add_faq_frame .more-btn.is-open span::after { transform: rotate(0deg);}

@media (max-width: 768px) {
	#add_faq_frame { padding: 32px 20px; background: #FFF;}
	#add_faq_frame .title { font-size: 18px;}
	#add_faq_frame .sub { font-size: 8px;}
	#add_faq_frame .faq-box .q { font-size: 13px;}
	#add_faq_frame .faq-box .a { font-size: 13px;}
	#add_faq_frame .faq-box .a a { font-size: 13px;}
	#add_faq_frame .more-btn { width: 100%; height: 48px; margin-top: 24px; font-size: 13px;}
}

/* ----------------------------------
 フリーページ汎用Class
---------------------------------- */
div.freepage_wrapper_ .freepage_mainframe_ { max-width: 1232px; padding: 0 16px; margin: 0 auto;}
#contentArea div.freepage_wrapper_ .freepage_mainframe_ { max-width: 1200px; padding: 0; margin: 0 auto;}

div.freepage_wrapper_ .page-nav-list { margin: 0 0 60px;}
div.freepage_wrapper_ .page-nav-list ul { display: flex; flex-wrap: wrap; gap: 12px;}
div.freepage_wrapper_ .page-nav-list ul li { width: calc((100% - 12px * 4)/5); min-height: 64px;}
div.freepage_wrapper_ .page-nav-list ul li a { 
	width: 100%;
	height: 100%;
	padding: 8px 36px 8px 24px;
	border: var(--border-solid-blue);
	border-radius: var(--radius-03);
	font-size: 14px;
	text-decoration: none;
	color: var(--site-color-blue);
	display: flex;
	align-items: center;
	background: transparent;
	position: relative;
}
div.freepage_wrapper_ .page-nav-list ul li a::after {
  content: '';
  width: 6px;
  height: 6px;
  border-right: var(--border-solid-blue);
  border-top: var(--border-solid-blue);
  display: inline-block;
	position: absolute;
	top: calc(50% - 4px);
	right: 24px;
  transform: rotate(135deg);
}
div.freepage_wrapper_ .section-box + .section-box { margin-top: 80px;}
div.freepage_wrapper_ .table-box table { width: 100%; border: var(--table-border); border-collapse: collapse; table-layout: fixed;}
div.freepage_wrapper_ .table-box table th { padding: 16px 20px; border: var(--table-border); font-size: 16px; background: var(--table-th-bg);}
div.freepage_wrapper_ .table-box table td { padding: 16px 20px; border: var(--table-border); font-size: 15px; background: var(--table-td-bg);}
div.freepage_wrapper_ .table-box table a { text-decoration: none; color: var(--site-color-sky);}
div.freepage_wrapper_ .table-box table a:hover { text-decoration: underline;}
div.freepage_wrapper_ .button-box a {
  width: 360px;
  height: 56px;
  margin: 32px auto 0;
	border: var(--border-solid-blue);
	border-radius: var(--radius-02);
	font-size: 16px;
	text-align: center;
	text-decoration: none;
	color: var(--site-color-blue);
  display: flex;
  justify-content: center;
  align-items: center;
	gap: 8px;
	background: transparent;
	cursor: pointer;
	transition: var(--transition);
}
div.freepage_wrapper_ .button-box a:hover { opacity: var(--opacity);}
div.freepage_wrapper_ .notice-text { display: flex; justify-content: flex-end;}
div.freepage_wrapper_ .notice-text .text { font-size: 11px; text-align: right; color: var(--site-color-dark);}
div.freepage_wrapper_ .notice-text .indent1 { padding: 0 0 0 1em; text-indent: -1em;}

div.freepage_wrapper_ .faq-list li.faq-box { border-bottom: var(--border-solid-list);}
div.freepage_wrapper_ .faq-box .q { min-height: 52px; padding: 10px 50px 10px 0; font-size: 15px; display: flex; align-items: center; position: relative;}
div.freepage_wrapper_ .faq-box .q::before {
  content: '';
  width: 8px;
  height: 8px;
  border-right: var(--site-color-blue) 2px solid;
  border-top: var(--site-color-blue) 2px solid;
  position: absolute;
  right: 16px;
  top: calc(50% - 6px);
  display: block;
  transform: rotate(135deg);
	transition: var(--transition); 
}
div.freepage_wrapper_ .faq-box .a { padding: 20px; font-size: 15px; display: none; background: rgba(255,255,255,0.5);}
div.freepage_wrapper_ .faq-box .a a { font-size: 15px; text-decoration: underline; color: var(--site-color-blue);}
div.freepage_wrapper_ .faq-box.is-open .q::before { top: calc(50% - 3px); transform: rotate(-45deg);}
div.freepage_wrapper_ .faq-box.is-open .a {}

@media (max-width: 1100px) {
	div.freepage_wrapper_ .page-nav-list ul li { width: calc((100% - 12px * 2)/3);}
	div.freepage_wrapper_ .table-box table th { padding: 10px; font-size: 13px;}
	div.freepage_wrapper_ .table-box table td { padding: 10px; font-size: 12px;}
}
@media (max-width: 768px) {
	div.freepage_wrapper_ .page-nav-list ul li { width: calc((100% - 12px)/2); min-height: 58px;}
	div.freepage_wrapper_ .section-box + .section-box { margin-top: 48px;}
	div.freepage_wrapper_ .button-box a { width: 100%; height: 48px; margin-top: 24px; font-size: 13px;}
	div.freepage_wrapper_ .notice-text { display: flex; justify-content: flex-start;}
	div.freepage_wrapper_ .notice-text .text { text-align: left;}
	div.freepage_wrapper_ .faq-box .q { font-size: 13px;}
	div.freepage_wrapper_ .faq-box .a { padding: 15px; font-size: 13px;}
	div.freepage_wrapper_ .faq-box .a a { font-size: 13px;}
}

/* ----------------------------------
 料金表・所要時間
---------------------------------- */
#page_pricelist:has(h1.main-ttl) h1.main-ttl { margin-bottom: 10px;}
#page_pricelist .main-sub { margin: 0 0 40px; font-size: 11px; text-align: center; color: var(--site-color-dark);}
#page_pricelist .table-box table th { font-size: 13px; font-weight: 400; text-align: center; vertical-align: middle;}
#page_pricelist .table-box table th br { display: none;}
#page_pricelist .table-box table th.service { width: 65%;}
#page_pricelist .table-box table th.price { width: 35%;}
#page_pricelist .table-box table td { vertical-align: middle;}
#page_pricelist .table-box table td.service { text-align: left;}
#page_pricelist .table-box table td.price { text-align: center;}
#page_pricelist .table-box table td.service .name { font-size: 17px; font-weight: 700;}
#page_pricelist .table-box table td.service .name a { font-size: 17px; font-weight: 700; text-decoration: underline; color: var(--site-color-sky);}
#page_pricelist .table-box table td.service .name:has(.icon-frame) { display: flex; flex-wrap: wrap; align-items: center;}
#page_pricelist .table-box table td.service .name .icon-frame { width: auto; min-width: 180px; margin: 0; display: flex; flex-wrap: wrap; gap: 4px;}
#page_pricelist .table-box table td.service .name .icon-item {
  height: 24px;
  padding: 0 6px;
	margin: 0;
  border: #B3B3B3 1px solid;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 400;
  text-decoration: none;
  line-height: 1.0;
  color: var(--site-color-black);
  background: #F2F2F2;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
#page_pricelist .table-box table td.service .name:has(.icon-frame) .name-txt { min-width: 200px;}
#page_pricelist .table-box table td.service .time { font-size: 15px; font-weight: 400;}
#page_pricelist .button-box a::after {
	content: '';
	width: 20px;
	height: 20px;
	margin: 0 8px 0 0;
	border-radius: 20px;
	line-height: 1.0;
	font-size: 8px;
	font-weight: 400;
	display: inline-block;
	background-color: transparent;
	background-image: var(--bg-image-arrow-blue);
	-webkit-background-size: 10px auto;
	background-size: 10px auto;
	background-position: center;
	background-repeat: no-repeat;
}
#page_pricelist .notice-text { margin: 20px 0 60px;}

@media (max-width: 768px) {
	#page_pricelist .main-sub { margin: 0 0 32px;}
	#page_pricelist .table-box table th { padding-top: 5px; padding-bottom: 5px; font-size: 12px;}
	#page_pricelist .table-box table th br { display: block;}
	#page_pricelist .table-box table td.service .name { font-size: 13px;}
	#page_pricelist .table-box table td.service .name a { font-size: 13px;}
	#page_pricelist .table-box table td.service .name .icon-frame { width: 100%; margin: 5px 0;}
	#page_pricelist .table-box table td.service .time { font-size: 12px;}
	#page_pricelist .button-box { padding: 0 20px;}
}
