@charset "UTF-8";
/* Base Setting
=========================================================================================== */

select {
	color: #0c0c0c;
}

/* Contents
=========================================================================================== */

#Contents,
.OptionWideRWD #Contents {
	padding: 0;
}

/* Container
=========================================================================================== */

.Container {
	max-width: 1275px;
	margin: 0 auto;
	padding: 0 20px;
}

/* HeaderArea1
=========================================================================================== */

#HeaderArea1 {
	position: relative;
	background-color: #ffffff;
	z-index: 80;
	min-width: 320px;
}

#HeaderArea1 > .Container,
#HeaderArea1 > .ContainerFix {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 0;
	margin: 0 auto;
}

#HeaderArea1.Fix {
	min-width: 965px;
}

#HeaderArea1.FixWide {
	min-width: 1275px;
}

body.menu-open {
	padding-top: 45px;
	overflow: hidden;
	position: relative;
}

body.menu-open #HeaderArea1 {
	position: fixed;
	top: 0;
	width: 100%;
	box-shadow: none !important;
}

body.header1-fix {
	padding-top: 45px;
}

body.header1-fix #HeaderArea1 {
	position: fixed;
	top: 0;
	transform: translateY(-100%);
	width: 100%;
	z-index: 80;
}

body.header1-fix.header1-transition #HeaderArea1 {
	transition-duration: 0.3s;
	transition-property: transform;
}

body.header1-fix.header1-show #HeaderArea1 {
	transform: translateY(0%);
	box-shadow: 0 0.125rem 0.25rem rgba(12, 12, 12, 0.05);
}

/* Statement
=========================================================================================== */
#Statement {
	height: 55px;
	margin-right: auto;
	display: block;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
}

#Statement a {
	margin-right: auto;
	display: block;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	text-decoration: none;
	font-weight: 600;
	position: relative;
}

#Statement img {
	width: 115px;
	height: auto;
	margin-top: 13px;
	margin-bottom: 12px;
}
@media screen and (min-width: 768px) {
	#Statement {
		height: 66px;
	}
	#Statement a {
		color: #fff;
	}
	#Statement a:hover {
		opacity: 0.7;
	}
	#Statement a span {
		display: block;
		padding-top: 2px;
	}
}
@media screen and (max-width: 767px) {
	#Statement a span {
		white-space: nowrap;
		font-size: 14px;
		position: absolute;
		left: 100%;
		top: 50%;
		transform: translateY(-48%);
		color: #000;
	}
	#Statement img {
		width: 90px;
	}
}

/* SupportNavi
=========================================================================================== */
#SupportNavi {
	margin-left: 15px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: end !important;
	justify-content: flex-end !important;
	max-width: 610px;
}

#SupportNavi > button {
	font-family: 'Saans', 'Yu Gothic Pr6N R', 'Yu Gothic R', '游ゴシック体', sans-serif;
	background-color: transparent;
	border: 0;
	margin: 0;
	padding: 0;
	font-size: 100%;
	cursor: pointer;
}

#SupportNavi > a,
#SupportNavi > button > span {
	position: relative;
	height: 45px;
	padding: 0;
	font-size: 83%;
	white-space: normal;
	box-sizing: border-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	box-sizing: border-box;
	cursor: pointer;
	overflow: hidden;
	color: #0c0c0c;
}
#SupportNavi > button#SupportNaviLang > span {
	width: 200px;
}
#SupportNavi > a {
	margin-left: 15px;
}
#SupportNavi > button#SupportNaviSearch > span {
	background-color: #000;
}
#SupportNavi > button#SupportNaviSearch > span > img {
	position: relative;
	top: -45px;
}
#SupportNavi > a#SupportNaviLang span,
#SupportNavi > button#SupportNaviLang span span {
	padding-right: 30px;
	background: url(../../../image/jp/r1/common2/icon_dropdown.png) no-repeat right 12px center / 8px;
}
#SupportNavi > button#SupportNaviLang.is-open span span {
	background: url(../../../image/jp/r1/common2/icon_dropdown_on.png) no-repeat right 12px center / 8px;
}
#SupportNavi > #SupportNaviLang[target='_blank'] span {
	background: url(../../../image/jp/r1/common2/icon_target.png) no-repeat right 12px center / 12px;
}
@media screen and (min-width: 768px) {
	#SupportNavi > button > span:hover {
		opacity: 0.7;
	}
}

#SupportNavi > a:link,
#SupportNavi > a:visited {
	color: #0c0c0c;
	text-decoration: none;
}

#SupportNavi > a:hover,
#SupportNavi > a:focus,
#SupportNavi > a:active,
#SupportNavi > button:hover,
#SupportNavi > button:focus,
#SupportNavi > button:active {
	background-color: #d9d9d9;
	text-decoration: none;
	color: #000;
}
#SupportNavi > a:hover img,
#SupportNavi > a:focus img,
#SupportNavi > a:active img {
	top: 0;
}

#SupportNavi > a.is-open span,
#SupportNavi > button.is-open span {
	border-radius: 6px 6px 0 0;
	background-color: #000;
	color: #fff;
}
#SupportNavi > a.is-open span img,
#SupportNavi > button.is-open span img {
	position: relative;
	top: -45px;
}

#SupportNavi > a > img,
#SupportNavi > button > span > img {
	width: 45px;
	height: 90px;
	-ms-flex-item-align: start !important;
	align-self: flex-start !important;
	display: inline-block;
	pointer-events: none;
}

#SupportNavi > a > span,
#SupportNavi > button > span > span {
	padding-left: 15px;
	padding-right: 15px;
	padding-top: 2px;
	font-weight: 600;
}

#SupportNavi.SupportNaviIcon > a > span,
#SupportNavi.SupportNaviIcon > button > span > span {
	display: none;
}

#SupportNavi.SupportNaviIcon > a > span:first-child {
	display: block;
}

#SupportNavi.SupportNaviText > a > img,
#SupportNavi.SupportNaviText > button > span > img {
	display: none;
}

#SupportNavi.SupportNaviIconText > a > img + span,
#SupportNavi.SupportNaviIconText > button > span > img + span {
	margin-left: -15px;
}

@media screen and (min-width: 768px) {
	#SupportNavi {
		height: 66px;
		align-items: center;
	}
	#SupportNavi > a,
	#SupportNavi > button > span {
		border-radius: 3px;
	}
	#SupportNavi > button {
		margin-left: 15px;
	}
}

@media screen and (max-width: 767px) {
	#HeaderArea1 > .Container #SupportNavi > a,
	#HeaderArea1 > .Container #SupportNavi > button > span {
		width: 45px;
		height: 45px;
	}
	#SupportNavi > button {
		display: none;
	}

	#HeaderArea1 > .Container #SupportNavi > #SupportNaviSearch img {
		width: 45px;
		height: 90px;
		display: block;
	}

	#HeaderArea1 > .Container #SupportNavi > a:not(#SupportNaviSearch),
	#HeaderArea1 > .Container #SupportNavi > button:not(#SupportNaviSearch) {
		display: none;
	}
	#HeaderArea1 > .Container #SupportNavi > a#SupportNaviSearch > span,
	#HeaderArea1 > .Container #SupportNavi > button#SupportNaviSearch > span > span {
		display: none;
	}
}

#SpSearchBackdrop {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 70;
	width: 100vw;
	height: 100vh;
	background-color: #0c0c0c;
	opacity: 0;
	transition: opacity 0.15s linear;
}

#SpSearchBackdrop:not(.show) {
	opacity: 0;
}

#SpSearchBackdrop.show {
	opacity: 0.5;
}

/* LangMenu
=========================================================================================== */
#LangMenu {
	box-sizing: border-box;
	width: 200px;
	position: absolute;
	z-index: 110;
	top: 0;
	overflow-y: scroll;
	max-height: 321px;
	display: none;
}
#LangMenu .Inner {
	border: 1px solid #dce2ea;
	background-color: #fff;
	border-radius: 0 0 6px 6px;
}

#LangMenu a,
#LangMenu span {
	display: block;
	padding: 8px 8px 8px 15px;
	position: relative;
	font-size: 83%;
	color: #0f1923;
	text-decoration: none;
	border-bottom: 1px solid #dce2ea;
	font-weight: 600;
}
#LangMenu a:last-child,
#LangMenu span:last-child {
	border-bottom: none;
}
#LangMenu a:hover,
#LangMenu a:focus,
#LangMenu a.Current,
#LangMenu span:hover,
#LangMenu span:focus,
#LangMenu span.Current {
	color: #231862;
	background-color: #e8f0f6;
}

/* #LangMenu a::before {
	content: '';
	position: absolute;
	width: 20px;
	height: 20px;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../../../image/jp/r1/common2/icon_checkmark_white.png);
}

#LangMenu a:hover::before,
#LangMenu a:focus::before,
#LangMenu a.Current::before {
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../../../image/jp/r1/common2/icon_checkmark.png);
} */

#HeaderArea1.countrymenu-open {
	z-index: 110;
}

#HeaderArea1.countrymenu-open #Statement {
	pointer-events: none;
	cursor: default;
}

#LangBackdrop {
	content: '';
	width: 100%;
	height: 100%;
	cursor: default;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}

/* HeaderArea2
=========================================================================================== */
#HeaderArea2 {
	position: relative;
	background-color: #fff;
	border-top: 1px solid #dce4e8;
	min-width: 320px;
	z-index: 1;
}

#HeaderArea2 > .Container,
#HeaderArea2 > .ContainerFix {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

#HeaderArea2.Fix {
	min-width: 965px;
}

#HeaderArea2.FixWide {
	min-width: 1275px;
}

#HeaderArea2.dropdown-open {
	z-index: 100;
}

#HeaderArea2.dropdown-open #SiteID {
	pointer-events: none;
	cursor: default;
}

body.header2-fix #HeaderArea2.Sticky {
	position: fixed;
	top: 0;
	transform: translateY(-100%);
	width: 100%;
	z-index: 90;
}

body.header2-fix.header2-transition #HeaderArea2.Sticky {
	transition-duration: 0.3s;
	transition-property: transform;
}

body.header2-fix.header2-show #HeaderArea2.Sticky {
	transform: translateY(0%);
	box-shadow: 0 0.125rem 0.25rem rgba(12, 12, 12, 0.05);
}

body.header2-fix #HeaderArea2.Sticky #HorizontalLocalNavi {
	display: none;
}

@media screen and (max-width: 767px) {
	#HeaderArea2 > .Container.Sticky {
		position: relative;
	}
}

@media screen and (max-width: 319px) {
	#HeaderArea2 > .Container::before {
		width: 320px;
		left: 0;
		margin-left: 0;
	}
}

/* SiteID
=========================================================================================== */

#SiteID {
	box-sizing: border-box;
	min-height: 60px;
	margin-right: auto;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

#SiteID a {
	color: #0c0c0c;
	text-decoration: none;
}

#SiteID a + a {
	margin-left: 30px;
	position: relative;
}

#SiteID a + a::before {
	content: '';
	position: absolute;
	width: 1px;
	height: 20px;
	left: -15px;
	top: 50%;
	pointer-events: none;
	cursor: default;
	transform: translateY(-50%);
	background-color: #b3b3b3;
}

#SiteID img {
	vertical-align: middle;
	margin-top: 5px;
	margin-bottom: 5px;
}

#SiteID span {
	font-size: 110%;
	word-break: break-all;
	font-weight: bold;
}

#SiteID img + span {
	display: none;
}

#SiteID a:hover img,
#SiteID a:focus img,
#SiteID a:hover span,
#SiteID a:focus span {
	opacity: 0.6;
}

@media screen and (max-width: 767px) {
	#HeaderArea2 > .Container #SiteID {
		display: block;
		padding-top: 17.5px;
		padding-bottom: 17.5px;
		width: 100%;
	}

	#HeaderArea2 > .Container div#SiteID {
		display: none;
	}

	#HeaderArea2 > .Container #SiteID a + a::before {
		position: relative;
		display: inline-block;
		top: 2px;
		left: -16px;
		height: 18px;
		transform: none;
	}

	#HeaderArea2 > .Container #SiteID img {
		display: none;
	}

	#HeaderArea2 > .Container #SiteID span {
		display: inline;
	}
}

/* GlobalNaviMenu
=========================================================================================== */

#GlobalNaviMenu {
	width: auto;
	margin: 0;
}

#GlobalNaviMenu > li {
	float: left;
}
#GlobalNaviMenu > li.none {
	display: none;
}

#GlobalNaviMenu > li > button {
	font-family: 'Saans', 'Yu Gothic Pr6N R', 'Yu Gothic R', '游ゴシック体', sans-serif;
	background-color: transparent;
	border: 0;
	margin: 0;
	padding: 0;
	font-size: 100%;
	cursor: pointer;
	display: block;
}

#GlobalNaviMenu > li > a,
#GlobalNaviMenu > li > button > span {
	padding: 0 15px;
	font-size: 100%;
	font-weight: 600;
	height: 60px;
	line-height: 1.2;
	text-align: center;
	box-sizing: border-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	margin: 0;
	position: relative;
}
#GlobalNaviMenu > li > a::before {
	content: '';
	width: calc(100% - 30px);
	height: 3px;
	background: #2332b3;
	position: absolute;
	left: 15px;
	bottom: 1px;
	-webkit-transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
	-webkit-transform-origin: 0 0;
	-ms-transform-origin: 0 0;
	transform-origin: 0 0;
	-webkit-transform: scaleX(0);
	-ms-transform: scaleX(0);
	transform: scaleX(0);
}

#GlobalNaviMenu > li > a:link,
#GlobalNaviMenu > li > a:visited {
	color: #0c0c0c;
	text-decoration: none;
}

#GlobalNaviMenu > li > a:hover,
#GlobalNaviMenu > li > a:focus,
#GlobalNaviMenu > li > a:active,
#GlobalNaviMenu > li > button:hover,
#GlobalNaviMenu > li > button:focus,
#GlobalNaviMenu > li > button:active {
	color: #2332b3;
	text-decoration: none;
}
#GlobalNaviMenu > li > a:hover:before {
	-webkit-transition: all 0.25s cubic-bezier(0.19, 1, 0.22, 1);
	transition: all 0.25s cubic-bezier(0.19, 1, 0.22, 1);
	-webkit-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
}

#GlobalNaviMenu > li.Current > a,
#GlobalNaviMenu > li.Current > button > span {
	padding: 0;
}

#GlobalNaviMenu > li.Current > a > strong,
#GlobalNaviMenu > li.Current > button > span > strong {
	color: #fff;
	background-color: #cc0000;
	padding: 0 15px;
	height: 60px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	background-image: url(../../../image/jp/r1/bg_g_navi_current.gif);
	background-position: center bottom;
	background-repeat: no-repeat;
}

#GlobalNaviMenu > li.Current > a > em,
#GlobalNaviMenu > li.Current > button > span > em {
	font-style: normal;
	font-weight: bold;
	padding: 0 15px;
	height: 60px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
	background-image: url(../../../image/jp/r1/bg_g_navi_current.gif);
	background-position: center bottom;
	background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
	#HeaderArea2 > .Container #GlobalNaviMenu {
		display: none;
	}
}

/* HorizontalLocalNavi
=========================================================================================== */

#HorizontalLocalNaviArea {
	background-color: #fff;
	overflow: hidden;
	position: relative;
}

#HorizontalLocalNaviArea.Fix {
	min-width: 965px;
}

#HorizontalLocalNaviArea.FixWide {
	min-width: 1275px;
}

#HorizontalLocalNavi {
	width: auto !important;
	max-width: none !important;
	padding: 0 !important;
}

@media screen and (max-width: 767px) {
	#HorizontalLocalNaviArea > .Container #HorizontalLocalNavi {
		display: none;
	}
}

/* DropDownMenu
=========================================================================================== */

#GlobalNaviMenu > li.DropDownMenu.Current > button > span {
	padding: 0;
}

#GlobalNaviMenu > li.DropDownMenu > button {
	color: #0c0c0c;
}

#GlobalNaviMenu > li.DropDownMenu > button.is-open {
	text-decoration: none;
	color: #0c0c0c;
	background-color: #d9d9d9;
}

#GlobalNaviMenu > li.DropDownMenu > button:hover,
#GlobalNaviMenu > li.DropDownMenu > button:focus {
	color: #0c0c0c;
	background-color: #d9d9d9;
}

#GlobalNaviMenu > li.DropDownMenu > ul {
	position: absolute;
	display: none;
	width: 320px;
	background: #f4f4f4;
}

#GlobalNaviMenu > li.DropDownMenu > ul ul {
	display: none;
}

#GlobalNaviMenu > li.DropDownMenu > ul li {
	float: none;
}

#GlobalNaviMenu > li.DropDownMenu > ul > li:first-child {
	border-top: 0;
}

#GlobalNaviMenu > li.DropDownMenu > ul button {
	font-family: 'Saans', 'Yu Gothic Pr6N R', 'Yu Gothic R', '游ゴシック体', sans-serif;
	background-color: transparent;
	border: 0;
	margin: 0;
	padding: 0;
	font-size: 100%;
	cursor: pointer;
	width: 100%;
}

#GlobalNaviMenu > li.DropDownMenu > ul a,
#GlobalNaviMenu > li.DropDownMenu > ul button > span {
	display: block;
	text-decoration: none;
	padding: 10px 48px 10px 16px;
	box-sizing: border-box;
	font-size: 83%;
	width: 100%;
	text-align: left;
	position: relative;
	line-height: 1.6;
	color: #0c0c0c;
	cursor: pointer;
	border: 0;
	margin: 0;
	word-break: break-all;
}

#GlobalNaviMenu > li.DropDownMenu > ul a:hover,
#GlobalNaviMenu > li.DropDownMenu > ul a:focus,
#GlobalNaviMenu > li.DropDownMenu > ul button:hover > span,
#GlobalNaviMenu > li.DropDownMenu > ul button:focus > span {
	color: #ffffff;
	background-color: #cc0000;
}

#GlobalNaviMenu > li.DropDownMenu > ul a::before,
#GlobalNaviMenu > li.DropDownMenu > ul a::after,
#GlobalNaviMenu > li.DropDownMenu > ul button > span::before,
#GlobalNaviMenu > li.DropDownMenu > ul button > span::after,
#GlobalNaviMenu > li.DropDownMenu > ul li.Current strong::after,
#GlobalNaviMenu > li.DropDownMenu > ul li.Current em::after {
	content: '';
	position: absolute;
}

#GlobalNaviMenu > li.DropDownMenu > ul button > span::before {
	right: 22px;
	top: calc(50% - 18px / 2);
	width: 2px;
	height: 18px;
	background-color: #0c0c0c;
}

#GlobalNaviMenu > li.DropDownMenu > ul button > span::after {
	right: 22px;
	top: calc(50% - 18px / 2);
	width: 2px;
	height: 18px;
	background-color: #0c0c0c;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}

#GlobalNaviMenu > li.DropDownMenu > ul a::after,
#GlobalNaviMenu > li.DropDownMenu > ul li.Current strong::after,
#GlobalNaviMenu > li.DropDownMenu > ul li.Current em::after {
	right: 20px;
	top: calc(50% - 10px / 2);
	left: auto;
	width: 10px;
	height: 10px;
	border: transparent;
	border-right: 2px solid #0c0c0c;
	border-top: 2px solid #0c0c0c;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}

#GlobalNaviMenu > li.DropDownMenu > ul button.is-open > span::before {
	display: none;
}

#GlobalNaviMenu > li.DropDownMenu > ul li.Current a::before,
#GlobalNaviMenu > li.DropDownMenu > ul li.Current a::after {
	display: none;
}

#GlobalNaviMenu > li.DropDownMenu > ul li.Current strong {
	position: relative;
	display: block;
	color: #ffffff;
	background-color: #cc0000;
	margin: -10px -48px -10px 0;
	padding: 10px 48px 10px 0;
}

#GlobalNaviMenu > li.DropDownMenu > ul li.Current em {
	position: relative;
	display: block;
	font-style: normal;
	font-weight: bold;
	margin: -10px -48px -10px 0;
	padding: 10px 48px 10px 0;
}

#GlobalNaviMenu > li.DropDownMenu > ul button:hover > span::before,
#GlobalNaviMenu > li.DropDownMenu > ul button:focus > span::before,
#GlobalNaviMenu > li.DropDownMenu > ul button:hover > span::after,
#GlobalNaviMenu > li.DropDownMenu > ul button:focus > span::after {
	background-color: #ffffff;
}

#GlobalNaviMenu > li.DropDownMenu > ul a:hover::after,
#GlobalNaviMenu > li.DropDownMenu > ul a:focus::after,
#GlobalNaviMenu > li.DropDownMenu > ul li.Current a strong::after,
#GlobalNaviMenu > li.DropDownMenu > ul li.Current a:hover em::after,
#GlobalNaviMenu > li.DropDownMenu > ul li.Current a:focus em::after {
	border-color: #ffffff;
}

#GlobalNaviMenu > li.DropDownMenu > ul > li > a,
#GlobalNaviMenu > li.DropDownMenu > ul > li > button > span {
	padding-left: calc(16px * 1);
	background-color: #d9d9d9;
}

#GlobalNaviMenu > li.DropDownMenu > ul > li > ul > li > a,
#GlobalNaviMenu > li.DropDownMenu > ul > li > ul > li > button > span {
	padding-left: calc(16px * 2);
	background-color: #b3b3b3;
}

#GlobalNaviMenu > li.DropDownMenu > ul > li.Current a strong,
#GlobalNaviMenu > li.DropDownMenu > ul > li.Current a em {
	margin-left: calc(0px - 16px * 1);
	padding-left: calc(16px * 1);
}

#GlobalNaviMenu > li.DropDownMenu > ul > li > ul > li.Current a strong,
#GlobalNaviMenu > li.DropDownMenu > ul > li > ul > li.Current a em {
	margin-left: calc(0px - 16px * 2);
	padding-left: calc(16px * 2);
}

#DropDownBackdrop {
	content: '';
	width: 100%;
	height: 100%;
	cursor: default;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 80;
}

/* SearchFormArea
=========================================================================================== */

#SearchFormArea {
	display: none;
	position: absolute;
	padding: 10px 0 15px 0;
	background-color: #d9d9d9;
	box-sizing: border-box;
	width: 100%;
	left: 0;
	top: 45px;
}

#SearchFormArea > div {
	margin: 0 auto;
}

#HeaderArea1 > .Container #SearchFormArea > div {
	max-width: 600px;
}

#HeaderArea1 > .Container.Wide #SearchFormArea > div {
	max-width: 900px;
}

#HeaderArea1 > .ContainerFix #SearchFormArea > div {
	max-width: 600px;
}

#HeaderArea1 > .ContainerFix.Wide #SearchFormArea > div {
	max-width: 900px;
}

#SearchFormArea form {
	display: block;
}

#SearchFormArea form + form {
	margin-top: 15px;
}

#SearchFormArea .SearchBtn {
	font-family: 'Saans', 'Yu Gothic Pr6N R', 'Yu Gothic R', '游ゴシック体', sans-serif;
	margin: 0 0 0;
	padding: 0 10px;
	color: #fff;
	font-size: 90%;
	border: 0;
	cursor: pointer;
	appearance: none;
	user-select: none;
	text-align: center;
	background-color: transparent;
	padding: 6px;
	line-height: 1.5;
	background-color: #2332b3;
	background-size: 16px;
	background-repeat: no-repeat;
	background-position: right 60px top 9px;
	background-image: url(../../../image/jp/r1/common2/icon_search2w.png);
	margin-top: 1px;
	width: 200px;
	margin-left: -1px;
	margin-top: 1px;
	margin-bottom: 1px;
}

#SearchFormArea .BtnClose {
	display: block;
	margin-left: calc(100% - 20px);
	width: 20px;
	height: 20px;
	margin-bottom: 10px;
	position: relative;
	background-color: transparent;
	border: 1px solid transparent;
	box-sizing: border-box;
	cursor: pointer;
}

#SearchFormArea .BtnClose::before,
#SearchFormArea .BtnClose::after {
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: #0c0c0c;
	transform: rotate(45deg);
	transform-origin: 0% 50%;
	position: absolute;
	top: calc(14% - 1px);
	left: 14%;
}

#SearchFormArea .BtnClose::after {
	transform: rotate(-45deg);
	transform-origin: 100% 50%;
	left: auto;
	right: 14%;
}

#SearchFormArea .SearchGroup {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-align: stretch;
	align-items: stretch;
	width: 100%;
}

#SearchFormArea .SearchPhrease {
	box-sizing: border-box;
	display: block;
	height: calc(24px + 12px + 2px);
	padding: 6px 12px;
	font-size: 90%;
	line-height: 1.5;
	color: #0c0c0c;
	background-color: #fff;
	background-clip: padding-box;
	-webkit-appearance: none;
	border-radius: 0;
	border: 1px solid transparent;
	position: relative;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	width: 1%;
	margin-bottom: 0;
}

#SearchFormArea .SearchPhrease::placeholder {
	color: #737373;
}

@media screen and (max-width: 1274px) {
	#HeaderArea1 > .Container.Wide #SearchFormArea {
		padding-left: 15px;
		padding-right: 15px;
	}
}

@media screen and (max-width: 964px) {
	#HeaderArea1 > .Container #SearchFormArea {
		padding-left: 15px;
		padding-right: 15px;
	}
}

@media screen and (max-width: 767px) {
	#HeaderArea1 > .Container #SearchFormArea {
		position: absolute;
		top: 45px;
		width: 100%;
	}

	#HeaderArea1 > .Container #SearchFormArea {
		transition: opacity 0.15s linear;
	}

	#HeaderArea1 > .Container #SearchFormArea:not(.show) {
		opacity: 0;
	}
}

@media screen and (max-width: 579px) {
	#HeaderArea1 > .Container #SearchFormArea .SearchBtn {
		width: 120px;
	}
}

@media screen and (max-width: 399px) {
	#HeaderArea1 > .Container #SearchFormArea .SearchBtn {
		width: 60px;
	}
}

/* 2024.04.25 */
#SearchFormArea .mf_finder_searchBox {
	margin: 15px 0 0 0;
	padding: 0;
	background: transparent;
}
#SearchFormArea .mf_finder_searchBox:first-child {
	margin: 0;
}
#SearchFormArea .mf_finder_searchBox_items {
	padding-top: 0;
	padding-bottom: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}
#SearchFormArea .mf_finder_searchBox_query_wrap {
	flex-grow: 1;
}
#SearchFormArea form + .mf_finder_container,
#SearchFormArea .mf_finder_container + form,
#SearchFormArea script + form {
	margin-top: 15px;
}
#SearchFormArea .mf_finder_searchBox_submit {
	font-family: 'Saans', 'Yu Gothic Pr6N R', 'Yu Gothic R', '游ゴシック体', sans-serif;
	margin: 0 0 0;
	padding: 0 10px;
	background-color: #d9d9d9;
	color: #fff;
	font-size: 90%;
	border: 0;
	cursor: pointer;
	appearance: none;
	user-select: none;
	text-align: center;
	line-height: 1.5;
	background-color: #cc0000;
	border-radius: 0;
	width: 200px;
	margin: 0;
	padding: 6px;
}
#SearchFormArea .mf_finder_searchBox_submit span {
	display: inline-block;
	margin: 0;
}
#SearchFormArea .mf_finder_searchBox_submit:before {
	display: none;
}
#SearchFormArea .mf_finder_searchBox_query_input {
	box-sizing: border-box;
	display: block;
	height: calc(24px + 12px + 2px);
	width: 100%;
	padding: 6px 12px;
	font-size: 90%;
	line-height: 1.5;
	color: #0c0c0c;
	background-color: #fff;
	background-clip: padding-box;
	-webkit-appearance: none;
	border-radius: 0;
	border: 1px solid transparent;
	position: relative;
	margin-bottom: 0;
	border: 1px solid #737373;
}
#SearchFormArea .mf_finder_searchBox_query_input::placeholder {
	color: #737373;
}
@media screen and (max-width: 579px) {
	#SearchFormArea .mf_finder_searchBox_submit {
		width: 120px;
	}
}
@media screen and (max-width: 399px) {
	#SearchFormArea .mf_finder_searchBox {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* SpMenuBtn
=========================================================================================== */

#SpMenuBtn {
	width: 45px;
	height: 45px;
	background-color: #000;
	border-radius: 3px;
	cursor: pointer;
	display: none;
	position: relative;
	border: 0;
	box-sizing: border-box;
	cursor: pointer;
	margin: 5px;
}

#SpMenuBtn:hover,
#SpMenuBtn:focus {
	background-color: #000;
}

#SpMenuBtn span {
	position: absolute;
	left: 0;
	width: 50%;
	left: 25%;
	height: 2px;
	background-color: #ffffff;
	border-radius: 4px;
	transform-origin: center;
}

#SpMenuBtn span:nth-of-type(1) {
	top: 30%;
}

#SpMenuBtn span:nth-of-type(2) {
	top: calc(50% - 1px);
}

#SpMenuBtn span:nth-of-type(3) {
	bottom: 30%;
}

#SpMenuBtn.is-open span:nth-of-type(1) {
	transform: rotate(-45deg);
	top: 50%;
}

#SpMenuBtn.is-open span:nth-of-type(2) {
	display: none;
}

#SpMenuBtn.is-open span:nth-of-type(3) {
	transform: rotate(45deg);
	top: 50%;
}

@media screen and (max-width: 767px) {
	#HeaderArea1 > .Container #SpMenuBtn {
		display: block;
		margin-right: -10px;
	}
}

/* SP Menu Modal
=========================================================================================== */

#SpMenuModal {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 75;
	display: none;
	width: 100%;
	height: 100%;
	max-height: 100%;
	overflow: hidden;
	outline: 0;
	transition: opacity 0.15s linear;
	outline: 0;
}

#SpMenuModal:not(.show) {
	opacity: 0;
}

#SpMenuModalDialog {
	position: relative;
	width: auto;
	pointer-events: none;
}

#SpMenuModal #SpMenuModalDialog {
	transition: -webkit-transform 0.3s ease-out;
	transition: transform 0.3s ease-out;
	transition:
		transform 0.3s ease-out,
		-webkit-transform 0.3s ease-out;
}

#SpMenuModal.show #SpMenuModalDialog {
	-webkit-transform: none;
	transform: none;
	display: -ms-flexbox;
	display: flex;
	box-sizing: border-box;
	background-color: #f6f8fa;
}

#SpMenuModalContent {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 100%;
	padding: 55px 20px 22px;
	pointer-events: auto;
	background-color: #f6f8fa;
	background-clip: padding-box;
	outline: 0;
	overflow: hidden;
	box-sizing: border-box;
}

#SpMenuModalBackdrop {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 70;
	width: 100vw;
	height: 100vh;
	background-color: #0c0c0c;
	opacity: 0;
	transition: opacity 0.15s linear;
}

#SpMenuModalBackdrop:not(.show) {
	opacity: 0;
}

#SpMenuModalBackdrop.show {
	opacity: 0.5;
}

#SpMenuModalBody {
	position: relative;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	overflow-y: auto;
}

body.menu-open #SpMenuModal {
	overflow-x: hidden;
	overflow-y: auto;
}

/* SpGlobalNavi
=========================================================================================== */
#SpGlobalNavi {
	border-top: 1px solid #0f1923;
}
#SpGlobalNavi:has(li) {
	border-bottom: 1px solid #0f1923;
}
#SpGlobalNavi ul {
	display: none;
}

#SpGlobalNavi li {
	float: none;
	box-sizing: border-box;
	border-top: 1px solid #dce4e8;
}

#SpGlobalNavi button {
	font-family: 'Saans', 'Yu Gothic Pr6N R', 'Yu Gothic R', '游ゴシック体', sans-serif;
	background-color: transparent;
	border: 0;
	margin: 0;
	padding: 0;
	font-size: 100%;
	cursor: pointer;
	width: 100%;
	display: block;
}

#SpGlobalNavi a,
#SpGlobalNavi button > span {
	display: block;
	box-sizing: border-box;
	text-decoration: none;
	font-size: 95%;
	font-weight: 600;
	position: relative;
	line-height: 1.6;
	color: #0c0c0c;
	width: 100%;
	text-align: left;
	border: 0;
	margin: 0;
	cursor: pointer;
	padding: 0;
	background-size: 15px 6px;
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-image: url(../../../image/jp/r1/common2/arrow.png);
}
#SpGlobalNavi a.icon_target {
	background-size: 12px;
	background-image: url(../../../image/jp/r1/common2/icon_target.png);
}

#SpGlobalNavi li.Current > a > strong,
#SpGlobalNavi li.Current > button > span > strong {
	position: relative;
	display: block;
	color: #ffffff;
	background-color: #cc0000;
}

#SpGlobalNavi li.Current > a > em,
#SpGlobalNavi li.Current > button > span > em {
	position: relative;
	display: block;
	font-style: normal;
	font-weight: bold;
}

#SpGlobalNavi li:not(.Current) > a,
#SpGlobalNavi li:not(.Current) > button > span,
#SpGlobalNavi li.Current > a > strong,
#SpGlobalNavi li.Current > a > em,
#SpGlobalNavi li.Current > button > span > strong,
#SpGlobalNavi li.Current > button > span > em {
	padding-left: 16px;
	padding-right: 48px;
	min-height: 50px;
	box-sizing: border-box;
	padding-top: 13px;
	padding-bottom: 13px;
}

#SpGlobalNavi > li > a,
#SpGlobalNavi > li > button > span {
	/* background-color: #F4F4F4; */
}

#SpGlobalNavi > li > ul > li > a,
#SpGlobalNavi > li > ul > li > button > span {
	background-color: #d9d9d9;
}

#SpGlobalNavi > li > ul > li > ul > li > a,
#SpGlobalNavi > li > ul > li > ul > li > button > span {
	background-color: #b3b3b3;
}

#SpGlobalNavi > li:not(.Current) > a,
#SpGlobalNavi > li:not(.Current) > button > span,
#SpGlobalNavi > li.Current > a > strong,
#SpGlobalNavi > li.Current > a > em,
#SpGlobalNavi > li.Current > button > span > strong,
#SpGlobalNavi > li.Current > button > span > em {
	/* padding-left: calc(16px * 1); */
	padding-left: 0;
}

#SpGlobalNavi > li > ul > li:not(.Current) > a,
#SpGlobalNavi > li > ul > li:not(.Current) > button > span,
#SpGlobalNavi > li > ul > li.Current > a > strong,
#SpGlobalNavi > li > ul > li.Current > a > em,
#SpGlobalNavi > li > ul > li.Current > button > span > strong,
#SpGlobalNavi > li > ul > li.Current > button > span > em {
	padding-left: calc(16px * 2);
}

#SpGlobalNavi > li > ul > li > ul > li:not(.Current) > a,
#SpGlobalNavi > li > ul > li > ul > li:not(.Current) > button > span,
#SpGlobalNavi > li > ul > li > ul > li.Current > a > strong,
#SpGlobalNavi > li > ul > li > ul > li.Current > a > em,
#SpGlobalNavi > li > ul > li > ul > li.Current > button > span > strong,
#SpGlobalNavi > li > ul > li > ul > li.Current > button > span > em {
	padding-left: calc(16px * 3);
}

@media screen and (min-width: 768px) {
	#SpGlobalNavi a:hover,
	#SpGlobalNavi a:focus,
	#SpGlobalNavi button:hover > span,
	#SpGlobalNavi button:focus > span {
		color: #ffffff;
		background-color: #cc0000;
	}
}

#SpGlobalNavi li:not(.Current) a::before,
#SpGlobalNavi li:not(.Current) a::after,
#SpGlobalNavi li:not(.Current) button > span::before,
#SpGlobalNavi li:not(.Current) button > span::after,
#SpGlobalNavi li.Current > a > strong::before,
#SpGlobalNavi li.Current > a > strong::after,
#SpGlobalNavi li.Current > a > em::before,
#SpGlobalNavi li.Current > a > em::after,
#SpGlobalNavi li.Current > button > span > strong::before,
#SpGlobalNavi li.Current > button > span > strong::after,
#SpGlobalNavi li.Current > button > span > em::before,
#SpGlobalNavi li.Current > button > span > em::after {
	content: '';
	position: absolute;
}

#SpGlobalNavi li:not(.Current) > button > span::before,
#SpGlobalNavi li.Current > button > span > strong::before,
#SpGlobalNavi li.Current > button > span > em::before {
	right: 22px;
	top: calc(50% - 18px / 2);
	width: 2px;
	height: 18px;
	background-color: #0c0c0c;
	transform: rotate(0);
	-webkit-transform: rotate(0);
	z-index: 1;
}

#SpGlobalNavi li:not(.Current) > button > span::after,
#SpGlobalNavi li.Current > button > span > strong::after,
#SpGlobalNavi li.Current > button > span > em::after {
	right: 22px;
	top: calc(50% - 18px / 2);
	width: 2px;
	height: 18px;
	background-color: #0c0c0c;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}

#SpGlobalNavi li:not(.Current) > a::after,
#SpGlobalNavi li.Current > a > strong::after,
#SpGlobalNavi li.Current > a > em::after {
	/* right: 20px;
    top: calc(50% - 10px / 2);
    left: auto;
    width: 10px;
    height: 10px;
    border: transparent;
    border-right: 2px solid #0C0C0C;
    border-top: 2px solid #0C0C0C;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg); */
}

#SpGlobalNavi li:not(.Current) > button.is-open > span::before,
#SpGlobalNavi li.Current > a::before,
#SpGlobalNavi li.Current > a::after,
#SpGlobalNavi li.Current > button.is-open > span > strong::before,
#SpGlobalNavi li.Current > button.is-open > span > em::before {
	display: none;
}

#SpGlobalNavi li:not(.Current) > button:hover > span::before,
#SpGlobalNavi li:not(.Current) > button:focus > span::before,
#SpGlobalNavi li:not(.Current) > button:hover > span::after,
#SpGlobalNavi li:not(.Current) > button:focus > span::after,
#SpGlobalNavi li.Current > button:hover > span::before,
#SpGlobalNavi li.Current > button:focus > span::before,
#SpGlobalNavi li.Current > button:hover > span::after,
#SpGlobalNavi li.Current > button:focus > span::after,
#SpGlobalNavi li.Current > button > span > strong::before,
#SpGlobalNavi li.Current > button > span > strong::after,
#SpGlobalNavi li.Current > button:hover > span > em::before,
#SpGlobalNavi li.Current > button:focus > span > em::before,
#SpGlobalNavi li.Current > button:hover > span > em::after,
#SpGlobalNavi li.Current > button:focus > span > em::after {
	background-color: #ffffff;
}

#SpGlobalNavi li:not(.Current) > a:hover::after,
#SpGlobalNavi li:not(.Current) > a:focus::after,
#SpGlobalNavi li.Current > a::after,
#SpGlobalNavi li.Current > a > strong::after,
#SpGlobalNavi li.Current > a:hover > em::after,
#SpGlobalNavi li.Current > a:focus > em::after {
	border-color: #ffffff !important;
}

/* SpSupportNavi
=========================================================================================== */
#SpSupportNavi {
	margin: 15px 0 0;
}

#SpSupportNavi ul {
	display: none;
	margin: 0 0 15px;
}

#SpSupportNavi > li {
	float: none;
	border-bottom: 1px solid #dce4e8;
}
#SpSupportNavi > li:last-child {
	border-bottom: none;
}

#SpSupportNavi button {
	font-family: 'Saans', 'Yu Gothic Pr6N R', 'Yu Gothic R', '游ゴシック体', sans-serif;
	background-color: transparent;
	border: 0;
	margin: 0;
	padding: 0;
	font-size: 100%;
	cursor: pointer;
	width: 100%;
	display: block;
	text-align: left;
}

#SpSupportNavi > li > a,
#SpSupportNavi button > span {
	box-sizing: border-box;
	text-decoration: none;
	width: 100%;
	border: 0;
	margin: 0;
	cursor: pointer;
	font-size: 90%;
	font-weight: 600;
	position: relative;
	line-height: 1.6;
	color: #0c0c0c;
	overflow: hidden;
	display: block;
	padding: 13px 0;
}
#SpSupportNavi > li > a {
	background-size: 15px 6px;
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-image: url(../../../image/jp/r1/common2/arrow.png);
}
#SpSupportNavi > li > a[target='_blank'] {
	background-size: 12px;
	background-image: url(../../../image/jp/r1/common2/icon_target.png);
}

#SpSupportNavi ul a,
#SpSupportNavi ul span {
	letter-spacing: 0.04em;
	color: #0f1923;
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
}
#SpSupportNavi ul a::before,
#SpSupportNavi ul span::before {
	content: '- ';
}
#SpSupportNavi ul a.Current,
#SpSupportNavi ul span.Current {
	color: #231862;
	font-weight: bold;
}

#SpSupportNavi a > span.Icon,
#SpSupportNavi button > span > span.Icon {
	width: 45px;
	height: 45px;
	display: inline-block;
	overflow: hidden;
	position: absolute;
	top: 50%;
	left: -8px;
	margin-top: -22.5px;
}

/* #SpSupportNavi > li > ul > li > a.Current {
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: 5px center;
	background-image: url(../../../image/jp/r1/common2/icon_checkmark.png);
}
#SpSupportNavi > li > ul > li > a,
#SpSupportNavi > li > ul > li > a:hover,
#SpSupportNavi > li > ul > li > a:focus {
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: 5px center;
	background-image: url(../../../image/jp/r1/common2/icon_checkmark_white.png);
} */

#SpSupportNavi button > span {
	background-size: 25px;
	background-repeat: no-repeat;
	background-position: right 5px center;
	background-image: url(../../../image/jp/r1/common2/icon_off.png);
}
#SpSupportNavi button.is-open > span {
	background-size: 25px;
	background-repeat: no-repeat;
	background-position: right 5px center;
	background-image: url(../../../image/jp/r1/common2/icon_on.png);
}

@media screen and (min-width: 768px) {
	#SpSupportNavi a:hover,
	#SpSupportNavi a:focus,
	#SpSupportNavi button:hover > span,
	#SpSupportNavi button:focus > span,
	#SpSupportNavi li.Selected a {
		color: #ffffff;
		background-color: #cc0000;
	}
}

#SpSupportNavi button:hover > span::before,
#SpSupportNavi button:focus > span::before,
#SpSupportNavi button:hover > span::after,
#SpSupportNavi button:focus > span::after,
#SpSupportNavi li.Selected button > span::before,
#SpSupportNavi li.Selected button > span::after {
	/* background-color: #ffffff; */
}

#SpSupportNavi a:hover::after,
#SpSupportNavi a:focus::after,
#SpSupportNavi li.Selected a::after {
	border-color: #ffffff;
}

#SpSupportNavi a > span:not(.Icon),
#SpSupportNavi button > span span {
	margin-left: 35px;
	display: inline-block;
}

#SpSupportNavi a span:first-child,
#SpSupportNavi button > span span:first-child {
	margin-left: 0px;
}

#SpSupportNavi img {
	width: 45px;
	height: 90px;
	pointer-events: none;
}
@media screen and (min-width: 768px) {
	#SpSupportNavi a:hover img,
	#SpSupportNavi a:focus img,
	#SpSupportNavi button:hover > span img,
	#SpSupportNavi button:focus > span img {
		margin-top: -45px;
	}
}
/* FooterArea
=========================================================================================== */

#FooterArea {
	position: relative;
	background-color: #000;
	min-width: 320px;
}

#FooterArea > .Container,
#FooterArea > .ContainerFix {
	position: relative;
	padding-top: 28px;
	padding-bottom: 15px;
}

#FooterArea.Fix {
	min-width: 965px;
}

#FooterArea.FixWide {
	min-width: 1275px;
}

/* FooterPageTop
=========================================================================================== */

#FooterPageTop {
	position: absolute;
	width: 50px;
	height: 50px;
	right: 15px;
	top: -25px;
	z-index: 1;
	background: url(/ja/module/images/pagetop.png) no-repeat center / cover;
	cursor: pointer;
}
@media screen and (min-width: 767px) {
	#FooterPageTop:hover {
		opacity: 0.95;
	}
}

#FooterArea > .ContainerFix #FooterPageTop {
	right: 0px;
}

#FooterPageTop::before {
	display: none !important;
	/* content: '';
	position: absolute;
	right: 11px;
	top: 14px;
	width: 18px;
	height: 2px;
	z-index: -1;
	background-color: #fff; */
}

#FooterPageTop::after {
	display: none !important;
	/* content: '';
	position: absolute;
	top: 22px;
	right: calc((40px - 10px * 1.4142) / 2);
	width: 13px;
	height: 13px;
	z-index: -1;
	border: transparent;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	box-sizing: border-box; */
}

@media screen and (max-width: 319px) {
	#FooterArea > .Container::before {
		width: 320px;
		left: 0;
		margin-left: 0;
	}
}

@media screen and (max-width: 767px) {
	#FooterArea > .Container #FooterPageTop {
		right: 10px;
	}
}

/* Footer2
=========================================================================================== */

#Footer2 {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-align: center;
	align-items: center;
	margin-bottom: 14px;
}

#SnsButton {
	line-height: 1;
}

#SnsButton a {
	display: block;
	margin-right: 16px;
	margin-bottom: 16px;
	float: left;
}

#SnsButton img {
	width: 32px;
	height: 32px;
}

#Footer2Menu {
	text-align: right;
	margin-left: auto;
}

#Footer2Menu a {
	font-size: 83%;
	margin-bottom: 16px;
	display: inline-block;
}

#Footer2Menu a + a {
	margin-left: 20px;
}

#Footer2Menu a:link,
#Footer2Menu a:visited {
	color: #0c0c0c;
	text-decoration: none;
}

#Footer2Menu a:hover,
#Footer2Menu a:focus,
#Footer2Menu a:active {
	color: #bb000b;
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
	.Container #Footer2 {
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.Container #SnsButton {
		margin-bottom: 10px;
		padding-top: 5px;
	}

	.Container #SnsButton a {
		margin-left: 12px;
		margin-right: 12px;
		margin-bottom: 25px;
	}

	.Container #SnsButton img {
		width: 45px;
		height: 45px;
	}

	.Container #Footer2Menu {
		width: 100%;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-direction: column;
		flex-direction: column;
		-ms-flex-align: start;
		align-items: flex-start;
	}

	.Container #Footer2Menu a {
		margin-left: 0;
		margin-bottom: 5px;
	}
}

/* Footer1
=========================================================================================== */

#Footer1 {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

#HitachiTop {
	margin-bottom: 10px;
	-ms-flex-preferred-size: 100%;
	flex-basis: 100%;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	flex-direction: row;
}

#HitachiTop a {
	font-size: 100%;
	font-weight: bold;
	position: relative;
	-webkit-transition: background-color 0.2s ease;
	transition: background-color 0.2s ease;
}

#HitachiTop a:link,
#HitachiTop a:visited {
	color: #fff;
	text-decoration: none;
}

#HitachiTop a:hover,
#HitachiTop a:focus,
#HitachiTop a:active {
	color: #bb000b;
	text-decoration: underline;
}

#HitachiTop a + a {
	margin-left: 30px;
}

#HitachiTop a + a::before {
	content: '';
	position: absolute;
	width: 1px;
	height: 20px;
	left: -15px;
	top: 50%;
	pointer-events: none;
	cursor: default;
	transform: translateY(-50%);
	background-color: #b3b3b3;
}

#Copyright {
	font-size: 14px;
	line-height: 1.5em;
	color: #6a7580;
	margin-bottom: 10px;
}

#Footer1Menu {
	color: #fff;
	margin-bottom: 10px;
}

#Footer1Menu a,
#Footer1Menu span {
	font-size: 14px;
	display: inline-block;
}

#Footer1Menu a + a {
	margin-left: 20px;
}

#Footer1Menu a:link,
#Footer1Menu a:visited {
	color: #fff;
	text-decoration: none;
}

#Footer1Menu a:hover,
#Footer1Menu a:focus,
#Footer1Menu a:active {
	color: #2332b3;
	text-decoration: underline;
}

@media screen and (max-width: 1274px) {
	#FooterArea > .ContainerFix.Wide::before {
		width: 100%;
		left: 0;
		margin-left: 0;
	}
}

@media screen and (max-width: 767px) {
	.Container #Footer1 {
		-ms-flex-direction: column;
		flex-direction: column;
		align-items: flex-start;
	}

	.Container #HitachiTop {
		width: 100%;
		-ms-flex-preferred-size: auto;
		flex-basis: auto;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.Container #HitachiTop a {
		width: 100%;
		display: block;
		padding: 10px;
		text-align: center;
		border: 1px solid #0c0c0c;
		box-sizing: border-box;
		margin-bottom: 10px;
	}

	.Container #HitachiTop a:hover,
	.Container #HitachiTop a:focus {
		background-color: #d9d9d9;
		color: #0c0c0c;
		text-decoration: none;
	}

	.Container #HitachiTop a + a {
		margin-left: 0;
	}

	.Container #HitachiTop a + a::before {
		display: none;
	}
	.Container #Footer1Menu {
		display: flex;
		flex-wrap: wrap;
	}
	.Container #Footer1Menu a {
		width: calc(50% - 10px);
		padding: 0 0 0 10px;
		position: relative;
	}
	.Container #Footer1Menu a::before {
		content: '';
		width: 4px;
		height: 1px;
		background-color: #fff;
		position: absolute;
		left: 0;
		top: 50%;
	}
	.Container #Footer1Menu a:nth-child(1) {
		order: 1;
	}
	.Container #Footer1Menu a:nth-child(3) {
		order: 3;
	}
	.Container #Footer1Menu a:nth-child(5) {
		order: 2;
	}
	.Container #Footer1Menu a:nth-child(7) {
		order: 4;
	}
	.Container #Footer1Menu span {
		display: none;
	}

	.Container #Copyright {
		margin-right: 0;
	}

	#Footer1Menu a,
	#Footer1Menu span {
		font-size: 13px;
	}
}

/* MegaMenu
=========================================================================================== */

#MegaMenu {
	width: auto !important;
	margin: 0 !important;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.MMSet {
	top: 100%;
}

.MMGlobalNaviStyle a {
	line-height: 60px;
}

.MMGlobalNaviStyle.Current.MMSetMenu a {
	line-height: 60px;
}

.MMGlobalNaviStyle.Current.MMSetMenu a.Strong strong {
	line-height: 60px;
}

.MMGlobalNaviStyle.Current a strong {
	line-height: 60px;
}

.MMGlobalNaviStyle.Current a em {
	line-height: 60px;
}

.MMGlobalNaviStyle.Current.MMSetMenu a em {
	line-height: 60px;
}

@media screen and (max-width: 767px) {
	#HeaderArea2 > .Container #MegaMenu {
		display: none;
	}
}

/* Popup
=========================================================================================== */
#PopupCloseBtn {
	width: 45px;
	height: 45px;
	background-color: #737373;
	cursor: pointer;
	display: block;
	position: relative;
	border: 0;
	box-sizing: border-box;
	cursor: pointer;
}

#PopupCloseBtn:hover,
#PopupCloseBtn:focus,
#PopupCloseBtn:active {
	background-color: #0c0c0c;
}

#PopupCloseBtn::before,
#PopupCloseBtn::after {
	content: '';
	display: block;
	width: 80%;
	height: 2px;
	background: #fff;
	position: absolute;
	top: calc(21% - 1px);
}

#PopupCloseBtn::before {
	transform: rotate(45deg);
	transform-origin: 0% 50%;
	left: 21%;
}

#PopupCloseBtn::after {
	transform: rotate(-45deg);
	transform-origin: 100% 50%;
	right: 21%;
}

#Popup #HeaderArea1 {
	background-color: #f4f4f4;
}

#Popup #Contents {
	padding-right: 0 !important;
	padding-left: 0 !important;
	padding-top: 18px;
	min-width: auto;
}

#Popup #TopicPath + #Contents {
	padding-top: 0px;
}

#Popup.MinWidth,
#Popup.MinWidth #Contents {
	min-width: 540px;
}

#Popup #Contents.Fix {
	min-width: 965px;
}

#Popup #Contents.FixWide {
	min-width: 1275px;
}

/* Simplified
=========================================================================================== */
#Simplified .Container {
	max-width: 100%;
}

#Simplified #HeaderArea1 {
	background-color: #f4f4f4;
}

#Simplified #Contents {
	padding-right: 0 !important;
	padding-left: 0 !important;
	padding-top: 18px;
	min-width: auto;
}

#Simplified #TopicPath {
	min-width: auto;
	padding-left: 15px;
	padding-right: 15px;
}

#Simplified #TopicPath ul {
	width: 100%;
}

#Simplified #TopicPath + #Contents {
	padding-top: 0px;
}

/* Page Top
=========================================================================================== */
#PageTopBottom {
	display: none;
}

/* ResponsiveTable
=========================================================================================== */

.ResponsiveTableHeaderArea {
	padding-left: 15px;
	padding-right: 15px;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #f4f4f4;
	box-sizing: border-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 0;
	margin: 0 auto;
}

.ResponsiveTableStatement {
	height: 45px;
	margin-right: auto;
	display: block;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
}

.ResponsiveTableStatement img {
	width: 90px;
	height: auto;
	margin-top: 13px;
	margin-bottom: 12px;
}

.ResponsiveTableCloseBtn {
	width: 45px;
	height: 45px;
	margin-right: -15px;
	background-color: #737373;
	cursor: pointer;
	display: block;
	position: relative;
	border: 0;
}

.ResponsiveTableCloseBtn:hover,
.ResponsiveTableCloseBtn:focus,
.ResponsiveTableCloseBtn:active {
	background-color: #0c0c0c;
}

.ResponsiveTableCloseBtn::before,
.ResponsiveTableCloseBtn::after {
	content: '';
	display: block;
	width: 80%;
	height: 2px;
	background: #fff;
	position: absolute;
	top: calc(21% - 1px);
}

.ResponsiveTableCloseBtn::before {
	transform: rotate(45deg);
	transform-origin: 0% 50%;
	left: 21%;
}

.ResponsiveTableCloseBtn::after {
	transform: rotate(-45deg);
	transform-origin: 100% 50%;
	right: 21%;
}

/* [c18] Content/Tab Navigation System
=========================================================================================== */

.BrandingImgStyleAdjust {
	position: relative;
}

/* print
=========================================================================================== */

@media print {
	.Container.Wide {
		min-width: 1275px;
	}

	#HeaderArea1,
	#HeaderArea2,
	#HorizontalLocalNaviArea,
	#FooterArea {
		display: inline-block;
		min-width: 100%;
	}

	#HeaderArea1 {
		position: relative !important;
		transform: none !important;
	}
	#HeaderArea2 {
		position: relative !important;
		transform: none !important;
	}

	#SpMenuModal,
	#SpSearchBackdrop,
	#SpMenuModalBackdrop,
	body.spsearch-open #SearchFormArea {
		display: none !important;
	}
}
#SpMenuModalBody #SearchFormArea {
	display: block;
	position: relative;
	top: 0 !important;
	background: transparent;
	padding: 25px 0;
}
#SpMenuModalBody #SearchFormArea .SearchGroup {
	position: relative;
}
#SpMenuModalBody #SearchFormArea button:not(.SearchBtn) {
	display: none;
}
#SpMenuModalBody #SearchFormArea .SearchPhrease {
	height: 46px;
	font-size: 16px;
}
#SpMenuModalBody #SearchFormArea input.SearchPhrease::placeholder {
	color: transparent;
}
#SpMenuModalBody #SearchFormArea .SearchBtn {
	background-size: 16px;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../../../image/jp/r1/common2/icon_search2.png);
	background-color: transparent;
	position: absolute;
	right: 0;
	width: 45px;
	height: 45px;
	color: transparent;
	font-size: 0;
}

/*  */
/* #Contents .section {
	padding: 120px 0;
} */
.TopHeading,
.Grid3 h2,
.Grid4 h2 {
	background: url(../../../image/jp/r1/common2/icon_obj.png) no-repeat left 9px / 8px 19px;
	font-size: 32px;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.04em;
	padding: 0 0 0 30px;
	margin: -5px 0 40px;
}
.TopHeading:has(+ p) {
	margin-bottom: 25px;
}
.TopHeading + p {
	margin: 0 0 35px;
}
.TopHeading.is-white {
	background: url(../../../image/jp/r1/common2/icon_obj2.png) no-repeat left 9px / 8px 19px;
	color: #fff;
}
.TopHeading span,
.Grid3 h2 span,
.Grid4 h2 span {
	background-color: transparent;
	display: block;
	padding: 0;
	font-size: 75%;
	margin: 5px 0 0;
}
.Grid3 h2 span,
.Grid4 h2 span {
	font-size: 100%;
	margin: 0;
}
.TopHeading small,
.Grid3 h2 small,
.Grid4 h2 small {
	display: block;
	font-size: 50%;
	margin: 10px 0 0;
}
a.Btn {
	box-sizing: border-box;
	background: url(../../../image/jp/r1/common2/arrow_w.png) no-repeat right 15px top calc(50% - 3px) / 15px 6px #231862;
	display: flex;
	align-items: center;
	width: 170px;
	height: 40px;
	border-radius: 4px;
	padding: 0 18px;
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.04em;
	transform: 0.3s;
}
a.Btn.is-black {
	background-color: #000;
}
a.Btn.is-yellow {
	background: url(../../../image/jp/r1/common2/arrow.png) no-repeat right 15px top calc(50% - 3px) / 15px 6px #faaf00;
	color: #0f1923;
}
a.Btn.is-white {
	background: url(../../../image/jp/r1/common2/arrow.png) no-repeat right 15px top calc(50% - 3px) / 15px 6px #fff;
	color: #0f1923;
}
a.Btn.is-normal {
	background-position: right 20px top calc(50% - 3px);
	width: 270px;
	height: 60px;
	font-size: 18px;
}
a.Btn.is-wide {
	width: 100%;
	height: auto;
	font-size: 18px;
	padding: 15px 45px 15px 15px;
	margin: 60px auto 0;
	max-width: 500px;
}
a.Btn[target='_blank'] {
	background: url(../../../image/jp/r1/common2/icon_target.png) no-repeat right 15px center / 12px;
}
a.Btn.is-yellow[target='_blank'] {
	background: url(../../../image/jp/r1/common2/icon_target.png) no-repeat right 15px center / 12px #faaf00;
}
a.Btn.is-white[target='_blank'] {
	background: url(../../../image/jp/r1/common2/icon_target.png) no-repeat right 15px center / 12px #fff;
}
@media screen and (min-width: 768px) {
	a.Btn:hover {
		background: url(../../../image/jp/r1/common2/arrow.png) no-repeat right 15px top calc(50% - 3px) / 15px 6px #e8f0f6;
		color: #0f1923;
	}
	a.Btn.is-white:hover {
		background: url(../../../image/jp/r1/common2/arrow_w.png) no-repeat right 15px top calc(50% - 3px) / 15px 6px #231862;
		color: #fff;
	}
	a.Btn.is-white[target='_blank']:hover {
		background: url(../../../image/jp/r1/common2/icon_target_on.png) no-repeat right 15px center / 12px #231862;
	}
	.TopIntro a.Btn:hover,
	a.Btn.is-yellow:hover {
		background-color: #f6f8fa;
	}
}
@media screen and (max-width: 767px) {
	.JS h2 {
		margin: 0 0 20px;
	}
	.TopHeading,
	.Grid3 h2,
	.Grid4 h2 {
		font-size: 22px;
		padding: 0 0 0 20px;
		margin: 0 0 20px;
		background-size: 5px auto;
		background-position: left 6px;
	}
	.TopHeading.is-white {
		background-size: 5px auto;
		background-position: left 6px;
	}

	a.Btn {
		font-size: 14px;
		margin: 20px auto 0;
		justify-content: center;
		text-align: center;
	}
	a.Btn.is-normal {
		width: 100%;
		height: 50px;
		font-size: 14px;
	}
	a.Btn.is-wide {
		font-size: 14px;
		margin: 30px auto 0;
	}
}
.ContactArea {
	background-color: #0f1923;
	color: #fff;
	padding: 85px 0;
}
@media screen and (min-width: 768px) {
	.ContactArea .Container {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 30px;
	}
	.ContactArea .TopHeading {
		margin: 0 0 28px;
	}
	.ContactArea .TopHeading + p,
	.ContactArea .Btn {
		margin: 0;
		font-size: 18px;
	}
}
@media screen and (max-width: 767px) {
	.ContactArea {
		padding: 40px 0;
	}
	.ContactArea .Btn {
		margin: 20px 0 0;
	}
}
#FooterNavi {
	background-color: #fff;
	padding: 60px 0;
}
.FooterNaviLogo {
	margin: 0 0 25px;
}
.FooterNaviSns a {
	border: 1px solid #0f1923;
	border-radius: 50%;
	display: block;
	width: 40px;
	height: 40px;
}
.FooterNaviList ul:not(:last-child) {
	margin: 0 0 30px;
}
.FooterNaviList li {
	margin: 0 0 3px;
}
.FooterNaviList a {
	font-size: 16px;
	letter-spacing: 0.04em;
	color: #0f1923;
	text-decoration: none;
}
.FooterNaviList li::before {
	content: '- ';
}
.FooterNaviList .FooterNaviMain {
	margin: 0 0 8px;
}
.FooterNaviList .FooterNaviMain a {
	font-size: 18px;
	font-weight: bold;
}
.FooterNaviList a[target='_blank'] {
	display: inline-block;
	padding: 0 20px 0 0;
	background: url(../../../image/jp/r1/common2/icon_target.png) no-repeat right center / 12px;
}
@media screen and (min-width: 768px) {
	#FooterNavi .Container {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 30px;
	}
	.FooterNaviList {
		display: flex;
		flex-wrap: wrap;
		gap: 55px;
	}
	.FooterNaviLeft a {
		transition: 0.3s;
	}
	.FooterNaviLeft a:hover {
		opacity: 0.7;
	}
	.FooterNaviList a:hover {
		color: #2332b3;
		border-bottom: 1px solid #2332b3;
	}
	.sp_only {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.pc_only {
		display: none;
	}
	#FooterNavi {
		padding: 25px 0 45px;
	}
	.FooterNaviLeft {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin: 0 0 20px;
	}
	.FooterNaviLogo {
		width: 66.67vw;
		margin: 0;
	}
	.FooterNaviLogo img {
		display: block;
		width: 100%;
		height: auto;
	}
	.FooterNaviList {
		border-top: 1px solid #0f1923;
		border-bottom: 1px solid #0f1923;
	}
	.FooterNaviList ul {
		display: none;
		margin: 0 0 20px;
	}
	.FooterNaviList li {
		margin: 0;
		line-height: 1.3;
	}
	.FooterNaviList a {
		font-size: 13px;
		line-height: 1.3;
	}
	.FooterNaviList li::before {
		content: '- ';
	}
	.FooterNaviList .FooterNaviMain {
		border-top: 1px solid #dce4e8;
		margin: 0;
	}
	.FooterNaviList .FooterNaviMain a {
		padding: 20px 0;
		display: block;
		background: url(../../../image/jp/r1/common2/arrow.png) no-repeat right 10px top calc(50% - 3px) / 15px 6px;
		font-size: 15px;
	}
	.FooterNaviList .FooterNaviMain a[target='_blank'] {
		display: block;
		padding: 20px 0;
		background-position: right 10px center;
	}
	.FooterNaviList .FooterNaviMain.spToggle a {
		background: url(../../../image/jp/r1/common2/icon_off.png) no-repeat right 5px center / 25px;
		pointer-events: none;
	}
	.FooterNaviList .FooterNaviMain.spToggle.is-open a {
		background: url(../../../image/jp/r1/common2/icon_on.png) no-repeat right 5px center / 25px;
	}
}
.NotifyContent {
	padding: 51px 0;
}
.Bg {
	background-color: #f6f8fa;
}
.NotifyContent p {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.04em;
	text-align: center;
}
.NotifyContent p span {
	color: #231862;
}
@media screen and (max-width: 767px) {
	.NotifyContent p {
		font-size: 17px;
	}
}
