@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&family=Noto+Sans+JP:wght@400;500;700&display=swap");
* {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
}

html {
	font-size: 18px;
	overflow-y: scroll;
}
html.sp {
	font-size: 16px !important;
}

body, th, td, input, select, textarea {
	font-size: min(1.0714285714vw, 18px);
	font-family: "Noto Sans JP", sans-serif;
}
.tablet body, .tablet th, .tablet td, .tablet input, .tablet select, .tablet textarea {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp body, .sp th, .sp td, .sp input, .sp select, .sp textarea {
	font-size: min(4.2967192587vw, 16.1126972201px);
}

body {
	margin: 0px auto;
	color: #000000;
	background: #ffffff;
	overflow: hidden;
}

img {
	border: 0px;
}

a {
	text-decoration: none;
}

dl, ul, ol {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

p {
	margin: 0px;
}

.clear {
	clear: both;
}

.sp .view_pc {
	display: none !important;
}

.view_sp {
	display: none !important;
}
.sp .view_sp {
	display: block !important;
}

.loading * {
	-webkit-transition: 0ms !important;
	transition: 0ms !important;
}
.loading *:before, .loading *:after {
	-webkit-transition: 0ms !important;
	transition: 0ms !important;
}

.contents * + .lead, .contents * + .column, .contents * + .boxlink, .contents * + .form, .contents * + .pagenation, .contents * + .faq, * + .anchorlink, * + .irtopcolumn {
	margin-top: 80px;
}
.sp .contents * + .lead, .contents .sp * + .lead, .sp .contents * + .column, .contents .sp * + .column, .sp .contents * + .boxlink, .contents .sp * + .boxlink, .sp .contents * + .form, .contents .sp * + .form, .sp .contents * + .pagenation, .contents .sp * + .pagenation, .sp .contents * + .faq, .contents .sp * + .faq, .sp * + .anchorlink, .sp * + .irtopcolumn {
	margin-top: 60px;
}

.contents * + .text, .contents * + .image, .contents * + .imagebox, .contents * + .table, .contents * + .searchtable, .contents * + .box, .contents * + .button, .contents * + .smallbutton, .contents * + .layouttable, .contents * + .layout, .contents * + .link, .contents * + .youtube, .contents * + .googlemap, * + .aformblock, .aformsystem:not(.iframe) * + .aform, .aform * + .head, * + .indexmenu, * + .imagelist, * + .bearing_strength_phaseindex {
	margin-top: 40px;
}
.sp .contents * + .text, .contents .sp * + .text, .sp .contents * + .image, .contents .sp * + .image, .sp .contents * + .imagebox, .contents .sp * + .imagebox, .sp .contents * + .table, .contents .sp * + .table, .sp .contents * + .searchtable, .contents .sp * + .searchtable, .sp .contents * + .box, .contents .sp * + .box, .sp .contents * + .button, .contents .sp * + .button, .sp .contents * + .smallbutton, .contents .sp * + .smallbutton, .sp .contents * + .layouttable, .contents .sp * + .layouttable, .sp .contents * + .layout, .contents .sp * + .layout, .sp .contents * + .link, .contents .sp * + .link, .sp .contents * + .youtube, .contents .sp * + .youtube, .sp .contents * + .googlemap, .contents .sp * + .googlemap, .sp * + .aformblock, .sp .aformsystem:not(.iframe) * + .aform, .aformsystem:not(.iframe) .sp * + .aform, .sp .aform * + .head, .aform .sp * + .head, .sp * + .indexmenu, .sp * + .imagelist, .sp * + .bearing_strength_phaseindex {
	margin-top: 30px;
}

#gdpr * + ul, .contents .text * + p:not(.image):not(.caption), .contents .text * + ul, .contents .text * + ol, .contents .imagebox > .image * + img,
.contents .imagebox > .image > * + a, .contents .form * + .formdl, .indexmenu * + p, .indexmenu * + ul {
	margin-top: 20px;
}

.popup {
	opacity: 0;
	transition: opacity 800ms 200ms !important;
}
.popup.popon {
	opacity: 1;
}

#gdpr {
	position: fixed;
	left: 0px;
	bottom: 0px;
	width: 100%;
	padding: 30px 40px;
	background: rgba(0, 0, 0, 0.8);
	z-index: 10000;
	opacity: 0;
}
#gdpr.view {
	opacity: 1;
}
.sp #gdpr {
	padding: 30px 20px;
}
#gdpr > div {
	display: flex;
	gap: 40px;
	justify-content: center;
	align-items: center;
}
.sp #gdpr > div {
	flex-wrap: wrap;
	gap: 20px;
}
#gdpr .text {
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.7;
	color: #fff;
}
.tablet #gdpr .text {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp #gdpr .text {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.sp #gdpr .text {
	width: 100%;
}
#gdpr .text a {
	color: #fff;
	text-decoration: underline;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#gdpr .text a:hover {
	opacity: 0.7;
}
#gdpr .accept {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
#gdpr .accept a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 8em;
	height: 40px;
	font-size: min(1.0714285714vw, 18px);
	font-weight: 500;
	color: #fff;
	background: #0053b0;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.tablet #gdpr .accept a {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp #gdpr .accept a {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
#gdpr .accept a:hover {
	opacity: 0.7;
}
#gdpr .close a {
	position: absolute;
	display: block;
	top: 15px;
	right: 15px;
	width: 40px;
	height: 40px;
	text-indent: -1000px;
	background: url(../images/closew.svg) no-repeat center center;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#gdpr .close a:hover {
	opacity: 0.7;
}
.sp #gdpr .close a {
	top: 0px;
	right: 0px;
}
#gdpr ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
}
.tablet #gdpr ul {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp #gdpr ul {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
#gdpr ul label {
	position: relative;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	min-height: 40px;
	padding: 5px 0px 5px 28px;
	cursor: pointer;
}
#gdpr ul input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
#gdpr ul input[type="checkbox"] + span:before {
	content: "";
	display: block;
	position: absolute;
	width: 18px;
	height: 18px;
	top: 50%;
	left: 0px;
	margin-top: -10px;
	background: #F2F7FC;
	border: 1px solid #BCBEC9;
	border-radius: 2px;
}
#gdpr ul input[type="checkbox"] + span {
	user-select: none;
}
#gdpr ul input[type="checkbox"] + span:after {
	content: "";
	display: block;
	position: absolute;
	width: 20px;
	height: 20px;
	top: 50%;
	left: 0px;
	margin-top: -10px;
	background: url(../images/check.svg) no-repeat center center;
	transform: scale(0);
	transition: 200ms;
}
#gdpr ul input[type="checkbox"]:checked + span:after {
	transform: scale(1);
}
#gdpr .p1 {
	display: block;
}
#gdpr .p2 {
	display: none;
}

#gdpr + #translation {
	border-bottom: 1px solid #fff;
}

#translation {
	position: fixed;
	left: 0px;
	bottom: 0px;
	width: 100%;
	padding: 30px 40px;
	background: rgba(0, 0, 0, 0.8);
	z-index: 10000;
	opacity: 0;
}
#translation.view {
	opacity: 1;
}
.sp #translation {
	padding: 30px 20px;
}
#translation > div {
	display: flex;
	justify-content: center;
	align-items: center;
}
#translation .text {
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.7;
	color: #fff;
}
.tablet #translation .text {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp #translation .text {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.sp #translation .text {
	width: 100%;
}
#translation .text a {
	color: #fff;
	text-decoration: underline;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#translation .text a:hover {
	opacity: 0.7;
}
#translation .close a {
	position: absolute;
	display: block;
	top: 15px;
	right: 15px;
	width: 40px;
	height: 40px;
	text-indent: -1000px;
	background: url(../images/closew.svg) no-repeat center center;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#translation .close a:hover {
	opacity: 0.7;
}
.sp #translation .close a {
	top: 0px;
	right: 0px;
}

header {
	display: block;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 130px;
	background: #fff;
	z-index: 50;
	transition: height 600ms, background 600ms;
}
.toppage header {
	background: transparent;
}
.searchopen header, .megamenuopen header, .tablet.menuopen header, .sp.menuopen header {
	background: #fff !important;
}
.spc header, .compactheader header {
	height: 65px;
	background: #fff;
}
.spc.toppage header {
	background: transparent;
}
.toppage.compactheader header {
	background: #fff;
}
.sp header {
	height: 56px;
}
header #navigation {
	position: absolute;
	bottom: 0px;
	right: calc(7.666666666666667em + 205px + 25px);
	font-size: min(1.0714285714vw, 18px);
	transition: right 600ms, opacity 600ms;
}
.tablet header #navigation {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp header #navigation {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.spc header #navigation {
	display: none;
}
header #navigation ul {
	display: flex;
}
header #navigation a {
	display: flex;
	align-items: center;
	height: 130px;
	padding: 15px 12px;
	color: #000000;
	font-weight: 500;
	transition: color 600ms, height 600ms;
}
.toppage header #navigation a {
	color: #fff;
}
.searchopen header #navigation a, .megamenuopen header #navigation a {
	color: #000000;
}
.compactheader header #navigation a, .spc header #navigation a {
	color: #000000;
	height: 65px;
}
header #navigation a:hover {
	color: #0053b0;
	transition: color 300ms;
}
header #navigation li {
	position: relative;
}
header #navigation li:after {
	content: "";
	display: block;
	position: absolute;
	width: calc(100% - 24px);
	height: 0px;
	bottom: 0px;
	left: 12px;
	background: #0053b0;
	transition: 200ms 0ms;
}
.pc header #navigation li:after {
	width: calc(100% - 2vw);
	left: 1vw;
}
.megamenuopen:not(.menuopen) header #navigation li.mmcurrent:after {
	height: 9px;
	transition: 300ms 100ms;
}

#logo {
	position: fixed;
	top: 47px;
	left: 50px;
	transition: 600ms;
	z-index: 100;
}
.spc #logo, .compactheader #logo {
	top: 14.5px;
}
.sp #logo {
	top: 18px;
	left: 20px;
}
#logo a {
	position: relative;
	display: block;
	width: 137px;
	height: 36px;
	text-indent: -10000px;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	transition: 600ms;
}
#logo a:hover {
	opacity: 0.7;
}
.sp #logo a {
	width: 76px;
	height: 20px;
}
#logo a:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(../images/logow.svg) no-repeat left center;
	background-size: auto 100%;
	opacity: 0;
	transition: opacity 600ms;
}
.toppage #logo a:before {
	opacity: 1;
}
.toppage.sp #logo a:before, .searchopen #logo a:before, .megamenuopen #logo a:before, .compactheader #logo a:before, .tablet.menuopen #logo a:before, .sp.menuopen #logo a:before {
	opacity: 0;
}
#logo a:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(../images/logo.svg) no-repeat left center;
	background-size: auto 100%;
	opacity: 1;
	transition: opacity 600ms;
}
.toppage #logo a:after {
	opacity: 0;
}
.toppage.sp #logo a:after, .searchopen #logo a:after, .megamenuopen #logo a:after, .compactheader #logo a:after, .tablet.menuopen #logo a:after, .sp.menuopen #logo a:after {
	opacity: 1;
}
#logo a span {
	position: absolute;
	left: calc(100% + 20px);
	bottom: 0;
	font-size: min(1.3095238095vw, 22px);
	line-height: 1;
	font-weight: 700;
	color: #0053b0;
	font-family: 'Roboto', sans-serif;
	text-indent: 0;
	transition: color 600ms;
}
.tablet #logo a span {
	font-size: min(2.4390243902vw, 20px);
}
.sp #logo a span {
	font-size: min(4.2666666667vw, 16px);
}
.sp #logo a span {
	left: calc(100% + 10px);
}
.toppage #logo a span {
	color: #fff;
}
.toppage.sp #logo a span, .searchopen #logo a span, .megamenuopen #logo a span, .compactheader #logo a span, .tablet.menuopen #logo a span, .sp.menuopen #logo a span {
	color: #0053b0;
}

#contact {
	position: fixed;
	top: 50px;
	right: 205px;
	transition: top 600ms;
}
.spc #contact, .compactheader #contact {
	top: 17.5px;
}
.sp #contact {
	display: none;
}
#contact a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: max(7.6666666667em, 72px);
	height: 30px;
	font-size: min(1.0714285714vw, 18px);
	font-weight: 500;
	color: #fff;
	background: #0053b0;
	border: 1px solid #0053b0;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	transition: opacity 0.2s, background 0.6s, border 0.6s;
}
.tablet #contact a {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp #contact a {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
#contact a:hover {
	opacity: 0.7;
}
.toppage #contact a {
	background: transparent;
	border-color: #fff;
}
.searchopen #contact a, .megamenuopen #contact a, .compactheader #contact a, .tablet.menuopen #contact a {
	background: #0053b0;
	border-color: #0053b0;
}

#search {
	position: fixed;
	right: 135px;
	top: 40px;
	transition: top 600ms;
	z-index: 100;
}
.spc #search, .compactheader #search {
	top: 7.5px;
}
.sp #search {
	display: none;
}
#search a {
	display: block;
	width: 50px;
	height: 50px;
	text-indent: -1000px;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#search a:hover {
	opacity: 0.7;
}
#search a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(../images/search.svg) no-repeat center center;
	opacity: 1;
	transition: 400ms;
}
.toppage #search a:before {
	background-image: url(../images/searchw.svg);
}
.searchopen #search a:before, .megamenuopen #search a:before, .compactheader #search a:before, .tablet.menuopen #search a:before {
	background-image: url(../images/search.svg);
}
#search a:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(../images/close.svg) no-repeat center center;
	opacity: 0;
	transition: 400ms;
}
.searchopen #search a:before {
	opacity: 0;
}
.searchopen #search a:after {
	opacity: 1;
}

#language {
	position: fixed;
	right: 85px;
	top: 40px;
	transition: top 600ms;
	z-index: 1050;
}
.spc #language, .compactheader #language {
	top: 7.5px;
}
.sp #language {
	top: 0px;
	right: 56px;
}
#language > a {
	display: block;
	width: 50px;
	height: 50px;
	text-indent: -1000px;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#language > a:hover {
	opacity: 0.7;
}
.sp #language > a {
	width: 56px;
	height: 56px;
}
#language > a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(../images/global.svg) no-repeat center center;
	opacity: 1;
	transition: 400ms;
}
.toppage #language > a:before {
	background-image: url(../images/globalw.svg);
}
.toppage.sp #language > a:before, .searchopen #language > a:before, .megamenuopen #language > a:before, .compactheader #language > a:before {
	background-image: url(../images/global.svg);
}
.menuopen #language > a:before {
	background-image: url(../images/globalw.svg);
}
.tablet.menuopen #language > a:before, .sp.menuopen #language > a:before {
	background-image: url(../images/global.svg);
}
#language .languagelist {
	position: absolute;
	padding: 10px;
	background: #fff;
	top: 50px;
	right: -45px;
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
	z-index: 1000;
	opacity: 0;
	pointer-events: none;
	transition: transform 400ms, opacity 400ms;
	transform: scale(0);
	transform-origin: 246px top;
}
.sp #language .languagelist {
	top: 52px;
	right: -42px;
}
.languageopen #language .languagelist {
	opacity: 1;
	transform: scale(1);
	pointer-events: auto;
}
#language .languagelist:after {
	content: "";
	display: block;
	position: absolute;
	width: 32px;
	height: 20px;
	top: -20px;
	right: 53px;
	background: url(../images/popwindowhead.png) no-repeat center center;
	pointer-events: none;
}
#language .languagelist a {
	display: block;
	width: 30px;
	height: 18px;
	text-indent: -10000px;
	background: none no-repeat center center;
	background-size: 100% auto;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	box-shadow: 0 0 1px rgba(0, 0, 0, 0.4);
}
#language .languagelist a:hover {
	opacity: 0.7;
}
#language .languagelist .global a {
	background-image: url(../images/global.svg);
	background-size: auto 100%;
	box-shadow: none;
}
#language .languagelist .jp a {
	background-image: url(../images/jp.svg);
}
#language .languagelist .us a {
	background-image: url(../images/us.svg);
}
#language .languagelist .de a {
	background-image: url(../images/de.svg);
}
#language .languagelist .cn a {
	background-image: url(../images/cn.svg);
}
#language .languagelist .in a {
	background-image: url(../images/in.svg);
}
#language .languagelist .th a {
	background-image: url(../images/th.svg);
}
#language .languagelist .ko a {
	background-image: url(../images/ko.svg);
}
#language .languagelist ul {
	display: flex;
	gap: 8px;
}

#menu {
	position: fixed;
	right: 35px;
	top: 40px;
	transition: top 600ms;
	z-index: 1050;
}
.spc #menu, .compactheader #menu {
	top: 7.5px;
}
.sp #menu {
	top: 0px;
	right: 0px;
}
#menu a {
	display: block;
	width: 50px;
	height: 50px;
	text-indent: -1000px;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#menu a:hover {
	opacity: 0.7;
}
.sp #menu a {
	width: 56px;
	height: 56px;
}
#menu a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(../images/menu.svg) no-repeat center center;
	opacity: 1;
	transition: 400ms;
}
.toppage #menu a:before {
	background-image: url(../images/menuw.svg);
}
.toppage.sp #menu a:before, .searchopen #menu a:before, .megamenuopen #menu a:before, .compactheader #menu a:before, .tablet.menuopen #menu a:before, .sp.menuopen #menu a:before {
	background-image: url(../images/menu.svg);
}
#menu a:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(../images/close.svg) no-repeat center center;
	opacity: 0;
	transition: 400ms;
}
.toppage #menu a:after {
	background-image: url(../images/closew.svg);
}
.searchopen #menu a:after, .megamenuopen #menu a:after, .compactheader #menu a:after, .tablet.menuopen #menu a:after, .sp.menuopen #menu a:after {
	background-image: url(../images/close.svg);
}
.menuopen #menu a:after {
	background-image: url(../images/closew.svg);
}
.menuopen #menu a:before {
	opacity: 0;
}
.menuopen #menu a:after {
	opacity: 1;
}

#fullmenu {
	position: fixed;
	top: 0px;
	right: 0px;
	width: 49.0625%;
	height: 100%;
	color: #fff;
	z-index: 1001;
	opacity: 0;
	transform: translateX(40%);
	transition: opacity 600ms, transform 600ms, top 600ms, height 600ms;
	pointer-events: none;
}
.tablet #fullmenu {
	top: 65px;
	width: 100%;
	height: calc(100% - 65px);
	overflow-y: auto;
	overflow-x: hidden;
}
.sp #fullmenu {
	top: 56px;
	height: calc(100% - 56px);
}
.menuopen #fullmenu {
	transform: translateX(0%);
	opacity: 1;
	pointer-events: auto;
}
#fullmenu .panel {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: calc(50.9375vw + 10px);
	height: 100%;
	right: 80%;
	top: 0px;
	background: url(../images/fullmenu.jpg) no-repeat right center;
	background-size: cover;
	z-index: 0;
	transition: right 0ms 600ms;
}
.tablet #fullmenu .panel {
	display: none;
}
.menuopen #fullmenu .panel {
	right: 100%;
	transition: right linear 500ms;
}
#fullmenu .panel:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: rgba(0, 83, 176, 0.5);
	z-index: 0;
}
#fullmenu .panel .catch {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	max-width: 714px;
	top: 0px;
	left: 50%;
	text-indent: -10000px;
	background: url(../images/catch.svg) no-repeat center center;
	background-size: 100% auto;
	z-index: 1;
	transform: translateX(-50%);
	overflow: hidden;
}
#fullmenu .panel .catch.langen {
	background-image: url(../images/catchspen.svg);
}
#fullmenu .body {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 85px 40px 40px;
	background: #0053b0;
	overflow-y: auto;
	overflow-x: hidden;
	z-index: 5;
}
.tablet #fullmenu .body {
	height: auto;
	padding: 0px 15px 20px;
}
#fullmenu .search {
	position: relative;
	display: none;
	width: 100%;
	padding: 30px 15px 20px;
	background: #B5B6B6;
}
.sp #fullmenu .search {
	display: block;
}
#fullmenu .search .input {
	position: relative;
	background: #ffffff;
}
#fullmenu .search input {
	width: 100%;
	height: 50px;
	padding: 0px 60px 0px 10px;
	font-size: min(6.4vw, 24px);
	line-height: 50px;
	font-weight: 400;
	border: 0px;
}
#fullmenu .search input::placeholder {
	color: #B5B6B6;
}
#fullmenu .search input:-ms-input-placeholder {
	color: #B5B6B6;
}
#fullmenu .search input::-ms-input-placeholder {
	color: #B5B6B6;
}
#fullmenu .search button {
	position: absolute;
	width: 50px;
	height: 50px;
	right: 0px;
	top: 0px;
	text-indent: -10000px;
	background: url(../images/search.svg) no-repeat center center;
	background-size: 24px;
	border: 0px;
	cursor: pointer;
}
#fullmenu .menu {
	position: relative;
	width: 27.60084925690021%;
	min-width: 10em;
	flex-shrink: 0;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
}
.tablet #fullmenu .menu {
	font-size: min(2.1951219512vw, 18px);
}
.sp #fullmenu .menu {
	font-size: min(5.3333333333vw, 20px);
}
.tablet #fullmenu .menu {
	width: 100%;
}
#fullmenu .menu a {
	display: inline-block;
	color: #fff;
}
#fullmenu .menu div {
	display: flex;
}
.tablet #fullmenu .menu div.home {
	display: none;
}
#fullmenu .menu div.hide {
	display: none;
}
#fullmenu .menu div.hide + ul {
	display: none;
}
.tablet #fullmenu .menu div {
	align-items: center;
	margin: 0px -15px;
	height: 60px;
	border-top: 1px solid #fff;
}
.tablet #fullmenu .menu div:last-child {
	border-bottom: 1px solid #fff;
}
.tablet #fullmenu .menu div .sw {
	position: relative;
	flex-shrink: 0;
	display: block;
	width: 70px;
	height: 100%;
	cursor: pointer;
	overflow: hidden;
}
.tablet #fullmenu .menu div .sw:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0%;
	background: url(../images/plus.svg) no-repeat center center;
	transition: top 400ms;
}
.tablet #fullmenu .menu div .sw:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: -100%;
	background: url(../images/minus.svg) no-repeat center center;
	transition: top 400ms;
}
.tablet #fullmenu .menu div .sw.open:before {
	top: 100%;
}
.tablet #fullmenu .menu div .sw.open:after {
	top: 0%;
}
#fullmenu .menu div a:not(.sw) {
	position: relative;
	display: flex;
	width: 100%;
	height: 57px;
	align-items: center;
}
#fullmenu .menu div a:not(.sw)[target="_blank"]:after {
	margin-top: -2px !important;
	background-image: url(../images/blankw.svg) !important;
}
#fullmenu .menu div a:not(.sw)[href$=".pdf"]:after {
	margin-top: -2px !important;
	background-image: url(../images/pdfw.svg) !important;
}
.tablet #fullmenu .menu div a:not(.sw) {
	padding: 10px 15px;
	height: 60px;
}
#fullmenu .menu div a:not(.sw):before {
	content: "";
	display: block;
	position: absolute;
	width: 0px;
	height: 57px;
	top: 0px;
	left: -40px;
	background: rgba(255, 255, 255, 0.2);
	opacity: 0;
	transition: width 0ms 300ms, opacity 300ms;
	z-index: -1;
}
.tablet #fullmenu .menu div a:not(.sw):before {
	display: none;
}
#fullmenu .menu div.open a:not(.sw):before {
	width: calc(100% + 40px);
	opacity: 1;
}
#fullmenu .menu ul {
	display: block;
	position: absolute;
	width: 35vw;
	top: 0px;
	left: calc(100% + 0px);
	font-weight: 400;
	opacity: 0;
	z-index: 10;
	pointer-events: none;
	transition: opacity 300ms, left 0ms 300ms;
}
html:not(.tablet) #fullmenu .menu ul {
	display: block !important;
}
html:not(.tablet) #fullmenu .menu ul ul {
	display: none !important;
}
.tablet #fullmenu .menu ul {
	display: none;
	position: static;
	margin: 0px -15px;
	width: auto;
	background: rgba(255, 255, 255, 0.2);
	opacity: 1;
}
.tablet.menuopen #fullmenu .menu ul {
	pointer-events: auto;
}
#fullmenu .menu ul li {
	position: relative;
}
#fullmenu .menu ul li:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: -30px;
	background: rgba(0, 83, 176, 0.9);
	z-index: -2;
}
#fullmenu .menu ul a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 57px;
	padding: 10px 0px;
	white-space: nowrap;
}
#fullmenu .menu ul a[target="_blank"]:after {
	margin-top: -2px !important;
	background-image: url(../images/blankw.svg) !important;
}
#fullmenu .menu ul a[href$=".pdf"]:after {
	margin-top: -2px !important;
	background-image: url(../images/pdfw.svg) !important;
}
.tablet #fullmenu .menu ul a {
	min-height: 60px;
	padding: 10px 15px 10px 35px;
	border-top: 1px solid #fff;
	white-space: normal;
}
#fullmenu .menu ul a:before {
	content: "";
	display: block;
	position: absolute;
	width: 0px;
	height: 100%;
	top: 0px;
	left: -30px;
	background: rgba(255, 255, 255, 0.4);
	opacity: 0;
	transition: width 0ms 300ms, opacity 300ms;
	z-index: -1;
}
.tablet #fullmenu .menu ul a:before {
	display: none;
}
#fullmenu .menu ul a:hover:before {
	width: 35vw;
	opacity: 1;
	transition: width 600ms, opacity 0ms;
}
#fullmenu .menu div.open + ul {
	opacity: 1;
	left: calc(100% + 30px);
	transition: opacity 400ms 250ms, left 400ms 250ms;
}
.menuopen #fullmenu .menu div.open + ul {
	pointer-events: auto;
}
#fullmenu .menu div a:not(.sw):hover:before {
	width: calc(100% + 40px);
	opacity: 1;
	transition: width 400ms, opacity 0ms;
}
#fullmenu .sublink {
	display: none;
}
.tablet #fullmenu .sublink {
	display: block;
	padding-top: 20px;
}
#fullmenu .sublink ul {
	display: flex;
	gap: 20px;
	flex-direction: column;
}
#fullmenu .sublink a {
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.1;
	color: #fff;
	position: relative;
	display: inline-block;
}
.tablet #fullmenu .sublink a {
	font-size: min(2.1951219512vw, 18px);
}
.sp #fullmenu .sublink a {
	font-size: min(4.8vw, 18px);
}
#fullmenu .sublink a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #fff;
	transition: 0.2s;
	transform: scale(0);
}
#fullmenu .sublink a:hover:before {
	transform: scale(1);
}
#fullmenu .copyright {
	margin-top: auto;
	padding-top: 30px;
	font-size: min(0.8333333333vw, 14px);
	font-weight: 500;
	font-family: 'Roboto', sans-serif;
}
.tablet #fullmenu .copyright {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp #fullmenu .copyright {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.tablet #fullmenu .copyright {
	display: none;
}

#searchpanel {
	position: fixed;
	top: 130px;
	right: 0px;
	width: 100%;
	background: -moz-linear-gradient(top, rgba(0, 84, 172, 0.27) 0%, rgba(0, 84, 172, 0.27) 100%);
	background: -webkit-linear-gradient(top, rgba(0, 84, 172, 0.27) 0%, rgba(0, 84, 172, 0.27) 100%);
	background: linear-gradient(to bottom, rgba(0, 84, 172, 0.27) 0%, rgba(0, 84, 172, 0.27) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#450054ac', endColorstr='#450054ac',GradientType=0 );
	background-color: #fff;
	z-index: 30;
	opacity: 0;
	transform: scale(1.1);
	transition: 600ms;
	pointer-events: none;
	overflow: auto;
}
.spc #searchpanel, .compactheader #searchpanel {
	top: 65px;
}
.searchopen #searchpanel {
	transform: scale(1);
	opacity: 1;
	pointer-events: auto;
}
.sp #searchpanel {
	display: none;
}
#searchpanel > div {
	position: relative;
	width: 100%;
	max-width: 1296px;
	margin: auto;
	padding: 50px 40px;
}
.tablet #searchpanel > div {
	padding: 33.3333333333px 20px;
}
.sp #searchpanel > div {
	padding: 25px 15px;
}
#searchpanel > div .search {
	position: relative;
	display: flex;
	width: 100%;
}
#searchpanel > div .search .title {
	display: flex;
	white-space: nowrap;
	align-items: center;
	height: 80px;
	margin-right: 40px;
	font-size: min(1.1904761905vw, 20px);
	font-weight: 700;
}
.tablet #searchpanel > div .search .title {
	font-size: min(1.8292682927vw, 15px);
}
.sp #searchpanel > div .search .title {
	font-size: min(4.6693713999vw, 17.5101427498px);
}
#searchpanel > div .search .body {
	width: 100%;
}
#searchpanel > div .search .input {
	position: relative;
	background: #ffffff;
	overflow: hidden;
}
#searchpanel > div .search input {
	width: 100%;
	height: 80px;
	padding: 0px 80px 0px 20px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 80px;
	font-weight: 500;
	border: 1px solid #B5B6B6;
}
.tablet #searchpanel > div .search input {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp #searchpanel > div .search input {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
#searchpanel > div .search input::placeholder {
	color: #B5B6B6;
}
#searchpanel > div .search input:-ms-input-placeholder {
	color: #B5B6B6;
}
#searchpanel > div .search input::-ms-input-placeholder {
	color: #B5B6B6;
}
#searchpanel > div .search button {
	position: absolute;
	width: 80px;
	height: 80px;
	right: 0px;
	top: 0px;
	text-indent: -10000px;
	background: url(../images/search.svg) no-repeat center center;
	background-size: 28px;
	border: 0px;
	cursor: pointer;
}
#searchpanel > div .search .hashlist {
	margin-top: 30px;
}
#searchpanel > div .search .hashlist ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
#searchpanel > div .search .hashlist a {
	display: flex;
	align-items: center;
	height: 24px;
	padding: 0px 10px;
	font-size: min(0.5952380952vw, 10px);
	color: #0053b0;
	background: #fff;
	border: 1px solid #B5B6B6;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.tablet #searchpanel > div .search .hashlist a {
	font-size: min(0.9146341463vw, 7.5px);
}
.sp #searchpanel > div .search .hashlist a {
	font-size: min(2.6666666667vw, 10px);
}
#searchpanel > div .search .hashlist a:hover {
	opacity: 0.7;
}

#megamenu {
	position: fixed;
	top: 130px;
	width: 100%;
	background: rgba(0, 0, 0, 0.8);
	pointer-events: none;
	z-index: 45;
	transform: translateY(-50%);
	transition: 400ms;
	opacity: 0;
}
.compactheader #megamenu {
	top: 65px;
}
.spc #megamenu {
	display: none;
}
#megamenu:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 130px;
	bottom: 100%;
	left: 0px;
	background: rgba(0, 0, 0, 0.8);
}
#megamenu > div {
	position: relative;
	width: 100%;
	max-width: 1760px;
	margin: auto;
	padding: 20px 40px 55px;
	transition: height 400ms;
}
.tablet #megamenu > div {
	padding: 10px 20px 27.5px;
}
.sp #megamenu > div {
	padding: 10px 15px 27.5px;
}
.megamenuopen #megamenu {
	opacity: 1;
	transform: translateY(0%);
	pointer-events: auto;
}
#megamenu .mm {
	position: absolute;
	width: calc(100% - 80px);
	max-width: 1216px;
	margin: auto;
	left: 50%;
	top: 20px;
	opacity: 0;
	transform: translateX(-50%);
	transition: opacity 200ms, top 0ms;
	pointer-events: none;
}
#megamenu .mm.show {
	opacity: 1;
	transition: opacity 400ms 200ms;
	z-index: 10;
	pointer-events: auto;
}
#megamenu .mm .head {
	position: relative;
	margin-bottom: 75px;
	font-size: min(1.3095238095vw, 22px);
	line-height: 1.3;
	font-weight: 700;
	color: #fff;
}
.tablet #megamenu .mm .head {
	font-size: min(2.012195122vw, 16.5px);
}
.sp #megamenu .mm .head {
	font-size: min(5.0286561483vw, 18.857460556px);
}
#megamenu .mm .head:after {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 1px;
	bottom: -20px;
	left: 50%;
	margin-left: -50vw;
	background: #fff;
}
#megamenu .mm .head a {
	color: #fff;
	position: relative;
	display: inline-block;
}
#megamenu .mm .head a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #fff;
	transition: 0.2s;
	transform: scale(0);
}
#megamenu .mm .head a:hover:before {
	transform: scale(1);
}
#megamenu .mm .body {
	display: flex;
	width: 100%;
}
#megamenu .mm .imagelink {
	position: relative;
	flex-shrink: 0;
	width: 270px;
	margin-left: 45px;
}
#megamenu .mm .imagelink:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 100%;
	left: -24px;
	top: 0px;
	background: #fff;
}
#megamenu .mm .imagelink .headding {
	margin-bottom: 15px;
	font-size: min(1.3095238095vw, 22px);
	font-weight: 700;
	color: #fff;
}
.tablet #megamenu .mm .imagelink .headding {
	font-size: min(2.012195122vw, 16.5px);
}
.sp #megamenu .mm .imagelink .headding {
	font-size: min(5.0286561483vw, 18.857460556px);
}
#megamenu .mm .imagelink a {
	position: relative;
	display: block;
	width: 100%;
	background: #fff;
}
#megamenu .mm .imagelink a:hover .more svg circle {
	stroke-dashoffset: 0px;
}
#megamenu .mm .imagelink a:hover .more:after {
	opacity: 1;
}
#megamenu .mm .imagelink .title {
	position: relative;
	padding: 10px 78px 10px 10px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 700;
	color: #0053b0;
	z-index: 5;
}
.tablet #megamenu .mm .imagelink .title {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp #megamenu .mm .imagelink .title {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
#megamenu .mm .imagelink .more {
	position: absolute;
	width: 32px;
	height: 32px;
	right: 5px;
	top: 5px;
	background: url(../images/arrow_sb.svg) no-repeat center center;
}
#megamenu .mm .imagelink .more:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	background: url(../images/moreb.svg) no-repeat center center;
	background-size: 100%;
	transform: translate(-50%, -50%);
}
#megamenu .mm .imagelink .more:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	background: url(../images/arrow_s.svg) no-repeat center center;
	opacity: 0;
	transition: 0.4s;
}
#megamenu .mm .imagelink .more svg {
	transform: rotate(-90deg);
	width: 100%;
	height: 100%;
}
#megamenu .mm .imagelink .more svg circle {
	stroke: #0053b0;
	stroke-width: 6px;
	width: 100%;
	height: 100%;
	fill: transparent;
	stroke-dashoffset: 283px;
	stroke-dasharray: 283px;
	stroke-linecap: round;
	transition: stroke-dashoffset 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
#megamenu .mm .imagelink .info {
	padding: 0px 10px 10px 10px;
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.3;
	color: #000000;
}
.tablet #megamenu .mm .imagelink .info {
	font-size: min(1.4634146341vw, 12px);
}
.sp #megamenu .mm .imagelink .info {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
#megamenu .mm .imagelink img {
	display: block;
	width: 100%;
	height: auto;
}
#megamenu .mm .imagelink a + a {
	margin-top: 20px;
}
#megamenu .mm ul {
	display: flex;
	flex-wrap: wrap;
	gap: 50px 45px;
	align-content: flex-start;
	width: 100%;
}
#megamenu .mm ul.col3 li {
	width: calc((100% - 90px) / 3);
}
#megamenu .mm ul.col4 li {
	width: calc((100% - 135px) / 4);
}
#megamenu .mm li {
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 700;
}
.tablet #megamenu .mm li {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp #megamenu .mm li {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
#megamenu .mm li a {
	color: #fff;
	position: relative;
	display: inline-block;
}
#megamenu .mm li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #fff;
	transition: 0.2s;
	transform: scale(0);
}
#megamenu .mm li a:hover:before {
	transform: scale(1);
}

#visualstage {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	background: url(../images/footerbg.jpg) no-repeat center center #fff;
	background-size: cover;
	z-index: -2;
}
.toppage.tablet #visualstage {
	position: absolute;
	height: 42.5vw;
	overflow: hidden;
}
.toppage.sp #visualstage {
	top: 56px;
}
.toppage.tablet.vscover2 #visualstage {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
}
#visualstage:after {
	content: "";
	display: none;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: transparent;
	transition: background 1000ms;
}
.vscover #visualstage:after {
	background: rgba(0, 0, 0, 0.6);
}
.vscover2 #visualstage:after {
	background: transparent;
}
.toppage #visualstage:after {
	display: block;
}
.toppage.tablet #visualstage:after {
	display: none;
}
#visualstage video, #visualstage img {
	position: absolute;
	left: 50%;
	top: 50%;
	min-width: 100%;
	min-height: 100%;
	transform: translate(-50%, -50%);
}
.toppage.tablet #visualstage video,
.toppage.tablet #visualstage img {
	width: 100vw;
	height: 42.5vw;
}
.toppage.tablet.vscover2 #visualstage video, .toppage.tablet.vscover2 #visualstage img {
	width: auto;
	height: auto;
}
#visualstage img {
	object-fit: cover;
}
.toppage.vscover #visualstage {
	background: transparent;
}
.toppage.tablet.vscover #visualstage {
	background: #fff;
}

main {
	display: block;
	background: #fff;
}
.toppage main {
	background: transparent;
}

main:has(> *:last-child.info) + #footertools:before {
	box-shadow: 0px 0px 0px 4vw #F2F7FC;
}

#footertools {
	position: relative;
	overflow: hidden;
}
#footertools:before {
	content: "";
	display: block;
	position: absolute;
	width: 625vw;
	height: 625vw;
	top: 0px;
	left: 50%;
	background: rgba(255, 255, 255, 0.7);
	border-radius: 50%;
	box-shadow: 0px 0px 0px 4vw #fff;
	transform: translateX(-50%);
}
.toppage #footertools:before {
	box-shadow: 0px 0px 0px 4vw #F2F7FC;
}
#footertools > div {
	position: relative;
	width: 100%;
	max-width: 1760px;
	margin: auto;
	padding: 70px 40px 85px;
}
.tablet #footertools > div {
	padding: 35px 20px 42.5px;
}
.sp #footertools > div {
	padding: 35px 15px 42.5px;
}
#footertools .list ul {
	display: flex;
	justify-content: center;
	gap: 30px;
}
.sp #footertools .list ul {
	gap: 10px;
}
#footertools .list li {
	width: calc((100% - 90px) / 4);
	max-width: 250px;
}
.sp #footertools .list li {
	width: calc((100% - 30px) / 4);
}
#footertools .list li:first-child, #footertools .list li:last-child {
	margin-top: 1.19047619047619%;
}
.sp #footertools .list li:first-child, .sp #footertools .list li:last-child {
	margin-top: 0%;
}
#footertools .list li > div,
#footertools .list a {
	display: block;
}
#footertools .list li > div .image,
#footertools .list a .image {
	margin: auto;
}
#footertools .list li > div .image img, #footertools .list a .image img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: auto;
}
.sp #footertools .list li > div .image img,
.sp #footertools .list a .image img {
	max-width: 80%;
}
#footertools .list li > div .title, #footertools .list a .title {
	margin-top: 32px;
	text-align: center;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 500;
	color: #0053b0;
}
.sp #footertools .list li > div .title,
.sp #footertools .list a .title {
	font-size: min(3.4666666667vw, 13px);
}
.sp #footertools .list li > div .title, .sp #footertools .list a .title {
	margin-top: 10px;
}
#footertools .list a {
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#footertools .list a:hover {
	opacity: 0.7;
}

#footerlinks {
	position: relative;
	display: flex;
	background: rgba(255, 255, 255, 0.7);
	border-bottom: 1px solid #fff;
	overflow: hidden;
}
#footerlinks:before {
	content: "";
	display: block;
	position: absolute;
	width: 625vw;
	height: 625vw;
	top: 0px;
	left: 50%;
	background: rgba(19, 47, 95, 0.85);
	border-radius: 50%;
	transform: translateX(-50%);
	mix-blend-mode: multiply;
}
#footerlinks .logo {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30.46875%;
	min-width: 585px;
	padding: 110px 20px 55px;
}
.pc #footerlinks .logo {
	min-width: 0px;
}
.sp #footerlinks .logo {
	width: 100%;
	padding: 50px;
	border: 0px;
}
#footerlinks .logo a {
	display: inline-block;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#footerlinks .logo a:hover {
	opacity: 0.7;
}
#footerlinks .logo a img {
	display: block;
	max-width: 100%;
	height: auto;
}
.sp #footerlinks .logo a img {
	margin-left: auto;
	margin-right: auto;
}
#footerlinks .link {
	position: relative;
	padding: 110px 50px 55px;
}
.sp #footerlinks .link {
	display: none;
}
#footerlinks .link ul {
	position: relative;
	display: flex;
	gap: 50px 0px;
	flex-wrap: wrap;
	width: 25em;
	font-size: min(1.4285714286vw, 24px);
}
.tablet #footerlinks .link ul {
	font-size: min(2.1951219512vw, 18px);
}
.sp #footerlinks .link ul {
	font-size: min(5.3748620085vw, 20.1557325319px);
}
#footerlinks .link ul:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 100%;
	left: -50px;
	top: 0px;
	background: #fff;
}
#footerlinks .link li {
	width: 12.5em;
}
#footerlinks .link a {
	color: #fff;
	font-weight: 500;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#footerlinks .link a:hover {
	opacity: 0.7;
}

footer {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 75px;
	background: #fff;
	z-index: 10;
}
.sp footer {
	flex-direction: column;
	height: auto;
}
.sp footer .link {
	padding: 20px 20px 0px;
}
footer .link ul {
	display: flex;
	align-items: center;
	gap: 35px;
	padding-left: 30px;
	font-size: min(1.0714285714vw, 18px);
	font-weight: 500;
}
.tablet footer .link ul {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp footer .link ul {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.sp footer .link ul {
	flex-direction: column;
	gap: 20px;
}
footer .link li + li {
	position: relative;
}
footer .link li + li:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 0.75em;
	left: -17px;
	top: 50%;
	margin-top: -0.375em;
	background: #000;
}
.sp footer .link li + li:before {
	display: none;
}
footer .link a {
	color: #000000;
	position: relative;
	display: inline-block;
}
footer .link a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
footer .link a:hover:before {
	transform: scale(1);
}
footer .copyright {
	padding: 15px 40px 20px;
	text-align: right;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.1;
	font-weight: 500;
	font-family: 'Roboto', sans-serif;
}
.sp footer .copyright {
	font-size: min(3.7333333333vw, 14px);
}
.sp footer .copyright {
	padding: 25px 15px 20px;
}

#titlearea {
	position: relative;
	border-top: 130px solid #fff;
	background: #fff;
}
.spc #titlearea {
	border-top-width: 65px;
}
.sp #titlearea {
	border-top-width: 56px;
}
#titlearea.bearing_strength.level2 {
	height: min(600px, 49.3421052632vw);
}
.sp #titlearea.bearing_strength.level2 {
	height: min(300px, 80vw);
}
#titlearea.bearing_strength.level2:before {
	background: rgba(0, 83, 176, 0.3);
	mix-blend-mode: normal;
}
#titlearea.bearing_strength .title {
	display: flex;
	align-items: center;
	height: 100%;
}
#titlearea.bearing_strength .title h1 {
	width: 100%;
	text-align: center;
	font-size: min(5.3571428571vw, 90px);
	line-height: 1.2;
	font-weight: 700;
	font-family: 'Roboto', sans-serif;
}
.sp #titlearea.bearing_strength .title h1 {
	font-size: min(8vw, 30px);
}
.sp #titlearea.bearing_strength .title h1 {
	margin-top: 10px;
}
#titlearea.bearing_strength .title h1 span {
	display: block;
	margin-top: 5px;
	font-size: min(2.6785714286vw, 45px);
	line-height: 1.2;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
}
.sp #titlearea.bearing_strength .title h1 span {
	font-size: min(5.3333333333vw, 20px);
}
#titlearea.bearing_strength .title .category {
	position: absolute;
	top: 35px;
}
.sp #titlearea.bearing_strength .title .category {
	top: 10px;
}
#titlearea.bearing_strength .title .catch {
	position: absolute;
	top: 20px;
	right: 35px;
	font-size: min(2.380952381vw, 40px);
	line-height: 1.2;
	font-weight: 500;
}
.sp #titlearea.bearing_strength .title .catch {
	font-size: min(4.2666666667vw, 16px);
}
.sp #titlearea.bearing_strength .title .catch {
	top: 10px;
	right: 15px;
}
#titlearea.level2 {
	display: flex;
	flex-direction: column;
	min-height: min(420px, 34.5394736842vw);
	background: none no-repeat center center;
	background-size: cover;
}
#titlearea.level2:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(34, 52, 72, 0.66);
	mix-blend-mode: multiply;
}
#titlearea.level2 .title {
	color: #fff;
}
#titlearea.products {
	background-image: url(../titlebg/products.jpg);
}
#titlearea .title {
	position: relative;
	width: 100%;
	max-width: 1296px;
	margin: auto;
	padding: 35px 40px 35px;
}
.tablet #titlearea .title {
	padding: 17.5px 20px 17.5px;
}
.sp #titlearea .title {
	padding: 17.5px 15px 17.5px;
}
#titlearea .title h1 {
	display: inline-block;
	margin: 0px;
	padding: 0px;
	font-size: min(3.5714285714vw, 60px);
	line-height: 1.2;
	font-weight: 500;
	vertical-align: middle;
}
.sp #titlearea .title h1 {
	font-size: min(8vw, 30px);
}
#titlearea .title .category {
	margin: 0px 0px 10px;
	font-size: min(1.1904761905vw, 20px);
	line-height: 1.3;
	font-weight: 500;
	opacity: 0.7;
}
.sp #titlearea .title .category {
	font-size: min(3.7333333333vw, 14px);
}
#titlearea .title .newicon {
	position: relative;
	display: inline-flex;
	margin-left: 30px;
	min-width: min(100px, 7.7160493827vw);
	min-height: min(40px, 3.0864197531vw);
	top: 0.15rem;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	font-size: min(1.4285714286vw, 24px);
	line-height: 1;
	font-weight: 400;
	color: #fff;
	font-family: "Roboto", sans-serif;
	background: #F0A53E;
	border-radius: 5px;
}
.sp #titlearea .title .newicon {
	font-size: min(3.2vw, 12px);
}
.sp #titlearea .title .newicon {
	position: absolute;
	top: 17.5px;
	right: 15px;
	width: 50px;
	height: 20px;
}
#titlearea .title p {
	margin-top: 20px;
	font-size: min(1.5476190476vw, 26px);
	line-height: 1.3;
	font-weight: 500;
}
.sp #titlearea .title p {
	font-size: min(4.2666666667vw, 16px);
}

#breadcrumbs {
	position: relative;
	background: rgba(242, 247, 252, 0.8);
}
#breadcrumbs > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 8px;
	position: relative;
	width: 100%;
	max-width: 1296px;
	margin: auto;
	padding: 17px 40px;
	font-size: min(0.9523809524vw, 16px);
	line-height: 1;
	font-weight: 500;
}
.tablet #breadcrumbs > ul {
	padding: 11.3333333333px 20px;
}
.sp #breadcrumbs > ul {
	padding: 8.5px 15px;
}
.tablet #breadcrumbs > ul {
	font-size: min(1.4634146341vw, 12px);
}
.sp #breadcrumbs > ul {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
#breadcrumbs > ul li + li:before {
	content: "";
	display: inline-block;
	width: 2px;
	height: 0.9em;
	margin-right: 8px;
	background: #000000;
	vertical-align: bottom;
	transform: skewX(-20deg);
}
#breadcrumbs > ul a {
	color: #000000;
	position: relative;
	display: inline-block;
}
#breadcrumbs > ul a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
#breadcrumbs > ul a:hover:before {
	transform: scale(1);
}

#pagecolumn {
	display: flex;
	justify-content: space-between;
	position: relative;
	width: 100%;
	max-width: 1296px;
	margin: auto;
	padding: 0px 40px;
}
.tablet #pagecolumn {
	padding: 0px 20px;
}
.sp #pagecolumn {
	padding: 0px 15px;
}
.sp #pagecolumn {
	flex-wrap: wrap;
}
#pagecolumn > .body {
	width: min(880px, 67.9012345679vw);
}
.sp #pagecolumn > .body {
	width: 100%;
}
#pagecolumn > .body .contents > div {
	padding-left: 0px;
	padding-right: 0px;
}
#pagecolumn > .menu {
	width: min(280px, 21.6049382716vw);
	padding-top: 100px;
	padding-bottom: 50px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
}
.sp #pagecolumn > .menu {
	font-size: min(5.3333333333vw, 20px);
}
.sp #pagecolumn > .menu {
	width: 100%;
	padding-top: 20px;
	padding-bottom: 40px;
}
#pagecolumn > .menu a {
	display: inline-block;
	color: #000000;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#pagecolumn > .menu a:hover {
	opacity: 0.7;
}
#pagecolumn > .menu div:not(.banner) {
	display: flex;
	align-items: center;
	border-top: 1px solid #BCBEC9;
}
#pagecolumn > .menu div:not(.banner) .sw {
	position: relative;
	align-self: stretch;
	flex-shrink: 0;
	display: block;
	width: 70px;
	padding: 0;
	border-top: 0;
	cursor: pointer;
	overflow: hidden;
}
#pagecolumn > .menu div:not(.banner) .sw:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0%;
	background: url(../images/plusc.svg) no-repeat center center;
	transition: top 400ms;
}
#pagecolumn > .menu div:not(.banner) .sw:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: -100%;
	background: url(../images/minusc.svg) no-repeat center center;
	transition: top 400ms;
}
#pagecolumn > .menu div:not(.banner) .sw.open:before {
	top: 100%;
}
#pagecolumn > .menu div:not(.banner) .sw.open:after {
	top: 0%;
}
#pagecolumn > .menu > div:not(.banner) {
	margin: 0px;
	min-height: 60px;
}
#pagecolumn > .menu > div:not(.banner):last-child {
	border-bottom: 1px solid #BCBEC9;
}
#pagecolumn > .menu > div:not(.banner) a:not(.sw) {
	position: relative;
	display: flex;
	padding: 10px 15px;
	width: 100%;
	min-height: 59px;
	align-items: center;
}
#pagecolumn > .menu ul {
	display: none;
	background: #F2F7FC;
}
#pagecolumn > .menu ul a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 60px;
	padding: 10px 15px 10px 35px;
	border-top: 1px solid #BCBEC9;
}
#pagecolumn > .menu ul div:not(.banner) a {
	border-top: 0;
}
#pagecolumn > .menu ul div:not(.banner) .sw {
	min-height: 60px;
}
#pagecolumn > .menu ul div:not(.banner) .sw:before {
	background-size: 20px auto;
}
#pagecolumn > .menu ul div:not(.banner) .sw:after {
	background-size: 20px auto;
}
#pagecolumn > .menu ul .current ul {
	display: block;
}
#pagecolumn > .menu ul ul {
	display: none;
	padding: 5px 10px 10px 35px;
}
#pagecolumn > .menu ul ul li {
	position: relative;
	padding-left: 1.5em;
	margin-top: 5px;
}
#pagecolumn > .menu ul ul li:before {
	position: absolute;
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	vertical-align: middle;
	top: 0.65em;
	left: 0.6em;
	margin-top: -2.5px;
	background: #0053b0;
	border-radius: 50%;
}
#pagecolumn > .menu ul ul a {
	display: inline-block;
	width: auto;
	min-height: 0px;
	padding: 0px;
	border-top: 0px;
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.3;
	font-weight: 400;
}
.tablet #pagecolumn > .menu ul ul a {
	font-size: min(1.4634146341vw, 12px);
}
.sp #pagecolumn > .menu ul ul a {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
#pagecolumn > .menu .current > a {
	border-bottom: 4px solid #0053b0;
}
#pagecolumn > .menu .banner {
	text-align: center;
}
#pagecolumn > .menu .banner a {
	vertical-align: bottom;
}
#pagecolumn > .menu .banner img {
	display: block;
	width: 100%;
	max-width: 280px;
	height: auto;
	margin: auto;
}
#pagecolumn > .menu .banner p {
	margin-top: 10px;
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.5;
	font-weight: 400;
	text-align: left;
}
.tablet #pagecolumn > .menu .banner p {
	font-size: min(1.4634146341vw, 12px);
}
.sp #pagecolumn > .menu .banner p {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
#pagecolumn > .menu .banner p.note {
	text-indent: -1em;
	margin-left: 1em;
}
#pagecolumn > .menu .banner p.note * {
	text-indent: 0;
}
#pagecolumn > .menu .banner p + p {
	margin-top: 5px;
}
#pagecolumn > .menu ul + .banner,
#pagecolumn > .menu div + .banner {
	padding-top: 40px;
	border-top: 1px solid #BCBEC9;
}
#pagecolumn #login {
	flex-direction: column;
	gap: 10px;
	align-items: flex-start;
	margin-bottom: 40px;
	padding: 15px;
	background: #F2F7FC;
	border: 1px solid #0053b0;
}
#pagecolumn #login a {
	display: block;
	padding: 0px;
	width: auto;
	min-height: 0px;
	position: relative;
	display: inline-block;
}
#pagecolumn #login a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
#pagecolumn #login a:hover:before {
	transform: scale(1);
}

#pagehedding {
	background: #fff;
}
#pagehedding > div {
	position: relative;
	width: 100%;
	max-width: 1296px;
	margin: auto;
	padding: 0px 40px;
}
.tablet #pagehedding > div {
	padding: 0px 20px;
}
.sp #pagehedding > div {
	padding: 0px 15px;
}
#pagehedding.padding > div {
	position: relative;
	width: 100%;
	max-width: 1296px;
	margin: auto;
	padding: 0px 40px 80px;
}
.tablet #pagehedding.padding > div {
	padding: 0px 20px 40px;
}
.sp #pagehedding.padding > div {
	padding: 0px 15px 40px;
}
#pagehedding .icons {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
#pagehedding .icons ul {
	display: flex;
	gap: 10px;
	align-items: center;
}
#pagehedding .icons > * + * {
	margin-left: 20px;
	padding-left: 20px;
	border-left: 1px solid #BCBEC9;
}
#pagehedding .icons li.poptext {
	position: relative;
}
.sp #pagehedding .icons li.poptext {
	position: static;
}
#pagehedding .icons li.poptext span {
	position: absolute;
	display: block;
	top: calc(100% + 4px);
	left: -10px;
	width: 24em;
	padding: 10px;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.4;
	font-weight: 400;
	background: #fff;
	box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.16);
	z-index: 1;
	opacity: 0;
	pointer-events: none;
	transition: opacity 150ms;
}
.tablet #pagehedding .icons li.poptext span {
	font-size: min(1.7073170732vw, 14px);
}
.sp #pagehedding .icons li.poptext span {
	font-size: min(3.2vw, 12px);
}
.sp #pagehedding .icons li.poptext span {
	left: 10px;
}
#pagehedding .icons li.poptext span:before {
	content: "";
	display: block;
	position: absolute;
	top: -5px;
	left: 0px;
	width: 100%;
	height: 5px;
	background: transparent;
}
.sp #pagehedding .icons li.poptext span:before {
	pointer-events: none;
}
#pagehedding .icons li.poptext span a {
	color: #000000;
	position: relative;
	display: inline-block;
}
#pagehedding .icons li.poptext span a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
#pagehedding .icons li.poptext span a:hover:before {
	transform: scale(1);
}
#pagehedding .icons li.poptext:hover span {
	opacity: 1;
	pointer-events: auto;
	transition: opacity 300ms;
}
#pagehedding .icons img {
	display: block;
}
.sp #pagehedding .icons p {
	width: 100%;
	margin-top: 20px;
	margin-left: 0px;
	padding-left: 0px;
	border-left: 0;
}
#pagehedding .icons p a {
	color: #0053b0;
	position: relative;
	display: inline-block;
}
#pagehedding .icons p a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
#pagehedding .icons p a:hover:before {
	transform: scale(1);
}

#floatingmenu {
	position: fixed;
	right: 0px;
	top: 213px;
	z-index: 20;
	transition: top 600ms, transform 500ms;
}
.spc #floatingmenu {
	top: 135px;
}
.sp #floatingmenu {
	top: 125px;
}
#floatingmenu dl {
	position: relative;
}
#floatingmenu dl:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 100%;
	left: 36px;
	top: 0;
	background: #fff;
	z-index: 1;
	pointer-events: none;
}
#floatingmenu dt {
	position: relative;
	display: flex;
	align-items: center;
	padding: 5px 10px 5px 46px;
	min-height: 36px;
	font-size: min(0.9523809524vw, 16px);
	line-height: 1;
	font-weight: 700;
	color: #fff;
	background: #0053b0;
	cursor: pointer;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	user-select: none;
}
.tablet #floatingmenu dt {
	font-size: min(1.4634146341vw, 12px);
}
.sp #floatingmenu dt {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
#floatingmenu dt:hover {
	opacity: 0.9;
}
#floatingmenu dt:before {
	content: "";
	display: block;
	position: absolute;
	width: 15px;
	height: 2px;
	top: 18px;
	left: 18px;
	background: #fff;
	border-radius: 1px;
	transform: translate(-50%, -50%) rotate(45deg);
	transition: 400ms;
}
#floatingmenu dt:after {
	content: "";
	display: block;
	position: absolute;
	width: 15px;
	height: 2px;
	top: 18px;
	left: 18px;
	background: #fff;
	border-radius: 1px;
	transform: translate(-50%, -50%) rotate(-45deg);
	transition: 400ms;
}
#floatingmenu.close {
	transform: translateX(calc(100% - 36px));
}
#floatingmenu.close dt:before {
	width: 9px;
	transform: translate(-56%, -50%) rotate(46deg);
	transform-origin: left;
}
#floatingmenu.close dt:after {
	width: 9px;
	transform: translate(-56%, -50%) rotate(-46deg);
	transform-origin: left;
}
#floatingmenu dd {
	position: relative;
	margin-left: 36px;
	border-left: 1px solid #0053b0;
	z-index: 1;
}
#floatingmenu li {
	position: relative;
}
#floatingmenu li:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 1px;
	left: 7px;
	top: 0;
	background: #DBDBDB;
	pointer-events: none;
	z-index: 1;
}
#floatingmenu a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-width: 160px;
	padding: 5px 36px 5px 10px;
	min-height: 32px;
	font-size: 12px;
	font-weight: bold;
	color: #0053b0;
	background: #F2F7FC;
	transition: background 0.2s;
}
#floatingmenu a:hover {
	background: #D8EBFD;
	transition: background 0.4s;
}
#floatingmenu a span {
	display: block;
	position: absolute;
	width: 36px;
	height: 100%;
	top: 0px;
	right: 0px;
	background: none no-repeat center center;
}

#fullmenu .menu div a:not(.sw):after, #fullmenu .menu ul a:after, #pagecolumn > .menu ul ul a:after, #pagecolumn > .menu .banner p a:after, #pagehedding .icons p a:after, .contents .text p:not(.image):not(.caption) a:after, .contents .text ul > li a:after, .contents .text ol > li a:after, .contents .table > table a:after, .contents .layouttable a:after, .contentslistmenu > ul .list ul > li a:after, .aform dl dd .aform-input-example a:after, .aform .aform-content a:after, .indexmenu ul > li a:after {
	display: inline-block;
	width: 25px;
	height: 16px;
	margin-left: 5px;
	margin-top: -4px;
	vertical-align: middle;
	background: none no-repeat center center;
	background-size: 16px auto;
}
#fullmenu .menu div a[target="_blank"]:not(.sw):after, #fullmenu .menu ul a[target="_blank"]:after, #pagecolumn > .menu ul ul a[target="_blank"]:after, #pagecolumn > .menu .banner p a[target="_blank"]:after, #pagehedding .icons p a[target="_blank"]:after, .contents .text p:not(.image):not(.caption) a[target="_blank"]:after, .contents .text ul > li a[target="_blank"]:after, .contents .text ol > li a[target="_blank"]:after, .contents .table > table a[target="_blank"]:after, .contents .layouttable a[target="_blank"]:after, .contentslistmenu > ul .list ul > li a[target="_blank"]:after, .aform dl dd .aform-input-example a[target="_blank"]:after, .aform .aform-content a[target="_blank"]:after, .indexmenu ul > li a[target="_blank"]:after {
	content: "";
	background-image: url(../images/blank.svg);
}
#fullmenu .menu div a[href$=".pdf"]:not(.sw):after, #fullmenu .menu ul a[href$=".pdf"]:after, #pagecolumn > .menu ul ul a[href$=".pdf"]:after, #pagecolumn > .menu .banner p a[href$=".pdf"]:after, #pagehedding .icons p a[href$=".pdf"]:after, .contents .text p:not(.image):not(.caption) a[href$=".pdf"]:after, .contents .text ul > li a[href$=".pdf"]:after, .contents .text ol > li a[href$=".pdf"]:after, .contents .table > table a[href$=".pdf"]:after, .contents .layouttable a[href$=".pdf"]:after, .contentslistmenu > ul .list ul > li a[href$=".pdf"]:after, .aform dl dd .aform-input-example a[href$=".pdf"]:after, .aform .aform-content a[href$=".pdf"]:after, .indexmenu ul > li a[href$=".pdf"]:after {
	content: "";
	background-image: url(../images/pdf.svg);
	background-size: auto 100%;
}
#fullmenu .menu div a[href$=".doc"]:not(.sw):after, #fullmenu .menu ul a[href$=".doc"]:after, #pagecolumn > .menu ul ul a[href$=".doc"]:after, #pagecolumn > .menu .banner p a[href$=".doc"]:after, #pagehedding .icons p a[href$=".doc"]:after, .contents .text p:not(.image):not(.caption) a[href$=".doc"]:after, .contents .text ul > li a[href$=".doc"]:after, .contents .text ol > li a[href$=".doc"]:after, .contents .table > table a[href$=".doc"]:after, .contents .layouttable a[href$=".doc"]:after, .contentslistmenu > ul .list ul > li a[href$=".doc"]:after, .aform dl dd .aform-input-example a[href$=".doc"]:after, .aform .aform-content a[href$=".doc"]:after, .indexmenu ul > li a[href$=".doc"]:after, #fullmenu .menu div a[href$=".docx"]:not(.sw):after, #fullmenu .menu ul a[href$=".docx"]:after, #pagecolumn > .menu ul ul a[href$=".docx"]:after, #pagecolumn > .menu .banner p a[href$=".docx"]:after, #pagehedding .icons p a[href$=".docx"]:after, .contents .text p:not(.image):not(.caption) a[href$=".docx"]:after, .contents .text ul > li a[href$=".docx"]:after, .contents .text ol > li a[href$=".docx"]:after, .contents .table > table a[href$=".docx"]:after, .contents .layouttable a[href$=".docx"]:after, .contentslistmenu > ul .list ul > li a[href$=".docx"]:after, .aform dl dd .aform-input-example a[href$=".docx"]:after, .aform .aform-content a[href$=".docx"]:after, .indexmenu ul > li a[href$=".docx"]:after {
	content: "";
	height: 18px;
	background-image: url(../images/doc.svg);
	background-size: auto 100%;
}
#fullmenu .menu div a[href$=".ppt"]:not(.sw):after, #fullmenu .menu ul a[href$=".ppt"]:after, #pagecolumn > .menu ul ul a[href$=".ppt"]:after, #pagecolumn > .menu .banner p a[href$=".ppt"]:after, #pagehedding .icons p a[href$=".ppt"]:after, .contents .text p:not(.image):not(.caption) a[href$=".ppt"]:after, .contents .text ul > li a[href$=".ppt"]:after, .contents .text ol > li a[href$=".ppt"]:after, .contents .table > table a[href$=".ppt"]:after, .contents .layouttable a[href$=".ppt"]:after, .contentslistmenu > ul .list ul > li a[href$=".ppt"]:after, .aform dl dd .aform-input-example a[href$=".ppt"]:after, .aform .aform-content a[href$=".ppt"]:after, .indexmenu ul > li a[href$=".ppt"]:after, #fullmenu .menu div a[href$=".pptx"]:not(.sw):after, #fullmenu .menu ul a[href$=".pptx"]:after, #pagecolumn > .menu ul ul a[href$=".pptx"]:after, #pagecolumn > .menu .banner p a[href$=".pptx"]:after, #pagehedding .icons p a[href$=".pptx"]:after, .contents .text p:not(.image):not(.caption) a[href$=".pptx"]:after, .contents .text ul > li a[href$=".pptx"]:after, .contents .text ol > li a[href$=".pptx"]:after, .contents .table > table a[href$=".pptx"]:after, .contents .layouttable a[href$=".pptx"]:after, .contentslistmenu > ul .list ul > li a[href$=".pptx"]:after, .aform dl dd .aform-input-example a[href$=".pptx"]:after, .aform .aform-content a[href$=".pptx"]:after, .indexmenu ul > li a[href$=".pptx"]:after {
	content: "";
	height: 18px;
	background-image: url(../images/ppt.svg);
	background-size: auto 100%;
}
#fullmenu .menu div a[href$=".xls"]:not(.sw):after, #fullmenu .menu ul a[href$=".xls"]:after, #pagecolumn > .menu ul ul a[href$=".xls"]:after, #pagecolumn > .menu .banner p a[href$=".xls"]:after, #pagehedding .icons p a[href$=".xls"]:after, .contents .text p:not(.image):not(.caption) a[href$=".xls"]:after, .contents .text ul > li a[href$=".xls"]:after, .contents .text ol > li a[href$=".xls"]:after, .contents .table > table a[href$=".xls"]:after, .contents .layouttable a[href$=".xls"]:after, .contentslistmenu > ul .list ul > li a[href$=".xls"]:after, .aform dl dd .aform-input-example a[href$=".xls"]:after, .aform .aform-content a[href$=".xls"]:after, .indexmenu ul > li a[href$=".xls"]:after, #fullmenu .menu div a[href$=".xlsx"]:not(.sw):after, #fullmenu .menu ul a[href$=".xlsx"]:after, #pagecolumn > .menu ul ul a[href$=".xlsx"]:after, #pagecolumn > .menu .banner p a[href$=".xlsx"]:after, #pagehedding .icons p a[href$=".xlsx"]:after, .contents .text p:not(.image):not(.caption) a[href$=".xlsx"]:after, .contents .text ul > li a[href$=".xlsx"]:after, .contents .text ol > li a[href$=".xlsx"]:after, .contents .table > table a[href$=".xlsx"]:after, .contents .layouttable a[href$=".xlsx"]:after, .contentslistmenu > ul .list ul > li a[href$=".xlsx"]:after, .aform dl dd .aform-input-example a[href$=".xlsx"]:after, .aform .aform-content a[href$=".xlsx"]:after, .indexmenu ul > li a[href$=".xlsx"]:after {
	content: "";
	height: 18px;
	background-image: url(../images/xls.svg);
	background-size: auto 100%;
}

.contents > div {
	position: relative;
	width: 100%;
	max-width: 1296px;
	margin: auto;
	padding: 100px 40px 60px;
}
.tablet .contents > div {
	padding: 50px 20px 30px;
}
.sp .contents > div {
	padding: 50px 15px 30px;
}
.contents.info {
	background: #F2F7FC;
}
.contents.info > div {
	position: relative;
	width: 100%;
	max-width: 1296px;
	margin: auto;
	padding: 60px 40px 60px;
}
.tablet .contents.info > div {
	padding: 30px 20px 30px;
}
.sp .contents.info > div {
	padding: 30px 15px 30px;
}
.contents.bg {
	background: none no-repeat center center;
	background-size: cover;
}
.contents.bg > div {
	position: relative;
	width: 100%;
	max-width: 1296px;
	margin: auto;
	padding: 120px 40px 120px;
}
.tablet .contents.bg > div {
	padding: 60px 20px 60px;
}
.sp .contents.bg > div {
	padding: 60px 15px 60px;
}
.contents h2 + *, .contents h3 + *, .contents h4 + *, .contents h5 + *, .contents h6 + * {
	margin-top: 0px !important;
}
.contents h2 {
	position: relative;
	margin: 0 0px 50px;
	padding: 0px 0px 20px;
	font-size: min(2.380952381vw, 40px);
	line-height: 1.3;
	font-weight: 500;
	color: #0053b0;
	border-bottom: 1px solid #BCBEC9;
}
.tablet .contents h2 {
	font-size: min(3.6585365854vw, 30px);
}
.sp .contents h2 {
	font-size: min(7.7082895066vw, 28.9060856499px);
}
.contents h2:before {
	content: "";
	display: block;
	position: absolute;
	width: 75px;
	height: 10px;
	bottom: -5px;
	background: #0053b0;
	border-radius: 0 10px 10px 0;
}
.contents h2.center {
	position: relative;
	margin-bottom: 80px;
	padding-bottom: 30px;
	font-size: min(2.8571428571vw, 48px);
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: center;
	border-bottom: 0;
}
.tablet .contents h2.center {
	font-size: min(4.3902439024vw, 36px);
}
.sp .contents h2.center {
	font-size: min(8.614194841vw, 32.3032306536px);
}
.contents h2.center:before {
	width: 80px;
	left: 50%;
	bottom: 0px;
	margin-left: -40px;
	border-radius: 0;
}
.contents .h2with {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0px 50px;
	border-bottom: 1px solid #BCBEC9;
}
.contents .h2with h2 {
	border-bottom: 0;
	margin-bottom: 0px;
}
.contents * + .h2with,
.contents * + h2 {
	margin-top: 80px;
}
.contents h3 {
	position: relative;
	margin: 0px 0px 40px 36px;
	padding: 0px;
	font-size: min(1.9047619048vw, 32px);
	line-height: 1.3;
	font-weight: 500;
	color: #0053b0;
}
.tablet .contents h3 {
	font-size: min(2.9268292683vw, 24px);
}
.sp .contents h3 {
	font-size: min(6.6346666667vw, 24.88px);
}
.contents h3:before {
	content: "";
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	top: 50%;
	left: -36px;
	margin-top: -10px;
	background: #fff;
	border: 8px solid #0053b0;
	border-radius: 50%;
}
.contents h3.bearing_strength {
	margin: 0px;
	font-size: min(2.6785714286vw, 45px);
	line-height: 1.2;
	font-weight: 500;
	color: #fff;
	text-align: center;
}
.sp .contents h3.bearing_strength {
	font-size: min(5.3333333333vw, 20px);
}
.contents h3.bearing_strength div {
	margin-bottom: 20px;
	font-family: 'Roboto', sans-serif;
}
.contents h3.bearing_strength div span {
	margin-right: 10px;
	font-size: min(2.9761904762vw, 50px);
	line-height: 1.2;
	font-weight: 400;
}
.sp .contents h3.bearing_strength div span {
	font-size: min(5.3333333333vw, 20px);
}
.contents h3.bearing_strength div strong {
	font-size: min(5.3571428571vw, 90px);
	line-height: 1;
	font-weight: 700;
}
.sp .contents h3.bearing_strength div strong {
	font-size: min(8vw, 30px);
}
.contents h3.bearing_strength:before {
	display: none;
}
.contents * + h3 {
	margin-top: 80px;
}
.contents h4 {
	position: relative;
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: min(1.3095238095vw, 22px);
	line-height: 1.3;
	font-weight: 500;
	color: #0053b0;
}
.tablet .contents h4 {
	font-size: min(2.012195122vw, 16.5px);
}
.sp .contents h4 {
	font-size: min(5.0286561483vw, 18.857460556px);
}
.contents h4.bearing_strength {
	margin-bottom: 40px;
	font-size: min(1.4285714286vw, 24px);
	line-height: 1.5;
	font-weight: 700;
}
.tablet .contents h4.bearing_strength {
	font-size: min(2.1951219512vw, 18px);
}
.sp .contents h4.bearing_strength {
	font-size: min(5.3748620085vw, 20.1557325319px);
}
.contents * + h4 {
	margin-top: 40px;
}
.contents h5 {
	position: relative;
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: min(1.3095238095vw, 22px);
	line-height: 1.3;
	font-weight: 500;
}
.tablet .contents h5 {
	font-size: min(2.012195122vw, 16.5px);
}
.sp .contents h5 {
	font-size: min(5.0286561483vw, 18.857460556px);
}
.contents * + h5 {
	margin-top: 20px;
}
.contents .stack {
	margin-top: 0px !important;
}
.contents .block {
	margin-top: 40px !important;
}
.sp .contents .block {
	margin-top: 30px !important;
}
.contents .section {
	margin-top: 80px !important;
}
.sp .contents .section {
	margin-top: 60px !important;
}
.contents .paragraph {
	margin-top: 20px !important;
}
.contents .halfparagraph {
	margin-top: 7px !important;
}
.contents .lead p {
	font-size: min(2.380952381vw, 40px);
	line-height: 1.3;
	font-weight: 500;
	color: #0053b0;
}
.tablet .contents .lead p {
	font-size: min(3.6585365854vw, 30px);
}
.sp .contents .lead p {
	font-size: min(7.7082895066vw, 28.9060856499px);
}
.contents a {
	color: #000000;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.contents a:hover {
	opacity: 0.7;
}
.contents .text.headdingleveldown h2 {
	margin-bottom: 20px;
	font-size: min(1.0714285714vw, 18px);
	color: #0053b0;
}
.tablet .contents .text.headdingleveldown h2 {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .text.headdingleveldown h2 {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .text.headdingleveldown * + h2 {
	margin-top: 40px;
}
.contents .text.headdingleveldown h3 {
	margin-left: 0px;
	margin-bottom: 10px;
	font-size: min(1.0714285714vw, 18px);
}
.tablet .contents .text.headdingleveldown h3 {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .text.headdingleveldown h3 {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .text.headdingleveldown h3:before {
	display: none;
}
.contents .text.headdingleveldown * + h3 {
	margin-top: 40px;
}
.contents .text p:not(.image):not(.caption) {
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.5;
}
.tablet .contents .text p:not(.image):not(.caption) {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .text p:not(.image):not(.caption) {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .text p:not(.image):not(.caption) a {
	color: #0053b0;
	position: relative;
	display: inline-block;
}
.contents .text p:not(.image):not(.caption) a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
.contents .text p:not(.image):not(.caption) a:hover:before {
	transform: scale(1);
}
.contents .text p:not(.image):not(.caption).center {
	text-align: center;
}
.contents .text p:not(.image):not(.caption).right {
	text-align: right;
}
.contents .text p:not(.image):not(.caption) .small, .contents .text p:not(.image):not(.caption).small {
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.5;
}
.tablet .contents .text p:not(.image):not(.caption) .small, .tablet .contents .text p:not(.image):not(.caption).small {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .contents .text p:not(.image):not(.caption) .small, .sp .contents .text p:not(.image):not(.caption).small {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.contents .text p:not(.image):not(.caption) .large, .contents .text p:not(.image):not(.caption).large {
	font-size: min(1.3095238095vw, 22px);
	line-height: 1.5;
	font-weight: 500;
}
.tablet .contents .text p:not(.image):not(.caption) .large, .tablet .contents .text p:not(.image):not(.caption).large {
	font-size: min(2.012195122vw, 16.5px);
}
.sp .contents .text p:not(.image):not(.caption) .large, .sp .contents .text p:not(.image):not(.caption).large {
	font-size: min(5.0286561483vw, 18.857460556px);
}
.contents .text p:not(.image):not(.caption) .fs110 {
	font-size: min(6.5476190476vw, 110px);
	line-height: 1.1;
}
.tablet .contents .text p:not(.image):not(.caption) .fs110 {
	font-size: min(10.0609756098vw, 82.5px);
}
.sp .contents .text p:not(.image):not(.caption) .fs110 {
	font-size: min(11.9829701978vw, 44.9361382419px);
}
.contents .text p:not(.image):not(.caption) .fs134 {
	font-size: min(7.9761904762vw, 134px);
	line-height: 1.1;
}
.tablet .contents .text p:not(.image):not(.caption) .fs134 {
	font-size: min(12.256097561vw, 100.5px);
}
.sp .contents .text p:not(.image):not(.caption) .fs134 {
	font-size: min(12.7163496118vw, 47.6863110443px);
}
.contents .text p:not(.image):not(.caption) .fs80 {
	font-size: min(4.7619047619vw, 80px);
}
.tablet .contents .text p:not(.image):not(.caption) .fs80 {
	font-size: min(7.3170731707vw, 60px);
}
.sp .contents .text p:not(.image):not(.caption) .fs80 {
	font-size: min(10.9299273729vw, 40.9872276484px);
}
.contents .text p:not(.image):not(.caption).fs26 {
	font-size: min(1.5476190476vw, 26px);
	line-height: 2;
}
.sp .contents .text p:not(.image):not(.caption).fs26 {
	font-size: min(4.8vw, 18px);
	line-height: 1.7;
}
.sp .contents .text p:not(.image):not(.caption) .spstroke, .sp .contents .text p:not(.image):not(.caption).spstroke {
	text-shadow: 1px 1px 0px #fff, 0px 0px 3px #fff;
}
.contents .text ul {
	clear: both;
}
.contents .text ul > li {
	position: relative;
	padding-left: 1.5em;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.7;
}
.tablet .contents .text ul > li {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .text ul > li {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .text ul > li:before {
	position: absolute;
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	vertical-align: middle;
	top: 0.85em;
	left: 0.3em;
	margin-top: -2.5px;
	background: #0053b0;
	border-radius: 50%;
}
.contents .text ul > li + li {
	margin-top: 4px;
}
.contents .text ul > li a {
	vertical-align: top;
	color: #0053b0;
	position: relative;
	display: inline-block;
}
.contents .text ul > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
.contents .text ul > li a:hover:before {
	transform: scale(1);
}
.contents .text ul > li ul, .contents .text ul > li ol {
	margin-top: 4px;
	margin-right: 0px;
}
.contents .text ol {
	clear: both;
}
.contents .text ol > li {
	position: relative;
	padding-left: 1.5em;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.7;
}
.tablet .contents .text ol > li {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .text ol > li {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .text ol > li:before {
	position: absolute;
	content: " " counter(list-item) ".";
	display: inline-block;
	left: 0;
}
.contents .text ol > li + li {
	margin-top: 4px;
}
.contents .text ol > li a {
	vertical-align: top;
	color: #0053b0;
	position: relative;
	display: inline-block;
}
.contents .text ol > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
.contents .text ol > li a:hover:before {
	transform: scale(1);
}
.contents .text ol > li ul, .contents .text ol > li ol {
	margin-top: 4px;
	margin-right: 0px;
}
.contents .image {
	text-align: center;
}
.contents .image.border img {
	border: 1px solid #000;
}
.contents .image img {
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
}
.contents .image p {
	margin: 5px auto 0px;
	text-align: left;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.3;
}
.sp .contents .image p {
	font-size: min(3.2vw, 12px);
	line-height: 1.3;
}
* + .contents .image p {
	margin-top: 8px;
}
.contents .image p a {
	color: #000000;
	position: relative;
	display: inline-block;
}
.contents .image p a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
.contents .image p a:hover:before {
	transform: scale(1);
}
.contents .image p.center {
	text-align: center;
}
.contents .image p.right {
	text-align: right;
}
.contents .image.left {
	text-align: left;
}
.contents .image.left img {
	margin-left: 0px;
}
.contents .image.left p {
	margin-left: 0px;
}
.contents .image.right {
	text-align: right;
}
.contents .image.right img {
	margin-right: 0px;
}
.contents .image.right p {
	margin-right: 0px;
}
.sp .contents .image.spcenter {
	text-align: center;
}
.sp .contents .image.spcenter img {
	margin-left: auto;
	margin-right: auto;
}
.sp .contents .image.spcenter p {
	margin-left: auto;
	margin-right: auto;
}
.contents .image > a {
	display: inline-block;
	max-width: 100%;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.contents .image > a:hover {
	opacity: 0.7;
}
.contents .image > a p {
	color: #000000;
}
.contents .image > a.popupimg {
	position: relative;
}
.contents .image > a.popupimg:after {
	content: "";
	display: block;
	position: absolute;
	width: 40px;
	height: 40px;
	top: auto;
	bottom: 0px;
	right: 0px;
	background: url(../images/searchw.svg) no-repeat center center rgba(0, 0, 0, 0.6);
}
.contents .imagebox {
	display: table;
	width: 100%;
}
.contents .imagebox > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp .contents .imagebox.spcol1 {
	display: block;
}
.sp .contents .imagebox.spcol1 > * {
	display: block;
	width: auto !important;
}
.sp .contents .imagebox.spcol1 > * + * {
	padding-top: 20px;
	padding-left: 0px !important;
	padding-right: 0px !important;
}
.contents .imagebox > * {
	margin-top: 0px !important;
}
.contents .imagebox > * + * {
	padding-left: 20px;
}
.contents .imagebox.reverse {
	direction: rtl;
}
.contents .imagebox.reverse > * {
	direction: ltr;
}
.contents .imagebox.reverse > * + * {
	padding-left: 0px;
	padding-right: 20px;
}
.contents .imagebox > .image img,
.contents .imagebox > .image > a {
	display: block;
	width: 100%;
}
.contents .imagebox > .image p {
	width: auto !important;
}
.contents .table {
	overflow-x: auto;
	overflow-y: hidden !important;
}
.contents .table.slim > table > thead > tr > th {
	padding: 8px 8px;
}
.sp .contents .table.slim > table > thead > tr > th {
	padding: 6px 4px;
}
.contents .table.slim > table > tbody > tr > th {
	padding: 8px;
}
.sp .contents .table.slim > table > tbody > tr > th {
	padding: 6px 4px;
}
.contents .table.slim > table > tr > td, .contents .table.slim > table > * > tr > td {
	padding: 8px;
}
.sp .contents .table.slim > table > tr > td,
.sp .contents .table.slim > table > * > tr > td {
	padding: 6px 4px;
}
.contents .table > table {
	width: calc(100% - 2px);
	border-spacing: 0;
	empty-cells: show;
	border-left: 1px solid #BCBEC9;
	border-top: 1px solid #BCBEC9;
}
.contents .table > table > thead > tr > th {
	position: relative;
	padding: 16px 16px;
	vertical-align: middle;
	text-align: left;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 500;
	color: #ffffff;
	background: #0053b0;
	overflow: hidden;
}
.tablet .contents .table > table > thead > tr > th {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .table > table > thead > tr > th {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.sp .contents .table > table > thead > tr > th {
	padding: 12px 8px;
	white-space: nowrap;
}
.contents .table > table > tbody > tr > th {
	padding: 16px;
	vertical-align: middle;
	text-align: left;
	color: #000000;
	font-weight: 500;
	background: #fff;
	border-right: 1px solid #BCBEC9;
	border-bottom: 1px solid #BCBEC9;
}
.contents .table > table > tbody > tr > th span {
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.3;
}
.tablet .contents .table > table > tbody > tr > th span {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .contents .table > table > tbody > tr > th span {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.sp .contents .table > table > tbody > tr > th {
	padding: 12px 8px;
}
.contents .table > table > tr > td, .contents .table > table > * > tr > td {
	padding: 16px;
	vertical-align: middle;
	text-align: left;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.7;
	font-weight: 400;
	color: #000000;
	background: #fff;
	border-right: 1px solid #BCBEC9;
	border-bottom: 1px solid #BCBEC9;
}
.tablet .contents .table > table > tr > td,
.tablet .contents .table > table > * > tr > td {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .table > table > tr > td, .sp .contents .table > table > * > tr > td {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.sp .contents .table > table > tr > td, .sp .contents .table > table > * > tr > td {
	padding: 12px 8px;
}
.contents .table > table > tfoot > tr > th,
.contents .table > table > tfoot > tr > td {
	background: rgba(0, 83, 176, 0.2);
}
.contents .table > table .left {
	text-align: left;
}
.contents .table > table .right {
	text-align: right;
}
.contents .table > table .center {
	text-align: center;
}
.contents .table > table .top {
	vertical-align: top;
}
.contents .table > table .bottom {
	vertical-align: bottom;
}
.contents .table > table .middle {
	vertical-align: middle;
}
.contents .table > table .envertical {
	writing-mode: tb-rl;
	text-align: left;
}
.contents .table > table .envertical span {
	display: block;
	transform: rotate(180deg);
}
.contents .table > table .space {
	background: transparent !important;
}
.contents .table > table .nowrap {
	white-space: nowrap;
}
.sp .contents .table > table .nowrap {
	white-space: normal;
}
.contents .table > table a {
	color: #0053b0;
	position: relative;
	display: inline-block;
}
.contents .table > table a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
.contents .table > table a:hover:before {
	transform: scale(1);
}
.contents .table > p {
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.7;
}
.tablet .contents .table > p {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .contents .table > p {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.contents .table > p.right {
	text-align: right;
}
.contents .table > * + p {
	margin-top: 8px;
}
.contents .table > p + table {
	margin-top: 8px;
}
.contents .searchtable {
	overflow-x: auto;
	overflow-y: hidden;
}
.contents .searchtable > table {
	width: calc(100% - 2px);
	border-spacing: 0;
	empty-cells: show;
	min-width: 700px;
}
.contents .searchtable > table > thead > tr > th {
	position: relative;
	padding: 4px;
	height: 40px;
	vertical-align: middle;
	text-align: center;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.3;
	font-weight: 500;
	color: #ffffff;
	background: #0053b0;
	overflow: hidden;
	white-space: nowrap;
}
.tablet .contents .searchtable > table > thead > tr > th {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .contents .searchtable > table > thead > tr > th {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.contents .searchtable > table > thead > tr > th span {
	font-size: min(0.5952380952vw, 10px);
	font-weight: 400;
}
.tablet .contents .searchtable > table > thead > tr > th span {
	font-size: min(0.9146341463vw, 7.5px);
}
.sp .contents .searchtable > table > thead > tr > th span {
	font-size: min(2.6666666667vw, 10px);
}
.contents .searchtable > table.break > thead > tr > th {
	white-space: initial;
}
.contents .searchtable > table > * > tr > td {
	padding: 16px 8px;
	vertical-align: middle;
	text-align: center;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.3;
	font-weight: 400;
	color: #000000;
}
.tablet .contents .searchtable > table > * > tr > td {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .contents .searchtable > table > * > tr > td {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.contents .searchtable > table > * > tr > td a {
	color: #0053b0;
	position: relative;
	display: inline-block;
}
.contents .searchtable > table > * > tr > td a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
.contents .searchtable > table > * > tr > td a:hover:before {
	transform: scale(1);
}
.contents .searchtable > table > * > tr > td img + img {
	margin-left: 5px;
}
.contents .searchtable > table > tbody > tr.bg > td {
	background-color: #F2F7FC;
}
.contents .searchtable > table .nowrap {
	white-space: nowrap;
}
.contents .searchtable > table .left {
	text-align: left;
}
.contents .box {
	padding: 30px;
	background: #F2F7FC;
}
.contents .button > div {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
.contents .button.center > div {
	justify-content: center;
}
.contents .button.right > div {
	justify-content: flex-end;
}
.contents .button a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 10px 15px;
	padding-right: 46px;
	min-width: 240px;
	min-height: 60px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.1;
	font-weight: 500;
	color: #fff;
	background: #0053b0;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.tablet .contents .button a {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .button a {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .button a:hover {
	opacity: 0.7;
}
.contents .button a.alt {
	background: #BCBEC9;
}
.contents .button a:after {
	content: "";
	display: block;
	position: absolute;
	width: 24px;
	height: 24px;
	right: 10px;
	top: 50%;
	margin-top: -12px;
	background: url(../images/button.svg) no-repeat center center;
	background-size: 100% auto;
}
.contents .button a[target="_blank"]:after {
	background-image: url(../images/blankw.svg);
	background-size: 16px auto;
}
.contents .button a[href$=".pdf"]:after {
	background-image: url(../images/pdfw.svg);
	background-size: auto 16px;
}
.sp .contents .smallbutton {
	text-align: center;
}
.contents .smallbutton.center a {
	justify-content: center;
}
.contents .smallbutton a {
	display: flex;
	align-items: center;
	height: 32px;
	font-size: min(1.0714285714vw, 18px);
	color: #000000;
}
.tablet .contents .smallbutton a {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .smallbutton a {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.sp .contents .smallbutton a {
	justify-content: center;
}
.contents .smallbutton a span {
	margin-right: 0.5em;
}
.contents .smallbutton a .more {
	position: relative;
	width: 32px;
	height: 32px;
	background: url(../images/arrow_sb.svg) no-repeat center center;
}
.sp .contents .smallbutton a .more {
	width: 20px;
	height: 20px;
}
.contents .smallbutton a .more:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	background: url(../images/moreb.svg) no-repeat center center;
	background-size: 100%;
	transform: translate(-50%, -50%);
}
.contents .smallbutton a .more:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	background: url(../images/arrow_s.svg) no-repeat center center;
	opacity: 0;
	transition: 0.4s;
}
.contents .smallbutton a .more svg {
	transform: rotate(-90deg);
	width: 100%;
	height: 100%;
}
.contents .smallbutton a .more svg circle {
	stroke: #0053b0;
	stroke-width: 6px;
	width: 100%;
	height: 100%;
	fill: transparent;
	stroke-dashoffset: 283px;
	stroke-dasharray: 283px;
	stroke-linecap: round;
	transition: stroke-dashoffset 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
.contents .smallbutton a:hover .more svg circle {
	stroke-dashoffset: 0px;
}
.contents .smallbutton a:hover .more:after {
	opacity: 1;
}
.contents .column {
	display: flex;
	flex-wrap: wrap;
	gap: 60px 40px;
	margin-right: -4px;
}
.contents .column.alt {
	gap: 20px;
	background: #F2F7FC;
}
.sp .contents .column {
	gap: 30px 20px;
}
.contents .column > .bottom {
	align-self: flex-end;
}
.contents .column.col1 > * {
	width: calc((100% - 40px * 0 - 4px) / 1);
}
.contents .column.col1 > *.size2 {
	width: calc(((100% - 40px * 0 - 4px) / 1) * 2 + 40px * 1);
}
.contents .column.col1 > *.size1 {
	width: calc(((100% - 40px * 0 - 4px) / 1) * 1 + 40px * 0);
}
.sp .contents .column.col1 > * {
	width: calc((100% - 20px * 0 - 4px) / 1);
}
.sp .contents .column.spcol1 > * {
	width: calc((100% - 20px * 0 - 4px) / 1) !important;
}
.contents .column.col2 > * {
	width: calc((100% - 40px * 1 - 4px) / 2);
}
.contents .column.col2 > *.size2 {
	width: calc(((100% - 40px * 1 - 4px) / 2) * 2 + 40px * 1);
}
.sp .contents .column.col2 > * {
	width: calc((100% - 20px * 1 - 4px) / 2);
}
.sp .contents .column.spcol2 > * {
	width: calc((100% - 20px * 1 - 4px) / 2) !important;
}
.contents .column.col3 > * {
	width: calc((100% - 40px * 2 - 4px) / 3);
}
.contents .column.col3 > *.size2 {
	width: calc(((100% - 40px * 2 - 4px) / 3) * 2 + 40px * 1);
}
.contents .column.col3 > *.size3 {
	width: calc(((100% - 40px * 2 - 4px) / 3) * 3 + 40px * 2);
}
.sp .contents .column.col3 > * {
	width: calc((100% - 20px * 2 - 4px) / 3);
}
.sp .contents .column.spcol3 > * {
	width: calc((100% - 20px * 2 - 4px) / 3) !important;
}
.contents .column.col4 > * {
	width: calc((100% - 40px * 3 - 4px) / 4);
}
.contents .column.col4 > *.size2 {
	width: calc(((100% - 40px * 3 - 4px) / 4) * 2 + 40px * 1);
}
.contents .column.col4 > *.size3 {
	width: calc(((100% - 40px * 3 - 4px) / 4) * 3 + 40px * 2);
}
.contents .column.col4 > *.size4 {
	width: calc(((100% - 40px * 3 - 4px) / 4) * 4 + 40px * 3);
}
.sp .contents .column.col4 > * {
	width: calc((100% - 20px * 3 - 4px) / 4);
}
.sp .contents .column.spcol4 > * {
	width: calc((100% - 20px * 3 - 4px) / 4) !important;
}
.contents .column.col5 > * {
	width: calc((100% - 40px * 4 - 4px) / 5);
}
.contents .column.col5 > *.size2 {
	width: calc(((100% - 40px * 4 - 4px) / 5) * 2 + 40px * 1);
}
.contents .column.col5 > *.size3 {
	width: calc(((100% - 40px * 4 - 4px) / 5) * 3 + 40px * 2);
}
.contents .column.col5 > *.size4 {
	width: calc(((100% - 40px * 4 - 4px) / 5) * 4 + 40px * 3);
}
.contents .column.col5 > *.size5 {
	width: calc(((100% - 40px * 4 - 4px) / 5) * 5 + 40px * 4);
}
.sp .contents .column.col5 > * {
	width: calc((100% - 20px * 4 - 4px) / 5);
}
.sp .contents .column.spcol5 > * {
	width: calc((100% - 20px * 4 - 4px) / 5) !important;
}
.contents .layouttable {
	overflow-x: auto;
	overflow-y: hidden;
}
.contents .layouttable > table {
	width: 100%;
	border-spacing: 0;
	empty-cells: show;
	border-top: 1px solid #BCBEC9;
}
.contents .layouttable > table > tbody > tr > th, .contents .layouttable > table > tr > th {
	vertical-align: top;
	padding: 20px 20px 20px 0px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.5;
	font-weight: 500;
	text-align: left;
	border-bottom: 1px solid #BCBEC9;
}
.tablet .contents .layouttable > table > tbody > tr > th,
.tablet .contents .layouttable > table > tr > th {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .layouttable > table > tbody > tr > th, .sp .contents .layouttable > table > tr > th {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .layouttable > table > tbody > tr > th span, .contents .layouttable > table > tr > th span {
	display: inline-block;
	width: 100%;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.3;
	font-weight: 400;
}
.tablet .contents .layouttable > table > tbody > tr > th span, .tablet .contents .layouttable > table > tr > th span {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .contents .layouttable > table > tbody > tr > th span, .sp .contents .layouttable > table > tr > th span {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.contents .layouttable > table > tbody > tr > th span.right, .contents .layouttable > table > tr > th span.right {
	text-align: right;
}
.contents .layouttable > table > tbody > tr > th.center, .contents .layouttable > table > tr > th.center {
	text-align: center;
}
.contents .layouttable > table > tbody > tr > td, .contents .layouttable > table > tr > td {
	vertical-align: top;
	padding: 20px 20px 20px 0px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.5;
	font-weight: 400;
	border-bottom: 1px solid #BCBEC9;
}
.tablet .contents .layouttable > table > tbody > tr > td,
.tablet .contents .layouttable > table > tr > td {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .layouttable > table > tbody > tr > td, .sp .contents .layouttable > table > tr > td {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .layouttable > table > tbody > tr > td.center, .contents .layouttable > table > tr > td.center {
	text-align: center;
}
.contents .layouttable > table > tbody > tr > * + th:last-child,
.contents .layouttable > table > tr > * + th:last-child,
.contents .layouttable > table > tbody > tr > * + td:last-child,
.contents .layouttable > table > tr > * + td:last-child {
	padding-right: 0px;
}
.contents .layouttable a {
	color: #0053b0;
	position: relative;
	display: inline-block;
}
.contents .layouttable a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
.contents .layouttable a:hover:before {
	transform: scale(1);
}
.contents .layout {
	overflow-x: auto;
	overflow-y: hidden;
}
.contents .layout > table {
	border-spacing: 0;
	empty-cells: show;
}
.contents .layout > table > tbody > tr > th, .contents .layout > table > tr > th {
	vertical-align: top;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.5;
	font-weight: 400;
	text-align: left;
}
.tablet .contents .layout > table > tbody > tr > th,
.tablet .contents .layout > table > tr > th {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .layout > table > tbody > tr > th, .sp .contents .layout > table > tr > th {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .layout > table > tbody > tr > td, .contents .layout > table > tr > td {
	vertical-align: top;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.5;
	font-weight: 400;
}
.tablet .contents .layout > table > tbody > tr > td,
.tablet .contents .layout > table > tr > td {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .layout > table > tbody > tr > td, .sp .contents .layout > table > tr > td {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .layout > table > tbody > tr + tr > th,
.contents .layout > table > tr + tr > th,
.contents .layout > table > tbody > tr + tr > td,
.contents .layout > table > tr + tr > td {
	padding-top: 10px;
}
.contents .layout > table > tbody > tr > * + th,
.contents .layout > table > tr > * + th,
.contents .layout > table > tbody > tr > * + td,
.contents .layout > table > tr > * + td {
	padding-left: 20px;
}
.contents .layout > table .right {
	text-align: right;
}
.contents .layout > table .nowrap {
	white-space: nowrap;
}
.contents .boxlink.compact > ul {
	border-top: 0;
}
.contents .boxlink.compact > ul > li {
	border-bottom: 0;
}
.contents .boxlink.compact > ul > li > div, .contents .boxlink.compact > ul > li > a {
	display: inline-flex;
	padding: 0px;
	width: auto;
}
.sp .contents .boxlink.compact > ul > li > div,
.sp .contents .boxlink.compact > ul > li > a {
	padding: 0px;
}
.contents .boxlink.compact > ul > li > div .image, .contents .boxlink.compact > ul > li > a .image {
	width: auto;
}
.contents .boxlink > ul {
	display: block;
	border-top: 1px solid #BCBEC9;
}
.contents .boxlink > ul > li {
	border-bottom: 1px solid #BCBEC9;
}
.contents .boxlink > ul > li > div, .contents .boxlink > ul > li > a {
	display: flex;
	gap: 0px 25px;
	width: 100%;
	padding: 20px 0px;
}
.sp .contents .boxlink > ul > li > div,
.sp .contents .boxlink > ul > li > a {
	gap: 0px 15px;
	padding: 10px 0px;
}
.contents .boxlink > ul > li > div .image, .contents .boxlink > ul > li > a .image {
	width: 25%;
	flex-shrink: 0;
}
.contents .boxlink > ul > li > div .image img, .contents .boxlink > ul > li > a .image img {
	display: block;
	width: 100%;
	height: auto;
}
.contents .boxlink > ul > li > div .category, .contents .boxlink > ul > li > a .category {
	display: block;
	margin-bottom: 10px;
	padding: 0 5px;
	width: 10em;
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.75;
	font-weight: 400;
	color: #fff;
	text-align: center;
	background: #656565;
}
.sp .contents .boxlink > ul > li > div .category, .sp .contents .boxlink > ul > li > a .category {
	font-size: min(3.7333333333vw, 14px);
}
.contents .boxlink > ul > li > div .category.environment, .contents .boxlink > ul > li > a .category.environment {
	background: #6CBE44;
}
.contents .boxlink > ul > li > div .category.society, .contents .boxlink > ul > li > a .category.society {
	background: #F38D73;
}
.contents .boxlink > ul > li > div .category.governance, .contents .boxlink > ul > li > a .category.governance {
	background: #5783DB;
}
.contents .boxlink > ul > li > div .date, .contents .boxlink > ul > li > a .date {
	display: block;
	margin-bottom: 15px;
	font-size: min(0.9523809524vw, 16px);
	line-height: 1;
	font-weight: 400;
}
.tablet .contents .boxlink > ul > li > div .date, .tablet .contents .boxlink > ul > li > a .date {
	font-size: min(1.4634146341vw, 12px);
}
.sp .contents .boxlink > ul > li > div .date, .sp .contents .boxlink > ul > li > a .date {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
.contents .boxlink > ul > li > div .title, .contents .boxlink > ul > li > a .title {
	font-size: min(1.3095238095vw, 22px);
	line-height: 1.3;
	font-weight: 500;
}
.sp .contents .boxlink > ul > li > div .title, .sp .contents .boxlink > ul > li > a .title {
	font-size: min(4.2666666667vw, 16px);
}
.contents .boxlink > ul > li > div .info, .contents .boxlink > ul > li > a .info {
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.7;
	font-weight: 400;
}
.sp .contents .boxlink > ul > li > div .info, .sp .contents .boxlink > ul > li > a .info {
	font-size: min(3.2vw, 12px);
}
.contents .boxlink > ul > li > div .info p + p, .contents .boxlink > ul > li > a .info p + p {
	margin-top: 10px;
}
.contents .boxlink > ul > li > div * + .info, .contents .boxlink > ul > li > a * + .info {
	margin-top: 15px;
}
.sp .contents .boxlink > ul > li > div * + .info, .sp .contents .boxlink > ul > li > a * + .info {
	margin-top: 10px;
}
.contents .boxlink > ul > li > a {
	color: #000000;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.contents .boxlink > ul > li > a:hover {
	opacity: 0.7;
}
.contents .boxlink > ul > li > a[target="_blank"] .icon div {
	background: url(../images/blank.svg) no-repeat center center;
	background-size: 16px auto;
}
.contents .boxlink > ul > li > a[target="_blank"] .icon div svg, .contents .boxlink > ul > li > a[target="_blank"] .icon div:before, .contents .boxlink > ul > li > a[target="_blank"] .icon div:after {
	display: none;
}
.contents .boxlink > ul > li > a[href$=".pdf"] .icon div {
	background: url(../images/pdf.svg) no-repeat center center;
	background-size: 18px auto;
}
.contents .boxlink > ul > li > a[href$=".pdf"] .icon div svg, .contents .boxlink > ul > li > a[href$=".pdf"] .icon div:before, .contents .boxlink > ul > li > a[href$=".pdf"] .icon div:after {
	display: none;
}
.contents .boxlink > ul > li > a .icon {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-right: 0;
	margin-left: auto;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1;
	font-weight: 400;
	white-space: nowrap;
}
.tablet .contents .boxlink > ul > li > a .icon {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .boxlink > ul > li > a .icon {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .boxlink > ul > li > a .icon span {
	margin-right: 10px;
}
.sp .contents .boxlink > ul > li > a .icon span {
	display: none;
}
.contents .boxlink > ul > li > a .icon div {
	position: relative;
	width: 32px;
	height: 32px;
	background: url(../images/arrow_sb.svg) no-repeat center center;
}
.sp .contents .boxlink > ul > li > a .icon div {
	width: 20px;
	height: 20px;
}
.contents .boxlink > ul > li > a .icon div:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	background: url(../images/moreb.svg) no-repeat center center;
	background-size: 100%;
	transform: translate(-50%, -50%);
}
.contents .boxlink > ul > li > a .icon div:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	background: url(../images/arrow_s.svg) no-repeat center center;
	opacity: 0;
	transition: 0.4s;
}
.contents .boxlink > ul > li > a .icon div svg {
	transform: rotate(-90deg);
	width: 100%;
	height: 100%;
}
.contents .boxlink > ul > li > a .icon div svg circle {
	stroke: #0053b0;
	stroke-width: 6px;
	width: 100%;
	height: 100%;
	fill: transparent;
	stroke-dashoffset: 283px;
	stroke-dasharray: 283px;
	stroke-linecap: round;
	transition: stroke-dashoffset 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
.contents .boxlink > ul > li > a:hover .icon div svg circle {
	stroke-dashoffset: 0px;
}
.contents .boxlink > ul > li > a:hover .icon div:after {
	opacity: 1;
}
.contents .flow-next {
	position: relative;
	margin-bottom: 20px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 500;
	text-align: center;
	border-bottom: 2px solid #BCBEC9;
}
.tablet .contents .flow-next {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .flow-next {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .flow-next:before {
	position: absolute;
	content: "";
	display: block;
	top: 100%;
	left: 50%;
	width: 120px;
	height: 10px;
	margin-left: -60px;
	margin-top: -5px;
	background: #fff;
}
.contents .flow-next:after {
	position: absolute;
	content: "";
	display: block;
	top: 100%;
	left: 50%;
	width: 50px;
	height: 10px;
	margin-left: -25px;
	margin-top: -5px;
	background: url(../images/arrow.svg) no-repeat center center;
	transform: rotate(90deg) scaleY(2);
}
.contents .flow-next + * {
	margin-top: 0 !important;
}
.contents .flow-prev {
	position: relative;
	margin-bottom: 100px;
	padding-top: 50px;
	padding-bottom: 50px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 500;
	text-align: center;
	border-bottom: 2px solid #BCBEC9;
}
.tablet .contents .flow-prev {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .flow-prev {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .flow-prev:before {
	position: absolute;
	content: "";
	display: block;
	top: 100%;
	left: 50%;
	width: 120px;
	height: 50px;
	margin-left: -60px;
	margin-top: -25px;
	background: #fff;
}
.contents .flow-prev:after {
	position: absolute;
	content: "";
	display: block;
	top: 100%;
	left: 50%;
	width: 50px;
	height: 50px;
	margin-left: -25px;
	margin-top: -20px;
	background: url(../images/arrow.svg) no-repeat center center;
	transform: rotate(-90deg) scaleY(2);
}
.contents .flow-prev + * {
	margin-top: 0 !important;
}
.contents .form form {
	margin: 0px;
	padding: 0px;
}
.contents .form input[type="text"], .contents .form input[type="email"], .contents .form input[type="tel"], .contents .form input[type="url"], .contents .form input[type="number"] {
	width: 100%;
	height: 40px;
	padding: 0px 10px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 38px;
	font-weight: 400;
	border: 1px solid #BCBEC9;
	border-radius: 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.tablet .contents .form input[type="text"], .tablet .contents .form input[type="email"], .tablet .contents .form input[type="tel"], .tablet .contents .form input[type="url"], .tablet .contents .form input[type="number"] {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .form input[type="text"], .sp .contents .form input[type="email"], .sp .contents .form input[type="tel"], .sp .contents .form input[type="url"], .sp .contents .form input[type="number"] {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .form input[type="text"].unit, .contents .form input[type="email"].unit, .contents .form input[type="tel"].unit, .contents .form input[type="url"].unit, .contents .form input[type="number"].unit {
	width: calc(100% - 3em);
	margin-right: 0.35em;
}
.contents .form input[type="text"].right, .contents .form input[type="email"].right, .contents .form input[type="tel"].right, .contents .form input[type="url"].right, .contents .form input[type="number"].right {
	text-align: right;
}
.contents .form input[type="text"][readonly], .contents .form input[type="email"][readonly], .contents .form input[type="tel"][readonly], .contents .form input[type="url"][readonly], .contents .form input[type="number"][readonly] {
	border: 0px;
	background: transparent !important;
}
.contents .form input[type="text"][readonly]:focus, .contents .form input[type="email"][readonly]:focus, .contents .form input[type="tel"][readonly]:focus, .contents .form input[type="url"][readonly]:focus, .contents .form input[type="number"][readonly]:focus {
	outline: none;
}
.contents .form input[type="text"]:disabled, .contents .form input[type="email"]:disabled, .contents .form input[type="tel"]:disabled, .contents .form input[type="url"]:disabled, .contents .form input[type="number"]:disabled {
	background: #F2F7FC;
	opacity: 0.4;
}
.contents .form input[type="number"] {
	width: 4em;
	margin-right: 10px;
	text-align: right;
	-moz-appearance: textfield;
}
.contents .form input[type="number"]::-webkit-outer-spin-button, .contents .form input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
}
.contents .form * + input[type="number"] {
	margin-left: 10px;
}
.contents .form select {
	height: 36px;
	padding: 0px 36px 0px 5px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 36px;
	border: 0px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../images/selecticon.svg) no-repeat right center;
	cursor: pointer;
}
.tablet .contents .form select {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .form select {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .form select option.right {
	text-align: right;
}
.contents .form select::-ms-expand {
	display: none;
}
.contents .form .formul {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 40px;
}
.contents .form .formul label {
	position: relative;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	min-height: 40px;
	padding: 5px 0px 5px 28px;
	cursor: pointer;
}
.contents .form .formul input[type="checkbox"]:disabled + span {
	opacity: 0.4;
}
.contents .form .formul input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.contents .form .formul input[type="checkbox"] + span:before {
	content: "";
	display: block;
	position: absolute;
	width: 18px;
	height: 18px;
	top: 50%;
	left: 0px;
	margin-top: -10px;
	background: #F2F7FC;
	border: 1px solid #BCBEC9;
	border-radius: 2px;
}
.contents .form .formul input[type="checkbox"] + span {
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	user-select: none;
}
.tablet .contents .form .formul input[type="checkbox"] + span {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .form .formul input[type="checkbox"] + span {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .form .formul input[type="checkbox"] + span:after {
	content: "";
	display: block;
	position: absolute;
	width: 20px;
	height: 20px;
	top: 50%;
	left: 0px;
	margin-top: -10px;
	background: url(../images/check.svg) no-repeat center center;
	transform: scale(0);
	transition: 200ms;
}
.contents .form .formul input[type="checkbox"]:checked + span:after {
	transform: scale(1);
}
.contents .form .formul input[type="radio"]:disabled + span {
	opacity: 0.4;
}
.contents .form .formul input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.contents .form .formul input[type="radio"] + span:before {
	content: "";
	display: block;
	position: absolute;
	width: 18px;
	height: 18px;
	top: 50%;
	left: 0px;
	margin-top: -10px;
	background: #F2F7FC;
	border: 1px solid #BCBEC9;
	border-radius: 50%;
}
.contents .form .formul input[type="radio"] + span {
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	user-select: none;
}
.tablet .contents .form .formul input[type="radio"] + span {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .form .formul input[type="radio"] + span {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .form .formul input[type="radio"] + span:after {
	content: "";
	display: block;
	position: absolute;
	width: 12px;
	height: 12px;
	top: 50%;
	left: 10px;
	margin-top: -6px;
	margin-left: -6px;
	background: #0053b0;
	border-radius: 50%;
	transform: scale(0);
	transition: 200ms;
}
.contents .form .formul input[type="radio"]:checked + span:after {
	transform: scale(1);
}
.contents .form .formdl {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}
.contents .form .formdl dt {
	margin: 0px;
	padding: 0px;
	font-size: min(1.0714285714vw, 18px);
	font-weight: 500;
	white-space: nowrap;
}
.tablet .contents .form .formdl dt {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .form .formdl dt {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.sp .contents .form .formdl dt {
	width: calc((100% - 20px) / 3);
}
.contents .form .formdl dd {
	margin: 0px;
	padding: 0px 20px 0px 0px;
	font-size: min(0.9523809524vw, 16px);
}
.tablet .contents .form .formdl dd {
	font-size: min(1.4634146341vw, 12px);
}
.sp .contents .form .formdl dd {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
.sp .contents .form .formdl dd {
	padding-right: 0px;
	width: calc((100% - 20px) / 3 * 2);
}
.contents .form .calcval {
	display: inline-block;
	margin-right: 10px;
}
.contents .scrollbox {
	padding: 20px;
	height: 170px;
	border: 1px solid #BCBEC9;
	overflow-x: hidden;
	overflow-y: auto;
}
.contents .pagenation {
	text-align: center;
}
.contents .pagenation.first .prev {
	display: none;
}
.contents .pagenation.first li:nth-child(n+7) {
	display: none;
}
.contents .pagenation.first li.next {
	display: block;
}
.contents .pagenation ul {
	position: relative;
	display: inline-flex;
	padding: 0px 65px;
}
.contents .pagenation li {
	font-size: min(0.9523809524vw, 16px);
	line-height: 30px;
	font-weight: 500;
}
.tablet .contents .pagenation li {
	font-size: min(1.4634146341vw, 12px);
}
.sp .contents .pagenation li {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
.contents .pagenation .current {
	color: #0053b0;
}
.contents .pagenation .current a {
	color: #0053b0;
}
.contents .pagenation a {
	display: block;
	width: 2em;
	color: #BCBEC9;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.contents .pagenation a:hover {
	opacity: 0.7;
}
.contents .pagenation .next {
	position: absolute;
	right: 0px;
	top: 0px;
}
.contents .pagenation .next a {
	width: 50px;
	text-indent: -10000px;
	background: url(../images/next.svg) no-repeat center center;
	overflow: hidden;
}
.contents .pagenation .prev {
	position: absolute;
	left: 0px;
	top: 0px;
}
.contents .pagenation .prev a {
	width: 50px;
	text-indent: -10000px;
	background: url(../images/prev.svg) no-repeat center center;
	overflow: hidden;
}
.contents .select select {
	width: 100%;
	height: 36px;
	padding: 0px 36px 0px 10px;
	font-size: min(0.9523809524vw, 16px);
	line-height: 36px;
	border: 0px;
	border-bottom: 1px solid #BCBEC9;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../images/selecticon.svg) no-repeat right center;
	cursor: pointer;
}
.tablet .contents .select select {
	font-size: min(1.4634146341vw, 12px);
}
.sp .contents .select select {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
.contents .select select::-ms-expand {
	display: none;
}
.contents .link.right li {
	text-align: right;
}
.contents .link ul {
	display: flex;
	gap: 15px;
	flex-direction: column;
}
.contents .link a {
	display: inline-flex;
	align-items: center;
	height: 28px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 400;
	color: #000000;
}
.tablet .contents .link a {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contents .link a {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contents .link a span {
	margin-right: 0.5em;
}
.contents .link a .more {
	position: relative;
	width: 28px;
	height: 28px;
	background: url(../images/arrow_sb.svg) no-repeat center center;
}
.sp .contents .link a .more {
	width: 20px;
	height: 20px;
}
.contents .link a .more:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	background: url(../images/morebb.svg) no-repeat center center;
	background-size: 100%;
	transform: translate(-50%, -50%);
}
.contents .link a .more:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	background: url(../images/arrow_s.svg) no-repeat center center;
	opacity: 0;
	transition: 0.4s;
}
.contents .link a .more svg {
	transform: rotate(-90deg);
	width: 100%;
	height: 100%;
}
.contents .link a .more svg circle {
	stroke: #0053b0;
	stroke-width: 6.5px;
	width: 100%;
	height: 100%;
	fill: transparent;
	stroke-dashoffset: 283px;
	stroke-dasharray: 283px;
	stroke-linecap: round;
	transition: stroke-dashoffset 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
.contents .link a:hover .more svg circle {
	stroke-dashoffset: 0px;
}
.contents .link a:hover .more:after {
	opacity: 1;
}
.contents .youtube {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
.contents .youtube > div {
	position: relative;
	padding-top: 56.25%;
}
.contents .youtube > div > iframe,
.contents .youtube > div > video {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	border: 0px;
}
.contents .googlemap {
	position: relative;
	padding-top: 56.25%;
}
.sp .contents .googlemap {
	padding-top: 70%;
}
.contents .googlemap iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	-webkit-transition: opacity 400ms;
	transition: opacity 400ms;
}
.contents .pagehead {
	display: flex;
	gap: 20px;
	align-items: center;
}
.contents .pagehead .date {
	font-size: min(0.9523809524vw, 16px);
	line-height: 1;
}
.tablet .contents .pagehead .date {
	font-size: min(1.4634146341vw, 12px);
}
.sp .contents .pagehead .date {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
.contents .pagehead .category {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.contents .pagehead .category div {
	display: flex;
	align-items: center;
	height: 30px;
	padding: 5px 15px;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1;
	font-weight: 400;
	color: #656565;
	background: #F2F7FC;
	border-radius: 10px;
}
.tablet .contents .pagehead .category div {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .contents .pagehead .category div {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.sp .contents .pagehead .category div {
	height: 30px;
	padding: 5px 10px;
}
.contents .pagehead .category.environment div, .contents .pagehead .category.society div, .contents .pagehead .category.governance div {
	justify-content: center;
	min-width: 130px;
	color: #fff;
	border-radius: 0px;
}
.contents .pagehead .category.environment div {
	background: #6CBE44;
}
.contents .pagehead .category.society div {
	background: #F38D73;
}
.contents .pagehead .category.governance div {
	background: #5783DB;
}
.contents .faq > dl {
	background: #F2F7FC;
}
.contents .faq > dl > dt {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0px;
	padding: 10px 30px 10px 30px;
	min-height: 68px;
	font-size: min(1.3095238095vw, 22px);
	line-height: 1.3;
	font-weight: 500;
}
.tablet .contents .faq > dl > dt {
	font-size: min(2.012195122vw, 16.5px);
}
.sp .contents .faq > dl > dt {
	font-size: min(5.0286561483vw, 18.857460556px);
}
.contents .faq > dl > dt:has(a) {
	padding: 0px;
}
.contents .faq > dl > dt a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 10px 84px 10px 30px;
	min-height: 68px;
	color: #000000;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.contents .faq > dl > dt a:hover {
	opacity: 0.7;
}
.contents .faq > dl > dt a:after {
	content: "";
	display: block;
	position: absolute;
	width: 84px;
	height: 100%;
	right: 0px;
	top: 0px;
	background: url(../images/selecticon.svg) no-repeat center center;
	transition: 400ms;
}
.contents .faq > dl > dt.open a:after {
	transform: rotateX(180deg);
}
.contents .faq > dl > dt:has(a) + dd {
	display: none;
}
.contents .faq > dl > * + dt {
	border-top: 4px solid #fff;
}
.contents .faq > dl > dd {
	position: relative;
	margin: 0px 30px;
	padding: 20px 20px 40px;
	background: #fff;
}
.contents .faq > dl > dd:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 20px;
	bottom: 0px;
	left: 0px;
	background: #F2F7FC;
}

.indexbox dl {
	display: flex;
	justify-content: space-between;
}
.sp .indexbox dl {
	display: block;
}
.indexbox dl dt {
	margin: 0px;
	padding: 0px;
	font-size: min(1.9047619048vw, 32px);
	line-height: 1.1;
	font-weight: 500;
}
.sp .indexbox dl dt {
	font-size: min(5.3333333333vw, 20px);
}
.sp .indexbox dl dt {
	margin-bottom: 20px;
}
.indexbox dl dt .smallbutton {
	margin-top: 30px;
}
.indexbox dl dd {
	width: min(1024px, 79.012345679vw);
	margin: 0px;
	padding: 0px;
}
.sp .indexbox dl dd {
	width: 100%;
}
.indexbox dl dd .datelist {
	margin-top: -20px;
}
.indexbox dl + dl {
	margin-top: 70px;
}
.sp .indexbox dl + dl {
	margin-top: 50px;
}
.indexbox .imagemenu ul {
	gap: 2px;
	max-width: 1216px;
}
.indexbox .imagemenu ul > li {
	width: calc((100% - 6px) / 4);
}
.sp .indexbox .imagemenu ul > li {
	width: calc((100% - 2px) / 2);
}
.indexbox .imagemenu li > div .title, .indexbox .imagemenu a .title {
	padding: 10px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
}
.tablet .indexbox .imagemenu li > div .title,
.tablet .indexbox .imagemenu a .title {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .indexbox .imagemenu li > div .title, .sp .indexbox .imagemenu a .title {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.indexbox .imagemenu li > div .sub,
.indexbox .imagemenu a .sub {
	padding: 0px 10px 15px;
}

.imagemenu.small ul {
	max-width: 880px;
}
.imagemenu.small .title {
	font-size: min(1.0714285714vw, 18px);
}
.tablet .imagemenu.small .title {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .imagemenu.small .title {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.imagemenu.small .center .title {
	font-size: min(1.3095238095vw, 22px);
}
.tablet .imagemenu.small .center .title {
	font-size: min(2.012195122vw, 16.5px);
}
.sp .imagemenu.small .center .title {
	font-size: min(5.0286561483vw, 18.857460556px);
}
.imagemenu.col2 ul > li {
	width: calc((100% - 20px) / 2);
}
.imagemenu.col2 ul > li.size2 {
	width: 100%;
}
.sp .imagemenu.col2 ul > li {
	width: 100%;
}
.imagemenu.col4 ul > li {
	width: calc((100% - 60px) / 4);
}
.sp .imagemenu.col4 ul > li {
	width: calc((100% - 20px) / 2);
}
.imagemenu.col4 li > div .title, .imagemenu.col4 a .title {
	font-size: min(1.0714285714vw, 18px);
}
.tablet .imagemenu.col4 li > div .title,
.tablet .imagemenu.col4 a .title {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .imagemenu.col4 li > div .title, .sp .imagemenu.col4 a .title {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.imagemenu.col5 ul > li {
	width: calc((100% - 80px) / 5);
}
.sp .imagemenu.col5 ul > li {
	width: calc((100% - 40px) / 2);
}
.sp .imagemenu.col5 li > div .title,
.sp .imagemenu.col5 a .title {
	font-size: min(3.7333333333vw, 14px);
}
.imagemenu ul {
	display: flex;
	flex-wrap: wrap;
	gap: 25px 20px;
	margin: auto;
}
.imagemenu ul > li {
	width: calc((100% - 40px) / 3);
}
.sp .imagemenu ul > li {
	width: calc((100% - 20px) / 2);
}
.imagemenu ul > li.size2 {
	width: calc(((100% - 40px) / 3) * 2 + 20px);
}
.sp .imagemenu ul > li.size2 {
	width: 100%;
}
.imagemenu li > div,
.imagemenu a {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
}
.imagemenu li > div .image img,
.imagemenu a .image img {
	display: block;
	width: 100%;
	height: auto;
}
.imagemenu li > div .title, .imagemenu a .title {
	padding: 10px 0px 15px;
	font-size: min(1.3095238095vw, 22px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
}
.tablet .imagemenu li > div .title,
.tablet .imagemenu a .title {
	font-size: min(2.012195122vw, 16.5px);
}
.sp .imagemenu li > div .title, .sp .imagemenu a .title {
	font-size: min(5.0286561483vw, 18.857460556px);
}
.imagemenu li > div .title.center, .imagemenu a .title.center {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	text-align: center;
}
.info .imagemenu li > div .title, .info .imagemenu a .title {
	padding: 10px;
}
.imagemenu li > div .sub, .imagemenu a .sub {
	margin-top: auto;
	padding: 10px 0px 15px;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.3;
	font-weight: 500;
	color: #0053b0;
}
.tablet .imagemenu li > div .sub,
.tablet .imagemenu a .sub {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .imagemenu li > div .sub, .sp .imagemenu a .sub {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.info .imagemenu li > div .sub, .info .imagemenu a .sub {
	padding: 0px 10px 15px;
}
.imagemenu li > div .category, .imagemenu a .category {
	position: absolute;
	top: 0px;
	left: 0px;
	padding: 5px 10px;
	min-width: 8.333333333333333em;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1;
	font-weight: 500;
	color: #fff;
	text-align: center;
	background: #656565;
}
.tablet .imagemenu li > div .category,
.tablet .imagemenu a .category {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .imagemenu li > div .category, .sp .imagemenu a .category {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.imagemenu li > div .category.bearing, .imagemenu a .category.bearing {
	background: #0066ff;
}
.imagemenu li > div .category.damping_isolation, .imagemenu a .category.damping_isolation {
	background: #e9a45d;
}
.imagemenu li > div.center .title,
.imagemenu a.center .title {
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 10px 20px;
	width: 80%;
	color: #fff;
	transform: translate(-50%, -50%);
}
.imagemenu a {
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.imagemenu a:hover {
	opacity: 0.7;
}

* + .imagemenu {
	margin-top: 180px;
}
.sp * + .imagemenu {
	margin-top: 100px;
}

.imagelistmenu {
	display: flex;
	gap: 4px;
	margin-left: auto;
	margin-right: auto;
	max-width: 880px;
}
.sp .imagelistmenu {
	flex-direction: column;
}
.imagelistmenu .image {
	flex-shrink: 0;
	width: 67.9545454545%;
}
.sp .imagelistmenu .image {
	width: 100%;
}
.imagelistmenu .image img {
	height: 100%;
	object-fit: cover;
}
.imagelistmenu ul {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 100%;
}
.imagelistmenu ul li {
	display: flex;
	width: 100%;
	height: 100%;
}
.imagelistmenu ul a {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 10px 20px;
	font-size: min(1.3095238095vw, 22px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
	background: #F2F7FC;
}
.tablet .imagelistmenu ul a {
	font-size: min(2.012195122vw, 16.5px);
}
.sp .imagelistmenu ul a {
	font-size: min(5.0286561483vw, 18.857460556px);
}
.imagelistmenu ul a .more {
	position: relative;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	background: url(../images/arrow_sb.svg) no-repeat center center;
}
.sp .imagelistmenu ul a .more {
	width: 20px;
	height: 20px;
}
.imagelistmenu ul a .more:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	background: url(../images/moreb.svg) no-repeat center center;
	background-size: 100%;
	transform: translate(-50%, -50%);
}
.imagelistmenu ul a .more:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	background: url(../images/arrow_s.svg) no-repeat center center;
	opacity: 0;
	transition: 0.4s;
}
.imagelistmenu ul a .more svg {
	transform: rotate(-90deg);
	width: 100%;
	height: 100%;
}
.imagelistmenu ul a .more svg circle {
	stroke: #0053b0;
	stroke-width: 6px;
	width: 100%;
	height: 100%;
	fill: transparent;
	stroke-dashoffset: 283px;
	stroke-dasharray: 283px;
	stroke-linecap: round;
	transition: stroke-dashoffset 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
.imagelistmenu ul a:hover .more svg circle {
	stroke-dashoffset: 0px;
}
.imagelistmenu ul a:hover .more:after {
	opacity: 1;
}

.memberlist ul {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 20px;
}
.memberlist ul li {
	width: calc((100% - 60px) / 4);
}
.sp .memberlist ul li {
	width: calc((100% - 20px) / 2);
}
.memberlist ul li.full {
	width: 100%;
}
.sp .memberlist ul li.full {
	width: 100%;
}
.memberlist ul .title {
	margin-top: 10px;
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.3;
	font-weight: 400;
	text-align: center;
}
.tablet .memberlist ul .title {
	font-size: min(1.4634146341vw, 12px);
}
.sp .memberlist ul .title {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
.memberlist ul .name {
	margin-top: 10px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 400;
	text-align: center;
}
.tablet .memberlist ul .name {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .memberlist ul .name {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.memberlist ul .rome {
	display: none;
	margin-top: 5px;
	font-size: min(0.7142857143vw, 12px);
	line-height: 1.3;
	font-weight: 400;
	text-align: center;
}
.tablet .memberlist ul .rome {
	font-size: min(1.0975609756vw, 9px);
}
.sp .memberlist ul .rome {
	font-size: min(3.0956734285vw, 11.6087753569px);
}
#colorbox .memberlist ul .rome {
	display: block;
}
.memberlist ul .birthday {
	display: none;
	margin-top: 10px;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.3;
	font-weight: 400;
	text-align: center;
}
.tablet .memberlist ul .birthday {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .memberlist ul .birthday {
	font-size: min(3.5101587779vw, 13.163095417px);
}
#colorbox .memberlist ul .birthday {
	display: block;
}
.memberlist a {
	color: #000000;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.memberlist a:hover {
	opacity: 0.7;
}

.contentsmenu > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 20px;
}
.contentsmenu > ul > li {
	width: calc((100% - 40px) / 3);
}
.sp .contentsmenu > ul > li {
	width: calc((100% - 20px) / 2);
}
.contentsmenu > ul > li > div,
.contentsmenu > ul > li > a {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: #000000;
}
.contentsmenu > ul > li > div .title, .contentsmenu > ul > li > a .title {
	font-size: min(1.3095238095vw, 22px);
	line-height: 1.3;
	font-weight: 500;
}
.tablet .contentsmenu > ul > li > div .title,
.tablet .contentsmenu > ul > li > a .title {
	font-size: min(2.012195122vw, 16.5px);
}
.sp .contentsmenu > ul > li > div .title, .sp .contentsmenu > ul > li > a .title {
	font-size: min(5.0286561483vw, 18.857460556px);
}
.contentsmenu > ul > li > div .label, .contentsmenu > ul > li > a .label {
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 400;
}
.tablet .contentsmenu > ul > li > div .label,
.tablet .contentsmenu > ul > li > a .label {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contentsmenu > ul > li > div .label, .sp .contentsmenu > ul > li > a .label {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contentsmenu > ul > li > div .label.line2, .contentsmenu > ul > li > a .label.line2 {
	min-height: min(2.7857142857vw, 46.8px);
}
.tablet .contentsmenu > ul > li > div .label.line2, .tablet .contentsmenu > ul > li > a .label.line2 {
	min-height: min(4.2804878049vw, 35.1px);
}
.sp .contentsmenu > ul > li > div .label.line2, .sp .contentsmenu > ul > li > a .label.line2 {
	min-height: min(11.1714700726vw, 41.8930127723px);
}
.contentsmenu > ul > li > div .title + .label,
.contentsmenu > ul > li > a .title + .label {
	margin-top: 5px;
}
.contentsmenu > ul > li > div .image img,
.contentsmenu > ul > li > a .image img {
	display: block;
	width: 100%;
	height: auto;
}
.contentsmenu > ul > li > div * + .image, .contentsmenu > ul > li > a * + .image {
	margin-top: 15px;
}
.sp .contentsmenu > ul > li > div * + .image,
.sp .contentsmenu > ul > li > a * + .image {
	margin-top: 15px;
}
.contentsmenu > ul > li > div .info, .contentsmenu > ul > li > a .info {
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.7;
	font-weight: 400;
}
.tablet .contentsmenu > ul > li > div .info,
.tablet .contentsmenu > ul > li > a .info {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contentsmenu > ul > li > div .info, .sp .contentsmenu > ul > li > a .info {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contentsmenu > ul > li > div .info p + p, .contentsmenu > ul > li > a .info p + p {
	margin-top: 10px;
}
.contentsmenu > ul > li > div * + .info,
.contentsmenu > ul > li > a * + .info {
	margin-top: 15px;
}
.contentsmenu > ul > li > div .link, .contentsmenu > ul > li > a .link {
	margin-top: auto !important;
}
.sp .contentsmenu > ul > li > div .link,
.sp .contentsmenu > ul > li > a .link {
	margin-top: auto;
}
.contentsmenu > ul > li > div * + .link,
.contentsmenu > ul > li > a * + .link {
	padding-top: 15px;
}
.contentsmenu > ul > li > a {
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.contentsmenu > ul > li > a:hover {
	opacity: 0.7;
}
.contentsmenu > ul > li > a .more {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: 30px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1;
	font-weight: 400;
}
.tablet .contentsmenu > ul > li > a .more {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contentsmenu > ul > li > a .more {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contentsmenu > ul > li > a .more span {
	margin-right: 10px;
}
.contentsmenu > ul > li > a .more div {
	position: relative;
	width: 32px;
	height: 32px;
	background: url(../images/arrow_sb.svg) no-repeat center center;
}
.sp .contentsmenu > ul > li > a .more div {
	width: 20px;
	height: 20px;
}
.contentsmenu > ul > li > a .more div:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	background: url(../images/moreb.svg) no-repeat center center;
	background-size: 100%;
	transform: translate(-50%, -50%);
}
.contentsmenu > ul > li > a .more div:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	background: url(../images/arrow_s.svg) no-repeat center center;
	opacity: 0;
	transition: 0.4s;
}
.contentsmenu > ul > li > a .more div svg {
	transform: rotate(-90deg);
	width: 100%;
	height: 100%;
}
.contentsmenu > ul > li > a .more div svg circle {
	stroke: #0053b0;
	stroke-width: 6px;
	width: 100%;
	height: 100%;
	fill: transparent;
	stroke-dashoffset: 283px;
	stroke-dasharray: 283px;
	stroke-linecap: round;
	transition: stroke-dashoffset 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
.contentsmenu > ul > li > a:hover .more div svg circle {
	stroke-dashoffset: 0px;
}
.contentsmenu > ul > li > a:hover .more div:after {
	opacity: 1;
}

.contentslistmenu > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 20px;
}
.contentslistmenu > ul > li {
	width: calc((100% - 60px) / 4);
}
.sp .contentslistmenu > ul > li {
	width: calc((100% - 20px) / 2);
}
.contentslistmenu > ul .title {
	padding-bottom: 20px;
	border-bottom: 1px solid #BCBEC9;
}
.contentslistmenu > ul .title > div, .contentslistmenu > ul .title > a {
	display: flex;
	align-items: center;
	height: 32px;
	font-size: min(1.3095238095vw, 22px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
}
.tablet .contentslistmenu > ul .title > div,
.tablet .contentslistmenu > ul .title > a {
	font-size: min(2.012195122vw, 16.5px);
}
.sp .contentslistmenu > ul .title > div, .sp .contentslistmenu > ul .title > a {
	font-size: min(5.0286561483vw, 18.857460556px);
}
.contentslistmenu > ul .title > a span {
	margin-right: 0.5em;
}
.contentslistmenu > ul .title > a .more {
	flex-shrink: 0;
	position: relative;
	width: 32px;
	height: 32px;
	background: url(../images/arrow_sb.svg) no-repeat center center;
}
.sp .contentslistmenu > ul .title > a .more {
	width: 20px;
	height: 20px;
}
.contentslistmenu > ul .title > a .more:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	background: url(../images/moreb.svg) no-repeat center center;
	background-size: 100%;
	transform: translate(-50%, -50%);
}
.contentslistmenu > ul .title > a .more:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	background: url(../images/arrow_s.svg) no-repeat center center;
	opacity: 0;
	transition: 0.4s;
}
.contentslistmenu > ul .title > a .more svg {
	transform: rotate(-90deg);
	width: 100%;
	height: 100%;
}
.contentslistmenu > ul .title > a .more svg circle {
	stroke: #0053b0;
	stroke-width: 6px;
	width: 100%;
	height: 100%;
	fill: transparent;
	stroke-dashoffset: 283px;
	stroke-dasharray: 283px;
	stroke-linecap: round;
	transition: stroke-dashoffset 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
.contentslistmenu > ul .title > a:hover .more svg circle {
	stroke-dashoffset: 0px;
}
.contentslistmenu > ul .title > a:hover .more:after {
	opacity: 1;
}
.contentslistmenu > ul .image {
	margin-top: 0px;
}
.contentslistmenu > ul .image img {
	display: block;
	width: 100%;
	height: auto;
}
.contentslistmenu > ul .list ul > li {
	position: relative;
	padding-left: 16px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 500;
}
.tablet .contentslistmenu > ul .list ul > li {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .contentslistmenu > ul .list ul > li {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.contentslistmenu > ul .list ul > li:before {
	position: absolute;
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	vertical-align: middle;
	top: 0.65em;
	left: 0.3em;
	margin-top: -2.5px;
	background: #0053b0;
	border-radius: 50%;
}
.contentslistmenu > ul .list ul > li + li {
	margin-top: 5px;
}
.contentslistmenu > ul .list ul > li a {
	vertical-align: top;
	color: #000000;
	position: relative;
	display: inline-block;
}
.contentslistmenu > ul .list ul > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #0053b0;
	transition: 0.2s;
	transform: scale(0);
}
.contentslistmenu > ul .list ul > li a:hover:before {
	transform: scale(1);
}
.contentslistmenu > ul * + .list {
	margin-top: 10px;
}

.anchorlink ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 15px;
}
.anchorlink a {
	position: relative;
	display: block;
	min-width: 7.5em;
	padding: 5px 15px 5px 0px;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.3;
	font-weight: 500;
	color: #0053b0;
	border-bottom: 2px solid #0053b0;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.tablet .anchorlink a {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .anchorlink a {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.anchorlink a:hover {
	opacity: 0.7;
}
.anchorlink a:after {
	content: "";
	display: block;
	position: absolute;
	width: 15px;
	height: 100%;
	right: 0px;
	top: 0px;
	background: url(../images/arrow_s.svg) no-repeat center center;
	transform: rotate(90deg);
	transition: top 400ms;
}
.anchorlink a:hover:after {
	top: 4px;
}

.datelist.langen ul .date {
	min-width: 9.5em;
}
.datelist.langen ul .category {
	min-width: 12em;
}
.datelist.langen ul .category.ir_material {
	background: #805386;
}
.sp .datelist.langen ul .category {
	left: 13.2em;
}
.datelist ul {
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.7;
}
.tablet .datelist ul {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .datelist ul {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.datelist ul li {
	border-bottom: 1px solid #93949B;
}
.datelist ul li > * {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 30px 0px;
}
.tablet .datelist ul li > * {
	padding: 20px 0px;
}
.sp .datelist ul li > * {
	flex-direction: column;
	gap: 10px;
}
.datelist ul li > a {
	left: 0%;
	transition: left 400ms;
}
.datelist ul li > a > * {
	position: relative;
	z-index: 5;
}
.datelist ul li > a:hover {
	left: 3%;
}
.datelist ul .category {
	flex-shrink: 0;
	padding: 0 5px;
	min-width: 8.333333333333333em;
	font-size: min(0.7142857143vw, 12px);
	line-height: 2.3333333333;
	font-weight: 700;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	background: #656565;
}
.sp .datelist ul .category {
	font-size: min(3.2vw, 12px);
}
.datelist ul .category.ir {
	background: #be5b5b;
}
.datelist ul .category.corporate {
	background: #b8822c;
}
.datelist ul .category.products {
	background: #669999;
}
.datelist ul .category.bearing {
	background: #0066ff;
}
.datelist ul .category.damping_isolation {
	background: #e9a45d;
}
.datelist ul .category.pr {
	background: #BA4565;
}
.datelist ul .category.yuho {
	background: #BD8160;
}
.datelist ul .category.tanshin {
	background: #3A3A8F;
}
.datelist ul .category.press {
	background: #385C6D;
}
.datelist ul .category.ir_material_for_fiscal_ym {
	background: #8EAD3D;
}
.datelist ul .category.ir_material_for_fiscal_ym1 {
	background: #8EAD3D;
}
.datelist ul .category.ir_material_for_fiscal_ym2 {
	background: #8EAD3D;
}
.datelist ul .category.ir_material_for_fiscal_ym3 {
	background: #599F84;
}
.datelist ul .category.ir_material_for_fiscal_ym6 {
	background: #8EAD3D;
}
.datelist ul .category.ir_material_for_fiscal_ym8 {
	background: #8EAD3D;
}
.datelist ul .category.ir_material_for_fiscal_ym9 {
	background: #8EAD3D;
}
.datelist ul .category.ir_material_for_fiscal_ym10 {
	background: #3A3A8F;
}
.datelist ul .category.ir_material_for_fiscal_ym11 {
	background: #3A3A8F;
}
.datelist ul .category.corporate_governance {
	background: #ca7474;
}
.datelist ul .category.ir_material {
	background: #805386;
}
.datelist ul .category.announcement {
	background: #805386;
}
.sp .datelist ul .category {
	position: absolute;
	left: 7.2em;
	top: 1.4em;
}
.datelist ul .date {
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.75;
	font-weight: 500;
	color: #656565;
}
.tablet .datelist ul .date {
	font-size: min(1.4634146341vw, 12px);
}
.sp .datelist ul .date {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
.datelist ul .title {
	margin-left: 12px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.7;
	font-weight: 400;
	color: #000000;
}
.tablet .datelist ul .title {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .datelist ul .title {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.sp .datelist ul .title {
	margin-left: 0px;
}

.categorymenu.col2 ul li {
	width: calc((100% - 20px) / 2);
}
.categorymenu.col2 ul li.size2 {
	width: 100%;
}
.sp .categorymenu.col2 ul li.size2 {
	width: 100%;
}
.sp .categorymenu.col2 ul li {
	width: calc((100% - 5px) / 2);
}
.sp .categorymenu.col3 ul li {
	width: calc((100% - 5px) / 2);
}
.categorymenu ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.sp .categorymenu ul {
	gap: 5px;
}
.categorymenu ul li {
	width: calc((100% - 40px) / 3);
}
.categorymenu ul li.size3 {
	width: 100%;
}
.sp .categorymenu ul li.size3 {
	width: 100%;
}
.sp .categorymenu ul li {
	width: calc((100% - 10px) / 3);
}
.categorymenu ul a {
	position: relative;
	display: block;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.categorymenu ul a:hover {
	opacity: 0.7;
}
.categorymenu ul a .wrap {
	position: relative;
}
.categorymenu ul a .image {
	position: relative;
}
.categorymenu ul a .image:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}
.categorymenu ul a .image img {
	display: block;
	width: 100%;
	height: auto;
}
.categorymenu ul a .title {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 90%;
	font-size: min(1.9047619048vw, 32px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	text-align: center;
	transform: translate(-50%, -50%);
}
.sp .categorymenu ul a .title {
	font-size: min(4.8vw, 18px);
}
.categorymenu ul a .title > span {
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
}
.sp .categorymenu ul a .title > span {
	font-size: min(3.7333333333vw, 14px);
}
.categorymenu ul a .title .blank {
	display: inline-block;
	width: 20px;
	height: 16px;
	margin-left: 4px;
	background: url(../images/blankw.svg) no-repeat center center;
	background-size: 16px auto;
}
.categorymenu ul a .info {
	padding: 10px 0px 5px;
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.5;
	color: #000000;
}
.tablet .categorymenu ul a .info {
	font-size: min(1.4634146341vw, 12px);
}
.sp .categorymenu ul a .info {
	font-size: min(3.9104112196vw, 14.6640420736px);
}

.productsymenu > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.productsymenu > ul > li {
	position: relative;
	width: calc((100% - 40px) / 3);
}
.sp .productsymenu > ul > li {
	width: 100%;
}
.productsymenu > ul .image {
	position: relative;
}
.productsymenu > ul .image:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}
.productsymenu > ul .image img {
	display: block;
	width: 100%;
	height: auto;
}
.sp .productsymenu > ul .image img {
	height: 200px;
	object-fit: cover;
}
.productsymenu > ul > li > a {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	color: #fff;
	z-index: 5;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.productsymenu > ul > li > a:hover {
	opacity: 0.7;
}
.sp .productsymenu > ul > li > a {
	height: 200px;
}
.productsymenu > ul > li > a .title {
	font-size: min(1.9047619048vw, 32px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	text-align: center;
}
.sp .productsymenu > ul > li > a .title {
	font-size: min(4.8vw, 18px);
}
.productsymenu > ul > li > a .title > span {
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
}
.sp .productsymenu > ul > li > a .title > span {
	font-size: min(3.7333333333vw, 14px);
}
.productsymenu.langen > ul > li > a .title div {
	display: flex;
	align-items: center;
	min-height: 2.6em;
}
.sp .productsymenu.langen > ul > li > a .title div {
	min-height: 0;
}
.productsymenu .case {
	position: absolute;
	bottom: 50px;
	left: 0px;
	width: 100%;
	text-align: center;
	z-index: 10;
	pointer-events: none;
	transition: opacity 600ms;
}
.sp .productsymenu .case {
	position: static;
	padding: 20px 15px 20px;
}
.productsymenu .case .title {
	position: relative;
	display: inline-block;
	padding-bottom: 10px;
	padding-left: 0.2em;
	font-size: min(1.4285714286vw, 24px);
	line-height: 1;
	font-weight: 500;
	color: #fff;
	text-align: center;
	letter-spacing: 0.2em;
}
.sp .productsymenu .case .title {
	font-size: min(4.8vw, 18px);
}
.sp .productsymenu .case .title {
	color: #000000;
}
.productsymenu .case .title:after {
	content: "";
	display: block;
	position: absolute;
	width: calc(100% - 0.4em);
	height: 2px;
	bottom: 0px;
	left: 0.2em;
	background: #fff;
}
.sp .productsymenu .case .title:after {
	background: #000000;
}
.productsymenu .case .caselink {
	margin-top: min(30px, 1.5625vw);
}
.sp .productsymenu .case .caselink {
	margin-top: 20px;
}
.productsymenu .case .caselink ul {
	display: flex;
	justify-content: center;
	gap: min(40px, 2.0833333333vw);
}
.sp .productsymenu .case .caselink ul {
	gap: 20px;
}
.productsymenu .case .caselink a {
	display: flex;
	align-items: center;
	font-size: min(1.1904761905vw, 20px);
	line-height: 1;
	font-weight: 500;
	color: #fff;
	pointer-events: auto;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.sp .productsymenu .case .caselink a {
	font-size: min(4.2666666667vw, 16px);
}
.productsymenu .case .caselink a:hover {
	opacity: 0.7;
}
.sp .productsymenu .case .caselink a {
	color: #000000;
	justify-content: center;
}

.slideblock .slidetab ul {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.sp .slideblock .slidetab ul {
	display: none;
}
.slideblock .slidetab ul li {
	position: relative;
	max-width: 12em;
	flex-shrink: 2;
	flex-grow: 2;
	font-size: min(0.8333333333vw, 14px);
}
.tablet .slideblock .slidetab ul li {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .slideblock .slidetab ul li {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.slideblock .slidetab ul li.left a:after {
	left: 0px;
	right: auto;
}
.slideblock .slidetab select {
	display: none;
	width: 100%;
	height: 40px;
	padding: 0px 50px 0px 10px;
	font-size: min(1.3095238095vw, 22px);
	line-height: 38px;
	font-weight: 700;
	color: #fff;
	border: 0px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../images/select.svg) no-repeat right center #93949B;
	cursor: pointer;
}
.tablet .slideblock .slidetab select {
	font-size: min(2.012195122vw, 16.5px);
}
.sp .slideblock .slidetab select {
	font-size: min(5.0286561483vw, 18.857460556px);
}
.sp .slideblock .slidetab select {
	display: block;
}
.slideblock .slidetab select option {
	color: #000;
	background: #fff;
}
.slideblock .slidetab select::-ms-expand {
	display: none;
}
.slideblock .slidetab a {
	position: relative;
	display: block;
	padding-bottom: 5px;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.4;
	font-weight: 500;
	color: #93949B;
	transition: opacity 200ms, color 600ms;
}
.tablet .slideblock .slidetab a {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .slideblock .slidetab a {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.slideblock .slidetab a:hover {
	color: #0053b0;
	transition: color 200ms;
}
.slideblock .slidetab a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: 0px;
	left: 0px;
	background: #93949B;
	transition: background 200ms, opacity 200ms;
}
.slideblock .slidetab a:after {
	content: "";
	display: block;
	position: absolute;
	width: 0%;
	height: 2px;
	bottom: 0px;
	right: 0px;
	background: #0053b0;
	transition: 600ms;
}
.slideblock .slidetab .current a {
	color: #0053b0;
}
.slideblock .slidetab .current a:after {
	width: 100%;
}
.slideblock .slidebody {
	position: relative;
	margin-top: 20px;
	-webkit-transition: height 800ms;
	transition: height 800ms;
}
.slideblock .slidebody > div {
	position: absolute;
	left: 50%;
	top: 0px;
	width: 100%;
	opacity: 0;
	-webkit-transform: translateX(-160%);
	transform: translateX(-160%);
	-webkit-transition: -webkit-transform 1200ms, opacity 400ms 100ms;
	transition: transform 1200ms, opacity 400ms 100ms;
	pointer-events: none;
}
.slideblock .slidebody > div.left {
	-webkit-transform: translateX(60%);
	transform: translateX(60%);
}
.slideblock .slidebody > div.current {
	-webkit-transform: translateX(-50%) !important;
	transform: translateX(-50%) !important;
	opacity: 1;
	-webkit-transition: -webkit-transform 1200ms, opacity 1200ms 0ms;
	transition: transform 1200ms, opacity 1200ms 0ms;
	pointer-events: auto;
}
.slideblock .slidebody > div.slidebodyspace {
	position: relative;
	-webkit-transition: height 400ms;
	transition: height 400ms;
}

.hiddenblock {
	display: none !important;
}

.aformsystem:not(.iframe) .aform-header {
	display: none;
}

.aform .aform-header {
	clear: both;
	position: relative;
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: min(1.3095238095vw, 22px);
	line-height: 1.3;
	font-weight: normal;
	text-align: center;
}
.tablet .aform .aform-header {
	font-size: min(2.012195122vw, 16.5px);
}
.sp .aform .aform-header {
	font-size: min(5.0286561483vw, 18.857460556px);
}
.sp .aform .aform-header {
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
}
.tablet .sp .aform .aform-header {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .sp .aform .aform-header {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.aform .aform-required {
	display: inline-block;
	color: #AC1613;
}
.aform .aform-error {
	margin-top: 5px;
	color: #AC1613;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.5;
}
.tablet .aform .aform-error {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .aform .aform-error {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.aform .aform-confirm {
	display: block;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.5;
}
.tablet .aform .aform-confirm {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .aform .aform-confirm {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.aform #aform_confirm_msg {
	padding: 50px 0px 0px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.5;
}
.tablet .aform #aform_confirm_msg {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .aform #aform_confirm_msg {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.aform #aform-confirm-form .aform-required,
.aform #aform-confirm-form .aform-note {
	display: none;
}
.aform #aform-confirm-form dl dt {
	padding-top: 0px;
	padding-right: 0px;
}
.aform #aform-confirm-form .aform-button-area {
	border-top: 0;
}
.aform dl {
	display: flex;
	justify-content: space-between;
	padding: 20px 0px;
	border-bottom: 1px solid #BCBEC9;
}
.sp .aform dl {
	flex-direction: column;
}
.aform dl dt {
	position: relative;
	flex-shrink: 0;
	width: min(240px, 18.5185185185vw);
	padding-top: 10px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
}
.tablet .aform dl dt {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .aform dl dt {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.aform dl dt .aform-validation {
	font-size: min(0.7738095238vw, 13px);
	line-height: 1.3;
}
.tablet .aform dl dt .aform-validation {
	font-size: min(1.1890243902vw, 9.75px);
}
.sp .aform dl dt .aform-validation {
	font-size: min(3.3047132482vw, 12.3926746807px);
}
.sp .aform dl dt {
	width: 100%;
	padding-top: 0px;
	padding-right: min(100px, 26.6666666667vw);
	padding-bottom: 10px;
}
.aform dl dt .aform-label {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 10px;
}
.aform dl dd {
	position: relative;
	margin: 0px;
	padding: 0px;
	width: min(950px, 73.3024691358vw);
}
.sp .aform dl dd {
	width: 100%;
}
.aform dl dd .aform-input-example {
	margin-bottom: 10px;
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.5;
	color: #656565;
}
.tablet .aform dl dd .aform-input-example {
	font-size: min(1.4634146341vw, 12px);
}
.sp .aform dl dd .aform-input-example {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
.aform dl dd .aform-input-example a {
	color: #0053b0;
	position: relative;
	display: inline-block;
}
.aform dl dd .aform-input-example a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #0053b0;
	transition: 0.2s;
	transform: scale(0);
}
.aform dl dd .aform-input-example a:hover:before {
	transform: scale(1);
}
.aform dl dd .aform-twice-note {
	display: block;
	margin: 20px 0px 10px;
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.3;
	color: #000000;
}
.tablet .aform dl dd .aform-twice-note {
	font-size: min(1.4634146341vw, 12px);
}
.sp .aform dl dd .aform-twice-note {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
.aform .aform-input.aform-note {
	margin-top: 30px;
	padding-bottom: 30px;
}
.sp .aform .aform-input.aform-note {
	padding-bottom: 20px;
}
.aform .aform-content {
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.5;
	color: #000000;
}
.tablet .aform .aform-content {
	font-size: min(1.4634146341vw, 12px);
}
.sp .aform .aform-content {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
.aform .aform-content a {
	color: #0053b0;
	position: relative;
	display: inline-block;
}
.aform .aform-content a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.25em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #0053b0;
	transition: 0.2s;
	transform: scale(0);
}
.aform .aform-content a:hover:before {
	transform: scale(1);
}
.aform .aform-calendar + label {
	margin: 0px 10px;
}
.aform .aform-calendar + label + span {
	display: none;
}
.aform .aform-input.aform-hdln {
	padding-bottom: 15px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
}
.tablet .aform .aform-input.aform-hdln {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .aform .aform-input.aform-hdln {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.aform dl + .aform-input.aform-hdln {
	padding-top: 60px;
	border-top: 1px solid #BCBEC9;
}
.sp .aform dl + .aform-input.aform-hdln {
	padding-top: 40px;
}
.aform .aform-name-ul,
.aform .aform-kana-ul {
	display: flex;
	justify-content: space-between;
}
.aform .aform-name-ul li, .aform .aform-kana-ul li {
	display: flex;
	align-items: center;
	width: min(415px, 32.0216049383vw);
}
.sp .aform .aform-name-ul li,
.sp .aform .aform-kana-ul li {
	width: 48%;
}
.aform .aform-name-ul li > label, .aform .aform-kana-ul li > label {
	flex-shrink: 0;
	width: 3em;
	font-size: min(1.0714285714vw, 18px);
}
.tablet .aform .aform-name-ul li > label, .tablet .aform .aform-kana-ul li > label {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .aform .aform-name-ul li > label, .sp .aform .aform-kana-ul li > label {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.aform textarea {
	width: 100%;
	height: 180px;
	padding: 8px 10px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.5;
	border: 1px solid #BCBEC9;
	border-radius: 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.tablet .aform textarea {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .aform textarea {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.aform textarea::placeholder,
.aform input::placeholder {
	color: #656565;
}
.aform textarea:-ms-input-placeholder,
.aform input:-ms-input-placeholder {
	color: #656565;
}
.aform textarea::-ms-input-placeholder,
.aform input::-ms-input-placeholder {
	color: #656565;
}
.aform input[type="text"], .aform input[type="email"], .aform input[type="tel"], .aform input[type="url"], .aform input[type="password"] {
	width: 100%;
	height: 40px;
	padding: 0px 10px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 38px;
	font-weight: 400;
	border: 1px solid #BCBEC9;
	border-radius: 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.tablet .aform input[type="text"], .tablet .aform input[type="email"], .tablet .aform input[type="tel"], .tablet .aform input[type="url"], .tablet .aform input[type="password"] {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .aform input[type="text"], .sp .aform input[type="email"], .sp .aform input[type="tel"], .sp .aform input[type="url"], .sp .aform input[type="password"] {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.aform input[type="text"].withlabel, .aform input[type="email"].withlabel, .aform input[type="tel"].withlabel, .aform input[type="url"].withlabel, .aform input[type="password"].withlabel {
	padding-left: 4rem;
}
.aform input[type="text"].size4, .aform input[type="email"].size4, .aform input[type="tel"].size4, .aform input[type="url"].size4, .aform input[type="password"].size4 {
	width: calc(4em + 20px);
}
.aform input[type="text"].size2, .aform input[type="email"].size2, .aform input[type="tel"].size2, .aform input[type="url"].size2, .aform input[type="password"].size2 {
	width: calc(2em + 20px);
}
.aform input[type="text"].aform-field-option-text, .aform input[type="email"].aform-field-option-text, .aform input[type="tel"].aform-field-option-text, .aform input[type="url"].aform-field-option-text, .aform input[type="password"].aform-field-option-text {
	margin-left: 20px;
	width: 300px;
	height: 48px;
}
.sp .aform input[type="text"].aform-field-option-text, .sp .aform input[type="email"].aform-field-option-text, .sp .aform input[type="tel"].aform-field-option-text, .sp .aform input[type="url"].aform-field-option-text, .sp .aform input[type="password"].aform-field-option-text {
	margin-left: 0px;
	margin-top: 15px;
	width: 100%;
}
.aform select {
	height: 36px;
	padding: 0px 36px 0px 0px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 36px;
	border: 0px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../images/selecticon.svg) no-repeat right center;
	cursor: pointer;
}
.tablet .aform select {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .aform select {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.aform select::-ms-expand {
	display: none;
}
.aform .aform-radio-ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0px 50px;
}
.aform .aform-radio-ul.aform-vertical-ul {
	flex-direction: column;
}
.aform .aform-radio-ul li {
	position: relative;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	min-height: 70px;
	padding: 10px 0px 10px 52px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
}
.tablet .aform .aform-radio-ul li {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .aform .aform-radio-ul li {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.aform .aform-radio-ul li label {
	cursor: pointer;
	user-select: none;
}
.aform .aform-radio-ul li input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.aform .aform-radio-ul li input[type="radio"][required] + label:before {
	background-color: #FDEFEF;
	border-color: #F1D2D7;
}
.aform .aform-radio-ul li input[type="radio"] + label:before {
	content: "";
	display: block;
	position: absolute;
	width: 30px;
	height: 30px;
	top: 50%;
	left: 0px;
	margin-top: -16px;
	background: #F2F7FC;
	border: 1px solid #BCBEC9;
	border-radius: 50%;
}
.aform .aform-radio-ul li input[type="radio"] + label:after {
	content: "";
	display: block;
	position: absolute;
	width: 18px;
	height: 18px;
	top: 50%;
	left: 7px;
	margin-top: -9px;
	background: #0053b0;
	border-radius: 50%;
	transform: scale(0);
	-webkit-transition: 200ms;
	transition: 200ms;
}
.aform .aform-radio-ul li input[type="radio"]:checked + label:after {
	background: #0053b0;
	transform: scale(1);
}
.aform .aform-checkbox-ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0px 50px;
}
.aform .aform-checkbox-ul.aform-vertical-ul {
	flex-direction: column;
}
.aform .aform-checkbox-ul li {
	position: relative;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	min-height: 40px;
	padding: 5px 0px 5px 28px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
}
.tablet .aform .aform-checkbox-ul li {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .aform .aform-checkbox-ul li {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.aform .aform-checkbox-ul li label {
	cursor: pointer;
	user-select: none;
}
.aform .aform-checkbox-ul li input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.aform .aform-checkbox-ul li input[type="checkbox"] + label:before {
	content: "";
	display: block;
	position: absolute;
	width: 18px;
	height: 18px;
	top: 50%;
	left: 0px;
	margin-top: -10px;
	background: #F2F7FC;
	border: 1px solid #BCBEC9;
	border-radius: 2px;
}
.aform .aform-checkbox-ul li input[type="checkbox"] + label:after {
	content: "";
	display: block;
	position: absolute;
	width: 20px;
	height: 20px;
	top: 50%;
	left: 0px;
	margin-top: -10px;
	background: url(../images/check.svg) no-repeat center center;
	transform: scale(0);
	transition: 200ms;
}
.aform .aform-checkbox-ul li input[type="checkbox"]:checked + label:after {
	transform: scale(1);
}
.aform .aform-note {
	margin-top: 10px;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.5;
}
.tablet .aform .aform-note {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .aform .aform-note {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.aform .aform-button-area {
	text-align: center;
	padding: 50px 0px 0px;
}
.aform .aform-button-area input {
	position: relative;
	display: inline-block;
	width: 80%;
	max-width: 15em;
	height: 48px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 48px;
	font-weight: 500;
	color: #fff;
	background: #0053b0;
	border: 0;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.tablet .aform .aform-button-area input {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .aform .aform-button-area input {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.aform .aform-button-area input:hover {
	opacity: 0.7;
}
.sp .aform .aform-button-area input {
	display: block;
	margin: auto;
}
.aform .aform-button-area input#aform_btn_back {
	color: #000000;
	background: #F2F7FC;
	border-color: #BCBEC9;
}
.aform .aform-button-area input + input {
	margin-left: 20px;
}
.sp .aform .aform-button-area input + input {
	margin-left: auto;
	margin-top: 20px;
}
.aform .head {
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.5;
	font-weight: bold;
}
.tablet .aform .head {
	font-size: min(1.4634146341vw, 12px);
}
.sp .aform .head {
	font-size: min(3.9104112196vw, 14.6640420736px);
}

.irtopcolumn {
	position: relative;
	display: flex;
	padding: 40px 0;
	gap: 40px min(50px, 4.1118421053vw);
	z-index: 0;
}
.sp .irtopcolumn {
	flex-direction: column;
}
.irtopcolumn:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	left: 50%;
	top: 0;
	margin-left: -50vw;
	background: #F2F7FC;
	z-index: -1;
}
.irtopcolumn h2 {
	font-size: min(1.5476190476vw, 26px);
	margin-bottom: 10px;
	padding: 0;
	border: 0;
}
.tablet .irtopcolumn h2 {
	font-size: min(2.3780487805vw, 19.5px);
}
.sp .irtopcolumn h2 {
	font-size: min(5.7082774856vw, 21.406040571px);
}
.irtopcolumn h2:before {
	display: none;
}
.irtopcolumn .irdownload {
	width: 50%;
}
.sp .irtopcolumn .irdownload {
	width: 100%;
}
.irtopcolumn .irdownload .list {
	padding: 20px;
	background: #fff;
	border: 1px solid #0053b0;
}
.irtopcolumn .irdownload .all {
	margin: -5px -5px 20px;
	padding: 0px 5px 20px;
	font-size: min(0.8928571429vw, 15px);
	line-height: 1;
	font-weight: 500;
	text-align: center;
	border-bottom: 1px solid #93949B;
}
.tablet .irtopcolumn .irdownload .all {
	font-size: min(1.3719512195vw, 11.25px);
}
.sp .irtopcolumn .irdownload .all {
	font-size: min(3.7120460806vw, 13.9201728024px);
}
.irtopcolumn .irdownload .all a {
	display: inline-block;
	margin-bottom: 8px;
	padding-top: 40px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1;
	font-weight: 500;
	color: #0053b0;
	background: url(../images/zip.svg) no-repeat center top;
	background-size: auto 25px;
	position: relative;
	display: inline-block;
}
.tablet .irtopcolumn .irdownload .all a {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .irtopcolumn .irdownload .all a {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.irtopcolumn .irdownload .all a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #0053b0;
	transition: 0.2s;
	transform: scale(0);
}
.irtopcolumn .irdownload .all a:hover:before {
	transform: scale(1);
}
.irtopcolumn .irdownload .text {
	margin-top: 0 !important;
}
.irtopcolumn .irdownload .text p {
	font-weight: 500;
	line-height: 1.7 !important;
}
.irtopcolumn .irranking {
	position: relative;
	width: calc(50% - min(50px, 50/1216*100vw));
}
.sp .irtopcolumn .irranking {
	width: 100%;
}
.irtopcolumn .irranking p {
	position: absolute;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1;
	font-weight: 500;
	right: 0;
	margin-top: calc(-1em - 5px) !important;
}
.tablet .irtopcolumn .irranking p {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .irtopcolumn .irranking p {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.irtopcolumn .irranking .list ol {
	border-top: 1px solid #93949B;
	counter-reset: number;
}
.irtopcolumn .irranking .list li {
	display: flex;
	gap: 20px;
	align-items: center;
	padding: 12px 0px;
	border-bottom: 1px solid #93949B;
	counter-increment: number;
}
.irtopcolumn .irranking .list li:before {
	content: counter(number);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	font-size: min(1.5476190476vw, 26px);
	line-height: 1;
	font-weight: 500;
	color: #000000;
	background: #E3E3E3;
}
.tablet .irtopcolumn .irranking .list li:before {
	font-size: min(2.3780487805vw, 19.5px);
}
.sp .irtopcolumn .irranking .list li:before {
	font-size: min(5.7082774856vw, 21.406040571px);
}
.irtopcolumn .irranking .list li:nth-child(1):before {
	color: #fff;
	background: #DEAF0A;
}
.irtopcolumn .irranking .list li:nth-child(2):before {
	color: #fff;
	background: #B3B5B8;
}
.irtopcolumn .irranking .list li:nth-child(3):before {
	color: #fff;
	background: #BB873E;
}
.irtopcolumn .irranking .list a {
	align-items: center;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
	position: relative;
	display: inline-block;
	display: flex;
}
.tablet .irtopcolumn .irranking .list a {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .irtopcolumn .irranking .list a {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.irtopcolumn .irranking .list a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #0053b0;
	transition: 0.2s;
	transform: scale(0);
}
.irtopcolumn .irranking .list a:hover:before {
	transform: scale(1);
}

.irtopbox {
	position: relative;
	display: flex;
	gap: 30px;
	height: min(520px, 42.7631578947vw);
	padding: 20px;
	z-index: 0;
	overflow: hidden;
}
.sp .irtopbox {
	flex-direction: column;
	gap: 20px;
	height: auto;
	padding: 0px;
}
.irtopbox.hover:before {
	transform: scale(1.075);
}
.irtopbox:before {
	content: "";
	display: block;
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(../images/irtopbox.jpg) no-repeat center center;
	background-size: cover;
	z-index: -1;
	transition: transform 800ms;
}
.sp .irtopbox:before {
	display: none;
}
.irtopbox:after {
	content: "";
	display: block;
	position: absolute;
	display: block;
	width: 100%;
	height: 25%;
	bottom: 0px;
	left: 0px;
	background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, black 100%);
	background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, black 100%);
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, black 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 );
	z-index: -1;
}
.sp .irtopbox:after {
	display: none;
}
.irtopbox .message {
	position: relative;
	width: calc((100% - 30px) / 2);
}
.tablet .irtopbox .message {
	width: calc((100% - 30px) / 10 * 4.5);
}
.sp .irtopbox .message {
	width: 100%;
	height: 50vw;
}
.sp .irtopbox .message:before {
	content: "";
	display: block;
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(../images/irtopbox.jpg) no-repeat left center;
	background-size: cover;
	z-index: -1;
	transition: transform 800ms;
}
.sp .irtopbox .message:after {
	content: "";
	display: block;
	position: absolute;
	display: block;
	width: 100%;
	height: 25%;
	bottom: 0px;
	left: 0px;
	background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, black 100%);
	background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, black 100%);
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, black 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 );
	z-index: -1;
}
.irtopbox .message a {
	display: flex;
	height: 100%;
	color: #fff;
}
.sp .irtopbox .message a {
	padding: 15px;
}
.irtopbox .message a > div {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	width: 100%;
	margin-top: auto;
	margin-bottom: 0;
}
.irtopbox .message a .title {
	font-size: min(2.380952381vw, 40px);
	line-height: 1.3;
	font-weight: 500;
}
.tablet .irtopbox .message a .title {
	font-size: min(2.4390243902vw, 20px);
}
.sp .irtopbox .message a .title {
	font-size: min(5.8666666667vw, 22px);
}
.irtopbox .message a .more div {
	background-image: url(../images/arrow_sw.svg);
}
.irtopbox .message a .more div:before {
	background-image: url(../images/more.svg);
}
.irtopbox .sub {
	display: flex;
	gap: min(20px, 1.6447368421vw);
	width: calc((100% - 30px) / 2);
}
.tablet .irtopbox .sub {
	width: calc((100% - 30px) / 10 * 5.5);
}
.sp .irtopbox .sub {
	gap: min(20px, 2.7777777778vw);
	width: 100%;
	max-width: 720px;
	margin: auto;
}
.irtopbox .sub .col {
	display: flex;
	gap: min(20px, 1.6447368421vw);
	flex-direction: column;
	flex-shrink: 0;
	width: min(342px, 25.4934210526vw);
}
.irtopbox .sub .col.en {
	width: 100%;
}
.sp .irtopbox .sub .col.en {
	width: 100%;
}
.irtopbox .sub .col.en .stock dl {
	justify-content: center;
	padding: 20px 0px;
	gap: min(20px, 2.7777777778vw);
}
.irtopbox .sub .col.en .stock dl * + dt {
	padding-left: min(30px, 4.1666666667vw);
}
.irtopbox .sub .col.en .stock dl dt {
	width: auto;
}
.irtopbox .sub .col.en .stock dl dd {
	width: auto;
}
.sp .irtopbox .sub .col {
	gap: min(20px, 2.7777777778vw);
	width: min(400px, 55.5555555556vw);
}
.irtopbox .stock {
	height: calc((100% - min(20px, 20/1216*100vw)) / 2);
}
.sp .irtopbox .stock {
	height: 100%;
}
.irtopbox .stock a {
	display: flex;
	flex-direction: column;
	padding: 20px;
	height: 100%;
	color: #000000;
	background: rgba(255, 255, 255, 0.9);
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.irtopbox .stock a:hover {
	opacity: 0.7;
}
.spc .irtopbox .stock a {
	padding: 15px;
}
.tablet .irtopbox .stock a {
	padding: 10px;
}
.sp .irtopbox .stock a {
	gap: 10px;
	padding: min(20px, 2.7777777778vw);
	background: #F2F7FC;
}
.irtopbox .stock a > div:first-child {
	margin-bottom: auto;
}
.irtopbox .stock a > div:last-child {
	margin-top: auto;
}
.irtopbox .stock .title {
	font-size: min(1.71875vw, 22px);
	line-height: 1;
	font-weight: 500;
}
.sp .irtopbox .stock .title {
	font-size: min(4.2666666667vw, 16px);
}
.irtopbox .stock .date {
	margin-top: 10px;
	font-size: min(1.09375vw, 14px);
	line-height: 1;
	font-weight: 400;
}
.tablet .irtopbox .stock .date {
	margin-top: 5px;
}
.sp .irtopbox .stock .date {
	font-size: min(3.2vw, 12px);
}
.irtopbox .stock dl {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px 0;
}
.tablet .irtopbox .stock dl {
	gap: 5px 0;
}
.sp .irtopbox .stock dl {
	gap: 10px 0;
}
.irtopbox .stock dl dt {
	width: 4.5em;
	font-size: min(1.40625vw, 18px);
	line-height: 1;
	font-weight: 700;
}
.sp .irtopbox .stock dl dt {
	font-size: min(3.2vw, 12px);
}
.irtopbox .stock dl dd {
	display: flex;
	align-items: center;
	width: calc(100% - 2.2em);
	margin-left: 0;
	font-size: min(2.96875vw, 38px);
	line-height: 1;
	font-weight: 700;
}
.sp .irtopbox .stock dl dd {
	font-size: min(6.9333333333vw, 26px);
}
.irtopbox .stock dl dd span {
	margin-left: 10px;
	font-size: min(1.40625vw, 18px);
	line-height: 1;
	font-weight: 500;
}
.sp .irtopbox .stock dl dd span {
	font-size: min(3.7333333333vw, 14px);
}
.irtopbox .calendar {
	height: calc((100% - min(20px, 20/1216*100vw)) / 2);
}
.sp .irtopbox .calendar {
	height: 100%;
}
.irtopbox .calendar a {
	display: flex;
	flex-direction: column;
	padding: 20px;
	height: 100%;
	color: #000000;
	background: rgba(255, 255, 255, 0.9);
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.irtopbox .calendar a:hover {
	opacity: 0.7;
}
.spc .irtopbox .calendar a {
	padding: 15px;
}
.tablet .irtopbox .calendar a {
	padding: 10px;
}
.sp .irtopbox .calendar a {
	padding: min(20px, 2.7777777778vw);
	background: #F2F7FC;
}
.irtopbox .calendar a > div:first-child {
	display: flex;
	justify-content: space-between;
	margin-bottom: auto;
}
.irtopbox .calendar a > div:last-child {
	margin-top: auto;
}
.irtopbox .calendar .title {
	font-size: min(1.71875vw, 22px);
	line-height: 1;
	font-weight: 500;
}
.sp .irtopbox .calendar .title {
	font-size: min(4.2666666667vw, 16px);
}
.irtopbox .calendar .info {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 0px;
	font-size: min(2.1875vw, 28px);
	line-height: 1.3;
	font-weight: 700;
	text-align: center;
}
.sp .irtopbox .calendar .info {
	font-size: min(4.8vw, 18px);
}
.irtopbox .strategy {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 20px;
	height: 100%;
	background: rgba(255, 255, 255, 0.9);
}
.spc .irtopbox .strategy {
	padding: 15px;
}
.tablet .irtopbox .strategy {
	padding: 15px;
	padding: 10px;
}
.sp .irtopbox .strategy {
	height: 100%;
	padding: min(20px, 2.7777777778vw);
	background: #F2F7FC;
}
.irtopbox .strategy .title {
	font-size: min(1.71875vw, 22px);
	line-height: 1.5;
	font-weight: 500;
}
.sp .irtopbox .strategy .title {
	font-size: min(4.2666666667vw, 16px);
}
.irtopbox .strategy .pdf a {
	display: block;
}
.irtopbox .strategy .pdf .name {
	margin-top: 30px;
	font-size: min(1.25vw, 16px);
	line-height: 1.5;
	font-weight: 500;
	color: #000000;
}
.tablet .irtopbox .strategy .pdf .name {
	margin-top: 20px;
}
.sp .irtopbox .strategy .pdf .name {
	font-size: min(3.7333333333vw, 14px);
}
.irtopbox .strategy .pdf .size {
	margin-top: 5px;
	font-size: min(0.9375vw, 12px);
	line-height: 1;
	font-weight: 500;
	color: #000000;
}
.sp .irtopbox .strategy .pdf .size {
	font-size: min(2.6666666667vw, 10px);
}
.irtopbox .strategy .pdf .size:after {
	content: "";
	display: inline-block;
	width: 25px;
	height: 16px;
	margin-left: 5px;
	margin-top: -4px;
	vertical-align: middle;
	background: url(../images/pdf.svg) no-repeat center center;
	background-size: auto 100%;
}
.sp .irtopbox .strategy .pdf .size:after {
	width: 23px;
	margin-left: 0px;
}
.irtopbox .strategy .smallbutton {
	margin-top: auto !important;
}
.irtopbox .strategy .smallbutton a {
	justify-content: flex-end;
	margin-right: -10px;
	margin-bottom: -10px;
}
.spc .irtopbox .strategy .smallbutton a {
	margin-right: -5px;
	margin-bottom: -5px;
}
.sp .irtopbox .strategy .smallbutton a {
	height: auto;
	margin-right: 0px;
	margin-bottom: 0px;
}
.sp .irtopbox .strategy .smallbutton a span {
	font-size: min(3.2vw, 12px);
}
.irtopbox .sub .col a .more {
	margin-right: -10px;
	margin-bottom: -10px;
}
.spc .irtopbox .sub .col a .more {
	margin-right: -5px;
	margin-bottom: -5px;
}
.sp .irtopbox .sub .col a .more {
	margin-right: 0px;
	margin-bottom: 0px;
}
.irtopbox a .more {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1;
	font-weight: 400;
}
.sp .irtopbox a .more {
	font-size: min(3.2vw, 12px);
}
.irtopbox a .more span {
	margin-right: 10px;
}
.irtopbox a .more div {
	position: relative;
	width: 32px;
	height: 32px;
	background: url(../images/arrow_sb.svg) no-repeat center center;
}
.sp .irtopbox a .more div {
	width: 20px;
	height: 20px;
}
.irtopbox a .more div:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	background: url(../images/moreb.svg) no-repeat center center;
	background-size: 100%;
	transform: translate(-50%, -50%);
}
.irtopbox a .more div:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	background: url(../images/arrow_s.svg) no-repeat center center;
	opacity: 0;
	transition: 0.4s;
}
.irtopbox a .more div svg {
	transform: rotate(-90deg);
	width: 100%;
	height: 100%;
}
.irtopbox a .more div svg circle {
	stroke: #0053b0;
	stroke-width: 6px;
	width: 100%;
	height: 100%;
	fill: transparent;
	stroke-dashoffset: 283px;
	stroke-dasharray: 283px;
	stroke-linecap: round;
	transition: stroke-dashoffset 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
.irtopbox a:hover .more div svg circle {
	stroke-dashoffset: 0px;
}
.irtopbox a:hover .more div:after {
	opacity: 1;
}

#newsinsert {
	margin-top: 20px;
	min-height: 80vh;
}

#effortinsert {
	min-height: 80vh;
}

.numberbox {
	display: flex;
	gap: 22px;
	flex-wrap: wrap;
	padding: 40px;
	background: #F2F7FC;
}
.sp .numberbox {
	gap: 10px;
	padding: 15px;
}
.numberbox > div:not(.more) {
	width: calc((100% - 44px) / 3);
	background: #fff;
}
.sp .numberbox > div:not(.more) {
	width: calc((100% - 10px) / 2);
}
.numberbox > div:not(.more).size2 {
	width: calc((100% - 44px) / 3 * 2 + 22px);
}
.sp .numberbox > div:not(.more).size2 {
	width: 100%;
}
.numberbox > div:not(.more).size3 {
	width: 100%;
}
.numberbox .more {
	width: 100%;
}
.numberbox .more a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 28px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 400;
	color: #000000;
}
.tablet .numberbox .more a {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .numberbox .more a {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.numberbox .more a span {
	margin-right: 0.5em;
}
.numberbox .more a .more {
	position: relative;
	width: 28px;
	height: 28px;
	background: url(../images/arrow_sb.svg) no-repeat center center;
}
.sp .numberbox .more a .more {
	width: 20px;
	height: 20px;
}
.numberbox .more a .more:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	background: url(../images/morebb.svg) no-repeat center center;
	background-size: 100%;
	transform: translate(-50%, -50%);
}
.numberbox .more a .more:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	background: url(../images/arrow_s.svg) no-repeat center center;
	opacity: 0;
	transition: 0.4s;
}
.numberbox .more a .more svg {
	transform: rotate(-90deg);
	width: 100%;
	height: 100%;
}
.numberbox .more a .more svg circle {
	stroke: #0053b0;
	stroke-width: 6.5px;
	width: 100%;
	height: 100%;
	fill: transparent;
	stroke-dashoffset: 283px;
	stroke-dasharray: 283px;
	stroke-linecap: round;
	transition: stroke-dashoffset 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
.numberbox .more a:hover .more svg circle {
	stroke-dashoffset: 0px;
}
.numberbox .more a:hover .more:after {
	opacity: 1;
}
.numberbox h3 {
	width: 100%;
	margin-top: 40px;
	margin-bottom: 5px;
}
.numberbox p {
	width: 100%;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.5;
}
.tablet .numberbox p {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .numberbox p {
	font-size: min(3.5101587779vw, 13.163095417px);
}

.imagebox.count {
	position: relative;
	background: #fff;
	z-index: 0;
}
.sp .imagebox.count {
	padding: 15px;
}
.imagebox.count:before {
	content: "";
	display: block;
	position: absolute;
	width: 50vw;
	height: 100%;
	top: 0px;
	left: 50%;
	background: #fff;
}
.imagebox.count > * {
	position: relative;
	padding: min(40px, 3.0864197531vw) !important;
}
.sp .imagebox.count > * {
	padding: 0 !important;
}
.sp .imagebox.count > * + * {
	padding-top: 20px !important;
}
.imagebox.count:nth-child(2n + 1):before {
	left: auto;
	right: 50%;
}
.imagebox.count:nth-child(2n + 1) h3 span {
	left: auto;
	right: -0.15em;
}
.imagebox.count h3 {
	margin-left: 0px;
	padding: 1.25em 0px 0px;
	font-size: min(2.380952381vw, 40px);
	line-height: 1.3;
	font-weight: 700;
	color: #0053b0;
}
.tablet .imagebox.count h3 {
	font-size: min(3.6585365854vw, 30px);
}
.sp .imagebox.count h3 {
	font-size: min(7.7082895066vw, 28.9060856499px);
}
.imagebox.count h3:before {
	display: none;
}
.imagebox.count h3 span {
	position: absolute;
	top: -0.3em;
	left: -0.15em;
	font-size: min(8.3333333333vw, 140px);
	line-height: 1;
	font-weight: 400;
	color: #E7EAEF;
	z-index: -1;
}
.tablet .imagebox.count h3 span {
	font-size: min(12.8048780488vw, 105px);
}
.sp .imagebox.count h3 span {
	font-size: min(12.9494615577vw, 48.5604808415px);
}

.sitemap {
	display: flex;
	flex-wrap: wrap;
	gap: 60px 40px;
}
.sp .sitemap {
	gap: 40px 20px;
}
.sitemap > div {
	width: calc((100% - 80px) / 3);
}
.sp .sitemap > div {
	width: 100%;
}
.sitemap > div div {
	margin: 0px 0px 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #BCBEC9;
}
.sitemap > div div a {
	font-size: min(1.4285714286vw, 24px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
	position: relative;
	display: inline-block;
}
.tablet .sitemap > div div a {
	font-size: min(2.1951219512vw, 18px);
}
.sp .sitemap > div div a {
	font-size: min(5.3748620085vw, 20.1557325319px);
}
.sitemap > div div a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #0053b0;
	transition: 0.2s;
	transform: scale(0);
}
.sitemap > div div a:hover:before {
	transform: scale(1);
}
.sitemap > div ul li + li {
	margin-top: 10px;
}
.sitemap > div ul a {
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.3;
	font-weight: 400;
	color: #000000;
	position: relative;
	display: inline-block;
}
.tablet .sitemap > div ul a {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .sitemap > div ul a {
	font-size: min(4.2967192587vw, 16.1126972201px);
}
.sitemap > div ul a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #0053b0;
	transition: 0.2s;
	transform: scale(0);
}
.sitemap > div ul a:hover:before {
	transform: scale(1);
}
.sitemap > div ul ul {
	margin: 10px 0px 20px 40px;
}

.corporatecase {
	position: relative;
}
.corporatecase .pin ul > li > a {
	position: absolute;
	display: block;
	width: 40px;
	height: 50px;
	margin-top: -50px;
	margin-left: -20px;
	text-indent: -10000px;
	background: url(../images/pin.svg) no-repeat center bottom;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.corporatecase .pin ul > li > a:hover {
	opacity: 0.7;
}
.corporatecase .pin ul > li > div {
	display: none;
}
.corporatecase .stage {
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 90%;
	height: 0px;
	color: #fff;
	background: rgba(0, 0, 0, 0.7);
	transition: height 400ms;
	overflow: hidden;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.corporatecase .stage .close {
	position: absolute;
	top: 10px;
	right: 10px;
	display: block;
	width: 20px;
	height: 20px;
	background: url(../images/closew.svg) no-repeat center center;
	background-size: 100%;
	z-index: 10;
}
.corporatecase .stage > div {
	position: absolute;
	display: flex;
	flex-wrap: wrap;
	top: 50%;
	left: 50%;
	width: 100%;
	opacity: 0;
	transform: translate(-50%, -50%);
}
.corporatecase .stage > div.show {
	transition: opacity 0ms;
	opacity: 1;
}
.corporatecase .stage > div.show .title {
	opacity: 1;
	transform: translateX(0px);
	transition: transform 400ms 50ms, opacity 400ms 50ms;
}
.corporatecase .stage > div.show .info {
	opacity: 1;
	transform: translateX(0px);
	transition: transform 400ms 100ms, opacity 400ms 100ms;
}
.corporatecase .stage > div.show .image {
	opacity: 1;
	transition: transform 400ms 150ms, opacity 400ms 150ms;
}
.corporatecase .stage > div.show .contact {
	opacity: 1;
	transition: transform 400ms 150ms, opacity 400ms 150ms;
}
.corporatecase .stage > div.hide {
	transition: opacity 200ms;
	opacity: 0;
}
.corporatecase .stage > div > div:nth-child(1) {
	flex-shrink: 0;
	width: 60%;
}
.corporatecase .stage .title {
	padding: 40px 20px 10px;
	font-size: min(1.1904761905vw, 20px);
	line-height: 1.3;
	font-weight: 500;
	transform: translateX(-40px);
	opacity: 0;
}
.sp .corporatecase .stage .title {
	font-size: min(4.2666666667vw, 16px);
}
.sp .corporatecase .stage .title {
	padding: 40px 10px 10px;
}
.corporatecase .stage .info {
	padding: 0px 20px 20px;
	font-size: min(1.0714285714vw, 18px);
	line-height: 1.5;
	font-weight: 400;
	transform: translateX(-40px);
	opacity: 0;
}
.sp .corporatecase .stage .info {
	font-size: min(3.2vw, 12px);
}
.sp .corporatecase .stage .info {
	padding: 0px 10px 10px;
}
.corporatecase .stage .info a {
	color: #fff;
	text-decoration: underline;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.corporatecase .stage .info a:hover {
	opacity: 0.7;
}
.corporatecase .stage .image {
	flex-shrink: 0;
	width: 40%;
	padding: 40px 20px 20px 0px;
	margin-top: 0px !important;
	opacity: 0;
}
.sp .corporatecase .stage .image {
	padding: 40px 10px 10px 0px;
}
.corporatecase .stage .image img {
	width: 100% !important;
}
.corporatecase .stage .image p {
	width: 100% !important;
}
.corporatecase .stage .contact {
	padding: 0px 20px 20px;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.5;
	font-weight: 400;
	opacity: 0;
}
.sp .corporatecase .stage .contact {
	font-size: min(3.2vw, 12px);
}
.sp .corporatecase .stage .contact {
	padding: 0px 10px 10px;
}
.corporatecase .stage .contact a {
	color: #fff;
	text-decoration: underline;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.corporatecase .stage .contact a:hover {
	opacity: 0.7;
}

.buildingexample {
	position: relative;
	font-size: min(0.8333333333vw, 14px);
	line-height: 1.3;
	font-weight: 700;
}
.tablet .buildingexample {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .buildingexample {
	font-size: min(3.5101587779vw, 13.163095417px);
}
.sp .buildingexample {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.buildingexample .image {
	position: relative;
	width: calc(520/880*100%);
	margin: auto;
	padding-top: 2em;
	left: 1em;
}
.sp .buildingexample .image {
	width: 100%;
	padding-top: 0;
	left: 0;
}
.sp .buildingexample > div:not(.image) {
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: calc((100% - 40px) / 3);
}
.sp .buildingexample > div:not(.image):nth-child(2) {
	order: 3;
}
.sp .buildingexample > div:not(.image):nth-child(3) {
	order: 2;
}
.buildingexample dl {
	position: absolute;
	width: calc(140/880*100%);
}
.sp .buildingexample dl {
	position: static;
	width: 100%;
}
.buildingexample dl.r01 {
	top: 0%;
	left: calc(730/880*100%);
	color: #8059AA;
}
.buildingexample dl.r01 dt {
	background: #8059AA;
}
.buildingexample dl.r02 {
	top: calc(2.6em + 26px);
	left: calc(730/880*100%);
	color: #2260A7;
}
.spc .buildingexample dl.r02 {
	top: calc(26px + 16px);
}
.buildingexample dl.r02 dt {
	background: #2260A7;
}
.buildingexample dl.r03 {
	top: calc(11.7em + 52px);
	left: calc(730/880*100%);
	color: #4AACD3;
}
.spc .buildingexample dl.r03 {
	top: calc(117px + 32px);
}
.buildingexample dl.r03 dt {
	background: #4AACD3;
}
.buildingexample dl.r04 {
	top: 0%;
	left: calc(456/880*100%);
	color: #049B7E;
}
.buildingexample dl.r04 dt {
	background: #049B7E;
}
.buildingexample dl.r05 {
	top: 0%;
	left: calc(304/880*100%);
	color: #AAB53E;
}
.buildingexample dl.r05 dt {
	background: #AAB53E;
}
.buildingexample dl.r06 {
	top: 0%;
	left: calc(152/880*100%);
	color: #EA6097;
}
.buildingexample dl.r06 dt {
	background: #EA6097;
}
.buildingexample dl.r07 {
	top: calc(7.8em + 26px);
	left: calc(152/880*100%);
	color: #F7931E;
}
.spc .buildingexample dl.r07 {
	top: calc(78px + 16px);
}
.buildingexample dl.r07 dt {
	background: #F7931E;
}
.buildingexample dl.r08 {
	top: calc(7.8em + 26px);
	left: calc(0/880*100%);
	color: #E23D4B;
}
.spc .buildingexample dl.r08 {
	top: calc(78px + 16px);
}
.buildingexample dl.r08 dt {
	background: #E23D4B;
}
.buildingexample dl dt {
	margin-bottom: 2px;
	padding: 2px;
	color: #fff;
	text-align: center;
}
.buildingexample dl dd {
	margin: 0px;
	padding: 0px;
	background: rgba(255, 255, 255, 0.8);
}
.buildingexample dl dd li {
	display: flex;
	justify-content: space-between;
}

.indexmenu {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}
.sp .indexmenu {
	gap: 15px;
}
.indexmenu > div {
	width: calc((100% - 40px) / 3);
	padding: 15px 15px 20px;
	background: #F2F7FC;
}
.sp .indexmenu > div {
	width: calc((100% - 15px) / 2);
}
.indexmenu .title {
	padding-bottom: 10px;
	border-bottom: 1px solid #BCBEC9;
}
.indexmenu .title > div, .indexmenu .title > a {
	display: flex;
	align-items: center;
	height: 32px;
	height: min(3.2738095238vw, 55px);
	font-size: min(1.1904761905vw, 20px);
	line-height: 1.2;
	font-weight: 500;
	color: #000000;
}
.tablet .indexmenu .title > div,
.tablet .indexmenu .title > a {
	font-size: min(1.8292682927vw, 15px);
}
.sp .indexmenu .title > div, .sp .indexmenu .title > a {
	font-size: min(4.6693713999vw, 17.5101427498px);
}
.tablet .indexmenu .title > div, .tablet .indexmenu .title > a {
	height: min(6.7073170732vw, 55px);
}
.sp .indexmenu .title > div, .sp .indexmenu .title > a {
	height: min(14.6666666667vw, 55px);
}
.indexmenu .title > a span {
	margin-right: 0.5em;
}
.indexmenu .title > a .more {
	flex-shrink: 0;
	position: relative;
	width: 32px;
	height: 32px;
	background: url(../images/arrow_sb.svg) no-repeat center center;
}
.sp .indexmenu .title > a .more {
	width: 20px;
	height: 20px;
}
.indexmenu .title > a .more:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	background: url(../images/moreb.svg) no-repeat center center;
	background-size: 100%;
	transform: translate(-50%, -50%);
}
.indexmenu .title > a .more:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	background: url(../images/arrow_s.svg) no-repeat center center;
	opacity: 0;
	transition: 0.4s;
}
.indexmenu .title > a .more svg {
	transform: rotate(-90deg);
	width: 100%;
	height: 100%;
}
.indexmenu .title > a .more svg circle {
	stroke: #0053b0;
	stroke-width: 6px;
	width: 100%;
	height: 100%;
	fill: transparent;
	stroke-dashoffset: 283px;
	stroke-dasharray: 283px;
	stroke-linecap: round;
	transition: stroke-dashoffset 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
.indexmenu .title > a:hover .more svg circle {
	stroke-dashoffset: 0px;
}
.indexmenu .title > a:hover .more:after {
	opacity: 1;
}
.indexmenu p {
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.5;
	font-weight: 500;
}
.tablet .indexmenu p {
	font-size: min(1.4634146341vw, 12px);
}
.sp .indexmenu p {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
.indexmenu ul > li {
	position: relative;
	padding-left: 16px;
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.3;
	font-weight: 500;
}
.tablet .indexmenu ul > li {
	font-size: min(1.4634146341vw, 12px);
}
.sp .indexmenu ul > li {
	font-size: min(3.9104112196vw, 14.6640420736px);
}
.indexmenu ul > li:before {
	position: absolute;
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	vertical-align: middle;
	top: 0.65em;
	left: 0.3em;
	margin-top: -2.5px;
	background: #0053b0;
	border-radius: 50%;
}
.indexmenu ul > li + li {
	margin-top: 5px;
}
.indexmenu ul > li a {
	vertical-align: top;
	color: #000000;
	position: relative;
	display: inline-block;
}
.indexmenu ul > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #0053b0;
	transition: 0.2s;
	transform: scale(0);
}
.indexmenu ul > li a:hover:before {
	transform: scale(1);
}

.imagelist {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
}
.imagelist .image {
	margin-top: 0px !important;
}

.caddownloadtable tbody th,
.caddownloadtable tbody td:not(:last-child) {
	border-right: 0px !important;
}
.caddownloadtable tbody td ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}
.caddownloadtable tbody td a {
	min-width: 4em;
	color: #fff !important;
	text-align: center;
	background: #0053b0;
}
.caddownloadtable tbody td a:before, .caddownloadtable tbody td a:after {
	display: none !important;
}

.bearing_strength_phaseindex {
	position: relative;
	z-index: 0;
}
.bearing_strength_phaseindex ul {
	position: relative;
	display: flex;
	max-width: 1200px;
	margin: auto;
}
.bearing_strength_phaseindex ul:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	top: 0px;
	left: 50%;
	background: #EAEAEA;
	transform: translateX(-50%);
	z-index: -2;
}
.bearing_strength_phaseindex ul li {
	flex: 1;
}
.bearing_strength_phaseindex ul li a {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.bearing_strength_phaseindex ul li a .image img {
	transition: opacity 400ms;
}
.bearing_strength_phaseindex ul li a:hover {
	opacity: 1;
}
.bearing_strength_phaseindex ul li a:hover .image img {
	opacity: 0.8;
}
.bearing_strength_phaseindex ul li a:hover:before {
	bottom: 6px;
}
.bearing_strength_phaseindex ul li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 10px;
	left: 50%;
	width: 22px;
	height: 22px;
	margin-left: calc(max(-10px, -10/1280*100vw) - 11px);
	background: url(../images/arrow_sw.svg) no-repeat 55% center #0053b0;
	border-radius: 50%;
	transform: rotate(90deg);
	transition: bottom 300ms;
}
.bearing_strength_phaseindex ul li:nth-child(4) .image {
	position: relative;
}
.bearing_strength_phaseindex ul li:nth-child(4) .image:after {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #0091bc;
	background: -moz-linear-gradient(left, #0091bc 0%, #0053b0 100%);
	background: -webkit-linear-gradient(left, #0091bc 0%, #0053b0 100%);
	background: linear-gradient(to right, #0091bc 0%, #0053b0 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0091bc', endColorstr='#0053b0',GradientType=1 );
	transform: translateX(-50%);
	z-index: -1;
	pointer-events: none;
}
.bearing_strength_phaseindex ul li:last-child .title:after {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: calc(100% - 20px);
	top: 10px;
	right: 0;
	background: #fff;
}
.bearing_strength_phaseindex ul .title {
	position: relative;
	padding: 10px 5px 42px;
	width: 100%;
	height: 100%;
	margin-left: max(-10px, -0.78125vw);
	font-size: min(0.9523809524vw, 16px);
	line-height: 1.3;
	font-weight: 700;
	text-align: center;
}
.sp .bearing_strength_phaseindex ul .title {
	font-size: min(3.2vw, 12px);
	font-weight: 500;
}
.bearing_strength_phaseindex ul .title:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: calc(100% - 20px);
	top: 10px;
	left: 0;
	background: #fff;
}

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox {
	overflow: visible !important;
}

#colorbox, #cboxOverlay, #cboxWrapper {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999;
	-webkit-transform: translate3d(0, 0, 0);
}

#cboxWrapper {
	max-width: none;
}

#cboxOverlay {
	position: fixed;
	width: 100%;
	height: 100%;
}

#cboxMiddleLeft, #cboxBottomLeft {
	clear: left;
}

#cboxContent {
	position: relative;
}

#cboxLoadedContent {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

#cboxTitle {
	margin: 0;
}

#cboxLoadingOverlay, #cboxLoadingGraphic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
	cursor: pointer;
}

.cboxPhoto {
	float: left;
	margin: auto;
	border: 0;
	display: block;
	max-width: none;
	-ms-interpolation-mode: bicubic;
}

.cboxIframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	padding: 0;
	margin: 0;
}

#colorbox, #cboxContent, #cboxLoadedContent {
	box-sizing: content-box;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
}

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
	background: #333;
	opacity: 0.8;
	filter: alpha(opacity=80);
}

#colorbox {
	outline: 0;
}

#cboxContent {
	background: #fff;
}

.cboxIframe {
	background: #000000;
}

#cboxError {
	padding: 50px;
	border: 1px solid #ccc;
}

#cboxLoadedContent {
	border: 0px solid #000;
	background: #fff;
}

#cboxTitle {
	position: absolute;
	top: -20px;
	left: 0;
	color: #ccc;
}

#cboxLoadingGraphic {
	background: url(../images/loading.png) no-repeat center center;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
	border: 0;
	padding: 0;
	margin: 0;
	overflow: visible;
	width: auto;
	background: none;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
	outline: 0;
}

#cboxSlideshow {
	position: absolute;
	top: -20px;
	right: 90px;
	color: #fff;
}

#cboxClose {
	position: absolute;
	display: block;
	top: -20px;
	right: -20px;
	width: 40px;
	height: 40px;
	text-indent: -9999px;
	background: #0053b0;
	border-radius: 50%;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	-webkit-transition: 400ms;
	transition: 400ms;
	opacity: 0;
	z-index: 10;
}
#cboxClose:hover {
	opacity: 0.7;
}
#cboxClose.view {
	opacity: 1;
}
#cboxClose:before {
	content: "";
	position: absolute;
	display: block;
	width: 20px;
	height: 2px;
	top: 19px;
	left: 10px;
	background: #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#cboxClose:after {
	content: "";
	position: absolute;
	display: block;
	width: 2px;
	height: 20px;
	top: 10px;
	left: 19px;
	background: #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#colorbox #waiting {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: rgba(255, 255, 255, 0.7);
	z-index: 5;
}
#colorbox #waiting > div {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 0px;
	padding: 20px;
	font-size: min(1.3095238095vw, 22px);
	line-height: 1.7;
	text-align: center;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.tablet #colorbox #waiting > div {
	font-size: min(2.012195122vw, 16.5px);
}
.sp #colorbox #waiting > div {
	font-size: min(5.0286561483vw, 18.857460556px);
}
#colorbox #waiting > div span {
	display: block;
	margin: auto;
	width: 16px;
	height: 16px;
	background: url(../images/loading.png) no-repeat center center;
}

#cboxLoadedContent .contents > div {
	padding: 20px;
}
.sp #cboxLoadedContent .contents > div {
	padding: 10px;
}

@keyframes scroll-hint-appear {
	0% {
		transform: translateX(40px);
		opacity: 0;
	}
	10% {
		opacity: 1;
	}
	50%,
  100% {
		transform: translateX(-40px);
		opacity: 0;
	}
}
.scroll-hint.is-right-scrollable {
	background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-icon {
	position: absolute;
	top: calc(50% - 25px);
	left: calc(50% - 60px);
	box-sizing: border-box;
	width: 120px;
	height: 80px;
	border-radius: 5px;
	transition: opacity .3s;
	opacity: 0;
	background: rgba(0, 0, 0, 0.7);
	text-align: center;
	padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-height: 100%;
	pointer-events: none;
}

.scroll-hint-text {
	font-size: 10px;
	color: #FFF;
	margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
	opacity: .8;
}

.scroll-hint-icon:before {
	display: inline-block;
	width: 40px;
	height: 40px;
	color: #FFF;
	vertical-align: middle;
	text-align: center;
	content: "";
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
	content: "";
	width: 34px;
	height: 14px;
	display: block;
	position: absolute;
	top: 10px;
	left: 50%;
	margin-left: -20px;
	background-repeat: no-repeat;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
	opacity: 0;
	transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
	opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
	animation: scroll-hint-appear 1.2s linear;
	animation-iteration-count: 2;
}

.scroll-hint-icon-white {
	background-color: #FFF;
	box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}

.scroll-hint-icon-white:before {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
	color: #000;
}
