@charset "utf-8";

body {
	background-color: #fff;
}

.privacyItem ul a {
	text-decoration: underline;
}

@media only screen and (max-width: 767px) {
	.gNaviIne {
		width: 380px;
	}
}

.custom-margin {
	margin-right: 15px;
	margin-bottom: 15px;
}

#cookiefirst-cookies-table {
	font-size: 14px;
	width: 100%;
	padding-left: 4%;
}

#cookiefirst-cookies-tablee p {
	line-height: 1.76923;
}

/* #cookiefirst-cookies-table p:not(:last-child) {
	margin-bottom: 1em;
} */

#cookiefirst-cookies-table h2,
#cookiefirst-cookies-table h3 {
	font-size: 1.3rem;
	margin-bottom: 9px;
	font-weight: bold;
}

#cookiefirst-cookies-table .table-sm th[scope="col"] {
	text-align: center;
}

#cookiefirst-cookies-table .table-sm td,
#cookiefirst-cookies-table .table-sm th {
	padding: 5px;
	font-size: 14px;
	font-weight: 300;
	letter-spacing: .4px;
	line-height: 1.7;
	border-bottom: solid 1px #C6C6C6;
}

#cookiefirst-cookies-table .table-sm th {
	font-weight: bold;
	border-bottom: solid 1px #C6C6C6;
}

#cookiefirst-cookies-table .table-sm th:nth-child(1) {
	padding-left: 20px;
	max-width: 105px !important;
	white-space: normal;
	word-wrap: break-word;
}

#cookiefirst-cookies-table .table-sm tbody td[colspan] {
	padding: 8px 10px 8px 20px;
	border: none !important;
	background: #F0F0F0;
	position: relative;
}

#cookiefirst-cookies-table .table-sm tbody td[colspan] h4 {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	cursor: pointer;
}

#cookiefirst-cookies-table div h2{
	visibility: hidden;
}
/* #cookiefirst-cookies-table div h2::before{
	content: "";
} */

#cookiefirst-cookies-table div p b{
	visibility: hidden;
	display: inline-grid;
}
#cookiefirst-cookies-table div p b::before{
	content: "最終更新日時 :";
	visibility: visible;
}
.cf1M40 td:nth-child(3) {
	max-width: 85px !important;
	white-space: normal;
	word-wrap: break-word;
}
.cookiefirst-text{
	padding-left: 4%;
}
.cf1M40 td:nth-child(2),
.cf1M40 th:nth-child(2) {
	min-width: 200px !important;
}
#cookiefirst-cookies-table .table-sm{
	font-family: "Noto Sans JP";
}
#cookiefirst-cookies-table .table-sm tr:first-child td[colspan="5"] h4{
	visibility: hidden;
}
#cookiefirst-cookies-table .table-sm tr:first-child td[colspan="5"] h4::before {
	content: "必須Cookie";
	visibility: visible;
}
#cookiefirst-cookies-table .table-sm td[colspan="5"]::before {
	content: "";
	width: 50%;
	height: 100%;
	background-color: inherit;
	position: absolute;
	top: 0;
	right: -17.5%;
}
@media (min-width: 768px) and (max-width: 1024px) {
	#cookiefirst-cookies-table .table-sm td[colspan="5"]::before {
		right: -12.5%;
	}
}
@media all and (min-width: 0) and (max-width: 767px) {
	#cookiefirst-cookies-table .table-sm td[colspan="5"]::before {
		right: -18%;
	}
	#cookiefirst-cookies-table .table-sm td,
	#cookiefirst-cookies-table .table-sm th {
		font-size: 13px;
		letter-spacing: .5px;
		line-height: 1.6;
	}
	#cookiefirst-cookies-table{
		padding-left: 7%;
	}
	.cookiefirst-text{
		padding-left: 7%;
	}
	.cf1M40 th:nth-child(1) {
		max-width: 100px !important;
		white-space: normal;
		word-wrap: break-word;
	}
	.cf1M40 th:nth-child(2) {
		width: 14.5% !important;
	}
}

/* 第二レイヤーの幅を変更 */
[aria-labelledby="cookie-preference-panel-title"] {
	max-width: 600px!important;
}

/* 第二レイヤーのテキスト部分を調整 */
[data-cookiefirst-widget="modal"] p {
	padding-right:5%;
}

/* 第二レイヤーの文字サイズを設定 */
[data-cookiefirst-widget="modal"] div, 
[data-cookiefirst-widget="modal"] span, 
[data-cookiefirst-widget="modal"] p, 
[data-cookiefirst-widget="modal"] a {
	font-size: 10px!important;
}

[data-cookiefirst-widget="modal"] h2 {
	font-size: 16px!important;
}

[data-cookiefirst-widget="modal"] h3 {
	font-size: 14px!important;
	padding-top: 20px!important;
	padding-bottom: 15px!important;
}

/* 第二レイヤーのカテゴリからボーダーを削除 */
[role="tabpanel"] div :before {
	border:none;
}

/* トグルスイッチの調整 */
.cf3dLT.cf1qTm.cf1h9L {
	position: relative;
}

.cf3dLT:after {
	border: none;
}

/* トグルのサイズと背景色を変更 */
.cf3dLT {
	width:68px!important;
	height:24px!important;
}

.cf3dLT.cf1qTm:before {
	background-color: #666666 !important;
	opacity: 1!important;
}

.cf3dLT:before {
	background-color: #e6e6e6 !important;
	opacity: 1!important;
}

/* トグルのつまみの色を変更 */
.cf3dLT .cfUHd6 {
	background-color: #ffffff !important;
}

/* 新しく追加したルール */
.cf3dLT .cfUHd6, .cf3dLT:after {
	opacity: 1 !important;
}

.cf3dLT.cf1qTm .cfUHd6 {
	background-color: #ffffff !important;
	opacity: 1 !important;
}

/* 閉じるボタンのサイズを変更 */
[data-cookiefirst-widget="modal"] span.cf3Z9B {
	font-size:14px!important;
}
span.cf3Z9B::before {
	font-size:14px!important;
}
span.cf3Z9B::after {
	font-size:14px!important;
}

/* バナーのパディングを変更 */
.cookiefirst-root [data-cookiefirst-widget] {
	padding:20px;
}

/* 第一レイヤーのフォントサイズを変更 */
[data-cookiefirst-widget="banner"] p, [data-cookiefirst-widget="banner"] span {
	font-size:10.8px!important; 
}

[data-cookiefirst-widget="banner"] div [dir="ltr"] {
	margin-left:0;
	margin-right:0;
	position: relative;
	top: 20%;
}

/* 第一レイヤーのテキストリンク */
div.cfT5lw > div > p > p > a{
	text-decoration:underline!important;
}

/* 第一レイヤーのボタン */
.cf3Tgk div:nth-child(1) {
	padding-left:0;
}

.cf3Tgk div:nth-child(3) {
	padding-right:0;
}

@media (max-width:575px) {
	.cf3Tgk div {
		flex: 0 0 33.33333333%;
		max-width: 33.33333333%;
	}
}

/* 第二レイヤーの最初のテキストコンテナを変更 */
.cf1xEo {
	padding:0!important;
}

/* トグルの位置を変更 */
.cf\+bUt {
	flex-direction:unset!important;
}

/* 第二レイヤーの保存ボタンを非表示 */
[data-cookiefirst-widget="modal"] [data-cookiefirst-action="accept"] {
	display:none!important;
}

[data-cookiefirst-widget="modal"] .cf1Fue {
	display:none!important;
}

/* 第二レイヤーのボタンを調整 */
[data-cookiefirst-action="save"] span.cf1y60 {
	line-height:25px;
}

/* 第二レイヤーのボタンを右寄りに配置 */
[data-cookiefirst-widget="modal"] .cf1IKf {
	width: 50%!important;
	display: block;
	margin-left: auto;
	margin-right: 0;
}

[data-cookiefirst-widget="modal"] .cf1IKf div:nth-child(1) {
	display:none;
}

[data-cookiefirst-widget="modal"] .cf2MAH {
	max-width:100%!important;
}

/* カテゴリのパディングを調整 */
.cf26io {
	padding:0!important;
}

/* カテゴリタイトルのフォントウェイトを調整 */
.cftD2p {
	font-weight:400;
}

/* 第一レイヤーのタイトルを非表示 */
.cfmNPq {
	display:none;
}

/* レスポンシブデザインの調整 */
@media (min-width:1400px) {
	.cf1XPf {
		max-width: 49% !important;
	}

	.cf2mE1 {
		flex: 0 0 49% !important;
		max-width: 49% !important;
	}
}

@media (max-width:1399px) {
	[data-cookiefirst-widget="banner"] {
		padding:30px 5%!important;
	}
	.cf1XPf {
		max-width:100%!important;
	}
	.cf2mE1 {
		flex:0 0 100%!important;
		max-width: 100%!important;
	}
}