@charset "Shift_JIS";

/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%
}

body {
	margin: 0
}

article,
aside,
footer,
header,
nav,
section {
	display: block
}

h1 {
	margin: 0.67em 0;
	font-size: 2em
}

figcaption,
figure,
main {
	display: block
}

figure {
	margin: 1em 40px
}

hr {
	overflow: visible;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	height: 0
}

pre {
	font-family: monospace, monospace;
	font-size: 1em
}

a {
	background-color: transparent;
	-webkit-text-decoration-skip: objects
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted
}

b,
strong {
	font-weight: inherit
}

b,
strong {
	font-weight: bolder
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em
}

dfn {
	font-style: italic
}

mark {
	background-color: #ff0;
	color: #000
}

small {
	font-size: 80%
}

sub,
sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline
}

sub {
	bottom: -0.25em
}

sup {
	top: -0.5em
}

audio,
video {
	display: inline-block
}

audio:not([controls]) {
	display: none;
	height: 0
}

img {
	border-style: none
}

svg:not(:root) {
	overflow: hidden
}

button,
input,
optgroup,
select,
textarea {
	margin: 0;
	font-family: sans-serif;
	font-size: 100%;
	line-height: 1.15
}

button,
input {
	overflow: visible
}

button,
select {
	text-transform: none
}

[type=reset],
[type=submit],
button,
html [type=button] {
	-webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
	padding: 0;
	border-style: none
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
	outline: 1px dotted ButtonText
}

fieldset {
	padding: 0.35em 0.75em 0.625em
}

legend {
	display: table;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
	max-width: 100%;
	color: inherit;
	white-space: normal
}

progress {
	display: inline-block;
	vertical-align: baseline
}

textarea {
	overflow: auto
}

[type=checkbox],
[type=radio] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto
}

[type=search] {
	outline-offset: -2px;
	-webkit-appearance: textfield
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-file-upload-button {
	font: inherit;
	-webkit-appearance: button
}

details,
menu {
	display: block
}

summary {
	display: list-item
}

canvas {
	display: inline-block
}

template {
	display: none
}

[hidden] {
	display: none
}

@media screen and (min-width:961px) {
	html {
		content: "pc"
	}
}

@media screen and (max-width:960px) {
	html {
		content: "tablet"
	}
}

@media screen and (max-width:760px) {
	html {
		content: "sp"
	}
}

@media screen and (min-width:761px) {
	.sp:not(.tablet, .pc) {
		display: none
	}
}

@media screen and (max-width:760px),
screen and (min-width:961px) {
	.tablet:not(.sp, .pc) {
		display: none
	}
}

@media screen and (max-width:960px) {
	.pc:not(.sp, .tablet) {
		display: none
	}
}

@media screen and (min-width:961px) {
	.sp.tablet:not(.pc) {
		display: none
	}
}

@media screen and (min-width:761px) and (max-width:960px) {
	.sp.pc:not(.tablet) {
		display: none
	}
}

@media screen and (max-width:760px) {
	.tablet.pc:not(.sp) {
		display: none
	}
}

@font-face {
	font-weight: 400;
	font-family: "Roobert PRO";
	src: local("Roobert PRO"), local("RoobertPRO-Regular"), url("./roobertproregular_1.woff2") format("woff2"), url("./roobertproregular_1.woff") format("woff")
}

@font-face {
	font-weight: 700;
	font-family: "Roobert PRO";
	src: local("Roobert PRO"), local("RoobertPRO-Bold"), url("./roobertprobold_1.woff2") format("woff2"), url("./roobertprobold_1.woff") format("woff")
}

:root {
	height: -webkit-fill-available;
	height: -moz-available;
	height: fill-available;
	color: #1c1c1e;
	font-size: 106.25%;
	font-family: "IBM Plex Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", yugothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.7647058824;
	letter-spacing: normal;
	background-color: #fbf7ef;
	-webkit-font-smoothing: antialiased
}

body {
	min-height: 100vh;
	min-height: -webkit-fill-available;
	min-height: -moz-available;
	min-height: fill-available
}

*,
:after,
:before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: opacity 0.3s, color 0.3s, background-color 0.3s;
	transition: opacity 0.3s, color 0.3s, background-color 0.3s
}

body {
	position: relative;
	margin: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	padding: 0;
	color: inherit;
	font-weight: inherit;
	font-size: inherit;
	letter-spacing: inherit
}

a {
	color: inherit;
	text-decoration: none;
	-webkit-transition: color 0.3s, opacity 0.3s;
	transition: color 0.3s, opacity 0.3s
}

@media (hover:hover) {
	a:hover {
		opacity: 0.5
	}
}

@media (hover:none) {
	a:active {
		opacity: 0.5
	}
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom
}

table {
	width: 100%;
	border-collapse: collapse
}

.content {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	max-width: 1152px;
	margin: 0 auto;
	padding-right: 24px;
	padding-left: 24px
}

.content--l,
.content--m,
.content--max,
.content--s,
.content--xl,
.content--xs,
.content--xxl,
.content--xxs {
	margin: 0 auto;
	padding-right: 24px;
	padding-left: 24px
}

.content--xxl {
	max-width: 1920px
}

.content--xl {
	max-width: 1600px
}

.content--l {
	max-width: 1280px
}

.content--m {
	max-width: 1024px
}

.content--s {
	max-width: 800px
}

.content--xs {
	max-width: 640px
}

.content--xxs {
	max-width: 400px
}

.header {
	padding: 0.9411764706rem 0;
	background: #fff
}

.header .content {
	max-width: 71.5294117647rem
}

.header__inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0.9411764706rem;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.header__logo {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto
}

.header .nav--header {
	margin: 0;
	padding: 0;
	list-style: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0.9411764706rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: end
}

.header .nav--header .nav__item {
	height: 2.0588235294rem;
	text-align: center
}

.header .nav--header .nav__item--pr {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: auto;
	height: auto
}

.header .nav--header .nav__item img {
	height: 100%
}

.footer {
	font-size: 0.8235294118rem;
	position: relative;
	padding-top: 2.9411764706rem;
	padding-bottom: 2.9411764706rem;
	color: #4d4d4d;
	background: #fff
}

.footer .content {
	max-width: 1080px
}

.footer__body {
	display: flexbox;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top: 26px;
	padding-top: 22px;
	background: url(https://image.itmedia.co.jp/business/special/mk240404/footerline_1.png) top repeat-x;
	background-size: 6px 1px
}

.footer__copyright {
	font-size: 0.7058823529rem
}

.footer__logo .logo--text {
	margin-left: 10px
}

.footer .nav--footer {
	margin: 0;
	padding: 0
}

.footer .nav--footer .nav__item {
	display: inline-block
}

.footer .nav--footer .nav__item a {
	color: #4d4d4d
}

.footer .nav--footer .nav__item:not(:first-child):before {
	display: inline-block;
	margin: 0 6px;
	content: "|"
}

.footer .pagetop {
	position: absolute;
	right: 2.3529411765rem;
	bottom: 100%
}

@media screen and (max-width:760px) {
	.footer {
		padding-top: 72px;
		padding-bottom: 39px
	}

	.footer__body {
		display: block;
		margin-left: 0
	}

	.footer__body>* {
		-ms-flex-positive: 0;
		-webkit-box-flex: 0;
		flex-grow: 0;
		-ms-flex-negative: 1;
		flex-shrink: 1;
		-ms-flex-preferred-size: auto;
		flex-basis: auto;
		max-width: none;
		margin-left: 0
	}

	.footer__logo .logo--text {
		display: block;
		margin-top: 10px;
		margin-left: 0
	}

	.footer__nav {
		margin-top: 13px
	}
}

.title--style01 {
	margin-bottom: 2.3529411765rem
}

.title--style01 .title__main {
	font-size: 1.6470588235rem;
	line-height: 1.4285714286
}

.title--style01 .title__sub {
	font-size: 1.1764705882rem;
	line-height: 1.25;
	margin-top: 0.2352941176rem;
	color: #fd3;
	font-family: "Roobert PRO", "IBM Plex Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", yugothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

@media screen and (max-width:760px) {
	.title--style01 {
		margin-bottom: 1.8823529412rem
	}

	.title--style01 .title__main {
		font-size: 1.4117647059rem;
		line-height: 1.4166666667
	}

	.title--style01 .title__sub {
		font-size: 1rem;
		margin-top: 0.2352941176rem
	}
}

.btn {
	display: inline-block;
	padding: 16px 40px;
	text-align: center;
	border-radius: 0.4705882353rem
}

.btn--primary {
	background: #fd3
}

.section--kv {
	padding-top: 1.1764705882rem
}

.section--kv .kv {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 62.2352941176rem;
	margin: 0 auto
}

.section--kv .kv__body {
	-ms-flex-preferred-size: 40.2352941176rem;
	flex-basis: 40.2352941176rem;
	-ms-flex-negative: 1;
	flex-shrink: 1
}

.section--kv .kv__title {
	word-break: keep-all
}

.section--kv .kv__title__main {
	font-size: 2.8235294118rem;
	line-height: 1.25;
	font-weight: 400
}

.section--kv .kv__title__sub {
	font-size: 1.1764705882rem;
	letter-spacing: 0.03em;
	font-weight: 400
}

.section--kv .kv__title span {
	display: block
}

@media screen and (max-width:760px) {
	.section--kv .kv__title__main {
		font-size: 2.2352941176rem
	}

	.section--kv .kv__title__sub {
		font-size: 1.0588235294rem;
		margin-top: 0.4705882353rem
	}
}

@media screen and (width <=1020px) {
	.section--kv .kv__description br {
		display: none
	}
}

@media screen and (max-width:760px) {
	.section--kv .kv__description {
		font-size: 0.8235294118rem
	}
}

.section--kv .kv__img {
	-ms-flex-preferred-size: 19.8235294118rem;
	flex-basis: 19.8235294118rem;
	-ms-flex-negative: 1;
	flex-shrink: 1
}

.section--kv .kv__img img {
	width: 100%;
	height: 100%;
	-o-object-fit: contain;
	object-fit: contain;
	-o-object-position: center;
	object-position: center
}

@media screen and (max-width:760px) {
	.section--kv .kv__img {
		margin-left: 15.7894736842%
	}
}

@media screen and (max-width:760px) {
	.section--kv .kv {
		display: block
	}
}

.section--cta {
	margin-top: 1.4117647059rem
}

.section--cta .cta {
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: minmax(7.0588235294rem, auto) 0.8823529412rem minmax(7.0588235294rem, auto) 0.8823529412rem minmax(7.0588235294rem, auto);
	grid-template-rows: repeat(3, minmax(7.0588235294rem, auto));
	-ms-grid-columns: 2.0212765957fr 0.9411764706rem 1fr;
	grid-template-columns: 2.0212765957fr 1fr;
	gap: 0.8823529412rem 0.9411764706rem
}

.section--cta .cta>:first-child {
	-ms-grid-row: 1;
	-ms-grid-column: 1
}

.section--cta .cta>:nth-child(2) {
	-ms-grid-row: 1;
	-ms-grid-column: 3
}

.section--cta .cta>:nth-child(3) {
	-ms-grid-row: 3;
	-ms-grid-column: 1
}

.section--cta .cta>:nth-child(4) {
	-ms-grid-row: 3;
	-ms-grid-column: 3
}

.section--cta .cta>:nth-child(5) {
	-ms-grid-row: 5;
	-ms-grid-column: 1
}

.section--cta .cta>:nth-child(6) {
	-ms-grid-row: 5;
	-ms-grid-column: 3
}

.section--cta .cta__item {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 1.0588235294rem;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	color: #fff;
	border: 0.0588235294rem solid var(--gray-600, #afb1b2);
	border-radius: 0.7058823529rem
}

.section--cta .cta__item:first-child {
	-ms-grid-row: 1;
	-ms-grid-row-span: 3;
	grid-row: 1/span 3;
	padding: 1.3529411765rem 2.2941176471rem 1.3529411765rem 2.2941176471rem
}

.section--cta .cta__item:first-child:after {
	position: absolute;
	bottom: 100%;
	left: 0;
	display: block;
	width: 2rem;
	height: 1.4705882353rem;
	background: url(https://image.itmedia.co.jp/business/special/mk240404/illustbird_1.png) center/contain no-repeat;
	content: ""
}

.section--cta .cta__item:first-child .cta__title {
	font-size: 1.4117647059rem;
	line-height: 1.5
}

.section--cta .cta__item:first-child .cta__body {
	max-width: 25.8823529412rem
}

.section--cta .cta__item:first-child .cta__desc:empty {
	display: none
}

.section--cta .cta__item:not(:first-child) {
	padding: 0.8823529412rem 1.3529411765rem 0.8823529412rem 1.3529411765rem
}

.section--cta .cta__item:not(:first-child) .cta__title {
	font-size: 0.8823529412rem;
	line-height: 1.6
}

.section--cta .cta__item:nth-child(2) {
	-ms-grid-row-span: 2;
	grid-row-end: span 2
}

.section--cta .cta__img {
	position: absolute;
	z-index: -1;
	overflow: hidden;
	border-radius: 0.6470588235rem;
	inset: 0
}

.section--cta .cta__img:after {
	position: absolute;
	display: block;
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(92, 69, 69, 0.3)), to(rgba(0, 0, 0, 0.8)));
	background: linear-gradient(180deg, rgba(92, 69, 69, 0.3) 0%, rgba(0, 0, 0, 0.8) 100%);
	content: "";
	inset: 0
}

.section--cta .cta__img img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.section--cta .cta__category {
	font-size: 0.7058823529rem;
	line-height: 1.1666666667;
	gap: 0.625rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-item-align: end;
	align-self: flex-end;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 0.2352941176rem 0.5882352941rem;
	color: #1c1c1e;
	font-family: "Roobert PRO", "IBM Plex Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", yugothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background: #fff;
	border: 0.0588235294rem #afb1b2;
	border-radius: 588.1764705882rem
}

.section--cta .cta__body {
	width: 100%
}

.section--cta .cta__desc {
	margin: 1.4117647059rem 0 0
}

@media screen and (max-width:760px) {
	.section--cta .cta {
		-ms-grid-rows: auto;
		grid-template-rows: auto;
		-ms-grid-columns: 1fr;
		grid-template-columns: 1fr;
		gap: 0.9411764706rem
	}

	.section--cta .cta>:first-child {
		-ms-grid-row: 1;
		-ms-grid-column: 1
	}

	.section--cta .cta__item {
		gap: 1.2941176471rem
	}

	.section--cta .cta__item:first-child {
		-ms-grid-row: 1;
		-ms-grid-row-span: 1;
		grid-row: 1/span 1;
		min-height: 21.1764705882rem;
		padding: 0.9411764706rem
	}

	.section--cta .cta__item:first-child .cta__title {
		font-size: 1.0588235294rem;
		line-height: 1.7222222222
	}

	.section--cta .cta__item:first-child .cta__desc {
		font-size: 0.7058823529rem;
		line-height: 1.8333333333
	}

	.section--cta .cta__item:not(:first-child) {
		min-height: 7.0588235294rem;
		padding: 0.9411764706rem
	}

	.section--cta .cta__item:not(:first-child) .cta__title {
		font-size: 0.8235294118rem;
		line-height: 1.7142857143
	}

	.section--cta .cta__item:nth-child(2) {
		min-height: 14.1176470588rem
	}
}

@media screen and (max-width:760px) {
	.section--cta {
		margin-top: 3.1764705882rem
	}
}

.btn--link-anchor,
.btn--link-ex {
	position: relative;
	display: block;
	padding: 0.8823529412rem;
	color: #1c1c1e;
	text-align: center
}

.btn--link-anchor:after,
.btn--link-ex:after {
	position: absolute;
	top: 50%;
	right: 1.0588235294rem;
	display: block;
	width: 1.4117647059rem;
	height: 1.4117647059rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	content: ""
}

.btn--link-ex {
	background: #fd3;
	border: 0.0588235294rem solid #fd3;
	border-radius: 0.5rem
}

.btn--link-ex:after {
	background: url(https://image.itmedia.co.jp/business/special/mk240404/iconexternal_1.png) center/contain no-repeat
}

.btn--link-anchor {
	background: #fff;
	border: 0.0588235294rem solid #afb1b2;
	border-radius: 0.5rem
}

.btn--link-anchor:after {
	background: url(https://image.itmedia.co.jp/business/special/mk240404/iconanchor_1.png) center/contain no-repeat
}

.section--navi {
	margin-top: 2.8235294118rem
}

.section--navi .content {
	max-width: 49.4117647059rem
}

.section--navi .navi {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1.8823529412rem;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.section--navi .navi:before {
	display: block;
	-ms-flex-preferred-size: 18.1176470588rem;
	flex-basis: 18.1176470588rem;
	background: url(https://image.itmedia.co.jp/business/special/mk240404/illustnavi_1.png) center/contain no-repeat;
	content: ""
}

.section--navi .navi__body {
	-ms-flex-preferred-size: 27.4117647059rem;
	flex-basis: 27.4117647059rem
}

.section--navi .nav--primary {
	margin: 0;
	padding: 0;
	list-style: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	gap: 1.4705882353rem
}

@media screen and (max-width:760px) {
	.section--navi .navi {
		display: block
	}

	.section--navi .navi:before {
		content: none
	}
}

.menu {
	position: fixed;
	top: 0;
	z-index: 5;
	display: none;
	width: 100%;
	padding: 0.9411764706rem 0;
	background: #fff;
	-webkit-transition: none;
	transition: none
}

.menu .content {
	max-width: 71.5294117647rem
}

.menu__body {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1.1764705882rem;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.menu .nav {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.8823529412rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1.8823529412rem
}

.menu .link--external:after {
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: 0.4705882353rem;
	vertical-align: -0.1176470588rem;
	background: url(https://image.itmedia.co.jp/business/special/mk240404/iconexternal_1.png) center/contain no-repeat;
	content: ""
}

.menu .btn--drawer {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 2.6470588235rem;
	height: 2.6470588235rem;
	padding: 0.5882352941rem;
	background: #fd3;
	border-radius: 0.2352941176rem;
	cursor: pointer
}

@media (hover:hover) {
	.menu .btn--drawer:hover {
		opacity: 0.5
	}
}

@media (hover:none) {
	.menu .btn--drawer:active {
		opacity: 0.5
	}
}

@media screen and (max-width:960px) {
	.menu {
		padding: 0.6470588235rem 0
	}
}

.divider {
	position: relative;
	margin-top: 7.0588235294rem;
	margin-bottom: 0;
	border: 1px solid #afb1b2
}

.divider:after {
	position: absolute;
	right: 0;
	bottom: -0.3529411765rem;
	display: block;
	width: 8rem;
	height: 3.1764705882rem;
	background: url(https://image.itmedia.co.jp/business/special/mk240404/illustcat_1.png) center/contain no-repeat;
	content: ""
}

@media screen and (max-width:760px) {
	.divider {
		margin-top: 5.1176470588rem;
		margin-top: 7.0588235294rem
	}
}

.l-2column {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 2.0217391304fr 2.3529411765rem 1fr;
	grid-template-columns: 2.0217391304fr 1fr;
	gap: 2.3529411765rem;
	margin-top: 3.2941176471rem;
	margin-top: 7.0588235294rem
}

.l-2column__left>* {
	position: relative
}

.l-2column__left>*+* {
	margin-top: 3.2941176471rem
}

@media screen and (min-width:961px) {
	.l-2column__right {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end
	}

	.l-2column__right .stk {
		position: sticky;
		bottom: 2rem;
		min-height: min(100%, 100dvh)
	}

	.l-2column__right .stk>* {
		position: sticky;
		top: 5.2941176471rem
	}
}

@media screen and (max-width:960px) {
	.l-2column {
		display: block
	}

	.l-2column__right {
		margin-top: 4.3529411765rem
	}
}

.article__item {
	display: block;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--gray-600, #afb1b2);
	border-radius: 0.9411764706rem
}

.article__thumb img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.article__body {
	padding: 1.8823529412rem
}

.article__cat {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 0.4705882353rem;
	margin-bottom: 0.9411764706rem
}

.article__cat:has(.cat__item:empty) {
	display: none
}

.article__cat .cat__item {
	font-size: 0.7058823529rem;
	line-height: 1.1666666667;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	padding: 0.2352941176rem 0.5882352941rem;
	font-family: "Roobert PRO", "IBM Plex Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", yugothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background: #fff;
	border: 0.0588235294rem solid var(--gray-600, #afb1b2);
	border-radius: 0.9411764706rem
}

.article__cat .cat__item.new {
	color: #fff;
	background: #ff8080;
	border: 0
}

.article__cat .cat__item.archive {
	background: #fd3;
	border: 0
}

.article__cat .cat__item:empty {
	display: none
}

@media screen and (max-width:760px) {
	.article__body {
		padding: 1.4117647059rem 1.4117647059rem 1.8823529412rem
	}
}

.article--editorial {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1.4117647059rem 1fr;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.4117647059rem
}

@media (hover:hover) {
	.article--editorial .article__item:hover .article__btn {
		color: #fff;
		background: #4961f6;
		border-color: #4961f6
	}
}

@media (hover:none) {
	.article--editorial .article__item:active .article__btn {
		color: #fff;
		background: #4961f6;
		border-color: #4961f6
	}
}

.article--editorial .article__thumb {
	aspect-ratio: 360/222
}

.article--editorial .article__btn {
	font-size: 0.9411764706rem;
	line-height: 1.625;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 1.4117647059rem;
	padding: 0.5882352941rem 1.1764705882rem;
	font-family: "Roobert PRO", "IBM Plex Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", yugothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	border: 0.0588235294rem solid var(--gray-600, #afb1b2);
	border-radius: 0.4705882353rem
}

@media screen and (min-width:761px) {
	.article--editorial .article__item:first-child {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-grid-column: 1;
		-ms-grid-column-span: 2;
		grid-column: 1/span 2
	}

	.article--editorial .article__item:first-child .article__thumb {
		-webkit-box-flex: 0;
		-ms-flex: 0 0 62%;
		flex: 0 0 62%;
		max-width: 62%
	}

	.article--editorial .article__item:first-child .article__body {
		-webkit-box-flex: 0;
		-ms-flex: 0 0 38%;
		flex: 0 0 38%;
		padding: 2.3529411765rem 1.8823529412rem
	}
}

@media screen and (max-width:760px) {
	.article--editorial {
		-ms-grid-columns: 1fr;
		grid-template-columns: repeat(1, 1fr);
		gap: 1.4117647059rem
	}

	.article--editorial .article__item:first-child {
		display: block;
		-ms-grid-column: 1;
		-ms-grid-column-span: 1;
		grid-column: 1/span 1
	}
}

.illust {
	text-align: center
}

.section--case {
	position: relative
}

.article--case {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1.4117647059rem 1fr 1.4117647059rem 1fr;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.4117647059rem
}

.article--case .article__thumb {
	aspect-ratio: 800/445
}

.article--case .article__body {
	padding: 1.4117647059rem
}

.article--case .article__company {
	font-size: 1rem;
	line-height: 1.5294117647;
	font-weight: 600
}

.article--case .article__title {
	font-size: 0.7647058824rem;
	line-height: 1.6923076923;
	margin-top: 0.2352941176rem;
	color: var(--gray-600, #afb1b2)
}

@media screen and (max-width:760px) {
	.article--case {
		-ms-grid-columns: 1fr 0.9411764706rem 1fr;
		grid-template-columns: repeat(2, 1fr);
		gap: 0.9411764706rem
	}

	.article--case .article__body {
		padding: 0.9411764706rem
	}

	.article--case .article__company {
		font-size: 0.8823529412rem
	}

	.article--case .article__title {
		font-size: 0.7058823529rem;
		line-height: 1.5
	}
}

.article--webinar {
	display: -ms-grid;
	display: grid;
	gap: 1.4117647059rem
}

.article--webinar .article__body {
	padding: 1.4117647059rem 1.8823529412rem
}

.article--webinar .article__thumb {
	position: relative;
	aspect-ratio: 368/207
}

.article--webinar .article__thumb:after {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background: url(https://image.itmedia.co.jp/business/special/mk240404/iconplay_1.png) center/4.7058823529rem 4.7058823529rem no-repeat, -webkit-gradient(linear, left top, left bottom, from(rgba(92, 69, 69, 0.3)), to(rgba(0, 0, 0, 0.8)));
	background: url(https://image.itmedia.co.jp/business/special/mk240404/iconplay_1.png) center/4.7058823529rem 4.7058823529rem no-repeat, linear-gradient(180deg, rgba(92, 69, 69, 0.3) 0%, rgba(0, 0, 0, 0.8) 100%);
	content: "";
	inset: 0
}

.article--webinar .article__cat {
	margin-bottom: 0.4705882353rem
}

@media screen and (max-width:960px) and (min-width:761px) {
	.article--webinar {
		-ms-grid-columns: (1fr)[2];
		grid-template-columns: repeat(2, 1fr)
	}
}

@media screen and (max-width:760px) {
	.article--webinar .article__body {
		padding: 1.4117647059rem
	}

	.article--webinar .article__title {
		font-size: 0.8235294118rem;
		line-height: 1.7142857143
	}
}

.section--contact {
	margin: 7.0588235294rem 0 4.7058823529rem;
	text-align: center
}

.section--contact .contact__logo {
	margin-top: 3.7647058824rem
}

.section--contact .contact p {
	white-space: pre-wrap;
	word-break: keep-all
}

@media screen and (max-width:760px) {
	.section--contact {
		margin: 6.1176470588rem 0 9.6470588235rem
	}
}

.drawer {
	position: fixed;
	z-index: 10;
	display: none;
	height: 100dvh;
	padding-left: 3.7647058824rem;
	inset: 0;
	-webkit-transition: none;
	transition: none
}

.drawer__overlay {
	position: absolute;
	inset: 0;
	background: rgba(28, 28, 30, 0.6);
	-webkit-transition: none;
	transition: none
}

.drawer__body {
	position: relative;
	height: 100%;
	padding: 2.8235294118rem 2.3529411765rem;
	overflow: auto;
	background: rgba(255, 221, 51, 0.95);
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
	-webkit-transition: -webkit-transform 0.7s;
	transition: -webkit-transform 0.7s;
	transition: transform 0.7s;
	transition: transform 0.7s, -webkit-transform 0.7s
}

.drawer__body.show {
	-webkit-transform: translateX(0%);
	transform: translateX(0%)
}

.drawer__body>* {
	padding-bottom: 2.3529411765rem;
	border-bottom: 1px solid
}

.drawer__body>*+* {
	padding-top: 2.3529411765rem
}

.drawer__title {
	font-size: 1.4117647059rem;
	font-weight: 700;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	font-family: "Roobert PRO", "IBM Plex Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", yugothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}

.drawer__nav .nav {
	margin: 0;
	padding: 0;
	list-style: none
}

.drawer__nav .nav>:first-child {
	margin-top: 0 !important
}

.drawer__nav .nav>:last-child {
	margin-bottom: 0 !important
}

.drawer__nav .nav__item {
	margin: 1.8823529412rem 0
}

.drawer__nav .nav .link--external:after {
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: 0.4705882353rem;
	vertical-align: -0.1176470588rem;
	background: url(https://image.itmedia.co.jp/business/special/mk240404/iconexternal_1.png) center/contain no-repeat;
	content: ""
}

.drawer .btn--drawer--close {
	line-height: 1;
	cursor: pointer
}

@media (hover:hover) {
	.drawer .btn--drawer--close:hover {
		opacity: 0.5
	}
}

@media (hover:none) {
	.drawer .btn--drawer--close:active {
		opacity: 0.5
	}
}

.drawer-open body {
	position: fixed;
	width: 100%;
	overflow: hidden
}

@media print {
	.sp {
		display: none
	}
}

.d_ib {
	display: inline-block !important
}

.d_b {
	display: block !important
}

.fl_l {
	float: left
}

.fl_r {
	float: right
}

.ta_r {
	text-align: right
}

.ta_c {
	text-align: center
}

.ta_l {
	text-align: left
}

.fw_100 {
	font-weight: 100
}

.fw_200 {
	font-weight: 200
}

.fw_300 {
	font-weight: 300
}

.fw_400 {
	font-weight: 400
}

.fw_500 {
	font-weight: 500
}

.fw_600 {
	font-weight: 600
}

.fw_700 {
	font-weight: 700
}

.fw_800 {
	font-weight: 800
}

.fw_900 {
	font-weight: 900
}

.fw_n {
	font-weight: normal
}

.fw_b {
	font-weight: bold
}

.fz_xxs {
	font-size: 0.5882352941rem
}

.fz_xs {
	font-size: 0.7058823529rem
}

.fz_s {
	font-size: 0.8235294118rem
}

.fz_l {
	font-size: 1.0588235294rem
}

.fz_xl {
	font-size: 1.2941176471rem
}

.fz_xxl {
	font-size: 1.6470588235rem
}

.fz_10 {
	font-size: 10px
}

.fz_11 {
	font-size: 11px
}

.fz_12 {
	font-size: 12px
}

.fz_13 {
	font-size: 13px
}

.fz_14 {
	font-size: 14px
}

.fz_15 {
	font-size: 15px
}

.fz_16 {
	font-size: 16px
}

.fz_17 {
	font-size: 17px
}

.fz_18 {
	font-size: 18px
}

.fz_19 {
	font-size: 19px
}

.fz_20 {
	font-size: 20px
}

.fz_22 {
	font-size: 22px
}

.fz_24 {
	font-size: 24px
}

.fz_26 {
	font-size: 26px
}

.fz_28 {
	font-size: 28px
}

.fz_30 {
	font-size: 30px
}

.fz_32 {
	font-size: 32px
}

.fz_34 {
	font-size: 34px
}

.fz_36 {
	font-size: 36px
}

.fz_38 {
	font-size: 38px
}

.fz_40 {
	font-size: 40px
}

.fz_42 {
	font-size: 42px
}

.fz_44 {
	font-size: 44px
}

.fz_46 {
	font-size: 46px
}

.fz_48 {
	font-size: 48px
}

.fz_50 {
	font-size: 50px
}

.m_0 {
	margin: 0px
}

.mt_0 {
	margin-top: 0px
}

.mr_0 {
	margin-right: 0px
}

.mb_0 {
	margin-bottom: 0px
}

.ml_0 {
	margin-left: 0px
}

.m_5 {
	margin: 5px
}

.mt_5 {
	margin-top: 5px
}

.mr_5 {
	margin-right: 5px
}

.mb_5 {
	margin-bottom: 5px
}

.ml_5 {
	margin-left: 5px
}

.m_10 {
	margin: 10px
}

.mt_10 {
	margin-top: 10px
}

.mr_10 {
	margin-right: 10px
}

.mb_10 {
	margin-bottom: 10px
}

.ml_10 {
	margin-left: 10px
}

.m_15 {
	margin: 15px
}

.mt_15 {
	margin-top: 15px
}

.mr_15 {
	margin-right: 15px
}

.mb_15 {
	margin-bottom: 15px
}

.ml_15 {
	margin-left: 15px
}

.m_20 {
	margin: 20px
}

.mt_20 {
	margin-top: 20px
}

.mr_20 {
	margin-right: 20px
}

.mb_20 {
	margin-bottom: 20px
}

.ml_20 {
	margin-left: 20px
}

.m_25 {
	margin: 25px
}

.mt_25 {
	margin-top: 25px
}

.mr_25 {
	margin-right: 25px
}

.mb_25 {
	margin-bottom: 25px
}

.ml_25 {
	margin-left: 25px
}

.m_30 {
	margin: 30px
}

.mt_30 {
	margin-top: 30px
}

.mr_30 {
	margin-right: 30px
}

.mb_30 {
	margin-bottom: 30px
}

.ml_30 {
	margin-left: 30px
}

.m_35 {
	margin: 35px
}

.mt_35 {
	margin-top: 35px
}

.mr_35 {
	margin-right: 35px
}

.mb_35 {
	margin-bottom: 35px
}

.ml_35 {
	margin-left: 35px
}

.m_40 {
	margin: 40px
}

.mt_40 {
	margin-top: 40px
}

.mr_40 {
	margin-right: 40px
}

.mb_40 {
	margin-bottom: 40px
}

.ml_40 {
	margin-left: 40px
}

.m_45 {
	margin: 45px
}

.mt_45 {
	margin-top: 45px
}

.mr_45 {
	margin-right: 45px
}

.mb_45 {
	margin-bottom: 45px
}

.ml_45 {
	margin-left: 45px
}

.m_50 {
	margin: 50px
}

.mt_50 {
	margin-top: 50px
}

.mr_50 {
	margin-right: 50px
}

.mb_50 {
	margin-bottom: 50px
}

.ml_50 {
	margin-left: 50px
}

.m_55 {
	margin: 55px
}

.mt_55 {
	margin-top: 55px
}

.mr_55 {
	margin-right: 55px
}

.mb_55 {
	margin-bottom: 55px
}

.ml_55 {
	margin-left: 55px
}

.m_60 {
	margin: 60px
}

.mt_60 {
	margin-top: 60px
}

.mr_60 {
	margin-right: 60px
}

.mb_60 {
	margin-bottom: 60px
}

.ml_60 {
	margin-left: 60px
}

.m_65 {
	margin: 65px
}

.mt_65 {
	margin-top: 65px
}

.mr_65 {
	margin-right: 65px
}

.mb_65 {
	margin-bottom: 65px
}

.ml_65 {
	margin-left: 65px
}

.m_70 {
	margin: 70px
}

.mt_70 {
	margin-top: 70px
}

.mr_70 {
	margin-right: 70px
}

.mb_70 {
	margin-bottom: 70px
}

.ml_70 {
	margin-left: 70px
}

.m_75 {
	margin: 75px
}

.mt_75 {
	margin-top: 75px
}

.mr_75 {
	margin-right: 75px
}

.mb_75 {
	margin-bottom: 75px
}

.ml_75 {
	margin-left: 75px
}

.m_80 {
	margin: 80px
}

.mt_80 {
	margin-top: 80px
}

.mr_80 {
	margin-right: 80px
}

.mb_80 {
	margin-bottom: 80px
}

.ml_80 {
	margin-left: 80px
}

.m_85 {
	margin: 85px
}

.mt_85 {
	margin-top: 85px
}

.mr_85 {
	margin-right: 85px
}

.mb_85 {
	margin-bottom: 85px
}

.ml_85 {
	margin-left: 85px
}

.m_90 {
	margin: 90px
}

.mt_90 {
	margin-top: 90px
}

.mr_90 {
	margin-right: 90px
}

.mb_90 {
	margin-bottom: 90px
}

.ml_90 {
	margin-left: 90px
}

.m_95 {
	margin: 95px
}

.mt_95 {
	margin-top: 95px
}

.mr_95 {
	margin-right: 95px
}

.mb_95 {
	margin-bottom: 95px
}

.ml_95 {
	margin-left: 95px
}

.m_100 {
	margin: 100px
}

.mt_100 {
	margin-top: 100px
}

.mr_100 {
	margin-right: 100px
}

.mb_100 {
	margin-bottom: 100px
}

.ml_100 {
	margin-left: 100px
}

.p_0 {
	padding: 0px
}

.pt_0 {
	padding-top: 0px
}

.pr_0 {
	padding-right: 0px
}

.pb_0 {
	padding-bottom: 0px
}

.pl_0 {
	padding-left: 0px
}

.p_5 {
	padding: 5px
}

.pt_5 {
	padding-top: 5px
}

.pr_5 {
	padding-right: 5px
}

.pb_5 {
	padding-bottom: 5px
}

.pl_5 {
	padding-left: 5px
}

.p_10 {
	padding: 10px
}

.pt_10 {
	padding-top: 10px
}

.pr_10 {
	padding-right: 10px
}

.pb_10 {
	padding-bottom: 10px
}

.pl_10 {
	padding-left: 10px
}

.p_15 {
	padding: 15px
}

.pt_15 {
	padding-top: 15px
}

.pr_15 {
	padding-right: 15px
}

.pb_15 {
	padding-bottom: 15px
}

.pl_15 {
	padding-left: 15px
}

.p_20 {
	padding: 20px
}

.pt_20 {
	padding-top: 20px
}

.pr_20 {
	padding-right: 20px
}

.pb_20 {
	padding-bottom: 20px
}

.pl_20 {
	padding-left: 20px
}

.p_25 {
	padding: 25px
}

.pt_25 {
	padding-top: 25px
}

.pr_25 {
	padding-right: 25px
}

.pb_25 {
	padding-bottom: 25px
}

.pl_25 {
	padding-left: 25px
}

.p_30 {
	padding: 30px
}

.pt_30 {
	padding-top: 30px
}

.pr_30 {
	padding-right: 30px
}

.pb_30 {
	padding-bottom: 30px
}

.pl_30 {
	padding-left: 30px
}

.p_35 {
	padding: 35px
}

.pt_35 {
	padding-top: 35px
}

.pr_35 {
	padding-right: 35px
}

.pb_35 {
	padding-bottom: 35px
}

.pl_35 {
	padding-left: 35px
}

.p_40 {
	padding: 40px
}

.pt_40 {
	padding-top: 40px
}

.pr_40 {
	padding-right: 40px
}

.pb_40 {
	padding-bottom: 40px
}

.pl_40 {
	padding-left: 40px
}

.p_45 {
	padding: 45px
}

.pt_45 {
	padding-top: 45px
}

.pr_45 {
	padding-right: 45px
}

.pb_45 {
	padding-bottom: 45px
}

.pl_45 {
	padding-left: 45px
}

.p_50 {
	padding: 50px
}

.pt_50 {
	padding-top: 50px
}

.pr_50 {
	padding-right: 50px
}

.pb_50 {
	padding-bottom: 50px
}

.pl_50 {
	padding-left: 50px
}

.p_55 {
	padding: 55px
}

.pt_55 {
	padding-top: 55px
}

.pr_55 {
	padding-right: 55px
}

.pb_55 {
	padding-bottom: 55px
}

.pl_55 {
	padding-left: 55px
}

.p_60 {
	padding: 60px
}

.pt_60 {
	padding-top: 60px
}

.pr_60 {
	padding-right: 60px
}

.pb_60 {
	padding-bottom: 60px
}

.pl_60 {
	padding-left: 60px
}

.p_65 {
	padding: 65px
}

.pt_65 {
	padding-top: 65px
}

.pr_65 {
	padding-right: 65px
}

.pb_65 {
	padding-bottom: 65px
}

.pl_65 {
	padding-left: 65px
}

.p_70 {
	padding: 70px
}

.pt_70 {
	padding-top: 70px
}

.pr_70 {
	padding-right: 70px
}

.pb_70 {
	padding-bottom: 70px
}

.pl_70 {
	padding-left: 70px
}

.p_75 {
	padding: 75px
}

.pt_75 {
	padding-top: 75px
}

.pr_75 {
	padding-right: 75px
}

.pb_75 {
	padding-bottom: 75px
}

.pl_75 {
	padding-left: 75px
}

.p_80 {
	padding: 80px
}

.pt_80 {
	padding-top: 80px
}

.pr_80 {
	padding-right: 80px
}

.pb_80 {
	padding-bottom: 80px
}

.pl_80 {
	padding-left: 80px
}

.p_85 {
	padding: 85px
}

.pt_85 {
	padding-top: 85px
}

.pr_85 {
	padding-right: 85px
}

.pb_85 {
	padding-bottom: 85px
}

.pl_85 {
	padding-left: 85px
}

.p_90 {
	padding: 90px
}

.pt_90 {
	padding-top: 90px
}

.pr_90 {
	padding-right: 90px
}

.pb_90 {
	padding-bottom: 90px
}

.pl_90 {
	padding-left: 90px
}

.p_95 {
	padding: 95px
}

.pt_95 {
	padding-top: 95px
}

.pr_95 {
	padding-right: 95px
}

.pb_95 {
	padding-bottom: 95px
}

.pl_95 {
	padding-left: 95px
}

.p_100 {
	padding: 100px
}

.pt_100 {
	padding-top: 100px
}

.pr_100 {
	padding-right: 100px
}

.pb_100 {
	padding-bottom: 100px
}

.pl_100 {
	padding-left: 100px
}