@charset "utf-8";
/*--------------------------------------------
  common.css
--------------------------------------------*/

/*--------------------------------------------
1:Initialization
	1-1:reset
	1-2:clearfix -micro clearfix-
	1-3:body,font
	1-4:anchor
	1-5:hide,hidden
	1-6:required
	1-7:text
	1-8:num,date
	1-9:list
	1-10:wait dialog, loading
2.Block,Item
	2-1:itemWrap
	2-2:inline_block
3.Table
	3-1:table-basic(tr, th, td, tfoot...)
	3-2:table-layout
	3-3:table-paging
4.Form
	4-1:form-basic
	4-2:form-focus
	4-3:form-button
	4-4:form-checkbox,radio
	4-5:form-label
	4-6:form-select
	4-7:input-name
	4-8:input-tel
	4-9:birthday
	4-10:ime-mode
5.Message
	5-1:error,alert
6.Responsive
	6-1:responsive-common
7.Layout
	7-1:contents,wrap,topGroupName,layoutGroup
	7-2:header
	7-3:header-globalNavi
	7-4:header-search
	7-5:footer
	7-6:footer-copyright
	7-7:sideContents
8.LayoutParts
	8-1:panNav パンくず
	8-2:h1-h3 見出し
	8-3:buttonArea ボタン表示エリア
	8-4:itemBlock 商品ブロック
	8-5:pagination ページング
	8-6:scrollUp
9.Other

--------------------------------------------*/

/* ***************************************************************************************************** */
/* ** 1.Initialization ********************************************************************************* */
/* ***************************************************************************************************** */

/*--------------------------------------------
	1-1:reset
--------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{
	overflow-y: scroll;
}

* {
	word-break: break-all;
	box-sizing: border-box;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

input, textarea{
	margin: 0;
	padding: 0;
}

ol, ul{
	list-style:none;
}

table{
	width:100%;
	border-collapse: collapse;
	border-spacing:0;
}
caption, th{
	text-align: left;
}

img {
	vertical-align: bottom;
	max-width:100%;
	height:auto;
}
a img:hover {
	opacity:0.75;
}

a,a:hover {
	transition: 0.7s;
	transition-property: background-color, color;
}
a:focus {
	cursor: pointer;
	outline:none;
}

pre {
	white-space: -moz-pre-wrap; /* Mozilla */
	white-space: -pre-wrap;     /* Opera 4-6 */
	white-space: -o-pre-wrap;   /* Opera 7 */
	white-space: pre-wrap;      /* CSS3 */
	word-wrap: break-word;      /* IE 5.5+ */
	font-family: inherit;
}

/*--------------------------------------------
	1-2:clearfix -micro clearfix-
--------------------------------------------*/
/* For modern browsers */
.clearfix:before,
.cf:before,
.clearfix:after,
.cf:after {
	content:"";
	display:table;
}

.clearfix:after,
.cf:after {
	clear:both;
}

.both{
	clear:both;
}

/*---------------------------------------------
	1-3:body,font
  ---------------------------------------------*/
body {
	font: 16px/1.4 "メイリオ","Meiryo","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	color: #333;
	text-align: left;
	-webkit-text-size-adjust: none;
	background-color: #fff;
}

/*---------------------------------------------
	1-4:anchor
  ---------------------------------------------*/
a {
	outline: none;
}
a:link {
	color: #0099ff;
	text-decoration: underline;
}
a:visited {
	color: #0099ff;
	text-decoration: underline;
}
a:hover, a:active, a:focus {
	color: #6cc4ff;
	text-decoration: none;
}
a {
	&.icon_new_window {
		position: relative;
		display: inline-block;
		padding-right: calc(1em + 2px);

		&::after {
			content: "";
			position: absolute;
			right: 0;
			top: 0;
			bottom: 0;
			margin: auto;
			display: block;
			width: 1em;
			height: 1em;
			background: url(../../img/common/icon/icon_window_black.png) no-repeat center center;
			background-size: contain;
		}
	}
}

/*---------------------------------------------
	1-5:hide,hidden
  ---------------------------------------------*/
.hide {
	display: none;
}
.hidden {
	display: none;
}

/*---------------------------------------------
	1-6:required
  ---------------------------------------------*/
/* 必須 */
.required:after {
	content: "必須";
	background: #cf646b;
	color: #fff;
	padding: 0 10px;
	margin: 0 0 0 5px;
	font-weight: normal;
	font-size: 0.9em;
	border-radius: 3px;
	float: right;
	min-width: 2em;
	text-align: center;
}

/* 条件付き必須 */
.required_condition:after {
	content: "※";
	background: #317dcb;
	color: #fff;
	padding: 0 10px;
	margin: 0 0 0 5px;
	font-weight: normal;
	font-size: 0.9em;
	border-radius: 3px;
	float: right;
	min-width: 2em;
	text-align: center;
}

/*---------------------------------------------
	1-7:text
  ---------------------------------------------*/
/* 行間 */
.contents p,
.contents .table,
#footer .section_wrap p {
	margin: 0 auto 0.5em auto;
}
.contents p:last-child,
.contents .table:last-child {
	margin-bottom: 0;
}

/* テキストの右寄せ、左寄せ、中央寄せ */
.text_right {
	text-align: right;
}
.text_left {
	text-align: left;
}
.text_center {
	text-align: center;
}

/* 改行しない */
.text_nowrap {
	white-space: nowrap;
}
.nowrap {
	white-space: nowrap;
}


/*---------------------------------------------
	1-8:num,date
  ---------------------------------------------*/
/* 数値 */
.num {
	word-break: normal;
	white-space: nowrap;
	text-align: right;
}
/* 数値（日付） */
.date {
	word-break: normal;
	white-space: nowrap;
	text-align: center;
}

/*---------------------------------------------
	1-9:list
  ---------------------------------------------*/
/* 箇条書きリスト */
ul.disc li {
	text-indent: -1em;
	padding-left: 1em;
	position: relative;

	margin-bottom: 0.5em;
}
ul.disc li:before {
	font-size: 1em;
	padding: 0;
	font-weight: bold;
	position: relative;
	vertical-align: middle;
	display: inline-block;
	font-feature-settings: normal;
	font-kerning: auto;
	font-language-override: normal;
	font-size-adjust: none;
	font-stretch: normal;
	font-style: normal;
	font-synthesis: weight style;
	font-variant: normal;
	font-weight: normal;
	line-height: 1;
	text-rendering: auto;
	transform: translate(0px, 0px);
	left: 5px;
	top: -0.1em;
	width: 1em;
	text-align: center;
	content: "・";
}

/* 算用数字のリスト */
ol.decimal li {
	list-style-position: outside;
	margin-left: 1.5em;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}
ol.decimal > li {
	list-style-type: decimal;
}

/* 丸括弧付き数字のリスト */
ol.paren {
	counter-reset: item;
	list-style: none;
}
ol.paren li:before{
	content: "(" counters(item, "-") ")";
	counter-increment: item;
	margin-right: 0;
	position: relative;
	left: -0.5em;
}
ol.paren li{
	margin-left: 2em;
	text-indent: -1.5em;
	list-style-type: none;
}

/* ※印付きの文章 */
.kome {
	margin-left: 1em;
	text-indent: -1em;
}

/*------------------------------------------
1-10:wait dialog, loading
------------------------------------------*/
#wait_dialog {
	position: absolute;
	z-index: 99;
	width: 100%;
	height: 100%;
	background-color: #fff;
	opacity: 0.8;
}

#wait_dialog_message {
	font-size: 20px;
	font-weight: bold;
	position: fixed;
}

#wait_dialog_loadingImg {
	display: inline-block;
	background: url(../../img/base/loading.gif) left center no-repeat;
	width: 16px;
	height: 16px;
}

/* ***************************************************************************************************** */
/* ** 2.Block,Item ************************************************************************************* */
/* ***************************************************************************************************** */

/*---------------------------------------------
	2-1:itemWrap
  ---------------------------------------------*/
.itemWrap{
	display:block;
}
.itemWrap.clearfix{
	clear:both;
}

/*---------------------------------------------
	2-2:inline_block
  ---------------------------------------------*/
.inline_block {
	display: inline-block;
}

/* カラム分け（汎用）
--------------------------------------------------------- */
.wrap_parent {
	display: table;
	width: 100%;
}
/* ----- 二分割 ----- */
.left_wrap {
	display: table-cell;
	padding-right: 15px;
	width: 50%;
	vertical-align: top;
}
.right_wrap {
	display: table-cell;
	padding-left: 15px;
	width: 50%;
	vertical-align: top;
}
/* ----- 三分割 ----- */
.wrap_parent_3 {
	display: table;
	width: 102%;
	margin-left: -1%;
}
.part_wrap_3 {
	display: table-cell;
	padding-left: 1%;
	padding-right: 1%;
	width: 33.333%;
	vertical-align: top;
}
/* ----- 四分割 ----- */
.wrap_parent_4 {
	display: table;
	width: 102%;
	margin-left: -1%;
}
.part_wrap_4 {
	display: table-cell;
	padding-left: 1%;
	padding-right: 1%;
	width: 25%;
	vertical-align: top;
}

/* ***************************************************************************************************** */
/* ** 3.Table ****************************************************************************************** */
/* ***************************************************************************************************** */

/*---------------------------------------------
	3-1:table-basic
  ---------------------------------------------*/
.table {
	display: table;
	border-collapse: collapse;
	border: 1px solid #ccc;
	width: 100%;
}
.tr {
	display: table-row;
}
.td,
.th,
.table th,
.table td {
	padding: 10px;
	text-align: left;
	display: table-cell;
	border: 1px solid #ccc;
	margin: 0;
	vertical-align: middle;
}
.th,
.table th {
	background: #f3f3f3;
}
.td,
.table td {
	background: #fff;
}

/* 行を交互に色分け */
.table_striped tr:nth-child(2n+1),
.table_striped .tr:nth-child(2n+1) {
	background: #f9f9f9;
}

@media screen and (max-width: 600px) {
	.tr {
		border: 1px solid #ccc;
	}
	.td, .th {
		display: block;
		border: 0;
		margin: 0;;
	}
}

/* テーブル */
.contents .table {
	border-collapse: separate;
	font-size: .875rem;
	margin: 0 0 30px;
	border: none;

	&.data-table {
		font-size: .75rem;
	}

	& caption,
	& .caption {
		font-size: 1rem;
		margin: 30px 0 10px;
		font-weight: bold;
		display: table-caption;

		&::before {
			content: "▼";
		}
	}

	& th,
	& .th,
	& td,
	& .td {
		border: none;
		padding: 10px;
		color: #000;
	}

	& label {
		display: inline-block;

		& + label {
			margin-left: 0;
		}
	}

	/* 「一覧明細」で出力 */
	& thead {
		& tr {
			& th {
				border: 1px solid #c0c1c2;
				border-bottom: none;
				border-left: none;
				background: #f2f2f2;

				&:first-of-type {
					border-left: 1px solid #c0c1c2;
				}
			}
		}
	}

	& tbody {
		& tr {
			& td {
				border: 1px solid #c0c1c2;
				border-top: none;
				border-left: none;

				&:first-of-type {
					border-left: 1px solid #c0c1c2;
				}
			}
			&:first-of-type td {
				border-top: 1px solid #c0c1c2;
			}
		}
	}

	&.sp-column {
		& .preLabel:not([class*="nameSei" i]):not([class*="nameMei" i]):not([class*="postcode" i]) {
			display: none;
		}
	}

	/* 「テーブルレイアウト」で出力 */
	& .tr {
		& .th {
			border: 1px solid #c0c1c2;
			border-top: none;
			border-right: none;
			width: 30%;
			min-width: 7em;

			& label {
				display: block;
			}
		}

		& .td {
			border: 1px solid #c0c1c2;
			border-top: none;
		}

		&:first-of-type {
			& .th,
			& .td {
				border-top: 1px solid #c0c1c2;
			}
		}
	}

}

@media screen and (max-width: 768px) {
	.contents .table {
		&.data-table {
			font-size: .875rem;
		}

		& .tr {
			& .th,
			& .td {
				display: table-cell;
			}
		}

		/* SP時カラム縦並び */
		&.sp-column {
			& thead {
				display: none;
			}

			& tbody {
				& tr {
					display: block;
					border: 1px solid #c0c1c2;
					padding: 16px;

					& + tr {
						margin-top: 10px;
					}

					& td {
						display: flex;
						border: none;
						padding: 0;

						& + td {
							margin-top: 5px;
						}

						& .preLabel {
							display: block;
							font-weight: bold;
							white-space: nowrap;

							&::after {
								content: "：";
								font-weight: normal;
							}
						}
					}
				}
			}

			& .tr {
				display: block;
				margin-bottom: 20px;
				border: none;

				& .th,
				& .td {
					display: block;
					border: none;
					padding: 0;
				}

				& .th {
					margin-bottom: 5px;
					background-color: transparent;
					margin-bottom: 10px;
					font-size: 13px;
					width: 100%;

					& label {
						font-weight: bold;

						&::before {
							content: "■";
						}
					}

					& .required {
						display: inline-block;
						margin-left: 5px;
					}
				}

				& .td {
					
				}
			}

		}
	}
}

/*---------------------------------------------
	3-2:table-layout
  ---------------------------------------------*/
.table.th_30 .th,
.table.th_30 th {
	width: 32%;
	background: #f3f3f3;
}
.table.th_30 .td,
.table.th_30 td {
	width: 68%;
	background: #fff;
}
@media screen and (max-width: 600px) {
	.table.th_30 .th,
	.table.th_30 th {
		width: 100%;
	}
	.table.th_30 .td,
	.table.th_30 td {
		width: 100%;
	}
}

/*---------------------------------------------
	3-3:table-paging
  ---------------------------------------------*/
span.PRE_SURROUND_MAX_SELECT:before {
	content: "[";
}

span.MAX_SHOW_LINE_NUMBER:after {
	content: "件";
}

span.SEPARATOR_MAX_SELECT:before {
	content: "|";
}

span.POST_SURROUND_MAX_SELECT:before {
	content: "]";
}

span.dataNumber:before {
	content: "全";
   padding-right: 4px;
}

span.dataNumber:after {
	content: "件のうち、";
	padding-left: 4px;
}

span.startNumber:after {
	content: "-";
   padding: 0px 4px;
}

span.endNumber:after {
	content: "件目を表示中";
   padding-left: 4px;
}

.pagingSetting {
	display: table;
	width: 100%;
	margin: 10px auto;
}
.pagingSetting .view_ctrl_sort,
.pagingSetting .resultsShowPaging {
	display: table-cell;
	width: 50%;
	vertical-align: middle;
}

table.data-table,
tr.PAGING_DETAILS_ROW,
tr.PAGING_DETAILS_ROW td {
	border: 0;
}


/* ***************************************************************************************************** */
/* ** 4.Form ******************************************************************************************* */
/* ***************************************************************************************************** */

/*---------------------------------------------
	4-1:form-basic
  ---------------------------------------------*/
input[type="text"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime-local"],
input[type="number"],
input[type="button"],
input[type="submit"],
input[type="reset"],
button[type="button"],
button[type="submit"],
button[type="reset"],
textarea,
select {
	font-size: 1.0em;
	padding: 8px;
	border: 1px solid;
	border-color: #ccc;
}

/* ブラウザ標準UIを適用外にする */
input[type="text"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime-local"],
input[type="number"],
input[type="button"],
input[type="submit"],
input[type="reset"],
button[type="button"],
button[type="submit"],
button[type="reset"],
textarea {
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
}

input[type="radio"] {
	-webkit-appearance:radio;
	-moz-appearance:radio;
	appearance:radio;
}
input[type="checkbox"] {
	-webkit-appearance:checkbox;
	-moz-appearance:checkbox;
	appearance:checkbox;
}

/* ----- 幅----- */
input[type="text"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime-local"],
input[type="number"],

textarea,
select {
	width: 300px;
}
textarea {
	width: 100%;
}

@media screen and (max-width: 600px) {
	input[type="text"],
	input[type="password"],
	select {
		width: 100%;
	}
}

/*---------------------------------------------
	4-2:form-focus
  ---------------------------------------------*/
input:focus,
textarea:focus,
select:focus {
	border-color: #2fa700;
}

/*---------------------------------------------
	4-3:form-button
  ---------------------------------------------*/
.buttonArea .itemWrap{
	display: inline-block;
	width: clamp(200px, 40%, 400px);
}
@media screen and (max-width: 600px) {
	.buttonArea, #input.contents .buttonLeftGroup, #input.contents .buttonRightGroup {
		text-align: center;
		margin-top: 10px;
		margin-bottom: 10px;
	}
}

/* 基本スタイル */
a[class*="btn_"],
input[type="button"],
input[type="submit"],
input[type="reset"],
button[type="button"],
button[type="submit"],
button[type="reset"] {
	font-size: 1.0em;
	cursor: pointer;
	border-radius: 6px;
	padding: 4px 16px;
	display: inline-block;
	text-decoration: none;
}

/* 大 */
a.btn_lg,
input.btn_lg[type="button"],
input.btn_lg[type="submit"],
input.btn_lg[type="reset"],
button.btn_lg[type="button"],
button.btn_lg[type="submit"],
button.btn_lg[type="reset"] {
	font-size: 1.2em;
	font-weight: normal;
	min-width: 180px;
	min-height: 36px;
	margin-left: 10px;
	margin-right: 10px;
	line-height: 36px;
}

/* ----- ボタンの色 ----- */
/* ボタンの色　デフォルト */
a[class*="btn_"],
input[type="button"],
input[type="submit"],
input[type="reset"],
button[type="button"],
button[type="submit"],
button[type="reset"] {
	background: #f6f6f6;
	color: #333;
	border-style: solid;
	border-width: 1px;
	border-color: #ccc;
}

input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
button[type="button"]:hover,
button[type="submit"]:hover,
button[type="reset"]:hover,
input[type="button"]:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
button[type="button"]:focus,
button[type="submit"]:focus,
button[type="reset"]:focus,
input[type="button"]:active,
input[type="submit"]:active,
input[type="reset"]:active,
button[type="button"]:active,
button[type="submit"]:active,
button[type="reset"]:active {
	opacity:0.8;
	text-decoration: none;
}

/* ボタンの色　レベル1 */
a.btn_1,
input.btn_1[type="button"],
input.btn_1[type="submit"],
input.btn_1[type="reset"],
button.btn_1[type="button"],
button.btn_1[type="submit"],
button.btn_1[type="reset"] {
	background: #2fa700;
	color: #fff;
	border-style: solid;
	border-width: 1px;
	border-color: #2fa700;
}
a.btn_1:hover,
input.btn_1[type="button"]:hover,
input.btn_1[type="submit"]:hover,
input.btn_1[type="reset"]:hover,
button.btn_1[type="button"]:hover,
button.btn_1[type="submit"]:hover,
button.btn_1[type="reset"]:hover,

input.btn_1[type="button"]:focus,
input.btn_1[type="submit"]:focus,
input.btn_1[type="reset"]:focus,
button.btn_1[type="button"]:focus,
button.btn_1[type="submit"]:focus,
button.btn_1[type="reset"]:focus,

input.btn_1[type="button"]:active,
input.btn_1[type="submit"]:active,
input.btn_1[type="reset"]:active,
button.btn_1[type="button"]:active,
button.btn_1[type="submit"]:active,
button.btn_1[type="reset"]:active {
	opacity:0.8;
	text-decoration: none;
}

/* ボタンの色　レベル2 */
a.btn_2,
input.btn_2[type="button"],
input.btn_2[type="submit"],
input.btn_2[type="reset"],
button.btn_2[type="button"],
button.btn_2[type="submit"],
button.btn_2[type="reset"] {
	background: #333;
	color: #fff;
	border-style: solid;
	border-width: 1px;
	border-color: #333;
}
a.btn_2:hover,
input.btn_2[type="button"]:hover,
input.btn_2[type="submit"]:hover,
input.btn_2[type="reset"]:hover,
button.btn_2[type="button"]:hover,
button.btn_2[type="submit"]:hover,
button.btn_2[type="reset"]:hover,

input.btn_2[type="button"]:focus,
input.btn_2[type="submit"]:focus,
input.btn_2[type="reset"]:focus,
button.btn_2[type="button"]:focus,
button.btn_2[type="submit"]:focus,
button.btn_2[type="reset"]:focus,

input.btn_2[type="button"]:active,
input.btn_2[type="submit"]:active,
input.btn_2[type="reset"]:active,
button.btn_2[type="button"]:active,
button.btn_2[type="submit"]:active,
button.btn_2[type="reset"]:active {
	opacity:0.8;
	text-decoration: none;
}

/* ボタンの色　レベル3 */
a.btn_3,
input.btn_3[type="button"],
input.btn_3[type="submit"],
input.btn_3[type="reset"],
button.btn_3[type="button"],
button.btn_3[type="submit"],
button.btn_3[type="reset"] {
	background: #666;
	color: #fff;
	border-style: solid;
	border-width: 1px;
	border-color: #666;
}
a.btn_3:hover,
input.btn_3[type="button"]:hover,
input.btn_3[type="submit"]:hover,
input.btn_3[type="reset"]:hover,
button.btn_3[type="button"]:hover,
button.btn_3[type="submit"]:hover,
button.btn_3[type="reset"]:hover,

input.btn_3[type="button"]:focus,
input.btn_3[type="submit"]:focus,
input.btn_3[type="reset"]:focus,
button.btn_3[type="button"]:focus,
button.btn_3[type="submit"]:focus,
button.btn_3[type="reset"]:focus,

input.btn_3[type="button"]:active,
input.btn_3[type="submit"]:active,
input.btn_3[type="reset"]:active,
button.btn_3[type="button"]:active,
button.btn_3[type="submit"]:active,
button.btn_3[type="reset"]:active {
	opacity:0.8;
	text-decoration: none;
}

/* ボタンの色　使用不可状態 */
input[disabled="disabled"],
button[disabled="disabled"],
input[disabled="disabled"]:hover,
button[disabled="disabled"]:hover {
	background: #eee;
	color: #aaa;
	border-style: solid;
	border-width: 1px;
	border-color: #ccc;
	cursor: default;
	box-shadow: none;
}

/* ボタンの配置 */
.btn_container {
	margin: 20px auto;
	text-align: center;
	clear: both;
}
.btn_container input {
	margin: 5px;
}
#closeButton {
	margin-top: 10px;
}
@media screen and (max-width: 600px) {
	.buttonArea {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		margin-bottom: 40px;
	}
	.buttonArea > div {
		width: 100%;
	}
	.buttonArea .continueLink2ItemWrap,
	.buttonArea .returnButtonItemWrap {
		margin: 0 ;
		line-height: 2.3;
	}
	.buttonArea .continueLink2ItemWrap {
		order: 3;
	}
	.buttonArea .returnButtonItemWrap {
		order: 2;
	}
}

/* amazonログインボタン */
#AmazonPayButton ~ #Logout {
	margin-top: 10px;
}

/*---------------------------------------------
	4-4:form-checkbox,radio
  ---------------------------------------------*/
input[type="checkbox"],
input[type="radio"] {
	position: relative;
	top: -1px;
	vertical-align: middle;
	margin: 0 3px;
	cursor: pointer;
}
.radiobuttonLabel,
.checkboxLabel {
	cursor: pointer;
}
input[type="radio"][disabled="disabled"] {
	border: none;
}

/*---------------------------------------------
	4-5:form-label
  ---------------------------------------------*/
label + label {
	margin-left: 1em;
}

/*---------------------------------------------
	4-6:form-select
  ---------------------------------------------*/
/* 数量選択 */
select.orderNum {
	width: 100%;
}

select.year {
	width: 6em;
}
select.month {
	width: 5em;
}
select.date {
	width: 5em;
	margin-left: 0.5em;
}

/*---------------------------------------------
	4-7:input-name
  ---------------------------------------------*/
input[type="text"][class*="nameSei" i],
input[type="text"][class*="nameMei" i] {
	width: calc(50% - 3em);
	max-width: 12em;
	margin: 0;
}
.preLabel[class*="nameSeiPreLabel" i],
.preLabel[class*="nameMeiPreLabel" i],
.preLabel[class*="nameSeiKanaPreLabel" i],
.preLabel[class*="nameMeiKanaPreLabel" i] {
	display: inline-block;
	width: 2em;
	text-align: left;
}

.preLabel[class*="nameMeiPreLabel" i],
.preLabel[class*="nameMeiKanaPreLabel" i] {
	margin-left: 1em;
}


@media screen and (max-width: 600px) {
	.td[class*="nameSei" i] .items {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
	}
	input[type="text"][class*="nameSei" i],
	input[type="text"][class*="nameMei" i] {
		width: calc(100% - 3em);
		max-width: 100%;
	}

	.preLabel[class*="nameSeiPreLabel" i],
	.preLabel[class*="nameMeiPreLabel" i],
	.preLabel[class*="nameSeiKanaPreLabel" i],
	.preLabel[class*="nameMeiKanaPreLabel" i] {
		text-align: center;
	}

	input[type="text"][class*="nameMei" i],
	.preLabel[class*="nameMeiPreLabel" i],
	.preLabel[class*="nameMeiKanaPreLabel" i] {
		margin-top: 0;
		margin-left: 0;
	}
}

/*---------------------------------------------
	4-8:input-tel
  ---------------------------------------------*/
input[type="text"].TEL_1,
input[type="text"].TEL_2,
input[type="text"].TEL_3 {
	width: 24%;
	max-width: 6em;
	padding: 8px 2px;
	font-size: 0.95em;
	margin-right: 0;
}
@media screen and (max-width: 600px) {
	input[type="text"].TEL_1,
	input[type="text"].TEL_2,
	input[type="text"].TEL_3 {
		width: 65px;
	}
}


/*---------------------------------------------
	4-9:birthday
  ---------------------------------------------*/
select[class*="birthdayYear" i] {
	width: auto;
}
select[class*="birthdayMonth" i],
select[class*="birthdayDay" i] {
	width: 5em;
	vertical-align: top;
}


input[type="text"][class*="postCode" i] {
	width: calc(100% - 122px);
}

@media screen and (max-width: 600px) {
	#birthdayYearTdSurround:has( select) .items {
		display: grid;
		grid-template-columns: 1fr 2em 1fr 2em;
		grid-template-rows: auto auto auto auto auto;
		grid-template-areas: 
		 "year year year year"
		 "month month_suffix day day_suffix"
		 "error_year error_year error_year error_year"
		 "error_month error_month error_month error_month"
		 "error_day error_day error_day error_day";
		& .birthdayYear {
			grid-area: year;
		}
		& .birthdayMonth {
			grid-area: month;
		}
		& .birthdayMonthSuffixLabel {
			grid-area: month_suffix;
		}
		& .birthdayDay {
			grid-area: day;
		}
		& .birthdayDaySuffixLabel {
			grid-area: day_suffix;
		}
		& select[class*="birthdayYear" i] {
			width: 100%;
			max-width: 100%;
		}
		& select[class*="birthdayMonth" i],
		& select[class*="birthdayDay" i] {
			width: 100%;
			vertical-align: top;
		}
	}
}

/** 性別「その他」を非表示にする。（front_disp_flgは折りたくないため。）*/
/** 性別「その他」を表示したい場合はこれを非表示にする。*/
#sex_2_label {
	display: none;
}


/*---------------------------------------------
	4-10:ime-mode
  ---------------------------------------------*/
.NUMBER {
	text-align: right;
	ime-mode: inactive;
}
.NUMBER_STRING,
.DATE,
.DATE_YYMM,
.DATE_YYMM,
.DATE_TIME,
.TIME,
.MAIL_ADDRESS,
.HALF_ENGLISH_NUMBER,
.HALF_ENGLISH,
.TEL_1, .TEL_2, .TEL_3,
.ZIP_1, .ZIP_2 {
	ime-mode: inactive;
}
.FULL_PITCH_CHAR,
.FULL_PITCH_CHAR_KANA,
.HALF_WIDTH_CHAR_KANA,
.HIRAGANA_CHAR {
	ime-mode: active;
}
.MIXED {
}

/* ***************************************************************************************************** */
/* ** 5.Message **************************************************************************************** */
/* ***************************************************************************************************** */

/*---------------------------------------------
	5-1:error,alert
  ---------------------------------------------*/
.alertMsg,
.alertMessage {
	display: block;
	margin: 5px 0;
}
.alertMsg + *,
.alertMessage + * {
	margin-top: 5px;
}

.alertMessageContentTitle,
.alertMessageContent,
.systemMessageContent {
	display: block;
}
.alertMessageContentTitle,
.alertMessageContent {
	background: url(../../img/common/icon/error_icn.gif) no-repeat top 5px left;
	background-size: 1.3em 1.2em;
	border: 1px solid #eed3d7;
	color: #b94a48;
	padding: 5px 0 2px 26px;
	margin: 0 0 8px 0;
	line-height: 1.4;
	border-radius: 3px;
	text-align: left;
}
.alertMessageContent {
	display: inline-block;
	background-position: top 5px left;
}
.systemMessageContent {
	padding: 5px 0 2px 26px;
	margin: 0 0 8px 0;
	line-height: 1.4;
	border-radius: 3px;
	text-align: left;
	&::before {
		content: "！";
		display: block;
		text-align: center;
		width: 1.3em;
		height: 1.3em;
		background-color: var(--color-corporate);
		border-radius: 1em;
		font-weight: bold;
		color: #fff;
		position: absolute;
		left: 0;
		top: -0.1em;
	}
}

/* ***************************************************************************************************** */
/* ** 6.Responsive ************************************************************************************* */
/* ***************************************************************************************************** */
/*---------------------------------------------
	6-1:responsive-common
  ---------------------------------------------*/
.no_pc{
	display:none;
}
.no_sp{
	display:block;
}
@media screen and (max-width: 600px) {
	.no_sp{
		display: none;
	}
	.no_pc{
		display:inline-block;
	}
}

/* ***************************************************************************************************** */
/* ** 7.Layout ***************************************************************************************** */
/* ***************************************************************************************************** */

/*---------------------------------------------
	7-1:contents,wrap,topGroupName,layoutGroup
  ---------------------------------------------*/
#wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 100vh;
}
.contents {
	width:980px;
	margin:0 auto;
	position:relative;
	background-color:#fff;
}
.contents section {
	padding:0;
	margin:0;
}
.contents .information{
	margin: 0 0 15px 5px;
}
.topGroupName {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
/* 入力系等、視認性の為に画面幅を狭める */
body[id*="Inquiry"],
body[id*="ReminderPassword"],
#MemberResignComplete,
#MemberExistCheck,
#MemberNetRegister,
#AmcNoCheck,
#AmcMemberConnect {
	& .topGroupName {
		max-width: 900px;
	}
}
.layoutGroup {
	margin-bottom: 10px;
}
@media (max-width: 751px) and (orientation: landscape) { /* iPhone6- 横向き用 */
	{
		max-width:980px;
	}
}
@media screen and (max-width: 600px) {
	.contents {
		width: 100%;
	}
	.topGroupName {
		width: 100%;
		margin: 0;
		padding: 10px 10px 0 10px;
		float: none;
	}
	.topGroupName label {
		width:100%;
		text-align:left;
	}
}

/*---------------------------------------------
	7-2:header
---------------------------------------------*/
header {
	width: 100%;
}

/*---------------------------------------------
	7-3:globalNavi
---------------------------------------------*/
nav {
	width: 100%;
}

/*---------------------------------------------
	7-5:footer
  ---------------------------------------------*/
footer {
	width: 100%;
	margin-top: auto;
}

/*---------------------------------------------
	7-7:sideContents
  ---------------------------------------------*/
.sideContents {
	width:240px;
	float:left;
}
/* 1カラム用レイアウト */
.oneColumn .sideContents {
	display:none;
}
@media screen and (max-width: 600px) {
	.contents .sideContents {
		width: 100%;
		margin: 0;
	}
}

/* ***************************************************************************************************** */
/* ** 8.LayoutParts ************************************************************************************ */
/* ***************************************************************************************************** */

/*---------------------------------------------
	8-1:panNav パンくず
  ---------------------------------------------*/
.panNav{
	background-color:#F6F6F6;
	padding:5px;
	margin-bottom:10px;
}
.panNav ul {
	font-size:0.8em;
}
.panNav ul li {
	display:inline-block;
}
.panNav ul li + li:before {
	content:">";
	padding:0 5px;
}

@media screen and (max-width: 600px){
	.panNav {
		padding: 10px;
	}
}

/*---------------------------------------------
	8-2:h1-h3 見出し
  ---------------------------------------------*/
.level_h1 {
	font-size:1.3em;
	border-bottom:1px solid #2fa700;
	margin:10px 0 20px;
	padding:0 0 10px 0;
}
.level_h1 span {
	border-bottom:3px solid #2fa700;
	font-weight:bold;
	padding:10px 10px 6px 10px;
}
.level_h2 {
	font-size:1.2em;
	border-bottom:1px solid #ccc;
	margin:0 0 20px;
	padding:5px;
}
.level_h3 {
	font-size:1.0em;
	border-bottom:1px dotted #ccc;
	margin:10px 0 10px;
	padding:5px;
}

/*---------------------------------------------
	8-3:buttonArea ボタン表示エリア
  ---------------------------------------------*/
.contents .buttonArea {
	margin: 10px 0;
	text-align: center;
	&::before, &::after {
		display: none;
	}
}

/*---------------------------------------------
	8-4:itemBlock 商品ブロック
  ---------------------------------------------*/
.itemBlock {
	display: block;
	width:32%;
	margin:0 5px 10px 0;
	float: left;
}
.itemBlock img {
	width:230px;
	height:230px;
}
.itemBlock figcaption {
	font-size:0.9em;
	padding:5px;
}

@media screen and (max-width: 600px){
	.itemBlock {
		display: inline-block;
		border:1px solid #ccc;
		width: 47%;
		margin: 0 1% 5% 1%;
		float: left;
	}
	.itemBlock img {
		width:100%;
		height:auto;
	}
}

/* ---------------------------------------------
	8-5：ページング
---------------------------------------------*/
.pageInfo{
	float:right;
}
ul.pagination {
	display: table;
	border-collapse: collapse;
	letter-spacing: -0.34em;
	margin: 0 0 0 auto;
}
ul.pagination > li {
	display: inline-block;
	letter-spacing: normal;
	vertical-align: middle;
	margin: 2px;
}
ul.pagination > li a {
	display: block;
}
ul.pagination a.PAGING_LINK_PAGE,
ul.pagination .PAGING_LINK_NOW_PAGE {
	border: 1px solid #ccc;
	padding: 4px;
	min-width: 26px;
	min-height: 26px;
	text-align: center;
	background: #fff;
}
ul.pagination a.PAGING_LINK_PAGE:hover {
	background: #f6f6f6;
}
ul.pagination .PAGING_LINK_NOW_PAGE {
	color:#fff;
	background: #005bac;
	border: 1px solid #005bac;
}

/*---------------------------------------------
	8-6:scrollUp
  ---------------------------------------------*/
#scrollUp {
	bottom: 50px;
	right: 50px;
	height: 48px;  /* Height of image */
	width: 48px; /* Width of image */
	background: url(../images/top.png) no-repeat;
}
#scrollUp:hover {
	opacity:0.75;
}

/* ***************************************************************************************************** */
/* ** 9.Other ****************************************************************************************** */
/* ***************************************************************************************************** */

/* モーダル感強調 */
div.ui-widget-overlay {
	/* overwrite */
	background: none;
	opacity: 1;
	/* new */
	background: none;
	opacity: 1;
	background-color: rgba(0, 0, 0, 0.7);
}
button.ui-button:active{
	background: #f6f6f6;
	color: #333;
	border-style: solid;
	border-width: 1px;
	border-color: #ccc;
}


/* ヘッダー部分非表示 */
.noTitleDialog .ui-dialog-titlebar {
	display: none;
}

/* リサイズ部分非表示 */
.noTitleDialog .ui-resizable-handle {
	display: none !important;
}

/* ダイアログ表示箇所調整 */
.noTitleDialog .ui-widget-content {
	padding: 0.5rem;
}
.noTitleDialog .ui-dialog-content {
	border-bottom: none;
}
.noTitleDialog .ui-dialog-buttonpane {
	border-top: none;
}

/* ダイアログボタン調整 */
.ui-dialog .ui-dialog-buttonpane.ui-widget-content {
	padding: 0;
	& .ui-dialog-buttonset {
		float: none;
		display: flex;
		justify-content: center;
		gap: 0 .8em;
		padding: .5em 1em 1em;
		& button {
			margin: 0;
			color: #fff;
			border-radius: 5px;
			padding: .8em 10px;
			line-height: 1;
			border: none;
			&:first-child {
				background: linear-gradient(to bottom, #083da9 0%,#05297d 100%);
			}
			&:last-child {
				background: linear-gradient(to bottom, #b2b2b2 0%, #5d5d5d 80%);
			}
		}
	}
}

/** パスワード強度 */
.passwordStrengthMsg {
	font-size: 11px;
	display: block;
}
.passwordStrength-color {
	display: block;
}
.password-strength-bar {
	background-color: #ddd;
	border-radius: 3px;
	display: inline-block;
	height: 16px;
	margin: 0 2px 0 0;
	width: 98px;
}
.password-strength-bar-weak {
	background: linear-gradient(
		-45deg,
		#F9839F 10%, #F62655 10%,
		#F62655 20%, #F9839F 20%,
		#F9839F 30%, #F62655 30%,
		#F62655 40%, #F9839F 40%,
		#F9839F 50%, #F62655 50%,
		#F62655 60%, #F9839F 60%,
		#F9839F 70%, #F62655 70%,
		#F62655 80%, #F9839F 80%,
		#F9839F 90%, #F62655 90%,
		#F62655
	);
}
.password-strength-bar-middle {
	background: linear-gradient(
		-45deg,
		#F7BD5B 10%, #F19A0B 10%,
		#F19A0B 20%, #F7BD5B 20%,
		#F7BD5B 30%, #F19A0B 30%,
		#F19A0B 40%, #F7BD5B 40%,
		#F7BD5B 50%, #F19A0B 50%,
		#F19A0B 60%, #F7BD5B 60%,
		#F7BD5B 70%, #F19A0B 70%,
		#F19A0B 80%, #F7BD5B 80%,
		#F7BD5B 90%, #F19A0B 90%,
		#F19A0B
	);
}

.password-strength-bar-strong {
	background: linear-gradient(
		-45deg,
		#6AE7CB 10%, #22D7AE 10%,
		#22D7AE 20%, #6AE7CB 20%,
		#6AE7CB 30%, #22D7AE 30%,
		#22D7AE 40%, #6AE7CB 40%,
		#6AE7CB 50%, #22D7AE 50%,
		#22D7AE 60%, #6AE7CB 60%,
		#6AE7CB 70%, #22D7AE 70%,
		#22D7AE 80%, #6AE7CB 80%,
		#6AE7CB 90%, #22D7AE 90%,
		#22D7AE
	);
}

/* //////////////////////////////////////////////////////////
common-module
////////////////////////////////////////////////////////// */

/* =========================================================
共通部品
========================================================= */
/* ----- 強調文字 ----- */
em {
	color: #d93d70;/* ヴィヴィットピンク */
}
/* 文字装飾
--------------------------------------------------------- */
.text-strike {
	text-decoration: line-through;
}
.text-bold {
	font-weight: bold;
}
strong,
.strong {
	font-weight: bold;
}
/* margin / padding
--------------------------------------------------------- */
.m0auto { margin: 0 auto;}

.mt-10 { margin-top: -10px; }
.mt0 { margin-top: 0px; }
.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt15 { margin-top: 15px; }
.mt20 { margin-top: 20px; }
.mt25 { margin-top: 25px; }
.mt30 { margin-top: 30px; }
.mt40 { margin-top: 40px; }
.mt50 { margin-top: 50px; }
.mt60 { margin-top: 60px; }
.mt70 { margin-top: 70px; }
.mt80 { margin-top: 80px; }
.mt90 { margin-top: 90px; }
.mt100 { margin-top: 100px; }

.mb0 { margin-bottom: 0px; }
.mb5 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb25 { margin-bottom: 25px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: 80px; }
.mb90 { margin-bottom: 90px; }
.mb100 { margin-bottom: 100px; }

.ml0auto { margin-left: auto;}
.ml0 { margin-left: 0px; }
.ml5 { margin-left: 5px; }
.ml10 { margin-left: 10px; }
.ml15 { margin-left: 15px; }
.ml20 { margin-left: 20px; }
.ml25 { margin-left: 25px; }
.ml30 { margin-left: 30px; }
.ml40 { margin-left: 40px; }
.ml50 { margin-left: 50px; }
.ml60 { margin-left: 60px; }
.ml70 { margin-left: 70px; }
.ml80 { margin-left: 80px; }
.ml90 { margin-left: 90px; }
.ml100 { margin-left: 100px; }

.mr0auto { margin-right: auto;}
.mr0 { margin-right: 0px; }
.mr5 { margin-right: 5px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }
.mr20 { margin-right: 20px; }
.mr25 { margin-right: 25px; }
.mr30 { margin-right: 30px; }
.mr40 { margin-right: 40px; }
.mr50 { margin-right: 50px; }
.mr60 { margin-right: 60px; }
.mr70 { margin-right: 70px; }
.mr80 { margin-right: 80px; }
.mr90 { margin-right: 90px; }
.mr100 { margin-right: 100px; }

.pt0 { padding-top: 0px; }
.pt5 { padding-top: 5px; }
.pt10 { padding-top: 10px; }
.pt15 { padding-top: 15px; }
.pt20 { padding-top: 20px; }
.pt25 { padding-top: 25px; }
.pt30 { padding-top: 30px; }
.pt40 { padding-top: 40px; }
.pt50 { padding-top: 50px; }
.pt60 { padding-top: 60px; }
.pt70 { padding-top: 70px; }
.pt80 { padding-top: 80px; }
.pt90 { padding-top: 90px; }
.pt100 { padding-top: 100px; }

.pb0 { padding-bottom: 0px; }
.pb5 { padding-bottom: 5px; }
.pb10 { padding-bottom: 10px; }
.pb15 { padding-bottom: 15px; }
.pb20 { padding-bottom: 20px; }
.pb25 { padding-bottom: 25px; }
.pb30 { padding-bottom: 30px; }
.pb40 { padding-bottom: 40px; }
.pb50 { padding-bottom: 50px; }
.pb60 { padding-bottom: 60px; }
.pb70 { padding-bottom: 70px; }
.pb80 { padding-bottom: 80px; }
.pb90 { padding-bottom: 90px; }
.pb100 { padding-bottom: 100px; }

.pl0 { padding-left:0px; }
.pl5 { padding-left:5px; }
.pl10 { padding-left:10px; }
.pl15 { padding-left:15px; }
.pl20 { padding-left:20px; }
.pl25 { padding-left:25px; }
.pl30 { padding-left:30px; }
.pl40 { padding-left:40px; }
.pl50 { padding-left:50px; }
.pl60 { padding-left:60px; }
.pl70 { padding-left:70px; }
.pl80 { padding-left:80px; }
.pl90 { padding-left:90px; }
.pl100 { padding-left:100px; }

.pr0 { padding-right:0px; }
.pr5 { padding-right:5px; }
.pr10 { padding-right:10px; }
.pr15 { padding-right:15px; }
.pr20 { padding-right:20px; }
.pr25 { padding-right:25px; }
.pr30 { padding-right:30px; }
.pr40 { padding-right:40px; }
.pr50 { padding-right:50px; }
.pr60 { padding-right:60px; }
.pr70 { padding-right:70px; }
.pr80 { padding-right:80px; }
.pr90 { padding-right:90px; }
.pr100 { padding-right:100px; }

/* 文章 汎用クラス */
.note {
	font-size: .9em;
	text-indent: -1.1em;
	padding-left: 1.1em;
	&::before {
		content: "※";
		margin-right: .1em;
	}
}

.inline-block {
	display: inline-block;
}

/* =========================================================
forSP
========================================================= */
.forSP {
	display: none;
}

@media screen and (max-width: 600px) {
	.forSP {
		display: block;
	}
	.forSP img {
		width: 100%;
		height: 100%;
		display: block;
	}
	.forPC {
		display: none;
	}
}

/* rakutencard*/
#rakutenCreditCardNo_innerId,
#rakutenCreditCardSecurityCode_innerId,
#rakutenRegisteredSecurityCode_innerId {
	display:none;
	width:300px;
	height:35px;
}
#rakutenCreditCardEnableMonth_innerId,
#rakutenCreditCardEnableYear_innerId {
	display:none;
	width:86px;
	height:35px;
	margin:0 5px;
}

#saveButtonRakutenPayV2ItemWrap .items button {
	cursor:pointer;
	vertical-align: middle;
}

/*---------------------------------------------
	サイドコンテンツ
---------------------------------------------*/
.sideContents {
	font-size: 14px;
	width: 240px;
	& h3 {
		margin-bottom: 0.75em;
		border-left: 4px solid #6d83bc;
		padding-left: 0.5em;
		font-size: 1rem;
		font-weight: bold;
		& span {
			font-weight: inherit;
		}
	}
	& h4 {
		border-bottom: 1px solid #e6e6e6;
		padding-bottom: 0.5em;
		margin-bottom: 0.5em;
	}
	& .moreLink {
		margin-top: 0.5em;
		& a::before {
			content: "";
			background: url(../images/cmn/icon/arw_blue_r.png) no-repeat center center / contain;
			display: inline-block;
			width: 0.9em;
			height: 0.9em;
			margin-right: 0.3em;
		}
	}
}
#narrowDown {
	margin-top: 1.5em;
}
.narrowDownInner {
	margin-bottom: 1.5em;
	border: 1px solid #f0f0f0;
	background-color: #fafafa;
	padding: 1em 0.5em;
	& > ul {
		& > li {
			display: flex;
			justify-content: flex-start;
			align-items: center;
			& + li {
				margin-top: 0.5em;
			}
			& > label {
				display: block;
				width: fit-content;
				line-height: 1.3;
				padding-left: 1em;
				padding-right: .3em;
				text-indent: -1em;
				cursor: pointer;
				&:hover {
					text-decoration: underline;
				}
				& [type="checkbox"], input[type="radio"] {
					margin-right: 0.25em;
				}
			}
		}
	}
}
.narrowDownBtn input[type="button"] {
	background-color: var(--color-btn);
	color: #fff;
	margin: 0;
	width: 100%;
	max-width: 100%;
	height: 40px;
}
.tooltips {
	position: relative;
	& .icon_q {
		display: inline-block;
		cursor: pointer;
		&::before {
			content: "?";
			display: flex;
			justify-content: center;
			align-items: center;
			width: 1.4em;
			height: 1.4em;
			font-weight: bold;
			color: #fff;
			line-height: 1;
			font-size: 1em;
			background-color: var(--color-corporate);
			border-radius: 1.5em;
		}
	}
	& .tooltips_balloon {
		display: none;
		position: absolute;
		left: calc(100% + 1em);
		top: -0.7em;
		width: 80vw;
		max-width: 400px;
		font-size: var(--font-size-s);
		background-color: var(--bg-color-section);
		border: 1px solid var(--border-color-table);
		border-radius: 5px;
		padding: 10px 15px;
		box-shadow: 0px 2px 3px 0 rgba(0, 0, 0, 0.3);
		z-index: 1;
		&::before {
			content: "";
			position: absolute;
			top: 1em;
			left: -0.6em;
			width: 1em;
			height: 1em;
			background-color: var(--bg-color-section);
			border-bottom: 1px solid var(--border-color-table);
			border-left: 1px solid var(--border-color-table);
			transform: rotate(38deg) skew(-20deg);
		}
		& > p {
			font-weight: bold;
		}
		& ul li {
			margin-bottom: .2em;
			& + li {
				margin-top: .2em;
			}
		}
	}
	&:hover .tooltips_balloon {
		display: block;
	}
}

@media screen and (max-width: 960px) {
	.tooltips {
		& .tooltips_balloon {
			position: fixed;
			height: fit-content;
			max-height: 90vh;
			overflow-y: auto;
			inset: 0;
			margin: auto;

			&::before {
				display: none;
			}

		}
	}
}

/* カテゴリー */
.sideCategory {
	& li {
		& dt {
			position: relative;
			font-size: 0.9em;
			color: #FFF;
			background-color: #0b318f;
			border-radius: 5px 5px 0 0;
			z-index: 1;
			padding-left: 40px;
			&::before {
				content: "";
				display: block;
				position: absolute;
				top: 0;
				bottom: 0;
				margin: auto;
				background: var(--icon-cmn) no-repeat;
			}
			& a {
				color: #FFF;
				display: block;
				padding: 1em 1em 1em 0
			}
		}
		/* dd */
		& dd {
			position: relative;
			border: 1px solid #e6e6e6;
			border-radius: 0 0 5px 5px;
			& li {
				& a {
					position: relative;
					display: block;
					padding: 0.5em 0 0.5em 1em;
					color: #333;
					&:hover {
						text-decoration: underline;
					}
					& .count {
						display: inline-block;
						margin-left: .5em;
					}
				}
				&.category_menu {
					&:not(:last-child) {
						border-bottom: 1px solid #e6e6e6;
					}
					& > div:not(:has( + ul)) > a {
						padding: 0.5em 2.5em 0.5em 1em;
						&::after {
							content: "";
							display: block;
							width: 7px;
							height: 13px;
							position: absolute;
							top: 0;
							bottom: 0;
							right: 14px;
							margin: auto 0;
						}
					}
					& div + ul {
						border-top: 1px solid #e6e6e6;
						padding: 0 10px;
					}
				}
				&:has( ul) {
					& > div {
						position: relative;
						padding-right: 2.5em;
						cursor: pointer;
						&.op {
							background-color: #edf3fa;
						}
						&::after {
							content: "";
							display: block;
							margin: auto;
							background: var(--icon-cmn) no-repeat;
							background-position: -170px -122px;
							position: absolute;
							top: 0;
							bottom: 0;
							right: 11px;
							width: 13px;
							height: 7px;
						}
					}
				}
				&:not(:first-child) {
					& .accordion {
						border-top: 1px solid #e6e6e6;
					}
				}
				& li {
					&:not(:last-child) {
						border-bottom: 1px dashed #e6e6e6;
					}
					& a {
						padding: 0.75em 1em;
						font-size: 0.92em;
					}
				}
			}
		}
	}
}

/* 価格帯 */
.filter_slider {
	display: block;
	position: relative;
	height: 20px;
	&::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		height: 4px;
		width: calc(100% - 20px);
		margin: auto;
		background-color: #aba9a9;
	}
	> span {
		position: absolute;
		box-sizing: border-box;
		display: block;
		width: 20px;
		height: 20px;
		top: 0;
		left: 194px;
		border: 1px solid #e6e6e6;
		border-radius: 10px;
		background-color: #FFF;
		cursor: pointer;
		:first-child {
			left: 0px;
		}
	}
}
.filter_slider_point {
	display: none;
}
.filter_price {
	margin-top: 0.5em;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	& p {
		font-size: 0.86rem;
		color: #8d919c;
	}
	& span {
		display: inline-block;
		width: calc(100% - 2.5em);
		margin-right: 0.5em;
		border-radius: 5px;
		background-color: #FFF;
		vertical-align: bottom;
	}
	& input {
		box-sizing: border-box;
		width: 100%;
		padding: 0.75em 0.5em;
		border: none;
		font-size: 11px;
		color: #8d919c;
		text-align: right;
		background: none;
	}
}
.side_filterBtn {
	margin-top: 1em;
	text-align: center;
	& li {
		display: inline-block;
		width: 5em;
		margin: 0 0.25em;
		& a {
			display: block;
			border: 1px solid #bec8df;
			border-radius: 2em;
			padding: 0.15em 0.5em;
			font-size: 0.92rem;
			color: #333;
			background-color: #FFF;
		}
	}
	& .side_filterSubmit {
		& a {
			border-color: #0b318f;
			color: #FFF;
			background-color: #0b318f;
		}
	}
}

@media screen and (max-width: 960px) {
	.sideContents {
		display: none;
	}
}
