@charset "utf-8";
:root{
	--vw:1vw;
	--WHITE: #fff;
	--BLACK: #000;

	--MAIN_WHITE:#fff;
	--MAIN_BLACK:#333333;

	--HEADER_CAPTION_BLACK:#333333;
	--HEADER_CONTAINER_YELLOW:#FFF9E8;
	--HEADER_BORDER_GRAY:#6A6A6A;

	--CONTACT_GRAY:rgb(93, 93, 93);
	--MAIN_RED:#ca2b21;
	--BTN_BLACK:#505050;
	--FONT_GRAY:#4D4D4D;
	--FONT_SILVER:#AAA;

	--SPAN_RED:#C92020;

	--CONTENTS_BORDER_GRAY:#DBDBDB;

	--KEY_TITLE_BLACK:#2A2A2A;

	--CALENDER_TITLE_GRAY:#E9E9E9;

	--CONTAINER_YELLOW:#FAF3E8;
	--CONTAINER_BORDER_GRAY:#B1B1B1;

	--DOORKEY_BG_GRAY:#F1F1F1;

	--INFORMATION_GRAY:#C0C0C0;
	--INFORMATION_TXT_GRAY:rgba(192, 192, 192,.27);
	
	--FOOTER_LINK_BLUE:#009FE8;
	--FAT_NAV_GRAY:#F2F2F2;
	--FAT_NAV_BORDER_GRAY:rgba(93, 93, 93,.5);

	/* フォントサイズ */
	--FZ_80: clamp(50px, 8vw, 80px);
	--FZ_60: clamp(50px, 6vw, 60px);
	--FZ_50: clamp(40px, 4vw, 50px);
	--FZ_40: clamp(30px, 4vw, 40px);
	--FZ_38: clamp(24px, 2.5vw, 38px);
	--FZ_32: clamp(21px, 2.4vw, 32px);
	--FZ_26: clamp(17px, 2.4vw, 24px);
	--FZ_22: clamp(16px, 2vw, 20px);
	--FZ_20: clamp(14px, 1.8vw, 18px);
	--FZ_18: clamp(12px, 1.7vw, 17px);
	--FZ_18_SPL: clamp(15px, 1.7vw, 17px);
	--FZ_16: clamp(14px, 1.5vw, 15px);
	--FZ_BASE: clamp(16px, 1.5vw, 20px);
	--FZ_15: clamp(13px, 1.5vw, 15px);
	--FZ_14: clamp(12px, 1.4vw, 14px);
	--FZ_12_CONST: 12px;
	--FZ_10_CONST: 10px;

	/* 間隔 */
	--SPACE_260: clamp(72px, 24vw, 240px);
	--SPACE_150: clamp(72px, 15vw, 150px);
	--SPACE_130: clamp(64px, 13vw, 130px);
	--SPACE_100: clamp(40px, 7vw, 100px);
	--SPACE_80: clamp(40px, 6vw, 80px);
	--SPACE_75: clamp(30px, 5vw, 75px);
	--SPACE_70: clamp(20px, 5vw, 70px);
	--SPACE_60: clamp(20px, 6vw, 60px);
	--SPACE_50: clamp(26px, 5vw, 50px);
	--SPACE_50_SPL: clamp(40px, 5vw, 50px);
	--SPACE_50_SPS: clamp(10px, 3vw, 50px);
	--SPACE_40: clamp(26px, 4vw, 40px);
	--SPACE_35: clamp(18px, 2.5vw, 35px);
	--SPACE_30: clamp(10px, 2.2vw, 26px);
	--SPACE_20: clamp(10px, 1.4vw, 20px);
	--SPACE_20_SPL: clamp(15px, 1.4vw, 20px);
	--SPACE_16: clamp(8px, 1vw, 16px);
	--SPACE_10: 10px;
}
/* リセットCSS */
*{margin:0;padding:0;min-height: 0;min-width: 0;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;}
html {height:100%;}
ul li {list-style:none;}
h1,h2,h3,h4,h5,h6{font-weight: normal;font-size: 100%;margin: 0;}
p{margin: 0;}
a:focus, *:focus{ outline:none; }
article, header, footer, aside, figure, figcaption, nav, section,main{ 
  display:block;
}
body{
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic,  "メイリオ", Meiryo, sans-serif;
	font-weight: 500;
	height:auto;
	width:100%;
	color: var(--MAIN_BLACK);
	position:relative;
	z-index: 0;
}
a:not(:root){
	text-decoration: none;
	outline: none;
}

a img,a{
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s;
}
img{
	height: auto;
	max-width: 100%;
	box-sizing: unset;
	vertical-align: bottom;
}

::placeholder{color: var(--MAIN_BLACK); opacity: .9;}
button{
	cursor: pointer;
}
/* フォントCSS */
.montserrat{
	font-family: 'Montserrat',sans-serif;
}
/* img用クラス */
.imgauto{
	height: auto;
	width: 100%;
	box-sizing: unset;
	line-height: 1rem;
	display: block;
}
.imgauto-h{
	height: 100%;
	width: 100%;
	box-sizing: unset;
	line-height: 1rem;
	display: block;
	object-fit: cover;
}

/* インナー設定 */
.inner,
.pc-inner,
.sp-inner{
	margin-left: auto;
	margin-right: auto;
}
/* フレックス */
.flex{
	display: flex;
}
.fxw{
	display: flex;
	flex-wrap: wrap;
}
.jcsb{
	display: flex;
	justify-content: space-between;
}
/* スライダー読み込みまで非表示 */
.slide{
	opacity: 0;
	transition: opacity .3s linear;
}
.slide.slick-initialized{
	opacity: 1;
}
/* スクロールバー消す */
.y-scroll,
.x-scroll{
	-ms-overflow-style: none;/* IE, Edge 対応 */
	scrollbar-width: none; /* Firefox 対応 */
}
.y-scroll{
	overflow-y: scroll;
	overflow-x: auto;
}
.x-scroll{
	overflow-x: scroll;
	overflow-y: auto;
}
.y-scroll::-webkit-scrollbar,
.x-scroll::-webkit-scrollbar{/* Chrome, Safari 対応 */
	display: none;
}
/* 縦書き */
.tategaki{
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-o-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

@media screen and (min-width: 768px){
	body{
		font-size: 15px;
		line-height: 1.7;
		-ms-text-size-adjust: 100%;
		-webkit-text-size-adjust: 100%;
	}
	a:hover{
		opacity: 0.7;
		text-decoration: none;
	}
	a:hover img{
		opacity:0.75 !important;
	}
	a[href^="tel:"] {
		pointer-events: none;
	}
	.sp{
		display: none !important;
	}
	.hamburger{
		display: none !important;
	}
}
@media screen and (max-width: 767px){
	body{
		font-size: 14px;
		line-height: 1.6;
	}
	.pc{
		display: none !important;
	}
}
/* --------------------全ページ共通部分------------------- */
/* CSS関数設定 */
:root{
	--sp_mag:calc(1 - (375 / 1440));
	--sp_mag_small:calc(1 - (375 / 1680));

	--wrapper_max_width:1230px;
	--wrapper_width:90%;
}
@media screen and (min-width: 768px){
	:root{
		--section_pdd:30px;
	}
}
@media screen and (max-width: 767px){
	:root{
		--section_pdd:20px;
	}
}
/**** セクション汎用クラス ****/
.g-sec{
	padding: var(--section_pdd) 0;
}

/**** ラッパー汎用クラス ****/
.g-wrapper{
	max-width: var(--wrapper_max_width);
	width: var(--wrapper_width);
	margin-inline: auto;
}

/**** FIXED_MENU ****/

.g-fixed__contact{
	position: fixed;
	z-index: 999998;
}
.g-fixed__contact a{
	display: block;
	color: var(--MAIN_WHITE);
}
.g-fixed__contact__thumb{
	width: 35px;
	margin: 0 auto 10px;
}
.g-fixed__contact__close{
	position: absolute;
	width: 2em;
	aspect-ratio: 1;
	top: 0px;
	right: 0px;
	pointer-events: auto;
	cursor: pointer;
}

.g-fixed__contact__close:after,
.g-fixed__contact__close:before{
	content: '';
	position: absolute;
	width: 1em;
	height: 2px;
	top: 50%;
	left: 50%;
	background-color: var(--MAIN_WHITE);
}
.g-fixed__contact__close:after{
	transform:translate(-50%, -50%) rotate(45deg);
}
.g-fixed__contact__close:before{
	transform:translate(-50%, -50%) rotate(-45deg);
}

/**** 汎用ボタン ****/
.g-btn{
	max-width: 460px;
	text-align: center;
}

.g-btn > a{
	background: var(--MAIN_RED) url(https://kagi.itembox.design/item/asset2023/images/common/icon_arrow_white.png) no-repeat 92.5% center / .6em;
	border-radius: 40px;
	text-align: center;
	display: block;
	color: var(--MAIN_WHITE) !important;
}

.g-btn > a > span{
	padding-block: .5em;
	padding-inline: calc(1.5em + 15px);
	background: url(https://kagi.itembox.design/item/asset2023/images/common/icon_key_white.svg) no-repeat left center / 1.5em;
}

/* カレンダー */
.g-calender__contents__main:empty{
  background-color: var(--CONTACT_GRAY);
  height: 235px;
  position: relative;
  margin-bottom: 10px;
	width: 100%;
}
.g-calender__contents__main:empty:after{
  content: '読み込み中…';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--MAIN_WHITE);
}
.top-calender__contents{
	container: calender_container_parents / inline-size;
}
.g-calender__contents__main{
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
	container: calender_container / inline-size;
}


.g-calender__contents__main table{
	text-align: center;
	border-collapse:collapse;
	--small_size:11;
	--large_size:14;
	--clamp:clamp(calc(var(--small_size) * 1px), calc((var(--small_size) / 768) * 100vw),calc(var(--large_size) * 1px));
	font-size: var(--clamp);

}
.g-calender__contents__main .calendarHeader{
	--small_size:13;
	--large_size:17;
	--clamp:clamp(calc(var(--small_size) * 1px), calc((var(--small_size) / 768) * 100vw),calc(var(--large_size) * 1px));
	font-size: var(--clamp);
}

.g-calender__contents__main table tr:not(:first-child) :is(th,td){
	border-bottom: 1px solid var(--MAIN_BLACK);
	width: 14%;
}
.g-calender__contents__main .youbi_0,
.g-calender__contents__main .youbi_6,
.g-calender__contents__main .closed{
	background-color: var(--MAIN_RED);
	color: var(--MAIN_WHITE);
	padding: 2px 5px;
}
.g-calender__contents__main table tr:not(:first-child):not(:last-child) .youbi_0,
.g-calender__contents__main table tr:not(:first-child):not(:last-child) .youbi_6,
.g-calender__contents__main table tr:not(:first-child):not(:last-child) .closed{
	border-bottom: 1px solid var(--MAIN_WHITE);
}

.g-calender__contents__ttl{
  text-align: center;
  background-color: var(--CALENDER_TITLE_GRAY);
  margin-bottom: 10px;
}

.g-calender__contents__local{
  font-size: 14px;
}
.g-calender__contents__local > span{
  color: var(--MAIN_RED);
}
.g-calender__banners__list{
  display: flex;
  flex-flow: column;
  gap: 20px;
}


@media screen and (min-width: 768px){
	.g-fixed__contact{
		right: 0;
		top: 18%;
		display: block !important;
	}
	.g-fixed__contact > a{
		border-radius: 10px 0 0 10px;
		background: var(--CONTACT_GRAY);
		padding: 20px 10px 10px;
	}
	.g-btn > a{
		font-size: 21px;
		padding-block: .6em;
	}
	.g-btn{
		width: 80%;
		margin-inline: auto;
	}
	.g-calender__contents__main{
		gap: 10cqi;
	}
	.g-calender__contents__main table{
		width: 45cqi;
	}
	.g-calender__contents__ttl{
		font-weight: bold;
		font-size: 18px;
		padding-block: 3px;
	}
	
}
@media screen and (max-width: 767px){
	.g-fixed__contact{
		right: 5%;
		top: calc(80% - 40px);
		font-size: 12px;
	}
	.g-fixed__contact > a{
		border-radius: 10px 10px 10px 10px;
		background: rgba(93, 93, 93,.9);
		padding: 14px 6px 5px;
	}
	.g-btn > a{
		font-size: 14px;
		padding-block: 1em;
	}
	.g-btn{
		margin-inline: auto;
	}
	.g-calender__contents__main{
		gap: 5cqi;
	}

	.g-calender__contents__main table{
		width: 47.5cqi;
	}
	.g-calender__contents__ttl{
		font-size: 16px;
		padding-block: 3px;
	}
}

/* --------------------header------------------- */
header{
	width: 100%;
	/* transition: .8s; */
	margin-bottom: 10px;
	z-index: 999998;
	background-color: var(--MAIN_WHITE);
	position: relative;
}
header a:not(:root){
	color: var(--MAIN_BLACK);
}

.hd-wrapper{
	max-width: var(--wrapper_max_width);
	width: var(--wrapper_width);
	margin-inline: auto;
}

.hd-caption{
	color: var(--MAIN_WHITE);
	text-align: center;
	line-height: 2;
	background-color: var(--HEADER_CAPTION_BLACK);
	font-weight: bold;
}

.hd-caption > span{
	padding-right: calc(1.3em + 10px);
	background: url(https://kagi.itembox.design/item/asset2023/images/common/icon_track_white.svg) no-repeat right center / 1.3em;
}
.hd-contents__btm{
	position: relative;
	background-color: var(--HEADER_CONTAINER_YELLOW);
}

.hd-contents__btm__container{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	padding-block: 10px;
	z-index: 1;
}
/* form初期化 */
.hd-contents__btm__form input[type="button"],
.hd-contents__btm__form input[type="text"],
.hd-contents__btm__form input[type="submit"],
.hd-contents__btm__form textarea,
.hd-contents__btm__form select,
.hd-contents__btm__form button{
	-webkit-appearance: none;
	font: revert;
	border-radius: 0;
	border: none;
	font-size: 16px;
	color: var(--MAIN_BLACK);
	background-color: transparent;
	width: auto;
	padding: 0;
	min-height: auto;
	line-height: normal;
}
.hd-contents__btm__form{
	display: flex;
	min-width: 240px;
	position: relative;
}
.hd-contents__btm__form > input[type="text"]{
	padding: 10px 15px;
	border-radius: 20px;
	background-color: var(--MAIN_WHITE);
	width: 100%;
}
.hd-contents__btm__form > button{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 15px;
	width: 20px;
	aspect-ratio: 1;
	background: url(https://kagi.itembox.design/item/asset2023/images/common/icon_search.svg) no-repeat center / contain;
}
[class*="hd-contents__account"]{
	gap: 10px;
}
.hd-contents__btm__js{
	display: none;
	flex-shrink: 0;
}
.g-fixed__account{
	z-index: 1000000;
	width: 100%;
}
.g-fixed__account a:not(:root){
  color: inherit;
}

.g-fixed__account__hamburger{
	width: 35px;
	height: 35px;
}
.g-fixed__flexcontainer{
	display: flex;
	justify-content: space-between;
}
.hd-contents__top__thumb{
	display: flex;
	align-items: center;
}
.hd-contents__account--top.dummy{
	visibility: hidden;
}
.hd-contents__account--top{
	flex-shrink: 0;
	align-items: center;
}


[class*="hd-contents__account"] > li a{
	background-color: var(--MAIN_RED);
	color: var(--MAIN_WHITE) !important;
	border-radius: 50%;
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	width: var(--aspect_width);
	height: var(--aspect_width);
	gap: 10px;
	position: relative;
}
.hd-contents__account--top{
	--small_size:10;
	--large_size:12;
	--clamp:clamp(calc(var(--small_size) * 1px), calc((var(--small_size) / 768) * 100vw),calc(var(--large_size) * 1px));
	font-size: var(--clamp);
}
.hd-contents__account--btm{
	font-size: calc(10px * .9);
}
[class*="hd-contents__account__thumb"]{
	margin-inline: auto;
	position: relative;
}
[class*="hd-contents__account__thumb"] span.num:empty{
	display: none;
}
[class*="hd-contents__account__thumb"] span.num{
	position: absolute;
	aspect-ratio: 1;
	transform: translate(50%, -50%);
	border-radius: 50%;
	color: var(--MAIN_BLACK);
	background-color: var(--FONT_SILVER);
	padding: .6em;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
}

.hd-contents__account__ttl{
	line-height: 1.2;
	text-align: center;
}
.hd-contents__account__ttl--company{
	line-height: 1.2;
	text-align: center;
	color: var(--MAIN_RED);
	background-color: var(--MAIN_WHITE);
	font-size: 1.4em;
	padding: 4px 20px;
	border-radius: 40px;
}
.hd-contents__top{
	justify-content: center;
	gap: 20px;
}

.hd-contents__guide__tags ul{
	display: grid;
	row-gap: 10px;
	column-gap: 10px;
}

.hd-contents__guide__tags li{
	border: 1px solid var(--MAIN_BLACK);
	padding: 0px 1em;
	border-radius: 1.5em;
	text-align: center;
	--small_size:10;
	--large_size:14;
	--clamp:clamp(calc(var(--small_size) * 1px), calc((var(--small_size) / 768) * 100vw),calc(var(--large_size) * 1px));
	font-size: var(--clamp);
}
.hd-contents__guide__phone{
	--small_size:18;
	--large_size:30;
	--clamp:clamp(calc(var(--small_size) * 1px), calc((var(--small_size) / 768) * 100vw),calc(var(--large_size) * 1px));
	font-size: var(--clamp);
	line-height: 1.3;
}
.hd-contents__guide__phone__mail{
	font-size: .75em;
	background: url(https://kagi.itembox.design/item/asset2023/images/common/icon_mail_black.svg) no-repeat center left / 1.2em;
}

.hd-contents__guide__phone__num{
	font-weight: bold;
	background: url(https://kagi.itembox.design/item/asset2023/images/common/icon_phone.png) no-repeat 0% center / .8em;
}

.hd-contents__guide--top{
	gap: 20px;
	align-items: center;
}

.hd-contents__guide--btm{
	--small_size:14;
	--large_size:18;
	--clamp:clamp(calc(var(--small_size) * 1px), calc((var(--small_size) / 768) * 100vw),calc(var(--large_size) * 1px));
	font-size: var(--clamp);
	font-weight: bold;
	gap: 10px 5.3%;
}
.hd-contents__list > li{
	padding-left: var(--pdl,calc(1em + 10px));
	background: var(--icon) no-repeat left center / 1.2em;
}
.hd-contents__list__book{
	--icon:url(https://kagi.itembox.design/item/asset2023/images/common/icon_book.svg);
}
.hd-contents__list__track{
	--icon:url(https://kagi.itembox.design/item/asset2023/images/common/icon_track_red.svg);
}
.hd-contents__list__box{
	--icon:url(https://kagi.itembox.design/item/asset2023/images/common/icon_box_red.svg);
}
.hd-contents__list__question{
	--icon:url(https://kagi.itembox.design/item/asset2023/images/common/icon_question.svg);
}
.hd-contents__list__company{
	--pdl:0;
}
.hd-contents__list__company > a{
	border: 1px solid var(--MAIN_RED);
	border-radius: 40px;
	padding: 4px 20px;
	color: var(--MAIN_WHITE) !important;
	background-color: var(--MAIN_RED);
}
.hd-contents__btm__link{
	font-weight: bold;
	line-height: 1;
	--small_size:12;
	--large_size:18;
	--clamp:clamp(calc(var(--small_size) * 1px), calc((var(--small_size) / 768) * 100vw),calc(var(--large_size) * 1px));
	font-size: var(--clamp);
}
.hd-contents__btm__link > li{
	padding-inline: 1.25em;
}
.hd-contents__btm__link > li:not(:last-child){
	border-right: 1px solid var(--MAIN_BLACK);
}
.hd-contents__btm__link a{
	padding-block: 30px;
}
.hd-contents__btm__link > li > p{
	cursor: pointer;
}
.hd-contents__btm__link > li:has(.hvr-show) > p:after{
	content: '';
	display: inline-block;
	vertical-align: bottom;
	margin-left: 5px;
	height: 1em;
	aspect-ratio: 1;
	background: url(https://kagi.itembox.design/item/asset2023/images/common/icon_arrow_black.svg) no-repeat center / contain;
	transform: rotate(90deg);
	transition: transform .4s;
}

.hd-contents__btm__link > li:has(.hvr-show).active > p:after{
	transform: rotate(270deg);
}

.hvr-show{
	pointer-events: none;
	visibility: hidden;
	opacity: 0;
	z-index: -1;
	transition: .3s;
	position: absolute;
	top: calc(100% - 40px);
	left: 50%;
	transform: translateX(-50%);
	background-color: var(--HEADER_CONTAINER_YELLOW);
	padding: 40px;
	width: calc(100 * var(--vw));
	box-shadow: 0px 15px 25px -15px  var(--MAIN_BLACK);
}
.hvr-show .g-key__contents::-webkit-scrollbar{
	width: 10px;
}
.hvr-show .g-key__contents::-webkit-scrollbar-track{
	background-color: transparent;
}
.hvr-show .g-key__contents::-webkit-scrollbar-thumb{
	background-color: var(--MAIN_RED);
	border-radius: 8px;
}
/* .hd-contents__btm__link > li:hover .hvr-show,
.hd-contents__btm__link > li > a:hover ~ .hvr-show{
	pointer-events: auto;
	visibility: visible;
	opacity: 1;
	z-index: -1;
} */
.hd-contents__btm__link > li.additional-accordion.active .hvr-show{
	pointer-events: auto;
	visibility: visible;
	opacity: 1;
	z-index: -1;
}

.g-key__contents{
	background-color: var(--MAIN_WHITE);
	border: 1px solid var(--CONTENTS_BORDER_GRAY);
	border-radius: 8px;
	padding: 20px 40px;
	max-width: 1440px;
	margin-inline: auto;
	min-height: 315px;
}
.g-key__ttl{
	background-color: var(--KEY_TITLE_BLACK);
	color: var(--MAIN_WHITE);
	text-align: center;
	padding: .4em;
}

[class*="g-key__list__ttl"]{
	padding-left: calc(1em + 10px);
}


.g-key__list__ttl{
	border-bottom: 1px solid var(--CONTENTS_BORDER_GRAY);
}
.g-key__list__card{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 20px;
	row-gap: 20px;
}
.g-key__list__card--mini{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 20px;
	row-gap: 20px;
}
.g-key__list__card--top{
	display: grid;
}

.g-key__list__card__thumb{
	margin-bottom: 10px;
}
.g-key__list__card .g-key__list__card__ttl,
.g-key__list__card--top .g-key__list__card__ttl{
	text-align: center;
	line-height: 1.4;
}

.g-key__list__card--mini .g-key__list__card__ttl{
	text-align: center;
	font-size: 10px;
	height: 20px;
}

.g-key__list--prevention{
	--icon_url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_prevention.svg);
	--icon_size:1em;
}

.g-key__list--padlock{
	--icon_url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_padlock.svg);
	--icon_size:1em;
}
.g-key__list--dementia{
	--icon_url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_dementia.svg);
	--icon_size:1.3em;
}
.g-key__list--key{
	--icon_url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_key_red.svg);
	--icon_size:1.2em;
}
.g-key__list--door{
	--icon_url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_door.svg);
	--icon_size:1.2em;
}
.g-key__list--handle{
	--icon_url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_handle.png);
	--icon_size:1.4em;
}
.g-key__list--calculator{
	--icon_url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_calculator.svg);
	--icon_size:1em;
}
/* top用 */
.g-key__list--top{
	grid-column-start: 1;
	grid-column-end: 3;
	display: flex;
	flex-flow: column;
}
.g-key__grid--top > [class*="g-key__list"]:not(:last-child){
	border-bottom: 1px solid var(--CONTENTS_BORDER_GRAY);
}
.g-key__list__card__ttl{
	font-size: 13px;
	text-align: center;
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.hd-wrapper{
	max-width: var(--wrapper_max_width);
	margin-inline:auto;
}

/* タブ切り替え */

.tab-content{
	display:none;
}
.tab-content.active{
	display:block;
}

[class*="tabnav"]{
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	column-gap: 20px;
	row-gap: 20px;
	margin-bottom: 45px;
}
[class*="tabnav"] > li{
	cursor: pointer;
	z-index: 1;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
[class*="tabnav"] > li:not(:nth-child(5n)):before{
	content: '';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -10px;
	width: 1px;
	height: .8em;
	background-color: var(--HEADER_BORDER_GRAY);
}
[class*="tabnav"] > li > span:after{
	content: '';
	position: absolute;
	width: 0%;
	height: 8px;
	transition: .3s;
	z-index: -1;
	background-color: var(--MAIN_RED);
	top: calc(50% + 1.3em);
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 15px;
}
[class*="tabnav"] > li.active > span:after{
	width: 80%;
}

.g-key__grid--regular{
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	column-gap: 20px;
	row-gap: 20px;
}

[class*="tabnav"] span{
	--small_size:12;
	--large_size:18;
	--clamp:clamp(calc(var(--small_size) * 1px), calc((var(--small_size) / 768) * 100vw),calc(var(--large_size) * 1px));
	font-size: 15px;
	padding: .6em .6em .6em;

	background: var(--icon_url) no-repeat center left / var(--icon_size);
	padding-left: calc(var(--icon_size) + 10px);
}
.tab-content__list{
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	column-gap: 20px;
	row-gap: 20px;
}
[class*="tabnav"] span.prevention{
	--icon_url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_prevention.svg);
	--icon_size:1em;
}
[class*="tabnav"] span.padlock{
	--icon_url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_padlock.svg);
	--icon_size:1em;
}
[class*="tabnav"] span.dementia{
	--icon_url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_dementia.svg);
	--icon_size:1.3em;
}
[class*="tabnav"] span.key{
	--icon_url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_key_red.svg);
	--icon_size:1.2em;
}
[class*="tabnav"] span.door{
	--icon_url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_door.svg);
	--icon_size:1.2em;
}
[class*="tabnav"] span.handle{
	--icon_url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_handle.png);
	--icon_size:1.4em;
}
[class*="tabnav"] span.calculator{
	--icon_url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_calculator.svg);
	--icon_size:1em;
}

.tab-content__list__ttl{
	font-size: 13px;
	text-align: center;
}
@media screen and (min-width: 1181px){
	.hd-contents__guide--top{
		padding-right: 180px;
	}
	.hd-contents__guide__tags ul{
		grid-template-columns: 162px 15.2em;
	}
}
@media screen and (min-width: 768px) and (max-width: 1180px){
	.hd-contents__guide__tags ul{
		grid-template-columns: 1fr;
	}
}
@media screen and (min-width: 768px){
	.hd-contents__top__thumb{
		max-width: 265px;
	}
	.hd-contents__guide__phone__mail{
		padding-left: calc(1em + 10px);
	}
	.hd-contents__guide__phone__num{
		padding-left: calc(1em - 2px);
	}
	.hd-contents__guide--top{
		margin-bottom: 10px;
	}
	.g-key__list__card--top{
		column-gap: 30px;
		row-gap: 10px;
		grid-template-columns: repeat(auto-fit, minmax(var(--min_size),1fr));
		--min_size:220px;
	}
	.g-key__grid--top > [class*="g-key__list"]{
		padding-block: 30px;
	}
	.g-key__list__card .g-key__list__card__ttl{
		font-size: 14px;
	}
	.g-key__list__card--top .g-key__list__card__ttl{
		font-size: 16px;
	}
	.g-key__ttl{
		font-size: 22px;
		margin-bottom: 20px;
		font-weight: bold;
	}
	.g-key__list__ttl,
	.g-key__list__ttl--top{
		padding-block: 0.2em;
		margin-bottom: 10px;
		padding-bottom: 10px;
		background: var(--icon_url) no-repeat 0% calc(50% - 5px) / var(--icon_size);
	}
	.g-key__list__ttl{
		--small_size:12;
		--large_size:18;
		--clamp:clamp(calc(var(--small_size) * 1px), calc((var(--small_size) / 768) * 100vw),calc(var(--large_size) * 1px));
		font-size: var(--clamp);
	}
	.g-key__list__ttl--top{
		font-size: 24px;
	}
	.hd-contents__top{
		padding: 20px;
	}
	.g-fixed__account{
		position: absolute;
		left: 0;
		top: 10px;
	}
	.g-fixed__account__hamburger{
		opacity: 0;
	}

	[class*="hd-contents__account"] > li a{
		--aspect_width:6.5em;
		padding: 1.2em .5em;
	}
	.hd-contents__account__thumb--mypage{
		width: 1.7em;
	}
	.hd-contents__account__thumb--cart{
		width: 2em;
	}
	.g-key__list__card--alone{
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		column-gap: 20px;
		row-gap: 20px;
	}
	.hd-wrapper{
		width: 95%;
	}
	[class*="hd-contents__account__thumb"] span.num{
		top: -8px;
		right: -8px;
	}
	.hd-caption{
		font-size: 16px;
	}
	/* スクロールしたら */
	body.scroll header{
		opacity: 0;
		animation: fadeIn .5s ease-in-out .6s forwards;
		z-index: 99;
		position: fixed;
		top: 0;
		left: 0;
		box-shadow: 0px 15px 25px -15px  var(--MAIN_BLACK);
	}
	body.scroll .hd-caption,
	body.scroll .hd-contents__top{
		display: none;
	}
	body.scroll .hd-contents__btm__js{
		display: flex;
		position: relative;
		z-index: 12;
	}
}
@media screen and (max-width: 767px){
	.hd-wrapper{
		width: var(--wrapper_width);
	}
	.hd-contents__top__thumb{
		max-width: 135px;
	}
	.hd-contents__top{
		padding-top: 80px;
		gap: 10%;
	}
	.hd-contents__guide{
		display: flex;
		flex-flow: column;
		justify-content: center;
	}
	.hd-contents__guide__phone__mail{
		margin-bottom: 5px;
	}
	.hd-contents__guide__phone__mail{
		padding-left: calc(1em + 8px);
	}
	.hd-contents__guide__phone__num{
		padding-left: calc(1em + 0px);
	}
	.hd-contents__btm__form input{
		flex: 1;
	}
	.g-key__list__card--top{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 20px;
		row-gap: 10px;
	}
	.g-key__list.alone{
		padding-inline: 26.7%;
	}
	.g-key__grid--top > [class*="g-key__list"]:not(:first-child){
		padding-block: 20px;
	}
	.g-key__grid--top > [class*="g-key__list"]:not(.alone):first-child{
		padding-bottom: 20px;
	}
	.g-key__list__card .g-key__list__card__ttl,
	.g-key__list__card--top .g-key__list__card__ttl{
		font-size: 12px;
	}
	.g-key__ttl{
		font-size: 16px;
		margin-bottom: 10px;
		font-weight: bold;
	}
	[class*="g-key__list__ttl"]{
		font-size: 16px;
		padding-block: 0.2em;
		margin-bottom: 5px;
		padding-bottom: 5px;
		background: var(--icon_url) no-repeat 0% calc(50% - 2.5px) / var(--icon_size);
	}
	.g-key__list.alone .g-key__list__card{
		--min_size:0;
	}
	.hd-contents__top{
		padding: 60px 10px 10px 10px;
	}
	.g-fixed__account{
		position: sticky;
		background-color: var(--MAIN_RED);
		left: 0;
		top: 0px;
		margin-top: -189px;
		margin-bottom: 138px;
	}
	.fat-fixed__account{
		background-color: var(--MAIN_RED);
	}
	.g-fixed__account .hd-contents__account--top > li a{
		flex-flow: row;
		width: auto;
	}
	.fat-fixed__account .hd-contents__account--top > li a	{
		flex-flow: row;
		width: auto;
		padding: 0 1em;
	}
	.g-fixed__account__hamburger{
		opacity: 1;
		flex-shrink: 0;

	}
	.hd-contents__btm__form{
		flex: 1;
	}
	.g-fixed__flexcontainer{
		padding-block: 6px;
	}
	.hd-contents__account__thumb--mypage{
		width: 14px;
	}
	.hd-contents__account__thumb--cart{
		width: 17px;
	}
	[class*="hd-contents__account__thumb"] span.num{
		top: -3px;
		right: 0px;
	}
	.hd-caption{
		font-size: 14px;
		padding-block: 5px;
	}
}

/* --------------------footer------------------- */
footer{
	background-color: var(--HEADER_CONTAINER_YELLOW);
}
footer a:not(:root){
	color: inherit;
}
.ft-banner__list{
	column-gap: 40px;
	row-gap: 20px;
}
.ft-guide__list{
	column-gap: 5cqi;
	row-gap: 10px;
}

.ft-guide__list > li{
	flex: 1;
}
.icon_wallet{--url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_wallet.svg);}
.icon_track{--url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_track_black.svg);}
.icon_box{--url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_box_black.svg);}
.icon_company{--url:url(https://kagi.itembox.design/item/asset2023/images/common/icon_company.svg);}
.ft-guide__list__ttl{
	padding-left: calc(1.2em + 10px);
	padding-block: .5em;
	border-bottom: 1px solid var(--MAIN_BLACK);
	background: var(--url) no-repeat left center / 1.2em 1.2em;
	margin-bottom: calc(.5em + 10px);
	font-weight: bold;
}
.ft-guide__caption{
	display: flex;
	flex-flow: column;
	gap: 1em;
}
.ft-guide__caption__min{font-weight: bold;}
.ft-guide__caption__min::before{
	content: '●';
}

[class*="ft-guide__caption__local"] > a{
	color: var(--FOOTER_LINK_BLUE);
	vertical-align: middle;
}
[class*="ft-guide__caption__local"] > span.red{
	color: var(--MAIN_RED);
	font-size: 1.5em;
}
.ft-guide__caption__thumb--card{
	max-width: 280px;
}
.ft-guide__caption__thumb--pay{
	max-width: 220px;
}
.ft-guide__caption__thumb--yamato{
	max-width: 140px;
	margin-block: 10px;
}
.ft-guide__caption__thumb--time{
	margin-block: 20px;
}

.ft-guide__caption__local--mgb{
	margin-bottom: 1em;
}
.ft-guide__caption__local__block{
	display: inline-block;
	vertical-align: top;
}
.ft-guide__caption__local__block > span{
	display: block;
}
.ft-guide__rowlist{
	display: flex;
	flex-flow: column;
	row-gap: 30px;
}
.ft-inner{
	max-width: 1030px;
	margin-inline: auto;
}
.ft-calender__container{
	background-color: var(--MAIN_WHITE);
	column-gap: 6cqi;
	container: ft-calender_container / inline-size;
}

.ft-calender__container__txt{
	flex: 1;
}
.ft-proof__list{
	display: grid;
	padding-bottom: 80px;
}

.ft-proof__list > li > a{
	background-color: var(--MAIN_WHITE);
	border-radius: 8px;
	align-items: center;
	gap: 20px;
}

.ft-proof__list__thumb{
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ft-proof__list__local{
	flex: 1;
	font-size: 13px;
	padding-block: 1em;
}

.ft-small_main > span.sub > a{
	padding-inline: 1em;
	position: relative;
}
.ft-small_main > span.sub > a:not(:last-child)::after{
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 100%;
	background-color: var(--MAIN_WHITE);
	width: 1px;
	height: 100%;
}
.ft-small{
	container: small_container / inline-size;
	background-color: var(--MAIN_RED);
	color: var(--MAIN_WHITE);
	padding-block: 1.5em;
}

@container small_container (min-width: 906px){
	.ft-small_main{
		justify-content: space-between;
	}
}


@container small_container (max-width: 905px){
	.ft-small_main{
		flex-flow:column;
		text-align:center;
		justify-content: center;
		gap: 10px;
	}
	.ft-small_main > span.min{
		font-size: 10px;
	}
	.ft-small_main > span.sub{
		font-size: 12px;
	}
	.ft-small_main > span.min{
		order: 2;
	}
	.ft-small_main > span.sub{
		order: 1;
	}
}

@media screen and (min-width: 768px){
	footer{
		padding-top: 80px;
	}
	.ft-guide__list__ttl{
		font-size: 24px;
	}
	.ft-guide__caption__min{
		font-size: 16px;
	}
	[class*="ft-guide__caption__local"]{
		font-size: 12px;
	}
	.ft-banner__list{
		margin-bottom: 60px;
	}
	.ft-calender__container{
		margin-bottom: 60px;
		width: 90%;
		margin-inline: auto;
		padding: 40px 60px;
	}
	.ft-proof__list{
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(2, 1fr);
		column-gap: 30px;
		row-gap: 30px;
	}
	.ft-proof__list__thumb{
		width: 135px;
	}
	.ft-proof__list > li > a{
		padding-inline: 40px;
		height: 100%;
	}
	.ft-guide__list{
		padding-bottom: 80px;
	}

	.ft-small_main > span{
		font-size: 14px;
	}
	.ft-guide__caption__thumb--time{
		max-width: 330px;
	}
	.ft-calender__container .g-calender__contents__main{
		width: 60%;
	}
	.ft-calender__container .g-calender__contents__main{
		 gap: 6cqi;
	}
}
@media screen and (max-width: 767px){
	footer{
		padding-top: 40px;
	}
	.ft-banner__list{
		flex-flow: column;
		margin-bottom: 20px;
	}
	.ft-guide__list__ttl{
		font-size: 20px;
	}
	.ft-guide__caption__min{
		font-size: 15px;
	}
	[class*="ft-guide__caption__local"]{
		font-size: 12px;
	}
	.ft-calender__container{
		flex-flow: column;
		margin-bottom: 40px;
		padding: 30px 5%;
	}
	.ft-proof__list{
		grid-template-columns: repeat(1, 1fr);
		column-gap: 30px;
		row-gap: 20px;
	}
	.ft-proof__list__thumb{
		width: 125px;
	}
	.ft-proof__list__thumb img{
		max-height: 120px;
		object-fit: contain;
	}
	.ft-proof__list > li > a{
		padding: 0 20px;
	}
	.ft-proof__list > li:nth-child(2) .ft-proof__list__thumb img{
		width: 80%;
		margin-inline:auto;
	}
	.ft-guide__list{
		flex-flow: column;
		padding-bottom: 80px;
	}
	.ft-calender__container__txt{display: contents;}
	.g-calender__contents__local{order: 3;}
	.ft-guide__caption__thumb--time{
		max-width: 280px;
	}

	.ft-calender__container .g-calender__contents__main{
		 gap: 5cqi;
	}
	.ft-proof__list__local{
		font-size: 11px;
		padding-block: 10px;
	}
}
.login.my-true,
.logout.my-false{
	display: none;
}
[class*="hd-contents__account__thumb"] span.num.fs-client-cart-count--0{display: none;}
.fs-p-searchForm__input.fs-p-inputGroup__input{
	font-size: 13px;
	background-color: var(--MAIN_WHITE);
	padding-left: 5px;
}
.fs-p-searchForm__input.fs-p-inputGroup__input::placeholder{
	opacity: .8;
}
.fs-p-scrollingCartButton{
	display: none !important;
}
.fs-c-button--secondary .fs-c-button__label,
.fs-c-button--primary .fs-c-button__label{
	color: var(--MAIN_WHITE);
}
.fs-c-button--standard > .fs-c-button__label{
	color: var(--MAIN_BLACK);
}

.loginlink.fs-clientInfo.is-ready {
	display: block;
	text-align: center;
	margin-bottom: 60px;
}
a.button01{
	color: var(--MAIN_WHITE);
}
.fs-c-breadcrumb {
	max-width: 1216px;
	margin-inline:auto;
	font-size: 1.2rem;
}

@media screen and (min-width: 768px){
	.fs-c-breadcrumb {
		padding: 16px;
	}
}
@media screen and (max-width: 767px){
	.fs-c-breadcrumb {
		padding: 8px;
	}
}
.fs-c-productImageModal{
	display: flex;
	align-items: center;
}
.fs-c-productImageModal__close{
	top: 100px;
}

.fs-c-variationList__item .fs-c-button--addToWishList--icon.fs-c-button--particular{
	display: none;
}
.fs-c-productImageModal{
	z-index: 9999999;
}

/* 0516追加 */
#fs_ProductCategory .fs-c-productList__list .fs-c-productListItem__image__image{
	width: 100%;
}
@media screen and (min-width: 768px){
	#fs_ProductCategory .fs-c-productList__list{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}
	#fs_ProductCategory .fs-c-productList__list .fs-c-productName__name{
		font-size: 24px;
	}
}
@media screen and (max-width: 767px){
	#fs_ProductCategory .fs-c-productList__list{
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	#fs_ProductCategory .fs-c-productList__list .fs-c-productName__name{
		font-size: 18px;
	}
}
.g-door__container{
	padding-block: 20px;
}

.fat-accordion__list__contents > li > a{
display: flex;
align-items: center;
gap: 10px;
}
.fat-accordion__list__contents > li > a .Thumb{
width: 80px;
aspect-ratio: 1;
}
/* 追加 */


.add-door__list__ttl{
  color: var(--MAIN_WHITE);
}
.add-door__ttl{
  flex-shrink: 0;
  text-align: center;
}
.add-door__list__ttl{
  font-weight: 400;
  text-align: center;
  font-size: clamp(10px,1.2vw,12px);
}

.add-door__list > li > a{
  display: block;
  height: 100%;
}
@media screen and (min-width: 768px){
	.add-door__ttl{
		color: var(--MAIN_WHITE);
		font-size: 16px;
	}
  .add-door__wrap{
    justify-content: center;
    align-items: center;
    background-color: var(--MAIN_RED);
    padding: 20px;
    gap: 20px;
    margin-top: 60px;
    margin-bottom: 40px;
  }
  .add-door__list{
    display: flex;
    gap: 4px;
  }
	.add-door__card__thumb{
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 767px){
	.add-door__wrap{
		flex-flow: column;
    padding-top: 30px;
    margin-bottom: 20px;
	}
	.add-door__ttl{
		color: var(--MAIN_WHITE);
		margin-bottom: 10px;
    font-size: 16px;
    padding-block: 3px;
		background-color: var(--MAIN_BLACK);
	}
  .add-door__list{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 10px;
    row-gap: 10px;

  }
  .add-door__list > li > a{
    padding: 10px;
    background-color: var(--MAIN_RED);
  }
	.add-door__card__thumb{
		margin-bottom: 10px;
	}
	.add-door__wrap{
		display: none;
	}
}