@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@900&family=Noto+Sans+JP:wght@400;500;700&display=swap");
#tools > .border, #pagetitle > .border, #breadcrumbs > .border, main > .border {
	position: absolute;
	width: 50%;
	max-width: 960px;
	height: 100%;
	top: 0px;
	left: 50%;
	transform: translateX(-50%);
	border-left: 1px solid #EFEFEF;
	border-right: 1px solid #EFEFEF;
}
.sp #tools > .border, .sp #pagetitle > .border, .sp #breadcrumbs > .border, .sp main > .border {
	display: none;
}
#tools > .border:before, #pagetitle > .border:before, #breadcrumbs > .border:before, main > .border:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 100%;
	top: 0px;
	left: 50%;
	background: #EFEFEF;
}

#fullmenu .foot .contact, #floatbutton, .contents .button {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
#fullmenu .foot .right.contact, .right#floatbutton, .contents .right.button {
	align-items: flex-end;
	justify-content: flex-end;
}
#fullmenu .foot .center.contact, .center#floatbutton, .contents .center.button {
	align-items: center;
	justify-content: center;
}
#fullmenu .foot .wrap.contact, .wrap#floatbutton, .contents .wrap.button {
	flex-direction: row;
	flex-wrap: wrap;
}
#fullmenu .foot .contact a, #floatbutton a, .contents .button a {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 5px 35px 5px 10px !important;
	min-width: 160px;
	min-height: 44px;
	font-size: min(1.25vw, 16px);
	line-height: 1;
	font-weight: 500;
	color: #fff !important;
	background: #960023;
	overflow: hidden;
}
.tablet #fullmenu .foot .contact a, #fullmenu .foot .tablet .contact a, .tablet #floatbutton a, .tablet .contents .button a, .contents .tablet .button a {
	font-size: min(1.4634146341vw, 12px);
}
.sp #fullmenu .foot .contact a, #fullmenu .foot .sp .contact a, .sp #floatbutton a, .sp .contents .button a, .contents .sp .button a {
	font-size: min(3.4330798898vw, 12.8740495868px);
}
.sp #fullmenu .foot .contact a, #fullmenu .foot .sp .contact a, .sp #floatbutton a, .sp .contents .button a, .contents .sp .button a {
	min-width: 140px;
	min-height: 35px;
}
#fullmenu .foot .contact a[target="_blank"]:before, #floatbutton a[target="_blank"]:before, .contents .button a[target="_blank"]:before {
	background-image: url(../images/blank.svg);
}
#fullmenu .foot .contact a[target="_blank"]:after, #floatbutton a[target="_blank"]:after, .contents .button a[target="_blank"]:after {
	background-image: url(../images/blank.svg);
}
#fullmenu .foot .contact a[href$=".pdf"]:before, #floatbutton a[href$=".pdf"]:before, .contents .button a[href$=".pdf"]:before {
	background-image: url(../images/pdfw.svg);
}
#fullmenu .foot .contact a[href$=".pdf"]:after, #floatbutton a[href$=".pdf"]:after, .contents .button a[href$=".pdf"]:after {
	background-image: url(../images/pdfw.svg);
}
#fullmenu .foot .contact a:before, #floatbutton a:before, .contents .button a:before {
	content: "";
	display: block;
	position: absolute;
	width: 35px;
	height: 100%;
	left: auto;
	right: 35px;
	top: 0px;
	bottom: auto;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
	opacity: 0;
}
#fullmenu .foot .contact a:after, #floatbutton a:after, .contents .button a:after {
	content: "";
	display: block;
	position: absolute;
	width: 35px;
	height: 100%;
	right: 0px;
	top: 0px;
	margin-top: 0;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
}
#fullmenu .foot .contact a:hover:before, #floatbutton a:hover:before, .contents .button a:hover:before {
	right: 0px;
	opacity: 1;
	transition: right 250ms 250ms, opacity 250ms 250ms;
}
#fullmenu .foot .contact a:hover:after, #floatbutton a:hover:after, .contents .button a:hover:after {
	right: -35px;
	opacity: 0;
	transition: right 250ms, opacity 250ms;
}

.contents .text p:not(.image):not(.caption) a, .contents .text ul > li a, .contents .text ol > li a, .contents .contact p a, .contents .table > table a, .tablelist th a, .tablelist td a {
	position: relative;
}
.contents .text p:not(.image):not(.caption) a[target="_blank"], .contents .text ul > li a[target="_blank"], .contents .text ol > li a[target="_blank"], .contents .contact p a[target="_blank"], .contents .table > table a[target="_blank"], .tablelist th a[target="_blank"], .tablelist td a[target="_blank"] {
	padding-right: 26px;
}
.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 .contact p a[target="_blank"]:after, .contents .table > table a[target="_blank"]:after, .tablelist th a[target="_blank"]:after, .tablelist td a[target="_blank"]:after {
	content: "";
	background-image: url(../images/blankc.svg);
}
.contents .text p:not(.image):not(.caption) a[href$=".pdf"], .contents .text ul > li a[href$=".pdf"], .contents .text ol > li a[href$=".pdf"], .contents .contact p a[href$=".pdf"], .contents .table > table a[href$=".pdf"], .tablelist th a[href$=".pdf"], .tablelist td a[href$=".pdf"] {
	padding-right: 26px;
}
.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 .contact p a[href$=".pdf"]:after, .contents .table > table a[href$=".pdf"]:after, .tablelist th a[href$=".pdf"]:after, .tablelist td a[href$=".pdf"]:after {
	content: "";
	background-image: url(../images/pdf.svg);
}
.contents .text p:not(.image):not(.caption) a:after, .contents .text ul > li a:after, .contents .text ol > li a:after, .contents .contact p a:after, .contents .table > table a:after, .tablelist th a:after, .tablelist td a:after {
	display: inline-block;
	position: absolute;
	width: 16px;
	height: 20px;
	top: 50%;
	right: 5px;
	margin-top: -10px;
	background: none no-repeat center center;
}

* {
	-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: 17px;
	overflow-y: scroll;
}
html.sp {
	font-size: 17px !important;
}

body, th, td, input, select, textarea {
	font-size: min(1.40625vw, 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(3.6800881543vw, 13.8003305785px);
}

body {
	margin: 0px auto;
	color: #000000;
	background: #ffffff;
	overflow: clip;
}

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 * {
	transition: 0ms !important;
}
.loading *:before, .loading *:after {
	transition: 0ms !important;
}

*:not(h1, h2, h3, h4, h5, h6) + .pagecolumn, .contents *:not(h1, h2, h3, h4, h5, h6) + .lead, .contents *:not(h1, h2, h3, h4, h5, h6) + .contact, *:not(h1, h2, h3, h4, h5, h6) + .blogcontent, *:not(h1, h2, h3, h4, h5, h6) + .tabs, *:not(h1, h2, h3, h4, h5, h6) + .blogcontentslist, *:not(h1, h2, h3, h4, h5, h6) + .contentslist, *:not(h1, h2, h3, h4, h5, h6) + .box, *:not(h1, h2, h3, h4, h5, h6) + .boxlink, *:not(h1, h2, h3, h4, h5, h6) + .column, *:not(h1, h2, h3, h4, h5, h6) + .anchorlink, .contents *:not(h1, h2, h3, h4, h5, h6) + .blogcontentssearch, *:not(h1, h2, h3, h4, h5, h6) + .pagenation, *:not(h1, h2, h3, h4, h5, h6) + .selectmenu, *:not(h1, h2, h3, h4, h5, h6) + .recruit_workstyle, *:not(h1, h2, h3, h4, h5, h6) + .corporateblogblock, *:not(h1, h2, h3, h4, h5, h6) + .topicslist {
	margin-top: 80px;
}
.sp *:not(h1, h2, h3, h4, h5, h6) + .pagecolumn, .sp .contents *:not(h1, h2, h3, h4, h5, h6) + .lead, .contents .sp *:not(h1, h2, h3, h4, h5, h6) + .lead, .sp .contents *:not(h1, h2, h3, h4, h5, h6) + .contact, .contents .sp *:not(h1, h2, h3, h4, h5, h6) + .contact, .sp *:not(h1, h2, h3, h4, h5, h6) + .blogcontent, .sp *:not(h1, h2, h3, h4, h5, h6) + .tabs, .sp *:not(h1, h2, h3, h4, h5, h6) + .blogcontentslist, .sp *:not(h1, h2, h3, h4, h5, h6) + .contentslist, .sp *:not(h1, h2, h3, h4, h5, h6) + .box, .sp *:not(h1, h2, h3, h4, h5, h6) + .boxlink, .sp *:not(h1, h2, h3, h4, h5, h6) + .column, .sp *:not(h1, h2, h3, h4, h5, h6) + .anchorlink, .sp .contents *:not(h1, h2, h3, h4, h5, h6) + .blogcontentssearch, .contents .sp *:not(h1, h2, h3, h4, h5, h6) + .blogcontentssearch, .sp *:not(h1, h2, h3, h4, h5, h6) + .pagenation, .sp *:not(h1, h2, h3, h4, h5, h6) + .selectmenu, .sp *:not(h1, h2, h3, h4, h5, h6) + .recruit_workstyle, .sp *:not(h1, h2, h3, h4, h5, h6) + .corporateblogblock, .sp *:not(h1, h2, h3, h4, h5, h6) + .topicslist {
	margin-top: 60px;
}

.contents *:not(h1, h2, h3, h4, h5, h6) + .text, .contents *:not(h1, h2, h3, h4, h5, h6) + figure,
.contents *:not(h1, h2, h3, h4, h5, h6) + .image, .contents *:not(h1, h2, h3, h4, h5, h6) + .imagebox, .contents *:not(h1, h2, h3, h4, h5, h6) + .button, .contents *:not(h1, h2, h3, h4, h5, h6) + .table, .blogcontent *:not(h1, h2, h3, h4, h5, h6) + img, *:not(h1, h2, h3, h4, h5, h6) + .imagelink, *:not(h1, h2, h3, h4, h5, h6) + .textlist, *:not(h1, h2, h3, h4, h5, h6) + #newsinsert, *:not(h1, h2, h3, h4, h5, h6) + #contentindex, *:not(h1, h2, h3, h4, h5, h6) + .tablelist, *:not(h1, h2, h3, h4, h5, h6) + .switchingbox, *:not(h1, h2, h3, h4, h5, h6) + .recruitblogtitle, main *:not(h1, h2, h3, h4, h5, h6) + .youtube, *:not(h1, h2, h3, h4, h5, h6) + .googlemap, *:not(h1, h2, h3, h4, h5, h6) + .recruit_linklist {
	margin-top: 40px;
}
.sp .contents *:not(h1, h2, h3, h4, h5, h6) + .text, .contents .sp *:not(h1, h2, h3, h4, h5, h6) + .text, .sp .contents *:not(h1, h2, h3, h4, h5, h6) + figure, .contents .sp *:not(h1, h2, h3, h4, h5, h6) + figure,
.sp .contents *:not(h1, h2, h3, h4, h5, h6) + .image,
.contents .sp *:not(h1, h2, h3, h4, h5, h6) + .image, .sp .contents *:not(h1, h2, h3, h4, h5, h6) + .imagebox, .contents .sp *:not(h1, h2, h3, h4, h5, h6) + .imagebox, .sp .contents *:not(h1, h2, h3, h4, h5, h6) + .button, .contents .sp *:not(h1, h2, h3, h4, h5, h6) + .button, .sp .contents *:not(h1, h2, h3, h4, h5, h6) + .table, .contents .sp *:not(h1, h2, h3, h4, h5, h6) + .table, .sp .blogcontent *:not(h1, h2, h3, h4, h5, h6) + img, .blogcontent .sp *:not(h1, h2, h3, h4, h5, h6) + img, .sp *:not(h1, h2, h3, h4, h5, h6) + .imagelink, .sp *:not(h1, h2, h3, h4, h5, h6) + .textlist, .sp *:not(h1, h2, h3, h4, h5, h6) + #newsinsert, .sp *:not(h1, h2, h3, h4, h5, h6) + #contentindex, .sp *:not(h1, h2, h3, h4, h5, h6) + .tablelist, .sp *:not(h1, h2, h3, h4, h5, h6) + .switchingbox, .sp *:not(h1, h2, h3, h4, h5, h6) + .recruitblogtitle, .sp main *:not(h1, h2, h3, h4, h5, h6) + .youtube, main .sp *:not(h1, h2, h3, h4, h5, h6) + .youtube, .sp *:not(h1, h2, h3, h4, h5, h6) + .googlemap, .sp *:not(h1, h2, h3, h4, h5, h6) + .recruit_linklist {
	margin-top: 30px;
}

.contents .text *:not(h1, h2, h3, h4, h5, h6) + p:not(.image):not(.caption), .contents .text *:not(h1, h2, h3, h4, h5, h6) + ul, .contents .text *:not(h1, h2, h3, h4, h5, h6) + ol, .contents .imagebox > .image *:not(h1, h2, h3, h4, h5, h6) + img,
.contents .imagebox > .image > *:not(h1, h2, h3, h4, h5, h6) + a, .blogcontent *:not(h1, h2, h3, h4, h5, h6) + p:not(.image):not(.caption), .blogcontent *:not(h1, h2, h3, h4, h5, h6) + ul, .blogcontent *:not(h1, h2, h3, h4, h5, h6) + ol, .blogcontent *:not(h1, h2, h3, h4, h5, h6) + .notewidget, .contents .blogcontentssearch *:not(h1, h2, h3, h4, h5, h6) + h3, *:not(h1, h2, h3, h4, h5, h6) + .policyvision {
	margin-top: 20px;
}

header {
	display: block;
	position: fixed;
	top: 0;
	width: 100%;
	height: 80px;
	background: #fff;
	z-index: 1000;
}
.sp header {
	height: 50px;
}

#logo {
	position: fixed;
	top: 40px;
	left: 40px;
	transform: translateY(-50%);
}
.tablet #logo {
	left: 20px;
}
.sp #logo {
	top: 25px;
	left: 15px;
}
#logo h1 {
	display: block;
	margin: 0px;
	padding: 0px;
}
#logo.en a:after {
	display: none;
}
#logo a {
	display: flex;
	align-items: center;
	gap: 20px;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#logo a:hover {
	opacity: 0.7;
}
#logo a span {
	position: absolute;
	left: -10000px;
}
#logo a:before {
	content: "";
	display: block;
	width: 135px;
	height: 50px;
	background: url(../images/logo.svg) no-repeat center center;
	background-size: 100%;
}
.tablet #logo a:before {
	width: 120px;
	height: 44px;
}
.sp #logo a:before {
	width: 103px;
	height: 38px;
}
#logo a:after {
	content: "";
	display: block;
	width: 300px;
	height: 17px;
	background: url(../images/logotext.svg) no-repeat center center;
}
.tablet #logo a:after {
	display: none;
}

#utility {
	position: fixed;
	display: flex;
	align-items: flex-end;
	gap: 20px;
	top: 0px;
	right: 90px;
	height: 39px;
}
.tablet #utility {
	right: 70px;
}
.sp #utility {
	display: none;
}
#utility .contact a {
	display: block;
	position: relative;
	padding: 4px 12px 6px;
	font-size: min(1.09375vw, 14px);
	line-height: 1;
	font-weight: 500;
	color: #fff;
	background: #960023;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.tablet #utility .contact a {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp #utility .contact a {
	font-size: min(3.1818402204vw, 11.9319008264px);
}
#utility .contact a:hover {
	opacity: 0.7;
}
#utility .contact a:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 39px;
	background: #960023;
	z-index: -1;
}
#utility .sns ul {
	display: flex;
	align-items: center;
	gap: 20px;
}
#utility .sns a {
	display: block;
	width: 20px;
	height: 20px;
	text-indent: -100000px;
	background: none no-repeat center center;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#utility .sns a:hover {
	opacity: 0.7;
}
#utility .sns .x a {
	background-image: url(../images/x.png);
}
#utility .sns .facebook a {
	width: 22px;
	height: 22px;
	background-image: url(../images/facebook.png);
}
#utility .sns .youtube a {
	width: 29px;
	background-image: url(../images/youtube.png);
}
#utility .language ul {
	display: flex;
	gap: 14px;
	align-items: center;
	height: 18px;
	font-size: min(1.09375vw, 14px);
	line-height: 1;
	font-weight: 500;
}
.tablet #utility .language ul {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp #utility .language ul {
	font-size: min(3.1818402204vw, 11.9319008264px);
}
#utility .language a {
	color: #960023;
	position: relative;
	display: inline-block;
}
#utility .language a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #960023;
	transition: 0.2s;
	transform: scale(0);
}
#utility .language a:hover:before {
	transform: scale(1);
}
#utility .language li + li {
	position: relative;
}
#utility .language li + li:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 0.8em;
	left: -7px;
	top: 0.1em;
	background: #8B8B8C;
	transform: skew(-20deg);
}
#utility .search a {
	position: relative;
	display: block;
	width: 18px;
	height: 18px;
	top: 1px;
	text-indent: -100000px;
	background: url(../images/search.svg) no-repeat center center;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#utility .search a:hover {
	opacity: 0.7;
}

#navigation {
	position: fixed;
	top: 48px;
	right: 28px;
}
.tablet #navigation {
	right: 8px;
}
.sp #navigation {
	display: none;
}
#navigation.en > ul > li > div {
	right: 0;
}
#navigation > ul {
	display: flex;
	gap: 0px;
	align-items: center;
	height: 32px;
}
#navigation > ul > li {
	position: relative;
}
#navigation > ul > li:after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	margin-left: -6px;
	border: 6px solid transparent;
	border-top: 0px;
	border-bottom: 10px solid #960023;
	opacity: 0;
	top: calc(100% + 10px);
	transition: opacity 200ms, top 0ms 200ms;
	pointer-events: none;
}
#navigation > ul > li > a {
	display: flex;
	align-items: center;
	padding: 0px 12px;
	height: 32px;
	font-size: min(1.25vw, 16px);
	line-height: 1;
	font-weight: 500;
	color: #000;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.tablet #navigation > ul > li > a {
	font-size: min(1.9512195122vw, 16px);
}
#navigation > ul > li > a:hover {
	opacity: 0.7;
}
.tablet #navigation > ul > li > a {
	height: 40px;
}
#navigation > ul > li:nth-child(n+3) > div {
	right: 0;
}
#navigation > ul > li > div {
	position: absolute;
	width: 350px;
	padding: 45px;
	top: calc(100% + 10px);
	background: #960023;
	opacity: 0;
	transform: translateX(40px);
	transition: opacity 400ms, transform 400ms;
	pointer-events: none;
}
.pc #navigation > ul > li > div {
	width: 300px;
	padding: 20px;
}
#navigation > ul > li > div:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 10px;
	top: -10px;
	left: 0;
	background: transparent;
}
#navigation > ul > li > div .head {
	position: relative;
	margin-bottom: 30px;
	padding-bottom: 20px;
	font-size: min(1.40625vw, 18px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	border-bottom: 1px solid #fff;
}
.tablet #navigation > ul > li > div .head {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp #navigation > ul > li > div .head {
	font-size: min(3.6800881543vw, 13.8003305785px);
}
#navigation > ul > li > div .head a {
	color: #fff;
	position: relative;
	display: inline-block;
}
#navigation > ul > li > div .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);
}
#navigation > ul > li > div .head a:hover:before {
	transform: scale(1);
}
#navigation > ul > li > div .body {
	display: flex;
	width: 100%;
}
#navigation > ul > li > div .body ul {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
#navigation > ul > li > div .body li {
	font-size: min(1.25vw, 16px);
	line-height: 1.3;
	font-weight: 500;
}
.tablet #navigation > ul > li > div .body li {
	font-size: min(1.4634146341vw, 12px);
}
.sp #navigation > ul > li > div .body li {
	font-size: min(3.4330798898vw, 12.8740495868px);
}
#navigation > ul > li > div .body li a {
	color: #fff;
	position: relative;
	display: inline-block;
}
#navigation > ul > li > div .body 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);
}
#navigation > ul > li > div .body li a:hover:before {
	transform: scale(1);
}
html:not(.menuopen) #navigation > ul > li:has(div):hover:after {
	top: 100%;
	opacity: 1;
	transition: opacity 300ms 300ms, top 300ms 300ms;
}
html:not(.menuopen) #navigation > ul > li:has(div):hover > div {
	opacity: 1;
	transform: translateX(0);
	pointer-events: auto;
}
#navigation > ul > li.alt {
	margin-right: 8px;
}
#navigation > ul > li.alt:before {
	content: "";
	display: block;
	position: absolute;
	top: 1px;
	left: 0;
	width: 100%;
	height: calc(100% - 2px);
	background: #960023;
	z-index: -1;
}
#navigation > ul > li.alt > a {
	padding: 0px 20px;
	color: #fff;
}

#menu {
	display: block;
	position: fixed;
	top: 7px;
	right: 33px;
}
.tablet #menu {
	right: 13px;
}
.sp #menu {
	top: 5px;
	right: 10px;
}
#menu a {
	position: relative;
	display: block;
	width: 40px;
	height: 40px;
	text-indent: -10000px;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#menu a:hover {
	opacity: 0.7;
}
#menu a:before {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: url(../images/menu.svg) no-repeat center center;
	opacity: 1;
	transition: 400ms;
}
#menu a:after {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: url(../images/close.svg) no-repeat center center;
	opacity: 0;
	transition: 400ms;
}
.menuopen #menu a:before {
	opacity: 0;
}
.menuopen #menu a:after {
	opacity: 1;
}

#fullmenu {
	position: fixed;
	display: block;
	top: 80px;
	right: 0px;
	width: 100%;
	max-height: calc(100% - 80px);
	color: #960023;
	background: #fff;
	z-index: 1001;
	overflow-y: auto;
	overflow-x: hidden;
	opacity: 0;
	transform: translateX(40%);
	transition: opacity 600ms, transform 600ms, top 600ms, height 600ms;
	pointer-events: none;
}
.sp #fullmenu {
	top: 50px;
	max-height: calc(100% - 50px);
	background: #960023;
}
.menuopen #fullmenu {
	transform: translateX(0%);
	opacity: 1;
	pointer-events: auto;
}
#fullmenu .search {
	position: relative;
	width: 100%;
	padding: 25px 20px;
	display: none;
}
.sp #fullmenu .search {
	display: block;
}
#fullmenu .search .input {
	position: relative;
}
#fullmenu .search input {
	width: 100%;
	height: 44px;
	padding: 0px 70px 0px 20px;
	font-size: min(4.2666666667vw, 16px);
	line-height: 44px;
	font-weight: 500;
	background: #ffffff;
	border: 0px;
	border-radius: 22px;
}
#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: 60px;
	height: 44px;
	right: 0px;
	top: 0px;
	text-indent: -10000px;
	background: url(../images/search.svg) no-repeat center center;
	background-size: 15px;
	border: 0px;
	cursor: pointer;
}
#fullmenu .menu {
	position: relative;
	display: flex;
	gap: 3.90625%;
	width: 100%;
	max-width: 1360px;
	margin: 30px auto 0px;
	padding: 20px 40px 40px;
	font-size: min(1.25vw, 16px);
	line-height: 1.3;
	font-weight: 500;
}
.tablet #fullmenu .menu {
	font-size: min(1.4634146341vw, 12px);
}
.sp #fullmenu .menu {
	font-size: min(3.4330798898vw, 12.8740495868px);
}
.sp #fullmenu .menu {
	flex-direction: column;
	gap: 0;
	margin: 0px;
	padding: 0px;
}
#fullmenu .menu a {
	display: inline-block;
	color: #960023;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#fullmenu .menu a:hover {
	opacity: 0.7;
}
.sp #fullmenu .menu a {
	color: #fff;
}
#fullmenu .menu > div {
	flex: 1;
}
html:not(.sp) #fullmenu .menu > div > ul {
	display: block !important;
}
#fullmenu .menu .solution div, #fullmenu .menu > div > div {
	display: flex;
	align-items: center;
	margin: 0px 0px 30px;
	padding-bottom: 20px;
	font-size: min(1.40625vw, 18px);
	line-height: 1.3;
	font-weight: 500;
	border-bottom: 1px solid #960023;
}
.tablet #fullmenu .menu .solution div,
.tablet #fullmenu .menu > div > div {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp #fullmenu .menu .solution div, .sp #fullmenu .menu > div > div {
	font-size: min(3.6800881543vw, 13.8003305785px);
}
.sp #fullmenu .menu .solution div, .sp #fullmenu .menu > div > div {
	align-items: center;
	margin: 0px;
	padding-bottom: 0px;
	border-top: 1px solid #fff;
	height: 50px;
}
#fullmenu .menu .solution div .sw, #fullmenu .menu > div > div .sw {
	position: relative;
	flex-shrink: 0;
	display: none;
	width: 56px;
	margin-left: auto;
	cursor: pointer;
	overflow: hidden;
}
.sp #fullmenu .menu .solution div .sw, .sp #fullmenu .menu > div > div .sw {
	display: block;
	height: 100%;
}
#fullmenu .menu .solution div .sw:before, #fullmenu .menu > div > div .sw:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0%;
	background: url(../images/menua.svg) no-repeat center center;
	transition: transform 400ms;
}
#fullmenu .menu .solution div .sw.open:before, #fullmenu .menu > div > div .sw.open:before {
	transform: rotateX(180deg);
}
#fullmenu .menu .solution div a:not(.sw), #fullmenu .menu > div > div a:not(.sw) {
	position: relative;
	display: flex;
	align-items: center;
}
.sp #fullmenu .menu .solution div a:not(.sw), .sp #fullmenu .menu > div > div a:not(.sw) {
	padding: 10px 20px;
	width: 100%;
	height: 50px;
}
#fullmenu .menu .solution div {
	align-items: stretch;
	margin: 0px;
	padding-bottom: 0px;
	font-size: min(1.25vw, 16px);
	border-bottom: 0;
}
.tablet #fullmenu .menu .solution div {
	font-size: min(1.4634146341vw, 12px);
}
.sp #fullmenu .menu .solution div {
	font-size: min(3.4330798898vw, 12.8740495868px);
}
#fullmenu .menu > div > * + div {
	margin-top: 70px;
}
#fullmenu .menu ul {
	display: block;
	margin: 0px;
	padding: 0px;
	z-index: 10;
}
.sp #fullmenu .menu ul {
	display: none;
	padding: 15px 40px 25px;
}
#fullmenu .menu ul > li + li {
	margin-top: 20px;
}
#fullmenu .menu ul ul {
	padding: 20px 0px 30px 25px;
}
#fullmenu .menu ul ul li + li {
	margin-top: 5px;
}
.sp #fullmenu .menu ul ul li + li {
	margin-top: 10px;
}
#fullmenu .menu ul.solution ul {
	display: none;
}
#fullmenu .menu ul.solution div .sw:before {
	width: 10px;
	height: 2px;
	top: calc(50% - 1px);
	right: 20px;
	background: #960023;
}
#fullmenu .menu ul.solution div .sw:after {
	content: "";
	display: block;
	position: absolute;
	width: 2px;
	height: 10px;
	top: calc(50% - 5px);
	right: 24px;
	background: #960023;
	transition: 300ms;
	pointer-events: none;
}
#fullmenu .menu ul.solution div .sw.open:before {
	transform: rotateX(0deg);
}
#fullmenu .menu ul.solution div .sw.open:after {
	top: calc(50% + 15px);
	opacity: 0;
}
.sp #fullmenu .menu ul.solution {
	padding: 0px 20px 25px;
}
.sp #fullmenu .menu ul.solution > li + li {
	margin-top: 1px;
}
.sp #fullmenu .menu ul.solution > li > div {
	background: #000;
	border-top: 0;
}
.sp #fullmenu .menu ul.solution > li > div:last-child {
	border-bottom: 0;
}
.sp #fullmenu .menu ul.solution ul {
	padding: 15px 20px 25px;
}
.sp #fullmenu .menu ul.solution div {
	position: relative;
}
.sp #fullmenu .menu ul.solution div .sw:before {
	background: #fff;
}
.sp #fullmenu .menu ul.solution div .sw:after {
	background: #fff;
}
.sp #fullmenu .menu ul.solution div:after {
	content: "";
	display: block;
	position: absolute;
	left: 30px;
	border: 6px solid transparent;
	border-top: 10px solid #000;
	border-bottom: 0px;
	top: calc(100% - 10px);
	transition: top 300ms;
}
.sp #fullmenu .menu ul.solution div.popen:after {
	top: calc(100%);
	transition: top 300ms;
}
#fullmenu .foot {
	display: none;
	gap: 20px;
	align-items: center;
	padding: 50px 20px;
	border-top: 1px solid #fff;
}
.sp #fullmenu .foot {
	display: flex;
}
#fullmenu .foot .contact a {
	color: #960023 !important;
	background: #fff !important;
}
#fullmenu .foot .contact a:before {
	background-image: url(../images/arrowc.svg) !important;
}
#fullmenu .foot .contact a:after {
	background-image: url(../images/arrowc.svg) !important;
}
#fullmenu .foot .sns {
	margin-left: auto;
}
#fullmenu .foot .sns ul {
	display: flex;
	align-items: center;
	gap: 20px;
}
#fullmenu .foot .sns a {
	display: block;
	width: 20px;
	height: 20px;
	text-indent: -100000px;
	background: none no-repeat center center;
	overflow: hidden;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#fullmenu .foot .sns a:hover {
	opacity: 0.7;
}
#fullmenu .foot .sns .x a {
	background-image: url(../images/x.png);
}
#fullmenu .foot .sns .facebook a {
	width: 22px;
	height: 22px;
	background-image: url(../images/facebook.png);
}
#fullmenu .foot .sns .youtube a {
	width: 29px;
	background-image: url(../images/youtube.png);
}
#fullmenu .foot .language ul {
	display: flex;
	gap: 14px;
	align-items: center;
	height: 18px;
	font-size: min(3.7333333333vw, 14px);
	line-height: 1;
	font-weight: 500;
	color: #000;
}
#fullmenu .foot .language a {
	color: #fff;
	position: relative;
	display: inline-block;
}
#fullmenu .foot .language 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 .foot .language a:hover:before {
	transform: scale(1);
}
#fullmenu .foot .language li + li {
	position: relative;
}
#fullmenu .foot .language li + li:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 0.8em;
	left: -7px;
	top: 0.1em;
	background: #8B8B8C;
	transform: skew(-20deg);
}

#tools {
	position: relative;
	background: #fff;
}
#tools > div:not(.border) {
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin: auto;
	padding: 110px 0px 100px;
}
.tablet #tools > div:not(.border) {
	padding: 55px 0px 50px;
}
.sp #tools > div:not(.border) {
	padding: 55px 0px 50px;
}
#tools ul {
	position: relative;
	display: flex;
	justify-content: center;
}
#tools ul:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 1px;
	top: 52px;
	left: 50%;
	margin-left: -50vw;
	background: #EFEFEF;
}
.sp #tools ul:before {
	display: none;
}
#tools ul li {
	width: 25%;
	text-align: center;
}
.sp #tools ul li {
	width: calc(100% / 3);
}
#tools ul a {
	position: relative;
	display: inline-block;
	margin-top: 124px;
	font-size: min(1.40625vw, 18px);
	font-weight: 500;
	color: #000000;
	text-align: center;
}
.tablet #tools ul a {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp #tools ul a {
	font-size: min(3.6800881543vw, 13.8003305785px);
}
.sp #tools ul a {
	margin-top: 82px;
}
#tools ul a .icon {
	position: absolute;
	display: block;
	width: 104px;
	height: 104px;
	top: -124px;
	left: 50%;
	margin-left: -52px;
	background: none no-repeat center center;
	border-radius: 50%;
	overflow: hidden;
}
.sp #tools ul a .icon {
	width: 72px;
	height: 72px;
	top: -82px;
	margin-left: -36px;
}
#tools ul a .icon img {
	display: block;
	width: 104px;
	height: 104px;
	object-fit: none;
}
.sp #tools ul a .icon img {
	width: 72px;
	height: 72px;
}
#tools ul a .icon:before {
	content: "";
	display: block;
	position: absolute;
	width: 35px;
	height: 104px;
	top: -104px;
	left: 0px;
	background: #960023;
	transition: top 0ms 300ms, opacity 300ms;
	opacity: 0;
}
.sp #tools ul a .icon:before {
	width: 25px;
	height: 72px;
	top: -82px;
}
#tools ul a .icon:after {
	content: "";
	display: block;
	position: absolute;
	width: 34px;
	height: 104px;
	top: -104px;
	right: 0px;
	background: #960023;
	transition: top 0ms 300ms, opacity 300ms;
	opacity: 0;
}
.sp #tools ul a .icon:after {
	width: 25px;
	height: 72px;
	top: -82px;
}
#tools ul a .icon span {
	position: absolute;
	display: block;
	width: 104px;
	height: 104px;
	top: 0px;
	left: 0px;
	z-index: 1;
}
.sp #tools ul a .icon span {
	width: 72px;
	height: 72px;
}
#tools ul a .icon span:before {
	content: "";
	display: block;
	position: absolute;
	width: 35px;
	height: 104px;
	top: 104px;
	left: 35px;
	background: #960023;
	transition: top 0ms 300ms, opacity 300ms;
	opacity: 0;
}
.sp #tools ul a .icon span:before {
	width: 25px;
	height: 72px;
	top: 72px;
	left: 24px;
}
#tools ul a .icon span:after {
	content: "";
	display: block;
	position: absolute;
	width: 104px;
	height: 104px;
	top: 0px;
	left: 0px;
	background: none no-repeat center center;
	opacity: 0;
	transition: opacity 400ms;
}
.sp #tools ul a .icon span:after {
	width: 72px;
	height: 72px;
}
#tools ul a:before {
	content: "";
	display: block;
	position: absolute;
	width: 102px;
	height: 102px;
	top: -124px;
	left: 50%;
	margin-left: -52px;
	background: #fff;
	border: 1px solid #EFEFEF;
	border-radius: 50%;
}
.sp #tools ul a:before {
	width: 70px;
	height: 70px;
	top: -82px;
	margin-left: -36px;
}
#tools ul a:hover .icon:before {
	top: 0px;
	opacity: 1;
	transition: top 400ms, opacity 0ms;
}
#tools ul a:hover .icon:after {
	top: 0px;
	opacity: 1;
	transition: top 400ms, opacity 0ms;
}
#tools ul a:hover .icon span:before {
	top: 0px;
	opacity: 1;
	transition: top 400ms, opacity 0ms;
}
#tools ul a:hover .icon span:after {
	opacity: 1;
	transition: opacity 400ms;
}
#tools ul .access .icon span:after {
	background-image: url(../images/accessw.svg);
}
#tools ul .contact .icon span:after {
	background-image: url(../images/contactw.svg);
}
#tools ul .download .icon span:after {
	background-image: url(../images/downloadw.svg);
}

footer {
	position: fixed;
	bottom: -100vh;
	left: 0px;
	width: 100%;
	background: #000;
}
.sp footer {
	position: static;
}
footer:before {
	content: "";
	display: block;
	position: absolute;
	width: 14px;
	height: 50%;
	bottom: 15px;
	left: 50%;
	margin-left: -7px;
	background: #282828;
}
.sp footer:before {
	display: none;
}
footer .border {
	position: absolute;
	width: 50%;
	max-width: 960px;
	height: 50%;
	top: 25px;
	left: 50%;
	transform: translateX(-50%);
}
.sp footer .border {
	display: none;
}
footer .border:before {
	content: "";
	display: block;
	position: absolute;
	width: 14px;
	height: 100%;
	top: 0px;
	left: -7px;
	background: #282828;
}
footer .border:after {
	content: "";
	display: block;
	position: absolute;
	width: 14px;
	height: 100%;
	top: 0px;
	right: -7px;
	background: #282828;
}
footer > div:not(.border) {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 50px 40px 65px;
}
.tablet footer > div:not(.border) {
	padding: 25px 20px 32.5px;
}
.sp footer > div:not(.border) {
	padding: 25px 15px 32.5px;
}
footer .logo a {
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer .logo a:hover {
	opacity: 0.7;
}
footer .logo img {
	display: block;
}
.sp footer .logo img {
	width: 103px;
	height: auto;
}
footer .body {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 40px 50px;
	margin-top: 25px;
}
.tablet footer .body {
	gap: 20px;
	margin-top: 40px;
}
.sp footer .body {
	flex-direction: column;
	gap: 40px;
}
footer .body .name {
	width: 100%;
	font-size: min(1.40625vw, 18px);
	line-height: 1.3;
	font-weight: 700;
	color: #fff;
}
.tablet footer .body .name {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp footer .body .name {
	font-size: min(3.6800881543vw, 13.8003305785px);
}
footer .body .name a {
	color: #fff;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer .body .name a:hover {
	opacity: 0.7;
}
footer .body > div:not(.name) {
	display: flex;
	gap: 40px 80px;
	font-size: min(1.09375vw, 14px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
}
.tablet footer .body > div:not(.name) {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp footer .body > div:not(.name) {
	font-size: min(3.1818402204vw, 11.9319008264px);
}
.sp footer .body > div:not(.name) {
	flex-direction: column;
}
footer .body > div:not(.name) ul {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.sp footer .body > div:not(.name) ul {
	gap: 15px;
}
footer .body > div:not(.name) a {
	color: #fff;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer .body > div:not(.name) a:hover {
	opacity: 0.7;
}
footer .body > div:not(.name) a[target="_blank"]:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 16px;
	height: 17px;
	top: 2px;
	margin-left: 10px;
	background: url(../images/blank.svg) no-repeat center center;
	vertical-aling: middle;
}
footer .body > div:not(.name).contents {
	width: 40%;
}
footer .body > div:not(.name).contents ul {
	gap: 20px;
	font-size: min(1.5625vw, 20px);
}
.tablet footer .body > div:not(.name).contents ul {
	font-size: min(1.8292682927vw, 15px);
}
.sp footer .body > div:not(.name).contents ul {
	font-size: min(3.9228650138vw, 14.7107438017px);
}
.tablet footer .body > div:not(.name).contents {
	width: auto;
}
.sp footer .body > div:not(.name).contents {
	display: none;
}
footer p {
	margin-top: 60px;
	font-size: min(1.25vw, 16px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
}
.tablet footer p {
	font-size: min(1.7073170732vw, 14px);
}
.sp footer p {
	font-size: min(3.2vw, 12px);
}
.tablet footer p {
	text-align: center;
}

.pagecolumn {
	display: flex;
	gap: 3.125%;
}
.tablet .pagecolumn {
	flex-direction: column;
	gap: 45px;
}
.pagecolumn > .body {
	flex-shrink: 1;
	width: 74.21875%;
}
.tablet .pagecolumn > .body {
	width: 100%;
}

.contents .sidecolumn h3 {
	margin-bottom: 25px;
	padding-bottom: 10px;
	font-size: min(1.875vw, 24px);
	font-weight: 700;
	color: #000000;
}
.tablet .contents .sidecolumn h3 {
	font-size: min(2.1951219512vw, 18px);
}
.sp .contents .sidecolumn h3 {
	font-size: min(4.3957245179vw, 16.4839669421px);
}

.sidecolumn {
	flex-shrink: 1;
	width: 22.65625%;
}
.tablet .sidecolumn {
	display: flex;
	align-items: flex-start;
	gap: 40px;
	width: 100%;
}
.tablet .sidecolumn > div {
	width: 100%;
}
.sp .sidecolumn {
	flex-direction: column;
	gap: 0px;
}
.sidecolumn h3 {
	margin: 0px 0px 25px;
	padding: 0px 0px 10px;
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
	border-bottom: 1px solid #8B8B8C;
}
.tablet .sidecolumn h3 {
	font-size: min(2.1951219512vw, 18px);
}
.sp .sidecolumn h3 {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
.sidecolumn a {
	color: #000000;
	text-decoration: underline;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.sidecolumn a:hover {
	opacity: 0.7;
}
.sidecolumn .most {
	font-size: min(1.40625vw, 18px);
	line-height: 1.5;
	font-weight: 500;
}
.tablet .sidecolumn .most {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .sidecolumn .most {
	font-size: min(3.6800881543vw, 13.8003305785px);
}
.sidecolumn .most ol {
	display: flex;
	flex-direction: column;
	gap: min(50px, 3.90625vw);
	counter-reset: number;
}
.sidecolumn .most ol li {
	position: relative;
	margin-left: 48px;
}
.sidecolumn .most ol li:before {
	position: absolute;
	display: block;
	counter-increment: number;
	content: counter(number);
	width: 30px;
	left: -48px;
	top: 4px;
	padding-bottom: 10px;
	font-size: min(1.40625vw, 18px);
	line-height: 1;
	font-weight: 900;
	color: #960023;
	font-family: 'Lato', sans-serif;
	text-align: center;
	border-bottom: 2px solid #8B8B8C;
}
.tablet .sidecolumn .most ol li:before {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .sidecolumn .most ol li:before {
	font-size: min(3.6800881543vw, 13.8003305785px);
}
.sidecolumn .recommend {
	font-size: min(1.40625vw, 18px);
	line-height: 1.5;
	font-weight: 500;
}
.tablet .sidecolumn .recommend {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp .sidecolumn .recommend {
	font-size: min(3.6800881543vw, 13.8003305785px);
}
.sidecolumn .recommend ul {
	display: flex;
	flex-direction: column;
	gap: min(30px, 2.34375vw);
}
.sidecolumn .recommend ul li {
	position: relative;
}
.sidecolumn .list ul {
	display: flex;
	flex-direction: column;
	gap: min(25px, 1.953125vw);
}
.sidecolumn .list .date {
	margin-bottom: 10px;
	font-size: min(1.25vw, 16px);
	color: #fff;
}
.tablet .sidecolumn .list .date {
	font-size: min(1.4634146341vw, 12px);
}
.sp .sidecolumn .list .date {
	font-size: min(3.4330798898vw, 12.8740495868px);
}
.sidecolumn .list a[href$=".pdf"] {
	position: relative;
	display: flex;
	align-items: center;
	gap: 5px;
}
.sidecolumn .list a[href$=".pdf"]:after {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: 16px;
	height: 20px;
	background-image: url(../images/pdf.svg);
}

#pagetitle {
	position: relative;
	width: 100%;
	margin-top: 80px;
	background: #fff;
	overflow: hidden;
	z-index: 10;
}
#pagetitle > div:not(.border) {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 100px 40px 70px;
	z-index: 5;
}
.tablet #pagetitle > div:not(.border) {
	padding: 50px 20px 35px;
}
.sp #pagetitle > div:not(.border) {
	padding: 50px 15px 35px;
}
#pagetitle h1 {
	margin: 0px;
	padding: 0px;
	font-size: min(4.6875vw, 60px);
	line-height: 1.3;
	font-weight: 500;
}
.tablet #pagetitle h1 {
	font-size: min(5.487804878vw, 45px);
}
.sp #pagetitle h1 {
	font-size: min(7.8898071625vw, 29.5867768595px);
}
#pagetitle h1.small {
	font-size: min(2.5vw, 32px);
}
.tablet #pagetitle h1.small {
	font-size: min(2.9268292683vw, 24px);
}
.sp #pagetitle h1.small {
	font-size: min(5.2906666667vw, 19.84px);
}
#pagetitle h1[data-entitle] {
	font-size: min(2.5vw, 32px);
	color: #8B8B8C;
}
.tablet #pagetitle h1[data-entitle] {
	font-size: min(2.9268292683vw, 24px);
}
.sp #pagetitle h1[data-entitle] {
	font-size: min(5.2906666667vw, 19.84px);
}
#pagetitle h1[data-entitle]:before {
	content: attr(data-entitle);
	display: block;
	margin-bottom: 10px;
	font-size: min(7.03125vw, 90px);
	line-height: 1;
	font-weight: 900;
	color: #000000;
	font-family: 'Lato', sans-serif;
}
.tablet #pagetitle h1[data-entitle]:before {
	font-size: min(8.2317073171vw, 67.5px);
}
.sp #pagetitle h1[data-entitle]:before {
	font-size: min(9.7542699725vw, 36.5785123967px);
}

#breadcrumbs {
	position: relative;
	width: 100%;
	background: #fff;
	overflow: hidden;
	z-index: 10;
}
#breadcrumbs ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 8px;
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 0px 40px 10px;
	font-size: min(1.09375vw, 14px);
	line-height: 1;
	font-weight: 400;
	color: #8B8B8C;
}
.tablet #breadcrumbs ul {
	padding: 0px 20px 5px;
}
.sp #breadcrumbs ul {
	padding: 0px 15px 5px;
}
.tablet #breadcrumbs ul {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp #breadcrumbs ul {
	font-size: min(3.1818402204vw, 11.9319008264px);
}
#breadcrumbs li + li:before {
	content: "";
	display: inline-block;
	width: 1px;
	height: 0.9em;
	margin-right: 8px;
	background: #8B8B8C;
	vertical-align: bottom;
	transform: skewX(-20deg);
}
#breadcrumbs a {
	color: #000000;
	position: relative;
	display: inline-block;
}
#breadcrumbs 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 a:hover:before {
	transform: scale(1);
}

#pagevisual {
	position: relative;
	width: 100%;
	background: #fff;
	overflow: hidden;
	z-index: 10;
}
#pagevisual > div {
	padding: 0px 20px;
}
.sp #pagevisual > div {
	padding: 0px 15px;
}
#pagevisual img {
	display: block;
	width: 100%;
	max-width: 100%;
	max-height: 379px;
	height: auto;
	object-fit: cover;
}

#floatbutton {
	position: sticky;
	bottom: 40px;
	right: 0px;
	align-items: flex-end;
	z-index: 10;
}

#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.40625vw, 18px);
	line-height: 1.7;
	color: #fff;
}
.tablet #gdpr .text {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp #gdpr .text {
	font-size: min(3.6800881543vw, 13.8003305785px);
}
.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 a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 8em;
	height: 40px;
	font-size: min(1.40625vw, 18px);
	font-weight: 500;
	color: #fff;
	background: #960023;
	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(3.6800881543vw, 13.8003305785px);
}
#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;
}

main {
	position: relative;
	display: block;
	background: #fff;
	z-index: 10;
}
.sp main {
	margin-bottom: 0px !important;
}

.contents.bg {
	position: relative;
	z-index: 1;
}
.contents.bg:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 45px;
	left: 0px;
	background: #46526E;
}
.tablet .contents.bg:before {
	top: 22.5px;
}
.contents > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 100px 40px 10px;
}
.tablet .contents > div {
	padding: 50px 20px 5px;
}
.sp .contents > div {
	padding: 50px 15px 5px;
}
.contents:last-child > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 100px 40px 110px;
}
.tablet .contents:last-child > div {
	padding: 50px 20px 55px;
}
.sp .contents:last-child > div {
	padding: 50px 15px 55px;
}
.contents h2 {
	position: relative;
	margin: 0px 0px 50px;
	padding: 0px 0px 0px 16px;
	font-size: min(3.28125vw, 42px);
	line-height: 1.3;
	font-weight: 400;
}
.tablet .contents h2 {
	font-size: min(3.8414634146vw, 31.5px);
}
.sp .contents h2 {
	font-size: min(6.314137741vw, 23.6780165289px);
}
.sp .contents h2 {
	margin-bottom: 30px;
}
.contents h2:after {
	content: "";
	display: block;
	position: absolute;
	width: 6px;
	height: 0.8em;
	top: 0.3em;
	left: 0;
	margin: 0px;
	font-size: min(3.28125vw, 42px);
	line-height: 1.3;
	background: #960023;
}
.tablet .contents h2:after {
	font-size: min(3.8414634146vw, 31.5px);
}
.sp .contents h2:after {
	font-size: min(6.314137741vw, 23.6780165289px);
}
.contents h2[data-entitle] {
	padding: 0px;
	font-size: min(2.5vw, 32px);
	font-weight: 500;
	color: #8B8B8C;
}
.tablet .contents h2[data-entitle] {
	font-size: min(2.9268292683vw, 24px);
}
.sp .contents h2[data-entitle] {
	font-size: min(5.2906666667vw, 19.84px);
}
.contents h2[data-entitle]:after {
	display: none;
}
.contents h2[data-entitle]:before {
	content: attr(data-entitle);
	display: block;
	margin-bottom: 10px;
	font-size: min(5.46875vw, 70px);
	line-height: 1.3;
	font-weight: 900;
	color: #960023;
	font-family: 'Lato', sans-serif;
}
.tablet .contents h2[data-entitle]:before {
	font-size: min(6.4024390244vw, 52.5px);
}
.sp .contents h2[data-entitle]:before {
	font-size: min(8.6170798898vw, 32.3140495868px);
}
.contents * + h2 {
	margin-top: 80px;
}
.contents h3 {
	position: relative;
	margin: 0px 0px 20px;
	padding: 0px 0px 10px;
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 400;
	color: #960023;
	border-bottom: 1px solid #8B8B8C;
}
.tablet .contents h3 {
	font-size: min(2.1951219512vw, 18px);
}
.sp .contents h3 {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
.contents h3.center {
	text-align: center;
}
.contents h3.nega {
	color: #fff;
	border-bottom: 0;
}
.contents h3.recruit_h3 {
	padding-bottom: 15px;
	font-size: min(2.5vw, 32px);
	line-height: 1.3;
	font-weight: 700;
	color: #000000;
	border-bottom: 0;
}
.tablet .contents h3.recruit_h3 {
	font-size: min(2.9268292683vw, 24px);
}
.sp .contents h3.recruit_h3 {
	font-size: min(5.2906666667vw, 19.84px);
}
.contents h3.recruit_h3:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 6px;
	bottom: 0;
	left: 0;
	background: linear-gradient(to right, #f28a1c 0%, #73bf40 50%, #3ba0e8 100%);
}
.contents * + h3 {
	margin-top: 40px;
}
.contents h4 {
	position: relative;
	margin: 0px 0px 50px;
	padding: 0px;
	font-size: min(2.5vw, 32px);
	line-height: 1.3;
	font-weight: 400;
}
.tablet .contents h4 {
	font-size: min(2.9268292683vw, 24px);
}
.sp .contents h4 {
	font-size: min(5.2906666667vw, 19.84px);
}
.contents h4.center {
	text-align: center;
}
.contents h4.nega {
	color: #fff;
}
.contents * + h4 {
	margin-top: 40px;
}
.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.5vw, 32px);
	line-height: 1.5;
	font-weight: 400;
	color: #000000;
}
.tablet .contents .lead p {
	font-size: min(2.9268292683vw, 24px);
}
.sp .contents .lead p {
	font-size: min(5.2906666667vw, 19.84px);
}
.contents .text h2 {
	position: relative;
	margin: 0px 0px 50px;
	padding: 0px 0px 0px 16px;
	font-size: min(3.28125vw, 42px);
	line-height: 1.3;
	font-weight: 400;
	color: #000000;
}
.tablet .contents .text h2 {
	font-size: min(3.8414634146vw, 31.5px);
}
.sp .contents .text h2 {
	font-size: min(6.314137741vw, 23.6780165289px);
}
.contents .text h2:last-child {
	margin-bottom: 0;
}
.contents .text * + h2 {
	margin-top: 80px;
}
.contents .text h4 {
	position: relative;
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: min(1.5625vw, 20px);
	line-height: 1.3;
	font-weight: 500;
}
.tablet .contents .text h4 {
	font-size: min(1.8292682927vw, 15px);
}
.sp .contents .text h4 {
	font-size: min(3.9228650138vw, 14.7107438017px);
}
.contents .text * + h4 {
	margin-top: 40px;
}
.contents .text p:not(.image):not(.caption) {
	font-size: min(1.328125vw, 17px);
	line-height: 1.85;
	font-weight: 400;
}
.tablet .contents .text p:not(.image):not(.caption) {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .contents .text p:not(.image):not(.caption) {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.contents .text p:not(.image):not(.caption) a {
	color: #960023;
	position: relative;
	display: inline-block;
}
.contents .text p:not(.image):not(.caption) a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.425em - 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) .colormain, .contents .text p:not(.image):not(.caption).colormain {
	color: #960023;
}
.contents .text p:not(.image):not(.caption) .small, .contents .text p:not(.image):not(.caption).small {
	font-size: min(1.09375vw, 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.1818402204vw, 11.9319008264px);
}
.contents .text p:not(.image):not(.caption) .medium, .contents .text p:not(.image):not(.caption).medium {
	font-size: min(1.71875vw, 22px);
	line-height: 1.7;
}
.tablet .contents .text p:not(.image):not(.caption) .medium, .tablet .contents .text p:not(.image):not(.caption).medium {
	font-size: min(2.012195122vw, 16.5px);
}
.sp .contents .text p:not(.image):not(.caption) .medium, .sp .contents .text p:not(.image):not(.caption).medium {
	font-size: min(4.1614104683vw, 15.6052892562px);
}
.contents .text p:not(.image):not(.caption) .large, .contents .text p:not(.image):not(.caption).large {
	font-size: min(1.875vw, 24px);
	line-height: 1.5;
}
.tablet .contents .text p:not(.image):not(.caption) .large, .tablet .contents .text p:not(.image):not(.caption).large {
	font-size: min(2.1951219512vw, 18px);
}
.sp .contents .text p:not(.image):not(.caption) .large, .sp .contents .text p:not(.image):not(.caption).large {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
.contents .text p:not(.image):not(.caption) .giant, .contents .text p:not(.image):not(.caption).giant {
	font-size: min(3.75vw, 48px);
	line-height: 1.4;
}
.tablet .contents .text p:not(.image):not(.caption) .giant, .tablet .contents .text p:not(.image):not(.caption).giant {
	font-size: min(4.3902439024vw, 36px);
}
.sp .contents .text p:not(.image):not(.caption) .giant, .sp .contents .text p:not(.image):not(.caption).giant {
	font-size: min(6.8774435262vw, 25.7904132231px);
}
.contents .text ul {
	clear: both;
}
.contents .text ul > li {
	position: relative;
	padding-left: 1.5em;
	font-size: min(1.328125vw, 17px);
	line-height: 1.85;
}
.tablet .contents .text ul > li {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .contents .text ul > li {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.contents .text ul > li:before {
	position: absolute;
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	vertical-align: middle;
	top: 0.85em;
	left: 0.4em;
	margin-top: -3px;
	background: #960023;
	border-radius: 50%;
}
.contents .text ul > li + li {
	margin-top: 6px;
}
.contents .text ul > li a {
	vertical-align: top;
	color: #960023;
	position: relative;
	display: inline-block;
}
.contents .text ul > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.425em - 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.328125vw, 17px);
	line-height: 1.85;
}
.tablet .contents .text ol > li {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .contents .text ol > li {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.contents .text ol > li:before {
	position: absolute;
	content: " " counter(list-item) ".";
	display: inline-block;
	left: 0;
}
.contents .text ol > li + li {
	margin-top: 6px;
}
.contents .text ol > li a {
	vertical-align: top;
	color: #960023;
	position: relative;
	display: inline-block;
}
.contents .text ol > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.425em - 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 figure,
.contents .image {
	text-align: center;
}
.contents figure.border,
.contents .image.border {
	border: 1px solid #8B8B8C;
}
.contents figure.round img,
.contents .image.round img {
	border-radius: 30px;
	overflow: hidden;
}
.contents figure.circle img,
.contents .image.circle img {
	border-radius: 50%;
	overflow: hidden;
}
.contents figure.round.border, .contents figure.circle.border,
.contents .image.round.border,
.contents .image.circle.border {
	border: 0;
}
.contents figure.round.border img, .contents figure.circle.border img,
.contents .image.round.border img,
.contents .image.circle.border img {
	border: 4px solid #fff;
}
.contents figure img,
.contents .image img {
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
}
.contents figure figcaption, .contents figure p, .contents .image figcaption, .contents .image p {
	margin: 5px auto 0px;
	text-align: left;
	font-size: min(1.09375vw, 14px);
	line-height: 1.3;
}
.tablet .contents figure figcaption,
.tablet .contents figure p,
.tablet .contents .image figcaption,
.tablet
.contents .image p {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .contents figure figcaption, .sp .contents figure p, .sp .contents .image figcaption,
.sp .contents .image p {
	font-size: min(3.1818402204vw, 11.9319008264px);
}
* + .contents figure figcaption, * + .contents figure p, * + .contents .image figcaption, * + .contents .image p {
	margin-top: 8px;
}
.contents figure figcaption a, .contents figure p a, .contents .image figcaption a, .contents .image p a {
	color: #000000;
	position: relative;
	display: inline-block;
}
.contents figure figcaption a:before, .contents figure p a:before, .contents .image figcaption a:before, .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 figure figcaption a:hover:before, .contents figure p a:hover:before, .contents .image figcaption a:hover:before, .contents .image p a:hover:before {
	transform: scale(1);
}
.contents figure figcaption.center, .contents figure p.center, .contents .image figcaption.center, .contents .image p.center {
	text-align: center;
}
.contents figure figcaption.right, .contents figure p.right, .contents .image figcaption.right, .contents .image p.right {
	text-align: right;
}
.contents figure.left,
.contents .image.left {
	text-align: left;
}
.contents figure.left img,
.contents .image.left img {
	margin-left: 0px;
}
.contents figure.left p,
.contents .image.left p {
	margin-left: 0px;
}
.contents figure.right,
.contents .image.right {
	text-align: right;
}
.contents figure.right img,
.contents .image.right img {
	margin-right: 0px;
}
.contents figure.right p,
.contents .image.right p {
	margin-right: 0px;
}
.contents figure > a,
.contents .image > a {
	display: inline-block;
	max-width: 100%;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.contents figure > a:hover,
.contents .image > a:hover {
	opacity: 0.7;
}
.contents figure > a p,
.contents .image > a p {
	color: #000000;
}
.contents .imagebox {
	display: flex;
	justify-content: flex-start;
	gap: 3.125%;
}
.sp .contents .imagebox.spcol1 {
	flex-direction: column;
	gap: 20px;
}
.sp .contents .imagebox.spcol1 > * {
	width: auto !important;
}
.contents .imagebox > * {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-top: 0px !important;
}
.contents .imagebox.reverse {
	direction: rtl;
}
.contents .imagebox.reverse > * {
	direction: ltr;
}
.contents .imagebox.slim {
	gap: 1.5625%;
}
.sp .contents .imagebox.slim {
	gap: 10px;
}
.contents .imagebox > .image {
	position: relative;
	flex-shrink: 0;
	width: auto;
	margin-bottom: auto;
}
.contents .imagebox > .image .imagecover {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: 0px;
	transform: translate(-50%, -50%);
}
.contents .imagebox > .image img,
.contents .imagebox > .image > a {
	display: block;
	width: 100%;
}
.contents .contact {
	display: flex;
	align-items: center;
	gap: min(100px, 7.8125vw);
	padding: min(40px, 3.125vw);
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 400;
	background: #EFEFEF;
}
.tablet .contents .contact {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .contents .contact {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.sp .contents .contact {
	flex-direction: column;
}
.contents .contact .title {
	font-size: min(1.875vw, 24px);
	line-height: 1;
}
.tablet .contents .contact .title {
	font-size: min(2.1951219512vw, 18px);
}
.sp .contents .contact .title {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
.contents .contact p + p {
	margin-top: 1em;
}
.contents .contact p a {
	color: #960023;
	position: relative;
	display: inline-block;
}
.contents .contact p a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #960023;
	transition: 0.2s;
	transform: scale(0);
}
.contents .contact p a:hover:before {
	transform: scale(1);
}
.contents .table {
	overflow-x: auto;
	overflow-y: hidden !important;
}
.contents .table > table {
	width: 100%;
	border-spacing: 1px;
	empty-cells: show;
}
.sp .contents .table > table {
	min-width: 800px;
}
.contents .table > table > thead > tr > th {
	position: relative;
	padding: min(15px, 1.875vw) min(25px, 3.125vw);
	vertical-align: middle;
	text-align: center;
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	background: #960023;
	overflow: hidden;
}
.tablet .contents .table > table > thead > tr > th {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .contents .table > table > thead > tr > th {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.contents .table > table > thead > tr > td {
	position: relative;
	padding: min(15px, 1.875vw) min(25px, 3.125vw);
	vertical-align: middle;
	text-align: center;
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	background: #000;
	overflow: hidden;
}
.tablet .contents .table > table > thead > tr > td {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .contents .table > table > thead > tr > td {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.contents .table > table > tbody > tr > th {
	padding: min(15px, 1.875vw) min(25px, 3.125vw);
	vertical-align: middle;
	text-align: center;
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	background: #8B8B8C;
}
.tablet .contents .table > table > tbody > tr > th {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .contents .table > table > tbody > tr > th {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.contents .table > table > tbody > tr > td {
	padding: min(15px, 1.875vw) min(20px, 2.5vw);
	vertical-align: middle;
	text-align: left;
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
	background: #EFEFEF;
}
.tablet .contents .table > table > tbody > tr > td {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .contents .table > table > tbody > tr > td {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.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 .nowrap {
	white-space: nowrap;
}
.sp .contents .table > table .nowrap {
	white-space: normal;
}
.contents .table > table a {
	color: #960023;
	position: relative;
	display: inline-block;
}
.contents .table > table a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.425em - 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 a.wrapanchor {
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.contents a.wrapanchor:hover {
	opacity: 0.7;
}

.blogcontent h2 {
	position: relative;
	margin: 0px 0px 20px;
	padding: 0px 0px 20px;
	font-size: min(2.5vw, 32px);
	line-height: 1.3;
	font-weight: 400;
	color: #000000;
	border-bottom: 1px solid #960023;
}
.tablet .blogcontent h2 {
	font-size: min(2.9268292683vw, 24px);
}
.sp .blogcontent h2 {
	font-size: min(5.2906666667vw, 19.84px);
}
.blogcontent h2:after {
	display: none;
}
.blogcontent h2 strong {
	font-weight: 400;
}
.blogcontent * + h2 {
	margin-top: 80px;
}
.blogcontent h3 {
	position: relative;
	margin: 0px 0px 20px;
	padding: 0px 0px 10px;
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 400;
	color: #960023;
	border-bottom: 1px solid #8B8B8C;
}
.tablet .blogcontent h3 {
	font-size: min(2.1951219512vw, 18px);
}
.sp .blogcontent h3 {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
.blogcontent h3 strong {
	font-weight: 400;
}
.blogcontent * + h3 {
	margin-top: 40px;
}
.blogcontent h4 {
	position: relative;
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: min(1.5625vw, 20px);
	line-height: 1.3;
	font-weight: 400;
}
.tablet .blogcontent h4 {
	font-size: min(1.8292682927vw, 15px);
}
.sp .blogcontent h4 {
	font-size: min(3.9228650138vw, 14.7107438017px);
}
.blogcontent h4 strong {
	font-weight: 400;
}
.blogcontent * + h4 {
	margin-top: 40px;
}
.blogcontent p:not(.image):not(.caption) {
	min-height: 1px;
	font-size: min(1.328125vw, 17px);
	line-height: 1.85;
	font-weight: 400;
}
.tablet .blogcontent p:not(.image):not(.caption) {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .blogcontent p:not(.image):not(.caption) {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.blogcontent p:not(.image):not(.caption) a {
	color: #960023;
	position: relative;
	display: inline-block;
}
.blogcontent p:not(.image):not(.caption) a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.425em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
.blogcontent p:not(.image):not(.caption) a:hover:before {
	transform: scale(1);
}
.blogcontent p:not(.image):not(.caption).center {
	text-align: center;
}
.blogcontent p:not(.image):not(.caption).right {
	text-align: right;
}
.blogcontent p:not(.image):not(.caption) .small, .blogcontent p:not(.image):not(.caption).small {
	font-size: min(1.09375vw, 14px);
	line-height: 1.5;
}
.tablet .blogcontent p:not(.image):not(.caption) .small, .tablet .blogcontent p:not(.image):not(.caption).small {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .blogcontent p:not(.image):not(.caption) .small, .sp .blogcontent p:not(.image):not(.caption).small {
	font-size: min(3.1818402204vw, 11.9319008264px);
}
.blogcontent p:not(.image):not(.caption) .large, .blogcontent p:not(.image):not(.caption).large {
	font-size: min(1.875vw, 24px);
	line-height: 1.5;
}
.tablet .blogcontent p:not(.image):not(.caption) .large, .tablet .blogcontent p:not(.image):not(.caption).large {
	font-size: min(2.1951219512vw, 18px);
}
.sp .blogcontent p:not(.image):not(.caption) .large, .sp .blogcontent p:not(.image):not(.caption).large {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
.blogcontent ul {
	clear: both;
}
.blogcontent ul > li {
	position: relative;
	padding-left: 1.5em;
	font-size: min(1.328125vw, 17px);
	line-height: 1.85;
}
.tablet .blogcontent ul > li {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .blogcontent ul > li {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.blogcontent ul > li:before {
	position: absolute;
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	vertical-align: middle;
	top: 0.85em;
	left: 0.4em;
	margin-top: -3px;
	background: #960023;
	border-radius: 50%;
}
.blogcontent ul > li + li {
	margin-top: 4px;
}
.blogcontent ul > li a {
	vertical-align: top;
	color: #960023;
	position: relative;
	display: inline-block;
}
.blogcontent ul > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.425em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
.blogcontent ul > li a:hover:before {
	transform: scale(1);
}
.blogcontent ul > li ul, .blogcontent ul > li ol {
	margin-top: 4px;
	margin-right: 0px;
}
.blogcontent ol {
	clear: both;
}
.blogcontent ol > li {
	position: relative;
	padding-left: 1.5em;
	font-size: min(1.328125vw, 17px);
	line-height: 1.85;
}
.tablet .blogcontent ol > li {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .blogcontent ol > li {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.blogcontent ol > li:before {
	position: absolute;
	content: " " counter(list-item) ".";
	display: inline-block;
	left: 0;
}
.blogcontent ol > li + li {
	margin-top: 4px;
}
.blogcontent ol > li a {
	vertical-align: top;
	color: #960023;
	position: relative;
	display: inline-block;
}
.blogcontent ol > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.425em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
.blogcontent ol > li a:hover:before {
	transform: scale(1);
}
.blogcontent ol > li ul, .blogcontent ol > li ol {
	margin-top: 4px;
	margin-right: 0px;
}
.blogcontent img {
	max-width: 100%;
	height: auto;
}
.blogcontent p:not(.image):not(.caption) a:has(img),
.blogcontent a:has(img) {
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	display: inline;
}
.blogcontent p:not(.image):not(.caption) a:has(img):hover,
.blogcontent a:has(img):hover {
	opacity: 0.7;
}
.blogcontent p:not(.image):not(.caption) a:has(img):before,
.blogcontent a:has(img):before {
	display: none;
}
.blogcontent figure blockquote {
	margin: 0;
	padding: 3.125%;
	background: #EFEFEF;
}
.blogcontent figure blockquote + figcaption {
	text-align: right;
}

code[class*="language-"], pre[class*="language-"] {
	color: black;
	background: none;
	text-shadow: 0 1px white;
	font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
	font-size: 1em;
	text-align: left;
	white-space: pre;
	word-spacing: normal;
	word-break: normal;
	word-wrap: normal;
	line-height: 1.5;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	-webkit-hyphens: none;
	-ms-hyphens: none;
	hyphens: none;
}

pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
	text-shadow: none;
	background: #b3d4fc;
}

pre[class*="language-"]::selection, pre[class*="language-"] ::selection, code[class*="language-"]::selection, code[class*="language-"] ::selection {
	text-shadow: none;
	background: #b3d4fc;
}

@media print {
	code[class*="language-"], pre[class*="language-"] {
		text-shadow: none;
	}
}
pre[class*="language-"] {
	padding: 1em;
	margin: .5em 0;
	overflow: auto;
}

:not(pre) > code[class*="language-"], pre[class*="language-"] {
	background: #f5f2f0;
}

:not(pre) > code[class*="language-"] {
	padding: .1em;
	border-radius: .3em;
	white-space: normal;
}

.blogcontent {
	width: 100%;
	overflow: hidden;
	word-break: break-word;
}
.blogcontent blockquote {
	display: block;
	-webkit-margin-before: 1em;
	margin-block-start: 1em;
	-webkit-margin-after: 1em;
	margin-block-end: 1em;
	-webkit-margin-start: 40px;
	margin-inline-start: 40px;
	-webkit-margin-end: 40px;
	margin-inline-end: 40px;
}
@media screen and (max-width: 768px) {
	.blogcontent blockquote {
		-webkit-margin-start: 30px;
		margin-inline-start: 30px;
		-webkit-margin-end: 30px;
		margin-inline-end: 30px;
	}
}
.blogcontent pre {
	background: #f5f2f0;
	padding: 0.5em 2em 2em;
}
.blogcontent pre, .blogcontent code {
	font-size: min(1.40625vw, 18px);
}
@media screen and (max-width: 768px) {
	.blogcontent pre, .blogcontent code {
		font-size: min(4.2666666667vw, 16px);
	}
}
@media only screen and (min-width: 375px) and (max-width: 480px) and (min-height: 668px) and (max-height: 896px) and (orientation: portrait) {
	.blogcontent pre, .blogcontent code {
		font-size: min(4vw, 15px);
	}
}
.blogcontent .prism {
	width: 100%;
}
@media screen and (max-width: 670px) {
	.blogcontent p div.media {
		position: relative;
		padding-top: 56.25%;
		height: 0;
	}
}
@media screen and (max-width: 670px) {
	.blogcontent div.media iframe[src^="https://www.youtube.com/"] {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}
.blogcontent p.bgGray {
	background: #f0f2f2;
	font-size: min(1.40625vw, 18px);
	letter-spacing: 0.025em;
	line-height: 1.6;
	margin: 30px 0;
	padding: min(1.953125vw, 25px);
}
@media screen and (max-width: 768px) {
	.blogcontent p.bgGray {
		font-size: min(4.2666666667vw, 16px);
		line-height: 1.8;
		margin: 24px 0;
		padding: min(5.3333333333vw, 20px);
	}
}
@media only screen and (min-width: 375px) and (max-width: 480px) and (min-height: 668px) and (max-height: 896px) and (orientation: portrait) {
	.blogcontent p.bgGray {
		font-size: min(4vw, 15px);
	}
}
.blogcontent p.olGray {
	border: 1px solid #ccc;
	font-size: min(1.40625vw, 18px);
	letter-spacing: 0.025em;
	line-height: 1.6;
	margin: 30px 0;
	padding: min(1.953125vw, 25px);
}
@media screen and (max-width: 768px) {
	.blogcontent p.olGray {
		font-size: min(4.2666666667vw, 16px);
		line-height: 1.8;
		margin: 24px 0;
		padding: min(5.3333333333vw, 20px);
	}
}
@media only screen and (min-width: 375px) and (max-width: 480px) and (min-height: 668px) and (max-height: 896px) and (orientation: portrait) {
	.blogcontent p.olGray {
		font-size: min(4vw, 15px);
	}
}
.blogcontent p.caption {
	color: #555;
	font-size: min(1.328125vw, 17px);
	margin: -30px 0 45px;
}
@media screen and (max-width: 768px) {
	.blogcontent p.caption {
		font-size: min(4vw, 15px);
	}
}
@media screen and (max-width: 768px) {
	.blogcontent .scroll {
		overflow-x: scroll;
	}
}
.blogcontent table {
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #000;
	margin: 30px 0;
	width: 100%;
}
@media screen and (max-width: 768px) {
	.blogcontent table {
		margin: 24px 0;
	}
}
.blogcontent th {
	font-weight: bold;
	vertical-align: bottom;
}
.blogcontent td {
	font-weight: normal;
	vertical-align: top;
}
.blogcontent hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}
.blogcontent tr:not(:last-of-type) {
	border-bottom: 1px solid #000;
}
.blogcontent th {
	background: #000;
	border-right: 1px solid #000;
	color: #fff;
	font-size: min(1.40625vw, 18px);
	min-width: 260px;
	padding: 10px 20px;
	text-align: left;
	vertical-align: top;
}
@media screen and (max-width: 768px) {
	.blogcontent th {
		border-bottom: 1px solid #000;
		font-size: min(3.7333333333vw, 14px);
		min-width: 100px;
	}
}
.blogcontent td {
	font-size: min(1.40625vw, 18px);
	padding: 10px 20px;
}
.blogcontent td:not(:last-of-type) {
	border-right: 1px solid #000;
}
@media screen and (max-width: 768px) {
	.blogcontent td {
		font-size: min(3.7333333333vw, 14px);
		min-width: 100px;
	}
}
.blogcontent table.rs {
	border: solid gray 1px;
	border-collapse: collapse;
	margin: auto;
	width: auto;
}
.blogcontent table.rs tr {
	vertical-align: text-top;
}
.blogcontent table.rs td {
	border: solid gray 1px;
	padding: 10px;
	font-size: min(1.40625vw, 18px);
}
.blogcontent pre[class*=language-], .blogcontent code[class*=language-] {
	font-size: min(1.328125vw, 17px);
}
.blogcontent .toolbar {
	display: none;
}
.blogcontent ol.rs {
	margin-left: 30px;
	font-size: min(1.40625vw, 18px);
}

.blogcontent .oldblog pre {
	margin: 0;
	background: transparent;
	padding: 0;
}

.oldblog p {
	margin-bottom: 5px;
}
.oldblog table {
	width: auto;
}
.oldblog th {
	min-width: 0;
}

.tabs {
	position: relative;
}
.tabs:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: -2px;
	width: 100vw;
	height: 2px;
	background: #960023;
	transform: translateX(-50%);
}
.tabs ul {
	display: flex;
	align-items: flex-end;
	gap: min(20px, 1.5625vw);
	padding: 0px;
}
.tabs ul li {
	display: flex;
	width: calc((100% - min(20px, 1.5625vw) * 3) / 4);
	height: 70px;
}
.sp .tabs ul li {
	height: 35px;
}
.tabs ul li.current {
	height: 90px;
}
.sp .tabs ul li.current {
	height: 45px;
}
.tabs ul li.current a {
	background: #960023;
	box-shadow: 0 -3px 6px rgba(0, 0, 0, 0.16);
}
.tabs ul a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 10px;
	font-size: min(1.875vw, 24px);
	line-height: 1.1;
	font-weight: 500;
	color: #fff;
	background: #8B8B8C;
	border-radius: 10px 10px 0px 0px;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.sp .tabs ul a {
	font-size: min(3.2vw, 12px);
}
.tabs ul a:hover {
	opacity: 0.7;
}
.sp .tabs ul a {
	padding: 5px;
}

.blogcontentslist > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 50px 40px;
}
.pc .blogcontentslist > ul {
	gap: 20px;
}
.sp .blogcontentslist > ul {
	padding-top: 20px;
	border-top: 1px solid #fff;
}
.blogcontentslist > ul > li {
	position: relative;
	display: flex;
	flex-direction: column;
	width: calc((100% - 80px) / 3);
	background: #EFEFEF;
}
.blogcontentslist > ul > li.large {
	flex-direction: row;
	width: 100%;
	direction: rtl;
	background: #000;
}
.pc .blogcontentslist > ul > li.large {
	width: 100%;
}
.blogcontentslist > ul > li.large > * {
	direction: ltr;
}
.pc .blogcontentslist > ul > li {
	width: calc((100% - 40px) / 3);
}
.sp .blogcontentslist > ul > li {
	width: 100%;
	background: transparent;
	border-bottom: 1px solid #8B8B8C;
}
.blogcontentslist .large .image {
	width: 100%;
}
.blogcontentslist .large .body {
	flex-shrink: 0;
	width: 34.7368421053%;
	height: 100%;
	top: 0px;
	left: 0px;
	padding: 40px 40px 10px;
	background: #EFEFEF;
}
.pc .blogcontentslist .large .body {
	padding: 15px 20px 10px;
}
.spc .blogcontentslist .large .body {
	padding: 15px 15px 10px;
}
.sp .blogcontentslist .large .body {
	width: 100%;
	padding: 0px 0px 10px;
	background: transparent;
}
.blogcontentslist .large .title {
	margin-top: 15px;
	font-size: min(1.875vw, 24px);
}
.pc .blogcontentslist .large .title {
	font-size: min(1.5625vw, 20px);
}
.sp .blogcontentslist .large .title {
	font-size: min(4.2666666667vw, 16px);
}
.blogcontentslist .large .info {
	margin-top: 0px;
}
.blogcontentslist .large .name {
	font-size: min(1.328125vw, 17px);
}
.sp .blogcontentslist .large .name {
	font-size: min(3.7333333333vw, 14px);
}
.blogcontentslist .image {
	position: relative;
	align-self: flex-start;
}
.sp .blogcontentslist .image {
	display: none;
}
.blogcontentslist .image img {
	display: block;
	width: 100%;
	height: auto;
}
.blogcontentslist .image:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 44px;
	height: 44px;
	background: #960023;
	z-index: 1;
	pointer-events: none;
}
.blogcontentslist .image a {
	position: relative;
	display: block;
	overflow: hidden;
	opacity: 1 !important;
}
.blogcontentslist .image a:before {
	content: "";
	display: block;
	position: absolute;
	width: 44px;
	height: 44px;
	right: 54px;
	bottom: 10px;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
	opacity: 0;
	z-index: 2;
}
.blogcontentslist .image a:after {
	content: "";
	display: block;
	position: absolute;
	width: 44px;
	height: 44px;
	right: 10px;
	bottom: 10px;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
	z-index: 2;
}
.blogcontentslist .image a:hover:before {
	right: 10px;
	opacity: 1;
	transition: right 250ms 250ms, opacity 250ms 250ms;
}
.blogcontentslist .image a:hover:after {
	right: -54px;
	opacity: 0;
	transition: right 250ms, opacity 250ms;
}
.blogcontentslist .body {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 15px;
}
.sp .blogcontentslist .body {
	padding: 0px 0px 10px;
}
.blogcontentslist .date {
	font-size: min(1.328125vw, 17px);
	line-height: 1;
	font-weight: 500;
	color: #960023;
}
.tablet .blogcontentslist .date {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .blogcontentslist .date {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.blogcontentslist .title {
	margin-top: 10px;
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 400;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.sp .blogcontentslist .title {
	font-size: min(4.2666666667vw, 16px);
}
.blogcontentslist .title:hover {
	opacity: 0.7;
}
.blogcontentslist .info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px 20px;
	margin-top: auto;
	padding-top: 20px;
}
.blogcontentslist .name {
	font-size: min(1.09375vw, 14px);
	line-height: 1;
	font-weight: 500;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.sp .blogcontentslist .name {
	font-size: min(3.7333333333vw, 14px);
}
.blogcontentslist .name:hover {
	opacity: 0.7;
}
.blogcontentslist .category {
	margin-left: auto;
	margin-right: 0px;
}
.blogcontentslist .category ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 5px;
}
.blogcontentslist .category a {
	display: block;
	padding: 0px 10px;
	min-width: 76px;
	height: 24px;
	font-size: min(0.9375vw, 12px);
	line-height: 24px;
	font-weight: 500;
	color: #fff;
	text-align: center;
	background: #8B8B8C;
	border-radius: 12px;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.tablet .blogcontentslist .category a {
	font-size: min(1.0975609756vw, 9px);
}
.sp .blogcontentslist .category a {
	font-size: min(2.926369146vw, 10.9738842975px);
}
.blogcontentslist .category a:hover {
	opacity: 0.7;
}
.pc .blogcontentslist .category a {
	min-width: 65px;
}
.blogcontentslist a {
	color: #000000;
}

.blogcontenthead .date {
	font-size: min(1.328125vw, 17px);
	line-height: 1;
	font-weight: 700;
	color: #960023;
}
.tablet .blogcontenthead .date {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .blogcontenthead .date {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.blogcontenthead h1 {
	margin: 20px 0px 0px;
	font-size: min(3.28125vw, 42px);
	line-height: 1.3;
	font-weight: 500;
}
.tablet .blogcontenthead h1 {
	font-size: min(3.8414634146vw, 31.5px);
}
.sp .blogcontenthead h1 {
	font-size: min(6.314137741vw, 23.6780165289px);
}
.blogcontenthead h1:has(+ .image) {
	margin-bottom: 40px;
}
.blogcontenthead * + .info {
	margin-top: 30px;
}
.blogcontenthead .info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 40px;
	padding: 20px;
	border-top: 1px solid #8B8B8C;
	border-bottom: 1px solid #8B8B8C;
	overflow: hidden;
}
.sp .blogcontenthead .info {
	padding: 10px 0px;
}
.blogcontenthead .info .name {
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 400;
}
.tablet .blogcontenthead .info .name {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .blogcontenthead .info .name {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.blogcontenthead .info .name a {
	color: #000000;
	position: relative;
	display: inline-block;
}
.blogcontenthead .info .name a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.25em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #960023;
	transition: 0.2s;
	transform: scale(0);
}
.blogcontenthead .info .name a:hover:before {
	transform: scale(1);
}
.blogcontenthead .info.left .category {
	margin-left: 0;
}
.blogcontenthead .info .category {
	margin-left: auto;
	margin-right: 0;
}
.blogcontenthead .info .category ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}
.blogcontenthead .info .category ul a {
	display: block;
	padding: 0px 10px;
	min-width: 76px;
	height: 24px;
	font-size: min(0.9375vw, 12px);
	line-height: 24px;
	font-weight: 500;
	color: #fff;
	text-align: center;
	background: #8B8B8C;
	border-radius: 12px;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.tablet .blogcontenthead .info .category ul a {
	font-size: min(1.0975609756vw, 9px);
}
.sp .blogcontenthead .info .category ul a {
	font-size: min(2.926369146vw, 10.9738842975px);
}
.blogcontenthead .info .category ul a:hover {
	opacity: 0.7;
}
.pc .blogcontenthead .info .category ul a {
	min-width: 65px;
}

.blogcontentfoot {
	margin-top: 100px;
	padding-top: 20px;
	border-top: 1px solid #960023;
}
.blogcontentfoot .info {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 20px 40px;
	overflow: hidden;
}
.blogcontentfoot .info .name {
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 400;
	text-align: right;
}
.tablet .blogcontentfoot .info .name {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .blogcontentfoot .info .name {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.blogcontentfoot .info .name a {
	color: #000000;
	position: relative;
	display: inline-block;
}
.blogcontentfoot .info .name a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.25em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #960023;
	transition: 0.2s;
	transform: scale(0);
}
.blogcontentfoot .info .name a:hover:before {
	transform: scale(1);
}
.blogcontentfoot .info .category {
	margin-left: auto;
	margin-right: 0;
}
.blogcontentfoot .info .category ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}
.blogcontentfoot .info .category ul a {
	display: block;
	padding: 0px 10px;
	min-width: 76px;
	height: 24px;
	font-size: min(0.9375vw, 12px);
	line-height: 24px;
	font-weight: 500;
	color: #fff;
	text-align: center;
	background: #8B8B8C;
	border-radius: 12px;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.tablet .blogcontentfoot .info .category ul a {
	font-size: min(1.0975609756vw, 9px);
}
.sp .blogcontentfoot .info .category ul a {
	font-size: min(2.926369146vw, 10.9738842975px);
}
.blogcontentfoot .info .category ul a:hover {
	opacity: 0.7;
}
.pc .blogcontentfoot .info .category ul a {
	min-width: 65px;
}

.relatedsolution {
	margin-top: 50px;
	padding: 20px;
	border: 1px solid #960023;
}
.sp .relatedsolution {
	padding: 15px;
}
.blogcontentfoot + .relatedsolution {
	margin-top: 100px;
}
.relatedsolution dt {
	font-size: min(1.875vw, 24px);
	line-height: 1;
	font-weight: 400;
}
.tablet .relatedsolution dt {
	font-size: min(2.1951219512vw, 18px);
}
.sp .relatedsolution dt {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
.relatedsolution dd {
	margin: 0px;
	padding: 20px 0 0;
}
.relatedsolution dd ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 40px;
}
.sp .relatedsolution dd ul {
	gap: 15px 20px;
}
.relatedsolution dd ul li {
	position: relative;
}
.relatedsolution dd ul li:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 0px;
	width: 44px;
	height: 44px;
	margin-top: -22px;
	background: #960023;
	z-index: 1;
	pointer-events: none;
}
.sp .relatedsolution dd ul li:before {
	width: 30px;
	height: 30px;
	margin-top: -15px;
}
.relatedsolution dd ul a {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding-right: 64px;
	font-size: min(1.328125vw, 17px);
	line-height: 1;
	font-weight: 400;
	color: #000000;
	overflow: hidden;
}
.tablet .relatedsolution dd ul a {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .relatedsolution dd ul a {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.sp .relatedsolution dd ul a {
	min-height: 30px;
}
.relatedsolution dd ul a:before {
	content: "";
	display: block;
	position: absolute;
	width: 44px;
	height: 44px;
	right: 44px;
	top: 50%;
	margin-top: -22px;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
	opacity: 0;
	z-index: 2;
}
.sp .relatedsolution dd ul a:before {
	width: 30px;
	height: 30px;
	margin-top: -15px;
}
.relatedsolution dd ul a:after {
	content: "";
	display: block;
	position: absolute;
	width: 44px;
	height: 44px;
	right: 0px;
	top: 50%;
	margin-top: -22px;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
	z-index: 2;
}
.sp .relatedsolution dd ul a:after {
	width: 30px;
	height: 30px;
	margin-top: -15px;
}
.relatedsolution dd ul a:hover:before {
	right: 0px;
	opacity: 1;
	transition: right 250ms 250ms, opacity 250ms 250ms;
}
.relatedsolution dd ul a:hover:after {
	right: -44px;
	opacity: 0;
	transition: right 250ms, opacity 250ms;
}

.contentslist.col2 > ul {
	gap: min(40px, 3.125vw);
}
.sp .contentslist.col2 > ul {
	gap: 40px 15px;
}
.contentslist.col2 > ul > li {
	gap: min(20px, 1.5625vw);
	width: calc((100% - min(40px, 40/1280*100vw)) / 2);
}
.sp .contentslist.col2 > ul > li {
	width: calc((100% - 15px) / 2);
}
.contentslist.col2 > ul > li.large {
	gap: min(40px, 3.125vw);
	width: 100%;
}
.contentslist.col2 > ul > li.large .image {
	width: 48.4375%;
	max-width: 620px;
}
.contentslist.col2 > ul > li.large .title strong {
	font-size: min(2.5vw, 32px);
	line-height: 1.3;
	font-weight: 400;
}
.tablet .contentslist.col2 > ul > li.large .title strong {
	font-size: min(2.9268292683vw, 24px);
}
.sp .contentslist.col2 > ul > li.large .title strong {
	font-size: min(5.2906666667vw, 19.84px);
}
.contentslist.col2 > ul > li.large .title span {
	-webkit-line-clamp: 3;
}
.sp .contentslist.col2 > ul > li {
	flex-direction: column;
}
.sp .contentslist.col2 > ul > li .image {
	width: 100%;
}
.contentslist.col2 .image {
	width: 46.7741935484%;
}
.pagecolumn .contentslist.col2 .image {
	width: 48.3516483516%;
	max-width: 220px;
}
.contentslist > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 75px;
}
.sp .contentslist > ul {
	gap: 40px;
}
.contentslist > ul > li {
	position: relative;
	display: flex;
	gap: 40px;
	width: 100%;
}
.sp .contentslist > ul > li {
	gap: 20px;
}
.contentslist a {
	color: #000000;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.contentslist a:hover {
	opacity: 0.7;
}
.contentslist .image {
	position: relative;
	align-self: flex-start;
	flex-shrink: 0;
	width: 22.65625%;
	max-width: 290px;
}
.pagecolumn .contentslist .image {
	width: 30.5263157895%;
}
.contentslist .image img {
	display: block;
	width: 100%;
	height: auto;
}
.contentslist .image a {
	width: 100%;
}
.contentslist .date {
	font-size: min(1.328125vw, 17px);
	line-height: 1;
	font-weight: 700;
	color: #960023;
}
.tablet .contentslist .date {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .contentslist .date {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.contentslist .date + .title {
	margin-top: 15px;
}
.contentslist .title {
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 400;
}
.tablet .contentslist .title {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .contentslist .title {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.contentslist .title strong {
	display: inline-block;
	margin-bottom: 5px;
}
.contentslist .title span {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.contentslist .info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 20px;
	padding-top: 20px;
}
.contentslist .name {
	font-size: min(1.09375vw, 14px);
	line-height: 1;
	font-weight: 500;
}
.tablet .contentslist .name {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .contentslist .name {
	font-size: min(3.1818402204vw, 11.9319008264px);
}
.contentslist .category ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.pc .contentslist .category ul {
	gap: 5px;
}
.contentslist .category a {
	display: block;
	padding: 0px 10px;
	min-width: 76px;
	height: 24px;
	font-size: min(0.9375vw, 12px);
	line-height: 24px;
	font-weight: 500;
	color: #fff;
	text-align: center;
	background: #8B8B8C;
	border-radius: 12px;
}
.tablet .contentslist .category a {
	font-size: min(1.0975609756vw, 9px);
}
.sp .contentslist .category a {
	font-size: min(2.926369146vw, 10.9738842975px);
}
.pc .contentslist .category a {
	min-width: 65px;
}

.box {
	padding: 3.125%;
	background: #EFEFEF;
}
.box.border {
	padding: 1.5625%;
	background: transparent;
	border: 1px solid #8B8B8C;
}
.box.imagebg {
	position: relative;
	color: #fff;
	background: none no-repeat center center;
	background-size: cover;
}
.box.imagebg:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #647D8D;
	opacity: 0.8;
	mix-blend-mode: multiply;
}
.box.imagebg > * {
	position: relative;
}
.box.imagebgwide {
	position: relative;
	color: #fff;
	background: transparent;
}
.box.imagebgwide > div.bg {
	position: absolute;
	top: 0;
	left: 50%;
	width: calc(100vw - 40px - 17px);
	height: 100%;
	background: none no-repeat center center;
	background-size: cover;
	transform: translateX(-50%);
}
.sp .box.imagebgwide > div.bg {
	width: calc(100vw - 30px);
}
.box.imagebgwide > div.bg:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #647D8D;
	opacity: 0.8;
	mix-blend-mode: multiply;
}
.box.imagebgwide > *:not(.bg) {
	position: relative;
}
.box > p.boxtitle {
	font-size: min(2.5vw, 32px);
	line-height: 1.3;
	font-weight: 400;
	margin-bottom: 30px;
}
.tablet .box > p.boxtitle {
	font-size: min(2.9268292683vw, 24px);
}
.sp .box > p.boxtitle {
	font-size: min(5.2906666667vw, 19.84px);
}
.box > p.boxtitle + * {
	margin-top: 0px !important;
}

.boxlink.col3 > ul > li {
	width: calc((100% - (min(40px, 40/1280*100vw) * 2)) / 3);
}
.tablet .boxlink.col3 > ul > li {
	width: calc((100% - 30px) / 3);
}
.sp .boxlink.col3 > ul > li {
	width: calc((100% - 5px) / 2);
}
.boxlink.col3 > ul > li > div .body,
.boxlink.col3 > ul > li > a .body {
	font-weight: 400;
	min-height: 100px;
	border: 1px solid #EFEFEF;
}
.boxlink.col3 > ul > li > a,
.boxlink.col3 > ul > li > .list > a {
	position: relative;
}
.boxlink.col3 > ul > li > a:before, .boxlink.col3 > ul > li > .list > a:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 44px;
	height: 44px;
	margin-top: -22px;
	background: #960023;
	z-index: 1;
	pointer-events: none;
}
.spc .boxlink.col3 > ul > li > a:before,
.spc .boxlink.col3 > ul > li > .list > a:before {
	right: 15px;
}
.sp .boxlink.col3 > ul > li > a:before, .sp .boxlink.col3 > ul > li > .list > a:before {
	width: 30px;
	height: 30px;
	margin-top: -15px;
	right: 5px;
}
.boxlink.col3 > ul > li > a .body, .boxlink.col3 > ul > li > .list > a .body {
	padding-right: 65px;
}
.spc .boxlink.col3 > ul > li > a .body,
.spc .boxlink.col3 > ul > li > .list > a .body {
	padding-right: 65px;
}
.sp .boxlink.col3 > ul > li > a .body, .sp .boxlink.col3 > ul > li > .list > a .body {
	padding-right: 40px;
}
.boxlink.col3 > ul > li > a .body:before, .boxlink.col3 > ul > li > .list > a .body:before {
	content: "";
	display: block;
	position: absolute;
	width: 44px;
	height: 44px;
	right: 64px;
	top: 50%;
	margin-top: -22px;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
	opacity: 0;
	z-index: 2;
}
.spc .boxlink.col3 > ul > li > a .body:before, .spc .boxlink.col3 > ul > li > .list > a .body:before {
	right: 59px;
}
.sp .boxlink.col3 > ul > li > a .body:before, .sp .boxlink.col3 > ul > li > .list > a .body:before {
	width: 30px;
	height: 30px;
	right: 35px;
	margin-top: -15px;
}
.boxlink.col3 > ul > li > a .body:after, .boxlink.col3 > ul > li > .list > a .body:after {
	content: "";
	display: block;
	position: absolute;
	width: 44px;
	height: 44px;
	right: 20px;
	top: 50%;
	margin-top: -22px;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
	z-index: 2;
}
.spc .boxlink.col3 > ul > li > a .body:after, .spc .boxlink.col3 > ul > li > .list > a .body:after {
	right: 15px;
}
.sp .boxlink.col3 > ul > li > a .body:after, .sp .boxlink.col3 > ul > li > .list > a .body:after {
	width: 30px;
	height: 30px;
	right: 5px;
	margin-top: -15px;
}
.boxlink.col3 > ul > li > a:hover .body:before, .boxlink.col3 > ul > li > .list > a:hover .body:before {
	right: 20px;
	opacity: 1;
	transition: right 250ms 250ms, opacity 250ms 250ms;
}
.spc .boxlink.col3 > ul > li > a:hover .body:before,
.spc .boxlink.col3 > ul > li > .list > a:hover .body:before {
	right: 15px;
}
.sp .boxlink.col3 > ul > li > a:hover .body:before, .sp .boxlink.col3 > ul > li > .list > a:hover .body:before {
	right: 5px;
}
.boxlink.col3 > ul > li > a:hover .body:after, .boxlink.col3 > ul > li > .list > a:hover .body:after {
	right: -24px;
	opacity: 0;
	transition: right 250ms, opacity 250ms;
}
.spc .boxlink.col3 > ul > li > a:hover .body:after,
.spc .boxlink.col3 > ul > li > .list > a:hover .body:after {
	right: -29px;
}
.sp .boxlink.col3 > ul > li > a:hover .body:after, .sp .boxlink.col3 > ul > li > .list > a:hover .body:after {
	right: -25px;
}
.boxlink.col3 > ul > li > .list {
	border: 1px solid #EFEFEF;
}
.boxlink.col3 > ul > li > .list > a .body {
	border: 0px;
}
.boxlink.col3 > ul > li > .list ul {
	gap: min(15px, 1.171875vw);
	padding: 0 min(30px, 2.34375vw) min(40px, 3.125vw);
	flex-direction: column;
}
.boxlink.col3 > ul > li > .list ul li {
	width: auto;
}
.boxlink.col3 > ul > li > .list ul a {
	color: #000000;
	position: relative;
	display: inline-block;
	overflow: visible;
}
.boxlink.col3 > ul > li > .list ul 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);
}
.boxlink.col3 > ul > li > .list ul a:hover:before {
	transform: scale(1);
}
.boxlink.col3 > ul > li > .list ul a:before {
	transform: scale(1);
}
.boxlink ul {
	display: flex;
	flex-wrap: wrap;
	gap: min(40px, 3.125vw);
}
.tablet .boxlink ul {
	gap: 15px;
}
.sp .boxlink ul {
	gap: 5px;
}
.boxlink li {
	width: calc((100% - (min(40px, 40/1280*100vw) * 3)) / 4);
}
.tablet .boxlink li {
	width: calc((100% - 45px) / 4);
}
.sp .boxlink li {
	width: calc((100% - 5px) / 2);
}
.boxlink li > div,
.boxlink li > a {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	overflow: hidden;
}
.boxlink li > div .body, .boxlink li > a .body {
	position: relative;
	display: flex;
	align-items: center;
	padding: 10px 20px;
	height: 100%;
	min-height: 78px;
	font-size: min(1.40625vw, 18px);
	line-height: 1.3;
	font-weight: 700;
	color: #000000;
	border: 1px solid #8B8B8C;
}
.sp .boxlink li > div .body,
.sp .boxlink li > a .body {
	font-size: min(3.7333333333vw, 14px);
}
.spc .boxlink li > div .body, .spc .boxlink li > a .body {
	padding: 10px 15px;
}
.sp .boxlink li > div .body, .sp .boxlink li > a .body {
	min-height: 60px;
	padding: 10px;
}
.boxlink li > div .body span, .boxlink li > a .body span {
	display: inline-block;
}
.boxlink a {
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.boxlink a:hover {
	opacity: 0.7;
}

.imagelink {
	position: relative;
}
.imagelink.col2 li {
	width: calc((100% - (min(40px, 40/1280*100vw) * 1)) / 2);
}
.tablet .imagelink.col2 li {
	width: calc((100% - 15px) / 2);
}
.sp .imagelink.col2 li {
	width: 100%;
}
.imagelink.col2 > ul > li > div .image,
.imagelink.col2 > ul > li > a .image {
	padding: 0;
	height: auto;
}
.imagelink.col2 > ul > li > div .image img,
.imagelink.col2 > ul > li > a .image img {
	position: static;
	height: auto;
}
.imagelink.col2 > ul > li > div .body,
.imagelink.col2 > ul > li > a .body {
	padding: 12px 0px 8px;
	background: transparent;
}
.imagelink.col2.round a:before {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 30%;
	background: linear-gradient(to bottom, #3ba0e8 0%, rgba(59, 160, 232, 0) 100%);
	z-index: 1;
}
.imagelink.col2.round li {
	position: relative;
	border-radius: 30px;
	overflow: hidden;
}
.imagelink.col2.round .image:before {
	right: 20px;
	bottom: 20px;
}
.imagelink.col2.round .body {
	position: absolute;
	width: 100%;
	padding: 20px 20px 0;
	font-size: min(1.875vw, 24px);
	color: #fff;
	z-index: 2;
}
.tablet .imagelink.col2.round .body {
	font-size: min(2.1951219512vw, 18px);
}
.sp .imagelink.col2.round .body {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
.imagelink.col2.round .body:before {
	top: auto;
	bottom: 20px;
	transform: translateX(-10px);
}
.imagelink.col2.round .body:after {
	top: auto;
	bottom: 20px;
	transform: translateX(-10px);
}
.imagelink.col3 li {
	width: calc((100% - (min(40px, 40/1280*100vw) * 2)) / 3);
}
.tablet .imagelink.col3 li {
	width: calc((100% - 30px) / 3);
}
.sp .imagelink.col3 li {
	width: calc((100% - 5px) / 2);
}
.imagelink.col3 > ul > li > div .image,
.imagelink.col3 > ul > li > a .image {
	padding: 0;
	height: auto;
}
.imagelink.col3 > ul > li > div .image img,
.imagelink.col3 > ul > li > a .image img {
	position: static;
	height: auto;
}
.imagelink.col3 > ul > li > div .body,
.imagelink.col3 > ul > li > a .body {
	padding: 12px 0px 8px;
	background: transparent;
}
.imagelink.col3.round .image {
	flex-shrink: 0;
	border-radius: 20px;
	overflow: hidden;
}
.imagelink.col3.round .image:before {
	display: none;
}
.imagelink.col3.round .body {
	padding-right: 64px;
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
}
.tablet .imagelink.col3.round .body {
	font-size: min(2.1951219512vw, 18px);
}
.sp .imagelink.col3.round .body {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
.imagelink.col3.round .body:before {
	top: 4px;
	background-image: url(../images/arrowc.svg);
	transform: translateX(10px);
}
.imagelink.col3.round .body:after {
	top: 4px;
	background-image: url(../images/arrowc.svg);
	transform: translateX(10px);
}
.imagelink ul {
	display: flex;
	flex-wrap: wrap;
	gap: min(40px, 3.125vw);
}
.tablet .imagelink ul {
	gap: 15px;
}
.sp .imagelink ul {
	gap: 5px;
}
.imagelink li {
	width: calc((100% - (min(40px, 40/1280*100vw) * 3)) / 4);
	background: #fff;
}
.imagelink li.size2 {
	width: calc((100% - (min(40px, 40/1280*100vw) * 1)) / 2);
}
.tablet .imagelink li.size2 {
	width: 100%;
}
.imagelink li.size2 a .image {
	padding: 0;
	height: auto;
}
.imagelink li.size2 a .image img {
	position: static;
	height: auto;
}
.tablet .imagelink li {
	width: calc((100% - 45px) / 4);
}
.sp .imagelink li {
	width: calc((100% - 5px) / 2);
}
.imagelink > ul > li > div,
.imagelink > ul > li > a {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
}
.imagelink > ul > li > div .image,
.imagelink > ul > li > a .image {
	position: relative;
	height: 0;
	padding-top: 70.6896551724%;
}
.imagelink > ul > li > div .image img,
.imagelink > ul > li > a .image img {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	object-fit: cover;
}
.imagelink > ul > li > div .body, .imagelink > ul > li > a .body {
	position: relative;
	padding: 12px 20px 15px;
	height: 100%;
	font-size: min(1.40625vw, 18px);
	line-height: 1.3;
	font-weight: 700;
	color: #000000;
	background: #EFEFEF;
}
.sp .imagelink > ul > li > div .body,
.sp .imagelink > ul > li > a .body {
	font-size: min(3.7333333333vw, 14px);
}
.spc .imagelink > ul > li > div .body, .spc .imagelink > ul > li > a .body {
	padding: 12px 15px 15px;
}
.sp .imagelink > ul > li > div .body, .sp .imagelink > ul > li > a .body {
	padding: 8px 10px 10px;
}
.imagelink > ul > li > div .body .info, .imagelink > ul > li > a .body .info {
	margin-top: 20px;
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 400;
}
.tablet .imagelink > ul > li > div .body .info, .tablet .imagelink > ul > li > a .body .info {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .imagelink > ul > li > div .body .info, .sp .imagelink > ul > li > a .body .info {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.imagelink > ul > li > a.popyoutube {
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.imagelink > ul > li > a.popyoutube:hover {
	opacity: 0.7;
}
.imagelink > ul > li > a.popyoutube .image:before {
	bottom: 0px;
	right: 0px;
	width: 100%;
	height: 100%;
	background: url(../images/playmovie.svg) no-repeat center center;
}
.sp .imagelink > ul > li > a.popyoutube .image:before {
	width: 100%;
	height: 100%;
}
.imagelink > ul > li > a.popyoutube .body:before, .imagelink > ul > li > a.popyoutube .body:after {
	display: none;
}
.imagelink > ul > li > a .image:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 44px;
	height: 44px;
	background: #960023;
	z-index: 1;
	pointer-events: none;
}
.sp .imagelink > ul > li > a .image:before {
	width: 30px;
	height: 30px;
}
.imagelink > ul > li > a .body:before {
	content: "";
	display: block;
	position: absolute;
	width: 44px;
	height: 44px;
	right: 54px;
	top: -54px;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
	opacity: 0;
	z-index: 2;
}
.sp .imagelink > ul > li > a .body:before {
	width: 30px;
	height: 30px;
	top: -40px;
}
.imagelink > ul > li > a .body:after {
	content: "";
	display: block;
	position: absolute;
	width: 44px;
	height: 44px;
	right: 10px;
	top: -54px;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
	z-index: 2;
}
.sp .imagelink > ul > li > a .body:after {
	width: 30px;
	height: 30px;
	top: -40px;
}
.imagelink > ul > li > a:hover .body:before {
	right: 10px;
	opacity: 1;
	transition: right 250ms 250ms, opacity 250ms 250ms;
}
.imagelink > ul > li > a:hover .body:after {
	right: -54px;
	opacity: 0;
	transition: right 250ms, opacity 250ms;
}

.column {
	display: flex;
	flex-wrap: wrap;
	gap: min(60px, 4.6875vw) min(40px, 3.125vw);
	margin-right: -4px;
}
.sp .column {
	gap: 40px 20px;
}
.column > * {
	margin-top: 0px !important;
}
.column > *.center {
	align-self: center;
}
.column.col1 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 0 - 4px) / 1);
}
.column.col1 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 0 - 4px) / 1) * 2 + min(40px, 40/1280*100vw) * 1);
}
.column.col1 > *.size1 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 0 - 4px) / 1) * 1 + min(40px, 40/1280*100vw) * 0);
}
.sp .column.col1 > * {
	width: calc((100% - 20px * 0 - 4px) / 1);
}
.sp .column.col1 > *.spsize2 {
	width: calc(((100% - 20px * 0 - 4px) / 1) * 2 + 20px * 1);
}
.sp .column.col1 > *.spsize1 {
	width: calc(((100% - 20px * 0 - 4px) / 1) * 1 + 20px * 0);
}
.sp .column.spcol1 > * {
	width: calc((100% - 20px * 0 - 4px) / 1) !important;
}
.column.col2 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 1 - 4px) / 2);
}
.column.col2 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 1 - 4px) / 2) * 2 + min(40px, 40/1280*100vw) * 1);
}
.sp .column.col2 > * {
	width: calc((100% - 20px * 1 - 4px) / 2);
}
.sp .column.col2 > *.spsize2 {
	width: calc(((100% - 20px * 1 - 4px) / 2) * 2 + 20px * 1);
}
.sp .column.spcol2 > * {
	width: calc((100% - 20px * 1 - 4px) / 2) !important;
}
.column.col3 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 2 - 4px) / 3);
}
.column.col3 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 2 - 4px) / 3) * 2 + min(40px, 40/1280*100vw) * 1);
}
.column.col3 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 2 - 4px) / 3) * 3 + min(40px, 40/1280*100vw) * 2);
}
.sp .column.col3 > * {
	width: calc((100% - 20px * 2 - 4px) / 3);
}
.sp .column.col3 > *.spsize2 {
	width: calc(((100% - 20px * 2 - 4px) / 3) * 2 + 20px * 1);
}
.sp .column.col3 > *.spsize3 {
	width: calc(((100% - 20px * 2 - 4px) / 3) * 3 + 20px * 2);
}
.sp .column.spcol3 > * {
	width: calc((100% - 20px * 2 - 4px) / 3) !important;
}
.column.col4 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 3 - 4px) / 4);
}
.column.col4 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 3 - 4px) / 4) * 2 + min(40px, 40/1280*100vw) * 1);
}
.column.col4 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 3 - 4px) / 4) * 3 + min(40px, 40/1280*100vw) * 2);
}
.column.col4 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 3 - 4px) / 4) * 4 + min(40px, 40/1280*100vw) * 3);
}
.sp .column.col4 > * {
	width: calc((100% - 20px * 3 - 4px) / 4);
}
.sp .column.col4 > *.spsize2 {
	width: calc(((100% - 20px * 3 - 4px) / 4) * 2 + 20px * 1);
}
.sp .column.col4 > *.spsize3 {
	width: calc(((100% - 20px * 3 - 4px) / 4) * 3 + 20px * 2);
}
.sp .column.col4 > *.spsize4 {
	width: calc(((100% - 20px * 3 - 4px) / 4) * 4 + 20px * 3);
}
.sp .column.spcol4 > * {
	width: calc((100% - 20px * 3 - 4px) / 4) !important;
}
.column.col5 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 4 - 4px) / 5);
}
.column.col5 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 4 - 4px) / 5) * 2 + min(40px, 40/1280*100vw) * 1);
}
.column.col5 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 4 - 4px) / 5) * 3 + min(40px, 40/1280*100vw) * 2);
}
.column.col5 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 4 - 4px) / 5) * 4 + min(40px, 40/1280*100vw) * 3);
}
.column.col5 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 4 - 4px) / 5) * 5 + min(40px, 40/1280*100vw) * 4);
}
.sp .column.col5 > * {
	width: calc((100% - 20px * 4 - 4px) / 5);
}
.sp .column.col5 > *.spsize2 {
	width: calc(((100% - 20px * 4 - 4px) / 5) * 2 + 20px * 1);
}
.sp .column.col5 > *.spsize3 {
	width: calc(((100% - 20px * 4 - 4px) / 5) * 3 + 20px * 2);
}
.sp .column.col5 > *.spsize4 {
	width: calc(((100% - 20px * 4 - 4px) / 5) * 4 + 20px * 3);
}
.sp .column.col5 > *.spsize5 {
	width: calc(((100% - 20px * 4 - 4px) / 5) * 5 + 20px * 4);
}
.sp .column.spcol5 > * {
	width: calc((100% - 20px * 4 - 4px) / 5) !important;
}
.column.col6 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 5 - 4px) / 6);
}
.column.col6 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 5 - 4px) / 6) * 2 + min(40px, 40/1280*100vw) * 1);
}
.column.col6 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 5 - 4px) / 6) * 3 + min(40px, 40/1280*100vw) * 2);
}
.column.col6 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 5 - 4px) / 6) * 4 + min(40px, 40/1280*100vw) * 3);
}
.column.col6 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 5 - 4px) / 6) * 5 + min(40px, 40/1280*100vw) * 4);
}
.column.col6 > *.size6 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 5 - 4px) / 6) * 6 + min(40px, 40/1280*100vw) * 5);
}
.sp .column.col6 > * {
	width: calc((100% - 20px * 5 - 4px) / 6);
}
.sp .column.col6 > *.spsize2 {
	width: calc(((100% - 20px * 5 - 4px) / 6) * 2 + 20px * 1);
}
.sp .column.col6 > *.spsize3 {
	width: calc(((100% - 20px * 5 - 4px) / 6) * 3 + 20px * 2);
}
.sp .column.col6 > *.spsize4 {
	width: calc(((100% - 20px * 5 - 4px) / 6) * 4 + 20px * 3);
}
.sp .column.col6 > *.spsize5 {
	width: calc(((100% - 20px * 5 - 4px) / 6) * 5 + 20px * 4);
}
.sp .column.col6 > *.spsize6 {
	width: calc(((100% - 20px * 5 - 4px) / 6) * 6 + 20px * 5);
}
.sp .column.spcol6 > * {
	width: calc((100% - 20px * 5 - 4px) / 6) !important;
}
.column.col7 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 6 - 4px) / 7);
}
.column.col7 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 6 - 4px) / 7) * 2 + min(40px, 40/1280*100vw) * 1);
}
.column.col7 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 6 - 4px) / 7) * 3 + min(40px, 40/1280*100vw) * 2);
}
.column.col7 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 6 - 4px) / 7) * 4 + min(40px, 40/1280*100vw) * 3);
}
.column.col7 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 6 - 4px) / 7) * 5 + min(40px, 40/1280*100vw) * 4);
}
.column.col7 > *.size6 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 6 - 4px) / 7) * 6 + min(40px, 40/1280*100vw) * 5);
}
.column.col7 > *.size7 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 6 - 4px) / 7) * 7 + min(40px, 40/1280*100vw) * 6);
}
.sp .column.col7 > * {
	width: calc((100% - 20px * 6 - 4px) / 7);
}
.sp .column.col7 > *.spsize2 {
	width: calc(((100% - 20px * 6 - 4px) / 7) * 2 + 20px * 1);
}
.sp .column.col7 > *.spsize3 {
	width: calc(((100% - 20px * 6 - 4px) / 7) * 3 + 20px * 2);
}
.sp .column.col7 > *.spsize4 {
	width: calc(((100% - 20px * 6 - 4px) / 7) * 4 + 20px * 3);
}
.sp .column.col7 > *.spsize5 {
	width: calc(((100% - 20px * 6 - 4px) / 7) * 5 + 20px * 4);
}
.sp .column.col7 > *.spsize6 {
	width: calc(((100% - 20px * 6 - 4px) / 7) * 6 + 20px * 5);
}
.sp .column.col7 > *.spsize7 {
	width: calc(((100% - 20px * 6 - 4px) / 7) * 7 + 20px * 6);
}
.sp .column.spcol7 > * {
	width: calc((100% - 20px * 6 - 4px) / 7) !important;
}
.column.col8 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8);
}
.column.col8 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8) * 2 + min(40px, 40/1280*100vw) * 1);
}
.column.col8 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8) * 3 + min(40px, 40/1280*100vw) * 2);
}
.column.col8 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8) * 4 + min(40px, 40/1280*100vw) * 3);
}
.column.col8 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8) * 5 + min(40px, 40/1280*100vw) * 4);
}
.column.col8 > *.size6 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8) * 6 + min(40px, 40/1280*100vw) * 5);
}
.column.col8 > *.size7 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8) * 7 + min(40px, 40/1280*100vw) * 6);
}
.column.col8 > *.size8 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 7 - 4px) / 8) * 8 + min(40px, 40/1280*100vw) * 7);
}
.sp .column.col8 > * {
	width: calc((100% - 20px * 7 - 4px) / 8);
}
.sp .column.col8 > *.spsize2 {
	width: calc(((100% - 20px * 7 - 4px) / 8) * 2 + 20px * 1);
}
.sp .column.col8 > *.spsize3 {
	width: calc(((100% - 20px * 7 - 4px) / 8) * 3 + 20px * 2);
}
.sp .column.col8 > *.spsize4 {
	width: calc(((100% - 20px * 7 - 4px) / 8) * 4 + 20px * 3);
}
.sp .column.col8 > *.spsize5 {
	width: calc(((100% - 20px * 7 - 4px) / 8) * 5 + 20px * 4);
}
.sp .column.col8 > *.spsize6 {
	width: calc(((100% - 20px * 7 - 4px) / 8) * 6 + 20px * 5);
}
.sp .column.col8 > *.spsize7 {
	width: calc(((100% - 20px * 7 - 4px) / 8) * 7 + 20px * 6);
}
.sp .column.col8 > *.spsize8 {
	width: calc(((100% - 20px * 7 - 4px) / 8) * 8 + 20px * 7);
}
.sp .column.spcol8 > * {
	width: calc((100% - 20px * 7 - 4px) / 8) !important;
}
.column.col9 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9);
}
.column.col9 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 2 + min(40px, 40/1280*100vw) * 1);
}
.column.col9 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 3 + min(40px, 40/1280*100vw) * 2);
}
.column.col9 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 4 + min(40px, 40/1280*100vw) * 3);
}
.column.col9 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 5 + min(40px, 40/1280*100vw) * 4);
}
.column.col9 > *.size6 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 6 + min(40px, 40/1280*100vw) * 5);
}
.column.col9 > *.size7 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 7 + min(40px, 40/1280*100vw) * 6);
}
.column.col9 > *.size8 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 8 + min(40px, 40/1280*100vw) * 7);
}
.column.col9 > *.size9 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 8 - 4px) / 9) * 9 + min(40px, 40/1280*100vw) * 8);
}
.sp .column.col9 > * {
	width: calc((100% - 20px * 8 - 4px) / 9);
}
.sp .column.col9 > *.spsize2 {
	width: calc(((100% - 20px * 8 - 4px) / 9) * 2 + 20px * 1);
}
.sp .column.col9 > *.spsize3 {
	width: calc(((100% - 20px * 8 - 4px) / 9) * 3 + 20px * 2);
}
.sp .column.col9 > *.spsize4 {
	width: calc(((100% - 20px * 8 - 4px) / 9) * 4 + 20px * 3);
}
.sp .column.col9 > *.spsize5 {
	width: calc(((100% - 20px * 8 - 4px) / 9) * 5 + 20px * 4);
}
.sp .column.col9 > *.spsize6 {
	width: calc(((100% - 20px * 8 - 4px) / 9) * 6 + 20px * 5);
}
.sp .column.col9 > *.spsize7 {
	width: calc(((100% - 20px * 8 - 4px) / 9) * 7 + 20px * 6);
}
.sp .column.col9 > *.spsize8 {
	width: calc(((100% - 20px * 8 - 4px) / 9) * 8 + 20px * 7);
}
.sp .column.col9 > *.spsize9 {
	width: calc(((100% - 20px * 8 - 4px) / 9) * 9 + 20px * 8);
}
.sp .column.spcol9 > * {
	width: calc((100% - 20px * 8 - 4px) / 9) !important;
}
.column.col10 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10);
}
.column.col10 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 2 + min(40px, 40/1280*100vw) * 1);
}
.column.col10 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 3 + min(40px, 40/1280*100vw) * 2);
}
.column.col10 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 4 + min(40px, 40/1280*100vw) * 3);
}
.column.col10 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 5 + min(40px, 40/1280*100vw) * 4);
}
.column.col10 > *.size6 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 6 + min(40px, 40/1280*100vw) * 5);
}
.column.col10 > *.size7 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 7 + min(40px, 40/1280*100vw) * 6);
}
.column.col10 > *.size8 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 8 + min(40px, 40/1280*100vw) * 7);
}
.column.col10 > *.size9 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 9 + min(40px, 40/1280*100vw) * 8);
}
.column.col10 > *.size10 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 9 - 4px) / 10) * 10 + min(40px, 40/1280*100vw) * 9);
}
.sp .column.col10 > * {
	width: calc((100% - 20px * 9 - 4px) / 10);
}
.sp .column.col10 > *.spsize2 {
	width: calc(((100% - 20px * 9 - 4px) / 10) * 2 + 20px * 1);
}
.sp .column.col10 > *.spsize3 {
	width: calc(((100% - 20px * 9 - 4px) / 10) * 3 + 20px * 2);
}
.sp .column.col10 > *.spsize4 {
	width: calc(((100% - 20px * 9 - 4px) / 10) * 4 + 20px * 3);
}
.sp .column.col10 > *.spsize5 {
	width: calc(((100% - 20px * 9 - 4px) / 10) * 5 + 20px * 4);
}
.sp .column.col10 > *.spsize6 {
	width: calc(((100% - 20px * 9 - 4px) / 10) * 6 + 20px * 5);
}
.sp .column.col10 > *.spsize7 {
	width: calc(((100% - 20px * 9 - 4px) / 10) * 7 + 20px * 6);
}
.sp .column.col10 > *.spsize8 {
	width: calc(((100% - 20px * 9 - 4px) / 10) * 8 + 20px * 7);
}
.sp .column.col10 > *.spsize9 {
	width: calc(((100% - 20px * 9 - 4px) / 10) * 9 + 20px * 8);
}
.sp .column.col10 > *.spsize10 {
	width: calc(((100% - 20px * 9 - 4px) / 10) * 10 + 20px * 9);
}
.sp .column.spcol10 > * {
	width: calc((100% - 20px * 9 - 4px) / 10) !important;
}
.column.col11 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11);
}
.column.col11 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 2 + min(40px, 40/1280*100vw) * 1);
}
.column.col11 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 3 + min(40px, 40/1280*100vw) * 2);
}
.column.col11 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 4 + min(40px, 40/1280*100vw) * 3);
}
.column.col11 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 5 + min(40px, 40/1280*100vw) * 4);
}
.column.col11 > *.size6 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 6 + min(40px, 40/1280*100vw) * 5);
}
.column.col11 > *.size7 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 7 + min(40px, 40/1280*100vw) * 6);
}
.column.col11 > *.size8 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 8 + min(40px, 40/1280*100vw) * 7);
}
.column.col11 > *.size9 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 9 + min(40px, 40/1280*100vw) * 8);
}
.column.col11 > *.size10 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 10 + min(40px, 40/1280*100vw) * 9);
}
.column.col11 > *.size11 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 10 - 4px) / 11) * 11 + min(40px, 40/1280*100vw) * 10);
}
.sp .column.col11 > * {
	width: calc((100% - 20px * 10 - 4px) / 11);
}
.sp .column.col11 > *.spsize2 {
	width: calc(((100% - 20px * 10 - 4px) / 11) * 2 + 20px * 1);
}
.sp .column.col11 > *.spsize3 {
	width: calc(((100% - 20px * 10 - 4px) / 11) * 3 + 20px * 2);
}
.sp .column.col11 > *.spsize4 {
	width: calc(((100% - 20px * 10 - 4px) / 11) * 4 + 20px * 3);
}
.sp .column.col11 > *.spsize5 {
	width: calc(((100% - 20px * 10 - 4px) / 11) * 5 + 20px * 4);
}
.sp .column.col11 > *.spsize6 {
	width: calc(((100% - 20px * 10 - 4px) / 11) * 6 + 20px * 5);
}
.sp .column.col11 > *.spsize7 {
	width: calc(((100% - 20px * 10 - 4px) / 11) * 7 + 20px * 6);
}
.sp .column.col11 > *.spsize8 {
	width: calc(((100% - 20px * 10 - 4px) / 11) * 8 + 20px * 7);
}
.sp .column.col11 > *.spsize9 {
	width: calc(((100% - 20px * 10 - 4px) / 11) * 9 + 20px * 8);
}
.sp .column.col11 > *.spsize10 {
	width: calc(((100% - 20px * 10 - 4px) / 11) * 10 + 20px * 9);
}
.sp .column.col11 > *.spsize11 {
	width: calc(((100% - 20px * 10 - 4px) / 11) * 11 + 20px * 10);
}
.sp .column.spcol11 > * {
	width: calc((100% - 20px * 10 - 4px) / 11) !important;
}
.column.col12 > * {
	width: calc((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12);
}
.column.col12 > *.size2 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 2 + min(40px, 40/1280*100vw) * 1);
}
.column.col12 > *.size3 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 3 + min(40px, 40/1280*100vw) * 2);
}
.column.col12 > *.size4 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 4 + min(40px, 40/1280*100vw) * 3);
}
.column.col12 > *.size5 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 5 + min(40px, 40/1280*100vw) * 4);
}
.column.col12 > *.size6 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 6 + min(40px, 40/1280*100vw) * 5);
}
.column.col12 > *.size7 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 7 + min(40px, 40/1280*100vw) * 6);
}
.column.col12 > *.size8 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 8 + min(40px, 40/1280*100vw) * 7);
}
.column.col12 > *.size9 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 9 + min(40px, 40/1280*100vw) * 8);
}
.column.col12 > *.size10 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 10 + min(40px, 40/1280*100vw) * 9);
}
.column.col12 > *.size11 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 11 + min(40px, 40/1280*100vw) * 10);
}
.column.col12 > *.size12 {
	width: calc(((100% - min(40px, 40/1280*100vw) * 11 - 4px) / 12) * 12 + min(40px, 40/1280*100vw) * 11);
}
.sp .column.col12 > * {
	width: calc((100% - 20px * 11 - 4px) / 12);
}
.sp .column.col12 > *.spsize2 {
	width: calc(((100% - 20px * 11 - 4px) / 12) * 2 + 20px * 1);
}
.sp .column.col12 > *.spsize3 {
	width: calc(((100% - 20px * 11 - 4px) / 12) * 3 + 20px * 2);
}
.sp .column.col12 > *.spsize4 {
	width: calc(((100% - 20px * 11 - 4px) / 12) * 4 + 20px * 3);
}
.sp .column.col12 > *.spsize5 {
	width: calc(((100% - 20px * 11 - 4px) / 12) * 5 + 20px * 4);
}
.sp .column.col12 > *.spsize6 {
	width: calc(((100% - 20px * 11 - 4px) / 12) * 6 + 20px * 5);
}
.sp .column.col12 > *.spsize7 {
	width: calc(((100% - 20px * 11 - 4px) / 12) * 7 + 20px * 6);
}
.sp .column.col12 > *.spsize8 {
	width: calc(((100% - 20px * 11 - 4px) / 12) * 8 + 20px * 7);
}
.sp .column.col12 > *.spsize9 {
	width: calc(((100% - 20px * 11 - 4px) / 12) * 9 + 20px * 8);
}
.sp .column.col12 > *.spsize10 {
	width: calc(((100% - 20px * 11 - 4px) / 12) * 10 + 20px * 9);
}
.sp .column.col12 > *.spsize11 {
	width: calc(((100% - 20px * 11 - 4px) / 12) * 11 + 20px * 10);
}
.sp .column.col12 > *.spsize12 {
	width: calc(((100% - 20px * 11 - 4px) / 12) * 12 + 20px * 11);
}
.sp .column.spcol12 > * {
	width: calc((100% - 20px * 11 - 4px) / 12) !important;
}

.textlist.col dd ul {
	flex-direction: row;
	gap: 20px min(40px, 3.125vw);
}
.textlist.col dd li {
	width: calc((100% - min(40px, 40/1280*100vw) * 3) / 4);
}
.sp .textlist.col dd li {
	width: 100%;
}
.textlist dl {
	display: flex;
	flex-direction: column;
}
.textlist dt {
	margin: 0px 0px 30px;
	padding: 0px 0px 30px;
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 700;
	color: #000000;
	text-align: center;
	border-bottom: 1px solid #960023;
}
.tablet .textlist dt {
	font-size: min(2.1951219512vw, 18px);
}
.sp .textlist dt {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
.textlist dt a {
	color: #000000;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.textlist dt a:hover {
	opacity: 0.7;
}
.textlist dd {
	margin: 0px;
	padding: 0px;
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 400;
	color: #000000;
}
.tablet .textlist dd {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .textlist dd {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.textlist dd ul {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 20px;
}
.textlist dd li span {
	font-size: min(1.09375vw, 14px);
}
.tablet .textlist dd li span {
	font-size: min(1.2804878049vw, 10.5px);
}
.sp .textlist dd li span {
	font-size: min(3.1818402204vw, 11.9319008264px);
}
.textlist dd p {
	line-height: 1.85;
}
.textlist dd a {
	color: #000000;
	text-decoration: underline;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.textlist dd a:hover {
	opacity: 0.7;
}

.anchorlink {
	background: #fff;
	border: 1px solid #8B8B8C;
	border-radius: 40px;
}
.sp .anchorlink {
	border-radius: 20px;
}
.anchorlink ul {
	display: flex;
	min-height: 80px;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: min(30px, 2.34375vw) min(40px, 3.125vw);
	padding: 20px 20px;
}
.sp .anchorlink ul {
	flex-direction: column;
	align-items: flex-start;
	padding: 15px 20px;
}
.anchorlink a {
	display: flex;
	align-items: center;
	font-size: min(1.71875vw, 22px);
	line-height: 1.3;
	font-weight: 400;
	color: #000000;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.tablet .anchorlink a {
	font-size: min(2.012195122vw, 16.5px);
}
.sp .anchorlink a {
	font-size: min(4.1614104683vw, 15.6052892562px);
}
.anchorlink a:hover {
	opacity: 0.7;
}
.anchorlink a:after {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	margin-left: min(15px, 1.171875vw);
	background: url(../images/anchor.svg) no-repeat center center;
}
.sp .anchorlink a:after {
	margin-left: 15px;
}

.newstab,
.newslistcategory {
	position: relative;
}
.newstab ul, .newslistcategory ul {
	display: flex;
	gap: 1px;
	width: 100%;
}
.sp .newstab ul,
.sp .newslistcategory ul {
	flex-wrap: wrap;
	padding-left: calc(78/350*100% + 1px);
}
.newstab ul li, .newslistcategory ul li {
	flex: 1;
}
.sp .newstab ul li, .sp .newslistcategory ul li {
	flex: auto;
	width: calc((100% - 1px) / 2);
}
.sp .newstab ul li:first-child, .sp .newslistcategory ul li:first-child {
	position: absolute;
	width: 22.2857142857%;
	height: 100%;
	left: 0px;
}
.sp .newstab ul li:first-child a, .sp .newslistcategory ul li:first-child a {
	height: 89px;
}
.newstab ul a, .newslistcategory ul a {
	display: flex;
	height: 52px;
	align-items: center;
	justify-content: center;
	font-size: min(1.40625vw, 18px);
	line-height: 1;
	font-weight: 500;
	color: #fff;
	background: #8B8B8C;
	border: 1px solid #8B8B8C;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.sp .newstab ul a, .sp .newslistcategory ul a {
	font-size: min(3.7333333333vw, 14px);
}
.newstab ul a:hover, .newslistcategory ul a:hover {
	opacity: 0.7;
}
.sp .newstab ul a, .sp .newslistcategory ul a {
	height: 44px;
}
.newstab ul .current a, .newslistcategory ul .current a {
	color: #8B8B8C;
	background: #fff;
}

.newslist ul {
	background: #fff;
	border-top: 1px dotted #8B8B8C;
}
.newslist ul li {
	position: relative;
	padding: 0px;
	border-bottom: 1px dotted #8B8B8C;
}
.newslist ul li:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 20px;
	width: 44px;
	height: 44px;
	margin-top: -22px;
	background: #960023;
	z-index: 1;
	pointer-events: none;
}
.sp .newslist ul li:before {
	right: 10px;
	width: 30px;
	height: 30px;
	margin-top: -15px;
}
.newslist ul a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 15px 30px;
	min-height: 74px;
	padding: 10px 84px 10px 20px;
	font-size: min(1.25vw, 16px);
	line-height: 1.3;
	font-weight: 500;
	color: #000000;
	z-index: 1;
	overflow: hidden;
}
.tablet .newslist ul a {
	font-size: min(1.4634146341vw, 12px);
}
.sp .newslist ul a {
	font-size: min(3.4330798898vw, 12.8740495868px);
}
.sp .newslist ul a {
	flex-wrap: wrap;
	padding: 10px 50px 10px 10px;
}
.newslist ul a:before {
	content: "";
	display: block;
	position: absolute;
	width: 44px;
	height: 44px;
	right: 64px;
	top: 50%;
	margin-top: -22px;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
	opacity: 0;
	z-index: 2;
}
.sp .newslist ul a:before {
	width: 30px;
	height: 30px;
	margin-top: -15px;
	right: 50px;
}
.newslist ul a:after {
	content: "";
	display: block;
	position: absolute;
	width: 44px;
	height: 44px;
	right: 20px;
	top: 50%;
	margin-top: -22px;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
	z-index: 2;
}
.sp .newslist ul a:after {
	width: 30px;
	height: 30px;
	margin-top: -15px;
	right: 10px;
}
.newslist ul a:hover:before {
	right: 20px;
	opacity: 1;
	transition: right 250ms 250ms, opacity 250ms 250ms;
}
.sp .newslist ul a:hover:before {
	right: 10px;
}
.newslist ul a:hover:after {
	right: -64px;
	opacity: 0;
	transition: right 250ms, opacity 250ms;
}
.sp .newslist ul a:hover:after {
	right: -50px;
}
.newslist ul .category {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 120px;
	height: 24px;
	font-size: min(0.9375vw, 12px);
	line-height: 1;
	color: #fff;
	background: #8B8B8C;
}
.tablet .newslist ul .category {
	font-size: min(1.0975609756vw, 9px);
}
.sp .newslist ul .category {
	font-size: min(2.926369146vw, 10.9738842975px);
}
.sp .newslist ul .title {
	width: 100%;
}

.contents .blogcontentssearch {
	padding: 20px;
	background: #EFEFEF;
}
.sp .contents .blogcontentssearch {
	padding: 15px;
}
.contents .blogcontentssearch h3 {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0px;
	padding: 5px 10px;
	min-height: 50px;
	font-size: min(1.328125vw, 17px);
	font-weight: 500;
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	background: #000;
	border: 0;
}
.tablet .contents .blogcontentssearch h3 {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .contents .blogcontentssearch h3 {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.sp .contents .blogcontentssearch h3 {
	min-height: 35px;
}
.contents .blogcontentssearch ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	font-size: min(1.328125vw, 17px);
	line-height: 1.4;
	font-weight: 500;
	color: #960023;
	margin-top: 15px !important;
}
.tablet .contents .blogcontentssearch ul {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .contents .blogcontentssearch ul {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.contents .blogcontentssearch ul.list > li {
	position: relative;
	padding-left: 1.5em;
	width: 100%;
	font-size: min(1.328125vw, 17px);
	line-height: 1.85;
}
.tablet .contents .blogcontentssearch ul.list > li {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .contents .blogcontentssearch ul.list > li {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.contents .blogcontentssearch ul.list > li:before {
	position: absolute;
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	vertical-align: middle;
	top: 0.85em;
	left: 0.4em;
	margin-top: -3px;
	background: #960023;
	border-radius: 50%;
}
.contents .blogcontentssearch ul.list > li a {
	vertical-align: top;
	margin-left: 0;
}
.contents .blogcontentssearch ul a {
	margin-left: 2px;
	color: #8B8B8C;
}
.contents .blogcontentssearch > div:not(.button) {
	padding: 20px;
	color: #fff;
	background: #8B8B8C;
}
.contents .blogcontentssearch .input {
	position: relative;
}
.contents .blogcontentssearch .input input {
	width: 100%;
	height: 40px;
	padding: 0px 55px 0px 20px;
	font-size: min(4.2666666667vw, 16px);
	line-height: 40px;
	font-weight: 500;
	background: #ffffff;
	border: 0px;
	border-radius: 20px;
}
.contents .blogcontentssearch .input input::placeholder {
	color: #B5B6B6;
}
.contents .blogcontentssearch .input input:-ms-input-placeholder {
	color: #B5B6B6;
}
.contents .blogcontentssearch .input input::-ms-input-placeholder {
	color: #B5B6B6;
}
.contents .blogcontentssearch .input button {
	position: absolute;
	width: 45px;
	height: 40px;
	right: 0px;
	top: 0px;
	text-indent: -10000px;
	background: url(../images/search.svg) no-repeat center center;
	background-size: 15px;
	border: 0px;
	cursor: pointer;
}
.contents .blogcontentssearch .button a {
	justify-content: center;
	width: 100%;
	padding: 5px 10px !important;
	text-decoration: none;
}
.contents .blogcontentssearch .button a:before, .contents .blogcontentssearch .button a:after {
	display: none;
}

.pagenation.first .prev {
	display: none;
}
.pagenation.first li:nth-child(n+7) {
	display: none;
}
.pagenation.first li.next {
	display: block;
}
.pagenation ul {
	position: relative;
	display: inline-flex;
	padding: 0px 65px;
}
.sp .pagenation ul {
	padding: 0px 50px;
}
.pagenation li {
	font-size: min(1.25vw, 16px);
	line-height: 44px;
	font-weight: 500;
}
.tablet .pagenation li {
	font-size: min(1.4634146341vw, 12px);
}
.sp .pagenation li {
	font-size: min(3.4330798898vw, 12.8740495868px);
}
.sp .pagenation li {
	line-height: 35px;
}
.pagenation .current {
	color: #960023;
}
.pagenation .current a {
	color: #960023;
	text-decoration: none;
}
.pagenation a {
	display: block;
	width: 1.5em;
	color: #000;
	text-align: center;
	text-decoration: underline;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.pagenation a:hover {
	opacity: 0.7;
}
.pagenation .next {
	position: absolute;
	right: 0px;
	top: 0px;
}
.pagenation .next a {
	width: 44px;
	text-indent: -10000px;
	background: url(../images/next.svg) no-repeat center center #960023;
	overflow: hidden;
}
.sp .pagenation .next a {
	width: 35px;
}
.pagenation .prev {
	position: absolute;
	left: 0px;
	top: 0px;
}
.pagenation .prev a {
	width: 44px;
	text-indent: -10000px;
	background: url(../images/prev.svg) no-repeat center center #960023;
	overflow: hidden;
}
.sp .pagenation .prev a {
	width: 35px;
}

#contentindex {
	position: relative;
	display: none;
	padding: min(40px, 4.2105263158vw);
	background: #EFEFEF;
}
#contentindex.view {
	display: block;
}
#contentindex:before {
	content: "";
	display: block;
	position: absolute;
	width: 160px;
	height: 20px;
	top: 0px;
	left: min(40px, 4.2105263158vw);
	background: #960023;
}
#contentindex dt {
	margin-bottom: min(30px, 3.1578947368vw);
	font-size: min(1.875vw, 24px);
	line-height: 1;
	font-weight: 400;
}
.tablet #contentindex dt {
	font-size: min(2.1951219512vw, 18px);
}
.sp #contentindex dt {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
#contentindex dd {
	margin: 0px;
	padding: 0px;
	font-size: min(1.328125vw, 17px);
	line-height: 1.3;
	font-weight: 400;
}
.tablet #contentindex dd {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp #contentindex dd {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
#contentindex ul {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
#contentindex ul li {
	position: relative;
}
#contentindex ul li:before {
	display: block;
	position: absolute;
	top: 0.675em;
	transform: translateY(-50%);
}
#contentindex ul .l3 {
	margin-left: 30px;
}
#contentindex ul .l3:before {
	content: "";
	left: -15px;
	width: 10px;
	height: 10px;
	background: #960023;
}
#contentindex ul .l4 {
	margin-left: 60px;
}
#contentindex ul .l4:before {
	content: "";
	left: -10px;
	width: 5px;
	height: 5px;
	background: #8B8B8C;
}
#contentindex ul .l5 {
	margin-left: 80px;
}
#contentindex ul .l5:before {
	content: "";
	left: -12px;
	width: 5px;
	height: 5px;
	background: #000000;
	border-radius: 50%;
}
#contentindex a {
	color: #000000;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#contentindex a:hover {
	opacity: 0.7;
}

.selectmenu ul {
	display: flex;
	gap: min(20px, 1.5625vw);
	width: 100%;
}
.selectmenu ul li {
	flex: 1;
}
.selectmenu ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	min-height: 60px;
	padding: 5px 30px;
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 500;
	color: #fff;
	background: #8B8B8C;
	border-radius: 30px;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	transition: opacity 0.2s, background 0.2s, color 0.2s;
}
.tablet .selectmenu ul li a {
	font-size: min(2.1951219512vw, 18px);
}
.sp .selectmenu ul li a {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
.selectmenu ul li a:hover {
	opacity: 0.7;
}
.sp .selectmenu ul li a {
	min-height: 40px;
	padding: 5px 15px;
	border-radius: 20px;
}
.selectmenu ul li.current a {
	background: #960023;
	opacity: 1 !important;
	cursor: default;
}

.tablelist.bg {
	background: #EFEFEF;
}
.tablelist.bg table {
	border-top-style: dotted;
}
.tablelist.bg tr:after {
	border-bottom-style: dotted;
}
.tablelist table {
	width: 100%;
	border-spacing: 0;
	empty-cells: show;
	border-top: 1px solid #8B8B8C;
	font-size: min(1.328125vw, 17px);
	line-height: 1.85;
	font-weight: 500;
}
.tablet .tablelist table {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .tablelist table {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.tablelist tr {
	position: relative;
}
.sp .tablelist tr {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 15px;
	padding: 10px 15px;
}
.tablelist tr:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 0px;
	bottom: 0px;
	left: 0px;
	border-bottom: 1px solid #8B8B8C;
}
.tablelist th, .tablelist td {
	padding: 10px 20px;
	height: 84px;
	text-align: left;
}
.sp .tablelist th,
.sp .tablelist td {
	padding: 0px;
	height: auto;
}
.tablelist th.nowrap, .tablelist td.nowrap {
	width: 0;
	white-space: nowrap;
}
.sp .tablelist th.nowrap, .sp .tablelist td.nowrap {
	width: auto;
}
.tablelist th.right, .tablelist td.right {
	margin-right: 0;
	margin-left: auto;
}
.tablelist th a, .tablelist td a {
	color: #960023;
	position: relative;
	display: inline-block;
}
.tablelist th a:before, .tablelist td a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.425em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	transition: 0.2s;
	transform: scale(0);
}
.tablelist th a:hover:before, .tablelist td a:hover:before {
	transform: scale(1);
}
.tablelist th {
	color: #8B8B8C;
	font-weight: bold;
}

.switchingbox {
	position: relative;
	width: 100%;
	transition: height 400ms;
}
.switchingbox > * {
	position: absolute;
	top: 0px;
	width: 100%;
	margin-top: 0px !important;
	opacity: 0;
	transition: opacity 400ms;
	pointer-events: none;
}
.switchingbox > *.switchview {
	opacity: 1;
	transition: opacity 400ms 400ms;
	pointer-events: auto;
}
.loading .switchingbox > *.switchview {
	position: relative;
}

.recruitblogtitle {
	position: relative;
	display: flex;
	align-items: center;
	min-height: min(600px, 31.25vw);
	padding: 40px 0px;
	font-size: min(1.71875vw, 22px);
	line-height: 1.7;
	font-weight: 400;
}
.tablet .recruitblogtitle {
	font-size: min(2.012195122vw, 16.5px);
}
.sp .recruitblogtitle {
	font-size: min(4.1614104683vw, 15.6052892562px);
}
.recruitblogtitle > div {
	width: 100%;
}
.recruitblogtitle h1 {
	display: block;
	margin: 0px 0px min(40px, 2.0833333333vw);
	padding: 7.5% 0 0;
	width: 336px;
	height: 0px;
	text-indent: -10000px;
	background: url(../images/recruitblogtitleh1.svg) no-repeat left center;
	background-size: auto 100%;
}
.sp .recruitblogtitle h1 {
	margin-bottom: min(20px, 4.1666666667vw);
	padding-top: min(48px, 10%);
}
.recruitblogtitle strong {
	font-weight: 500;
	color: #960023;
}
.recruitblogtitle:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	left: 50%;
	top: 0px;
	margin-left: -50vw;
	background: url(../images/recruitblogtitle.webp) no-repeat center center;
	background-size: cover;
	z-index: -1;
}
.tablet .recruitblogtitle:before {
	background-position: left 25% center;
}
.sp .recruitblogtitle:before {
	background: linear-gradient(45deg, #ced7e8 0%, #88c1dc 100%);
}

.accordionbox {
	position: relative;
	height: 500px;
	overflow: hidden;
	transition: height 600ms;
}
.sp .accordionbox {
	height: 400px;
}
.accordionbox.accordionopen:before {
	opacity: 0;
	transition: opacity 600ms;
}
.accordionbox.accordionopen .accordionmore {
	opacity: 0;
	transition: opacity 600ms;
}
.accordionbox.accordionopened {
	height: auto !important;
	transition: height 0ms;
	overflow: auto;
}
.accordionbox.accordionopened:before {
	display: none;
}
.accordionbox.accordionopened .accordionmore {
	display: none;
}
.accordionbox:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 180px;
	bottom: 0;
	left: 0;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 100%);
	z-index: 150;
}
.sp .accordionbox:before {
	height: 120px;
}
.accordionbox .accordionmore {
	position: absolute;
	bottom: 60px;
	left: 0;
	width: 100%;
	z-index: 160;
}
.sp .accordionbox .accordionmore {
	bottom: 40px;
}
.accordionbox .accordionmore a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 75%;
	max-width: 660px;
	height: 60px;
	margin: auto;
	font-size: min(1.875vw, 24px);
	line-height: 1;
	font-weight: 400;
	color: #fff;
	background: #000;
	border-radius: 30px;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.tablet .accordionbox .accordionmore a {
	font-size: min(2.1951219512vw, 18px);
}
.sp .accordionbox .accordionmore a {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
.accordionbox .accordionmore a:hover {
	opacity: 0.7;
}
.sp .accordionbox .accordionmore a {
	height: 40px;
}
.accordionbox .accordionmore a:before {
	content: "";
	display: block;
	position: absolute;
	width: 28px;
	height: 28px;
	left: 17px;
	top: 50%;
	margin-top: -14px;
	background: url(../images/more.svg) no-repeat center center #fff;
	border-radius: 50%;
}
.sp .accordionbox .accordionmore a:before {
	width: 20px;
	height: 20px;
	left: 14px;
	margin-top: -10px;
	background-size: 12px auto;
}

main .youtube {
	margin: auto;
	max-width: 800px;
}
main .youtube > div {
	position: relative;
	padding-top: 56.25%;
}
main .youtube > div > iframe,
main .youtube > div > video {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
}

.googlemap {
	position: relative;
	margin: auto;
	max-width: 800px;
}
.sp .googlemap {
	padding-top: 70%;
}
.googlemap > div {
	padding-top: 56.25%;
}
.googlemap iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	-webkit-transition: opacity 400ms;
	transition: opacity 400ms;
}

#_recruittitle {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 1820px;
	height: min(630px, 34.615384615400004vw);
	margin: auto;
	padding: min(50px, 3.90625vw) 0px;
	background: url(../../recruit/newgraduates/images/r01.jpg) no-repeat top right;
	background-size: cover;
	z-index: 10;
}
.sp #_recruittitle {
	width: calc(100% - 30px);
	height: auto;
	padding-top: 65.625%;
	background-size: 190% auto;
}
#_recruittitle > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 0px 40px;
	padding-right: min(750px, calc((100% + 80px) / 2 + 20px));
	z-index: 1;
	font-size: min(1.328125vw, 17px);
	line-height: 1.7;
}
.tablet #_recruittitle > div {
	padding: 0px 20px;
}
.sp #_recruittitle > div {
	padding: 0px 15px;
}
.tablet #_recruittitle > div {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp #_recruittitle > div {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.tablet #_recruittitle > div {
	padding-right: min(750px, calc(((100% - 40px) / 2) + 75px));
}
.sp #_recruittitle > div {
	padding: 0;
}
#_recruittitle > div strong {
	font-size: min(3.125vw, 40px);
	line-height: 1.5;
	font-weight: 400;
}
.pc #_recruittitle > div strong {
	font-size: min(2.5vw, 32px);
}
.sp #_recruittitle > div strong {
	font-size: min(4.5333333333vw, 17px);
}
#_recruittitle > div p + p {
	margin-top: min(30px, 2.34375vw);
}

#recruittitle {
	position: relative;
	display: flex;
	align-items: flex-end;
	width: calc(100% - 40px);
	height: min(800px, 43.956043956vw);
	margin: auto;
	padding: min(50px, 3.90625vw) 0px;
	background: url(../../recruit/newgraduates/images/r01.jpg) no-repeat top center;
	background-size: cover;
	overflow: hidden;
	z-index: 10;
}
.sp #recruittitle {
	width: calc(100% - 30px);
	height: auto;
}
#recruittitle:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: linear-gradient(to right, #3ba0e8 0%, #73bf40 50%, #f28a1c 100%);
	mix-blend-mode: screen;
	opacity: 0.7;
}
#recruittitle:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 57.875%;
	bottom: 0;
	left: 0;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #3ba0e8 100%);
	mix-blend-mode: multiply;
}
.sp #recruittitle:after {
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
}
#recruittitle > div {
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 0px 40px;
	margin-bottom: 0;
	z-index: 1;
	font-size: min(1.875vw, 24px);
	line-height: 1.5;
	font-weight: 400;
	color: #fff;
}
.tablet #recruittitle > div {
	padding: 0px 20px;
}
.sp #recruittitle > div {
	padding: 0px 15px;
}
.pc #recruittitle > div {
	font-size: min(1.5625vw, 20px);
}
.sp #recruittitle > div {
	font-size: min(3.4666666667vw, 13px);
	line-height: 1.6;
}
#recruittitle > div strong {
	font-size: min(3.28125vw, 42px);
	font-weight: 400;
}
.pc #recruittitle > div strong {
	font-size: min(2.5vw, 32px);
}
.sp #recruittitle > div strong {
	font-size: min(4.5333333333vw, 17px);
}
#recruittitle > div p + p {
	margin-top: min(30px, 2.34375vw);
}

.recruit_linklist ul {
	display: flex;
	flex-direction: column;
	gap: min(30px, 2.34375vw);
}
.recruit_linklist span, .recruit_linklist a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 0 40px;
	max-width: 350px;
	height: 70px;
	font-size: min(1.5625vw, 20px);
	line-height: 1;
	font-weight: 700;
	color: #fff;
	background: #8B8B8C;
	border-radius: 35px;
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.16);
}
.tablet .recruit_linklist span,
.tablet .recruit_linklist a {
	font-size: min(1.8292682927vw, 15px);
}
.sp .recruit_linklist span, .sp .recruit_linklist a {
	font-size: min(3.9228650138vw, 14.7107438017px);
}
.recruit_linklist li:nth-child(1) > * {
	background: #3BA0E8;
}
.recruit_linklist li:nth-child(2) > * {
	background: #73BF40;
}
.recruit_linklist li:nth-child(3) > * {
	background: #F28A1C;
}
.recruit_linklist a:before {
	content: "";
	display: block;
	position: absolute;
	width: 55px;
	height: 100%;
	left: auto;
	right: 55px;
	top: 0px;
	bottom: auto;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
	opacity: 0;
}
.recruit_linklist a:after {
	content: "";
	display: block;
	position: absolute;
	width: 55px;
	height: 100%;
	right: 0px;
	top: 0px;
	margin-top: 0;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
}
.recruit_linklist a:hover:before {
	right: 0px;
	opacity: 1;
	transition: right 250ms 250ms, opacity 250ms 250ms;
}
.recruit_linklist a:hover:after {
	right: -55px;
	opacity: 0;
	transition: right 250ms, opacity 250ms;
}

.recruit_numbertitle {
	position: relative;
	padding: 50px 0px 200px;
}
.recruit_numbertitle:before {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 50%;
	width: 100vw;
	height: 100%;
	margin-left: -50vw;
	background: url(../../recruit/newgraduates/images/r03.jpg) no-repeat center center;
	background-size: cover;
	z-index: -3;
}
.recruit_numbertitle:after {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 50%;
	width: 100vw;
	height: 100%;
	margin-left: -50vw;
	background: #647D8D;
	mix-blend-mode: multiply;
	opacity: 0.5;
	z-index: -2;
}
.recruit_numbertitle h2 {
	position: static;
	color: #fff !important;
	margin-bottom: 0;
}
.recruit_numbertitle h2:before {
	color: #fff !important;
}
.recruit_numbertitle h2:after {
	content: "";
	display: block !important;
	position: absolute;
	top: 0px;
	left: 50%;
	width: 100vw;
	height: 100%;
	margin-left: -50vw;
	background: linear-gradient(225deg, black 0%, rgba(0, 0, 0, 0) 100%);
	z-index: -1;
}

.recruit_number {
	position: relative;
	display: flex;
	gap: 0px;
	justify-content: space-between;
	width: 100%;
	margin-top: -150px;
	padding: 50px 20px;
	background: #fff;
	border-radius: 50px;
}
.sp .recruit_number {
	flex-direction: column;
	gap: 20px;
}
.recruit_number dl {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex-grow: 2;
	padding: 0px 10px;
}
.sp .recruit_number dl {
	flex-direction: row;
	gap: 20px;
	padding: 0px;
}
.recruit_number dl + dl {
	border-left: 1px solid #8B8B8C;
}
.sp .recruit_number dl + dl {
	border: 0;
}
.recruit_number dt {
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 700;
}
.tablet .recruit_number dt {
	font-size: min(2.1951219512vw, 18px);
}
.sp .recruit_number dt {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
.recruit_number dt img {
	display: block;
	margin: 30px auto 0;
}
.sp .recruit_number dt img {
	margin-top: 10px;
}
.recruit_number dd {
	margin: 20px 0 0;
	padding: 0;
	text-align: center;
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 700;
}
.tablet .recruit_number dd {
	font-size: min(2.1951219512vw, 18px);
}
.sp .recruit_number dd {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
.recruit_number dd span {
	font-size: min(2.34375vw, 30px);
}
.tablet .recruit_number dd span {
	font-size: min(2.743902439vw, 22.5px);
}
.sp .recruit_number dd span {
	font-size: min(5.0732782369vw, 19.0247933884px);
}
.recruit_number dd strong {
	font-size: min(5.46875vw, 70px);
	color: #960023;
}
.tablet .recruit_number dd strong {
	font-size: min(6.4024390244vw, 52.5px);
}
.sp .recruit_number dd strong {
	font-size: min(8.6170798898vw, 32.3140495868px);
}
.recruit_number dd span + strong {
	display: block;
	font-size: min(3.90625vw, 50px);
}
.tablet .recruit_number dd span + strong {
	font-size: min(4.5731707317vw, 37.5px);
}
.sp .recruit_number dd span + strong {
	font-size: min(7.0567493113vw, 26.4628099174px);
}
.recruit_number dd ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-align: left;
	font-size: min(1.328125vw, 17px);
}
.tablet .recruit_number dd ul {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .recruit_number dd ul {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.recruit_number dd li:before {
	content: "■";
	display: inline-block;
	margin-right: 2px;
	color: #797979;
}
.recruit_number dd li:nth-child(1):before {
	color: #F28A1C;
}
.recruit_number dd li:nth-child(2):before {
	color: #73BF40;
}
.recruit_number dd li:nth-child(3):before {
	color: #3BA0E8;
}

.recruit_workstyle {
	position: relative;
	padding: 80px 0px 150px;
}
.recruit_workstyle:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	top: 0px;
	left: 50%;
	background: linear-gradient(to bottom, rgba(242, 138, 28, 0.2) 0%, rgba(115, 191, 64, 0.2) 50%, rgba(59, 160, 232, 0.2) 100%);
	transform: translateX(-50%);
}
.recruit_workstyle:after {
	content: "";
	display: block !important;
	position: absolute;
	width: 100vw;
	height: 150px;
	bottom: 0px;
	left: 50%;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 100%);
	transform: translateX(-50%);
}
.recruit_workstyle .gradation {
	position: relative;
	z-index: 0;
}
.recruit_workstyle .gradation:after {
	content: "";
	display: block !important;
	position: absolute;
	width: 100vw;
	height: 150px;
	top: -80px;
	left: 50%;
	background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 100%);
	transform: translateX(-50%);
	z-index: -1;
}
.recruit_workstyle h3 {
	margin-bottom: 80px;
	border-bottom: 0;
}
.sp .recruit_workstyle h3 {
	margin-bottom: 50px;
}
.recruit_workstyle *:not(.gradation) + h3 {
	margin-top: 200px !important;
}
.sp .recruit_workstyle *:not(.gradation) + h3 {
	margin-top: 100px !important;
}
.recruit_workstyle .schedule {
	position: relative;
	z-index: 0;
}
.recruit_workstyle .schedule:before {
	content: "";
	display: block;
	position: absolute;
	top: calc(25px + min(1.875vw * 0.65, 24px * 0.65));
	left: calc(50% - 1px);
	width: 2px;
	height: calc(100% - 25px - min(1.875vw * 0.65, 24px * 0.65));
	background: linear-gradient(to bottom, white 0%, white 95%, rgba(255, 255, 255, 0) 100%);
}
.sp .recruit_workstyle .schedule:before {
	left: 19px;
}
.recruit_workstyle .schedule > div {
	position: relative;
	width: 43.75%;
	padding: 25px 30px 30px;
	background: #fff;
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.16);
	border-radius: 20px;
}
.tablet .recruit_workstyle .schedule > div {
	padding: 25px 15px 15px;
}
.sp .recruit_workstyle .schedule > div {
	padding-top: 15px;
	width: calc(100% - 70px);
	margin-right: 0;
	margin-left: auto;
	border-radius: 15px;
}
.recruit_workstyle .schedule > div:before {
	content: "";
	display: block;
	position: absolute;
	top: calc(25px + min(1.875vw * 0.65, 24px * 0.65));
	left: 100%;
	width: 14.2857142857%;
	border-bottom: 5px dotted #fff;
}
.sp .recruit_workstyle .schedule > div:before {
	top: calc(15px + min(4.3957245179vw * 0.65, 16.4839669421px * 0.65));
	width: 50px;
	left: auto;
	right: 100%;
}
.recruit_workstyle .schedule > div:after {
	content: "";
	display: block;
	position: absolute;
	top: calc(25px + min(1.875vw * 0.65, 24px * 0.65) - 18px);
	left: calc(100% + 80/560*100% - 20px);
	width: 40px;
	height: 40px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0px 0px 20px 10px #fff;
}
.sp .recruit_workstyle .schedule > div:after {
	top: calc(15px + min(4.3957245179vw * 0.65, 16.4839669421px * 0.65) - 18px);
	left: -70px;
	right: auto;
}
.recruit_workstyle .schedule > div:nth-child(odd) {
	margin-right: 0;
	margin-left: auto;
}
.recruit_workstyle .schedule > div:nth-child(odd):before {
	left: auto;
	right: 100%;
}
.recruit_workstyle .schedule > div:nth-child(odd):after {
	left: auto;
	right: calc(100% + 80/560*100% - 20px);
}
.sp .recruit_workstyle .schedule > div:nth-child(odd):after {
	left: -70px;
	right: auto;
}
.recruit_workstyle .schedule > div:nth-child(odd) .time {
	left: 30px;
	right: auto;
}
.sp .recruit_workstyle .schedule > div:nth-child(odd) .time {
	left: 20px;
}
.recruit_workstyle .schedule > div:nth-child(odd) .body {
	flex-direction: row;
}
.recruit_workstyle .schedule > div:nth-child(odd) .title {
	justify-content: flex-start;
}
.recruit_workstyle .schedule > div + div {
	margin-top: -25px;
}
.sp .recruit_workstyle .schedule > div + div {
	margin-top: 40px;
}
.recruit_workstyle .schedule .c01:after {
	box-shadow: 0px 0px 20px 10px #F28A1C;
}
.recruit_workstyle .schedule .c02:after {
	box-shadow: 0px 0px 20px 10px #73BF40;
}
.recruit_workstyle .schedule .c03:after {
	box-shadow: 0px 0px 20px 10px #3BA0E8;
}
.recruit_workstyle .schedule .time {
	position: absolute;
	bottom: 100%;
	right: 30px;
	padding: 0px 20px;
	min-width: 100px;
	font-size: min(1.171875vw, 15px);
	line-height: 30px;
	font-weight: 700;
	text-align: center;
	background: #fff;
	border-radius: 17px 17px 0 0;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	z-index: -1;
}
.tablet .recruit_workstyle .schedule .time {
	font-size: min(1.3719512195vw, 11.25px);
}
.sp .recruit_workstyle .schedule .time {
	font-size: min(3.3079889807vw, 12.4049586777px);
}
.sp .recruit_workstyle .schedule .time {
	right: auto;
	left: 20px;
	min-width: 80px;
	line-height: 20px;
	border-radius: 10px 10px 0 0;
}
.recruit_workstyle .schedule .c01 .time {
	color: #fff;
	background: #F28A1C;
}
.recruit_workstyle .schedule .c02 .time {
	color: #fff;
	background: #73BF40;
}
.recruit_workstyle .schedule .c03 .time {
	color: #fff;
	background: #3BA0E8;
}
.recruit_workstyle .schedule .title {
	display: flex;
	justify-content: flex-end;
	font-size: min(1.875vw, 24px);
	line-height: 1.3;
	font-weight: 700;
}
.tablet .recruit_workstyle .schedule .title {
	font-size: min(2.1951219512vw, 18px);
}
.sp .recruit_workstyle .schedule .title {
	font-size: min(4.3957245179vw, 16.4839669421px);
}
.sp .recruit_workstyle .schedule .title {
	justify-content: flex-start;
}
.recruit_workstyle .schedule .body {
	margin-top: 20px;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-start;
	gap: min(30px, 2.34375vw);
	font-size: min(1.71875vw, 22px);
	line-height: 1.7;
	font-weight: 400;
}
.tablet .recruit_workstyle .schedule .body {
	font-size: min(1.9512195122vw, 16px);
}
.sp .recruit_workstyle .schedule .body {
	font-size: min(3.2vw, 12px);
}
.tablet .recruit_workstyle .schedule .body {
	margin-top: 15px;
	gap: min(15px, 1.875vw);
}
.sp .recruit_workstyle .schedule .body {
	margin-top: 10px;
	flex-direction: row;
}
.recruit_workstyle .schedule .body .info {
	width: 100%;
}
.recruit_workstyle .schedule .body .image {
	flex-shrink: 0;
	margin-top: 0;
	width: min(195px, 15.234375vw);
}
.sp .recruit_workstyle .schedule .body .image {
	width: min(100px, 25vw);
}

.bgline {
	position: relative;
	padding: 50px 0 0;
	z-index: 0;
}
.bgline:before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	margin-left: -50vw;
	top: 0px;
	width: 100vw;
	height: 250px;
	background: #960023;
	z-index: -1;
}

.corporateblogblock {
	background: linear-gradient(45deg, #ced7e8 0%, #88c1dc 100%);
}
.corporateblogblock > div {
	position: relative;
	position: relative;
	width: 100%;
	max-width: 1360px;
	margin: auto;
	padding: 50px 40px;
	padding-right: min(720px, calc(50% + 40px));
}
.tablet .corporateblogblock > div {
	padding: 33.3333333333px 20px;
}
.sp .corporateblogblock > div {
	padding: 25px 15px;
}
.tablet .corporateblogblock > div {
	padding-right: min(520px, calc(50% + 20px));
}
.sp .corporateblogblock > div {
	padding-right: 15px;
}
.corporateblogblock .image {
	position: absolute;
	right: 40px;
	top: 50px;
	width: 100%;
	height: 100%;
	max-width: calc(50% - 40px);
	max-height: calc(100% - 100px);
	overflow: hidden;
}
.tablet .corporateblogblock .image {
	right: 20px;
	top: 33.33333333px;
	max-height: calc(100% - 66.66666666px);
}
.sp .corporateblogblock .image {
	position: static;
	max-width: 100%;
	max-height: 100%;
}
.corporateblogblock .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.policypurpose {
	position: relative;
	padding: min(100px, 7.8125vw) 0;
	z-index: 0;
}
.policypurpose:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	left: calc(50% - 50vw);
	top: 0;
	background: url(../images/catchbg.jpg) no-repeat center center;
	background-size: cover;
	box-shadow: 0 3px 30px rgba(0, 0, 0, 0.16);
	z-index: -2;
}
.policypurpose:after {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 60%;
	left: calc(50% - 50vw);
	bottom: 0;
	background: linear-gradient(to bottom, rgba(123, 123, 123, 0) 0%, rgba(0, 0, 0, 0.68) 100%);
	box-shadow: 0 3px 30px rgba(0, 0, 0, 0.16);
	z-index: -1;
}
.policypurpose .catch {
	position: relative;
	margin-bottom: min(60px, 4.6875vw);
	padding: 30px 0;
	font-size: min(60px, 4.4vw);
	line-height: 1;
	font-weight: 700;
	color: #fff;
	z-index: 0;
}
.policypurpose .catch span {
	display: block;
	margin-top: 20px;
	font-size: min(32px, 2.35vw);
}
.policypurpose .catch:before {
	content: "";
	position: absolute;
	display: block;
	width: 100vw;
	height: 100%;
	top: 0;
	right: 0;
	background: #960023;
	z-index: -1;
}
.policypurpose > p {
	font-size: min(1.5625vw, 20px);
	line-height: 1.9;
	font-weight: 700;
	color: #fff;
}
.tablet .policypurpose > p {
	font-size: min(1.8292682927vw, 15px);
}
.sp .policypurpose > p {
	font-size: min(3.9228650138vw, 14.7107438017px);
}

.policyvision {
	padding: min(40px, 3.125vw);
	background: #EFEFEF;
}
.policyvision .number {
	font-size: min(3.125vw, 40px);
	line-height: 1;
	font-weight: 900;
	color: #960023;
	font-family: 'Lato', sans-serif;
}
.tablet .policyvision .number {
	font-size: min(3.6585365854vw, 30px);
}
.sp .policyvision .number {
	font-size: min(6.1179063361vw, 22.9421487603px);
}
.policyvision h3 {
	margin-top: 20px !important;
	padding: 0px;
	font-size: min(3.125vw, 40px);
	line-height: 1.3;
	font-weight: 700;
	color: #000000;
	border-bottom: 0;
}
.tablet .policyvision h3 {
	font-size: min(3.6585365854vw, 30px);
}
.sp .policyvision h3 {
	font-size: min(6.1179063361vw, 22.9421487603px);
}
.policyvision ul > li {
	position: relative;
	padding-left: 1.5em;
	font-size: min(1.5625vw, 20px);
	line-height: 1.3;
	font-weight: 400;
	color: #000000;
}
.tablet .policyvision ul > li {
	font-size: min(1.8292682927vw, 15px);
}
.sp .policyvision ul > li {
	font-size: min(3.9228650138vw, 14.7107438017px);
}
.policyvision ul > li:before {
	position: absolute;
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	vertical-align: middle;
	top: 0.65em;
	left: 0.4em;
	margin-top: -3px;
	background: #000000;
	border-radius: 50%;
}
.policyvision ul > li + li {
	margin-top: 6px;
}

.policyvalues {
	position: absolute;
	width: 16em;
	font-size: min(1.5625vw, 20px);
	line-height: 1.5;
	font-weight: 400;
	color: #000000;
}
.tablet .policyvalues {
	font-size: min(1.8292682927vw, 15px);
}
.sp .policyvalues {
	font-size: min(3.9228650138vw, 14.7107438017px);
}
.sp .policyvalues {
	position: relative;
	width: 100%;
}

.policysticker {
	position: relative;
	margin-top: min(80px, 6.25vw);
	height: 1em;
	font-size: 11.5vw;
	line-height: 1;
	font-weight: 900;
	color: #EFEFEF;
	font-family: 'Lato', sans-serif;
	pointer-events: none;
}
.policysticker:before {
	content: "MBSD MBSD MBSD MBSD MBSD";
	position: absolute;
	left: 50%;
	white-space: nowrap;
	transform: translateX(-50%);
	animation: 6000ms loop linear infinite;
}

@keyframes loop {
	from {
		transform: translateX(-50%);
	}
	to {
		transform: translateX(calc(-50% - 3.38em));
	}
}
.policybg {
	position: relative;
	padding-bottom: min(300px, 15.625vw);
}
.policybg:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: calc(min(506px, 506/1080*100vw) + min(300px, 300/1920*100vw) + 38px);
	bottom: 0;
	left: calc(50% - 50vw);
	background: url(/images/policybg.webp) no-repeat center top;
	background-size: cover;
}

.topicslist > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 30px min(18px, 1.40625vw);
}
.sp .topicslist > ul {
	padding-top: 20px;
	border-top: 1px solid #8B8B8C;
}
.topicslist > ul > li {
	position: relative;
	display: flex;
	flex-direction: column;
	width: calc((100% - min(18px, 1.40625vw) * 3) / 4);
	background: #EFEFEF;
}
.sp .topicslist > ul > li {
	width: 100%;
	background: transparent;
	border-bottom: 1px solid #8B8B8C;
}
.topicslist > ul > li > a,
.topicslist > ul > li > div {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.topicslist a {
	color: #000000;
}
.topicslist a .body {
	transition: 300ms;
}
.topicslist a:hover .image div:before {
	right: 10px;
	opacity: 1;
	transition: right 250ms 250ms, opacity 250ms 250ms;
}
.topicslist a:hover .image div:after {
	right: -54px;
	opacity: 0;
	transition: right 250ms, opacity 250ms;
}
.topicslist a:hover .body {
	opacity: 0.7;
}
.topicslist .image {
	position: relative;
	align-self: flex-start;
}
.sp .topicslist .image {
	display: none;
}
.topicslist .image img {
	display: block;
	width: 100%;
	height: auto;
}
.topicslist .image:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 44px;
	height: 44px;
	background: #960023;
	z-index: 1;
	pointer-events: none;
}
.topicslist .image div {
	position: relative;
	display: block;
	overflow: hidden;
}
.topicslist .image div:before {
	content: "";
	display: block;
	position: absolute;
	width: 44px;
	height: 44px;
	right: 54px;
	bottom: 10px;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
	opacity: 0;
	z-index: 2;
}
.topicslist .image div:after {
	content: "";
	display: block;
	position: absolute;
	width: 44px;
	height: 44px;
	right: 10px;
	bottom: 10px;
	background: url(../images/arrow.svg) no-repeat center center;
	transition: 0ms;
	z-index: 2;
}
.topicslist .body {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 15px;
}
.sp .topicslist .body {
	padding: 0px 0px 10px;
}
.topicslist .date {
	font-size: min(1.328125vw, 17px);
	line-height: 1;
	font-weight: 500;
	color: #960023;
}
.tablet .topicslist .date {
	font-size: min(1.5548780488vw, 12.75px);
}
.sp .topicslist .date {
	font-size: min(3.5571129477vw, 13.3391735537px);
}
.topicslist .title {
	margin-top: 10px;
	font-size: min(1.328125vw, 17px);
	line-height: 1.5;
	font-weight: 400;
}
.sp .topicslist .title {
	font-size: min(4.2666666667vw, 16px);
}
.topicslist .info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px 20px;
	margin-top: auto;
	padding-top: 20px;
}
.topicslist .category {
	margin-left: auto;
	margin-right: 0px;
}
.topicslist .category ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 5px;
}
.topicslist .category li {
	display: block;
	padding: 0px 10px;
	min-width: 76px;
	height: 24px;
	font-size: min(0.9375vw, 12px);
	line-height: 24px;
	font-weight: 500;
	color: #fff;
	text-align: center;
	background: #8B8B8C;
	border-radius: 12px;
}
.tablet .topicslist .category li {
	font-size: min(1.0975609756vw, 9px);
}
.sp .topicslist .category li {
	font-size: min(2.926369146vw, 10.9738842975px);
}
.pc .topicslist .category li {
	min-width: 65px;
}

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#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);
}
#cboxOverlay:before {
	position: absolute;
	content: "";
	display: block;
	width: min(60px, 5vw);
	height: 60px;
	top: min(50px, 3vw);
	right: 3.75vw;
	background: url(../images/popclose.svg) no-repeat top center;
	background-size: 100% auto;
	transform: translateX(50%);
}

#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;
}

#cboxCurrent {
	position: absolute;
	top: -10px;
	left: 50%;
	font-size: min(1.40625vw, 18px);
	font-weight: bold;
	color: #ffffff;
	-webkit-transform: translate(-50%, -100%);
	transform: translate(-50%, -100%);
	-webkit-transition: 400ms;
	transition: 400ms;
	opacity: 0;
}
.tablet #cboxCurrent {
	font-size: min(1.6463414634vw, 13.5px);
}
.sp #cboxCurrent {
	font-size: min(3.6800881543vw, 13.8003305785px);
}
#cboxCurrent.view {
	opacity: 1;
}

#cboxLoadingGraphic {
	background: url(../images/loading.gif) 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;
}

#cboxPrevious {
	display: block;
	position: absolute;
	width: 80px;
	height: 80px;
	top: 50%;
	left: -120px;
	margin-top: -40px;
	text-indent: -9999px;
	background: none no-repeat center center #960023;
	border-radius: 50%;
	box-shadow: 0 0 10px -2px rgba(0, 0, 0, 0.3);
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	z-index: 30;
	-webkit-transition: 400ms;
	transition: 400ms;
	opacity: 0;
}
#cboxPrevious:hover {
	opacity: 0.7;
}
#cboxPrevious.view {
	opacity: 1;
}
.pc #cboxPrevious {
	width: 64px;
	height: 64px;
	left: -84px;
	margin-top: -32px;
}
.sp #cboxPrevious {
	width: 50px;
	height: 50px;
	left: -40px;
	margin-top: -25px;
}

#cboxNext {
	display: block;
	position: absolute;
	width: 80px;
	height: 80px;
	top: 50%;
	right: -120px;
	margin-top: -40px;
	text-indent: -9999px;
	background: none no-repeat center center #960023;
	border-radius: 50%;
	box-shadow: 0 0 10px -2px rgba(0, 0, 0, 0.3);
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	z-index: 30;
	-webkit-transition: 400ms;
	transition: 400ms;
	opacity: 0;
}
#cboxNext:hover {
	opacity: 0.7;
}
#cboxNext.view {
	opacity: 1;
}
.pc #cboxNext {
	width: 64px;
	height: 64px;
	right: -84px;
	margin-top: -32px;
}
.sp #cboxNext {
	width: 50px;
	height: 50px;
	right: -40px;
	margin-top: -25px;
}

#cboxClose {
	position: absolute;
	display: none;
	top: 28px;
	right: 28px;
	width: 42px;
	height: 42px;
	text-indent: -9999px;
	background: url(../images/close.svg) no-repeat center center;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	opacity: 0;
	z-index: 10;
}
#cboxClose:hover {
	opacity: 0.7;
}
.sp #cboxClose {
	top: 20px;
	right: 20px;
	width: 30px;
	height: 30px;
	background-size: 100%;
}
#cboxClose.view {
	opacity: 1;
}

#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.71875vw, 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(4.1614104683vw, 15.6052892562px);
}
#colorbox #waiting > div span {
	display: block;
	margin: auto;
	width: 16px;
	height: 16px;
	background: url(../images/loading.gif) no-repeat center center;
}
