:root {
	--theme-font-sans: YakuHanJPs, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans Japanese", Meiryo, "Yu Gothic Medium", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	--theme-font-sans-en: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--theme-font-script: "Brush Script MT", "Brush Script Std", "Lucida Calligraphy", "Lucida Handwriting", "Apple Chancery", cursive;
	--theme-font-mono: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", Meiryo, monospace, serif;
	--theme-site-width: 1000px;
	--theme-tx-1: #28373a;
	--theme-tx-2: #3a4e52;
	--theme-tx-3: #8ab7c1;
	--theme-tx-4: #4c3305;
	--theme-bg-1: #fff;
	--theme-bg-2: #eff6f8;
	--theme-bg-3: #d9f0f5;
	--theme-bg-4: #f5f5f5;
	--theme-bg-5: #f8f9f9;
	--theme-bg-6: #eff6f8;
	--theme-bd-1: #e7e1e0;
	--theme-bd-2: #bdbdbd;
	--theme-lk-1: #178cb1;
	--theme-lk-2: #17b169;
	--theme-lk-tx: #fff;
	--theme-ac-1: #178cb1;
	--theme-ac-2: #fc5367;
	--theme-ac-3: #ffee57;
	--theme-ac-4: #ffe446;
	--theme-ac-5: #ddfaff;
	--theme-ac-6: #0fbfbf;
	--theme-ac-7: #e6f7f6
}

*, :after, :before {
	box-sizing: border-box;
	font-family: inherit;
	margin: 0;
	padding: 0
}

html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
	font-family: var(--theme-font-sans)
}

body, html {
	word-break: break-word
}

body {
	background: var(--theme-bg-1);
	color: var(--theme-tx-2);
	font-size: 1rem;
	line-height: 1.5
}

ol, ul {
	list-style: none
}

a {
	color: var(--theme-lk-1);
	text-decoration: underline
}

a:hover {
	text-decoration: none
}

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

h1, h2, h3, h4, h5, h6 {
	color: var(--theme-tx-1);
	font-weight: 600;
	line-height: 1.5
}

h1 {
	font-size: 2rem
}

h2 {
	font-size: 1.5rem
}

h3 {
	font-size: 1.25rem
}

h4 {
	font-size: 1rem
}

h5 {
	font-size: .875rem
}

h6 {
	font-size: .75rem
}

p {
	line-height: 1.75
}

@media (max-width:767px) {
	h1 {
		font-size: 1.5rem
	}
	h2 {
		font-size: 1.375rem
	}
}

.app-layout {
	display: flex;
	flex-direction: column;
	min-height: 100vh
}

.app-layout>:not(.app-main) {
	flex: none
}

.app-layout>.app-main {
	flex: 1 0 auto
}

.app-header {
	background-color: var(--theme-bg-1);
	border-bottom: 1px solid var(--theme-bg-2);
	position: relative;
	width: 100%;
	z-index: 100
}

.app-header-box.is-display-flex {
    display: flex;
    align-items: center;
    gap: 12px;
}

.app-header-box.is-display-flex.is-gap-4px {
	gap: 4px;
}

.app-header-inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--theme-site-width);
	min-height: 80px;
	padding: 0 20px;
	position: relative
}

.app-header-logo {
	display: block;
	height: auto;
	width: clamp(140px, 25vw, 200px)
}

.app-header-menu-desktop .menu.is-main {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--theme-site-width);
	padding: 0 0 0 20px
}

.app-header-menu-desktop .menu.is-main>.menu-item {
	position: relative
}

.app-header-menu-desktop .menu.is-main>.menu-item:not(:first-child) {
	margin-left: 32px
}

.app-header-menu-desktop .menu.is-main>.menu-item.menu-item-has-children:hover .sub-menu {
	display: block
}

.app-header-menu-desktop .menu.is-main .sub-menu {
	background-color: var(--theme-bg-1);
	border-radius: 8px;
	box-shadow: 0 4px 12px 2px #0000001f;
	display: none;
	left: 0;
	padding: 4px 16px;
	position: absolute;
	top: 100%;
	white-space: nowrap
}

.app-header-menu-desktop .menu.is-main .menu-item.is-default a {
	color: var(--theme-tx-2);
	display: flex;
	font-size: .875rem;
	font-weight: 500;
	padding: 16px 0;
	position: relative;
	text-decoration: none
}

.app-header-menu-desktop .menu.is-main .menu-item.is-default a:after {
	background-color: var(--theme-ac-1);
	border-radius: 1px;
	bottom: 0;
	content: "";
	height: 2px;
	left: 50%;
	opacity: 0;
	position: absolute;
	transform: translateX(-50%);
	transition: .12s ease-in;
	width: 0
}

.app-header-menu-desktop .menu.is-main .menu-item.is-default a:hover:after {
	opacity: .5;
	width: 100%
}

.app-header-menu-desktop .menu.is-main .menu-item.is-default.current-menu-item>a:after {
	opacity: 1;
	width: 100%
}

.app-header-menu-desktop .menu.is-main .menu-item.is-button+.menu-item.is-button {
	margin-left: 8px
}

.app-header-menu-desktop .menu.is-main .menu-item.is-button a {
	border: 1px solid #0000;
	border-radius: 4px;
	display: flex;
	font-size: .875rem;
	font-weight: 500;
	padding: 8px 16px;
	position: relative;
	text-decoration: none
}

.app-header-menu-desktop .menu.is-main .menu-item.is-plain a {
	background-color: var(--theme-lk-1);
	color: var(--theme-lk-tx)
}

.app-header-menu-desktop .menu.is-main .menu-item.is-plain.is-color-ac-2 a {
	background-color: var(--theme-ac-2);
	color: var(--theme-lk-tx)
}

.app-header-menu-desktop .menu.is-main .menu-item.is-plain a:hover {
	filter: brightness(.9)
}

.app-header-menu-desktop .menu.is-main .menu-item.is-outline a {
	background-color: initial;
	border-color: var(--theme-lk-1);
	color: var(--theme-lk-1)
}

.app-header-menu-desktop .menu.is-main .menu-item.is-outline a:hover {
	background-color: var(--theme-lk-1);
	color: var(--theme-lk-tx)
}

.app-header-menu-desktop .menu.is-main .menu-item.is-signup a {
	background-color: var(--theme-lk-2);
	color: var(--theme-lk-tx)
}

.app-header-menu-desktop .menu.is-main .menu-item.is-signup a:hover {
	filter: brightness(.9)
}

.app-header-menu-mobile {
	background-color: var(--theme-bg-1)
}

.app-header-menu-mobile .menu.is-main {
	transition: .12s ease-in
}

.app-header-menu-mobile:not(.is-active) .menu.is-main {
	opacity: 0
}

.app-header-menu-mobile .menu.is-main .menu-item {
	border-top: 1px solid var(--theme-bg-2)
}

.app-header-menu-mobile .menu.is-main .sub-menu {
	padding-left: 32px
}

.app-header-menu-mobile .menu.is-main .sub-menu a {
	margin-left: -32px;
	padding-left: 32px
}

.app-header-menu-mobile .menu.is-main .sub-menu .menu-item:last-child {
	border-bottom: none
}

.app-header-menu-mobile .menu.is-main a {
	color: var(--theme-tx-2);
	display: flex;
	font-size: .875rem;
	font-weight: 500;
	padding: 16px 36px 16px 16px;
	position: relative;
	text-decoration: none
}

.app-header-menu-mobile .menu.is-main a:after {
	border-right: 2px solid #0000002e;
	border-top: 2px solid #0000002e;
	content: "";
	height: 8px;
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 8px;
	z-index: 2
}

.app-header-menu-mobile-button {
	background: none;
	border: none;
	cursor: pointer;
	height: 36px;
	overflow: hidden;
	position: relative;
	width: 36px
}

.app-header-menu-mobile-button-path {
	background-color: var(--theme-tx-2);
	border-radius: 1px;
	height: 2px;
	left: 12.5%;
	position: absolute;
	transition: .12s ease-in;
	width: 75%
}

.app-header-menu-mobile-button-path:first-child {
	top: 8px
}

.app-header-menu-mobile-button-path:nth-child(2) {
	top: 50%;
	transform: translateY(-50%)
}

.app-header-menu-mobile-button-path:nth-child(3) {
	bottom: 8px
}

.app-header-menu-mobile-button.is-active .app-header-menu-mobile-button-path:first-child {
	top: 50%;
	transform: translateY(-50%) rotate(45deg)
}

.app-header-menu-mobile-button.is-active .app-header-menu-mobile-button-path:nth-child(2) {
	left: 100%
}

.app-header-menu-mobile-button.is-active .app-header-menu-mobile-button-path:nth-child(3) {
	bottom: 50%;
	transform: translateY(50%) rotate(-45deg)
}

@media (min-width:1000px) {
	.app-header-menu-mobile, .app-header-menu-mobile-button {
		display: none
	}
}

@media (max-width:999px) {
	.app-header-menu-desktop {
		display: none
	}
}

.app-breadcrumb {
	border-bottom: 1px solid var(--theme-bg-2);
	position: relative
}

.app-breadcrumb-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--theme-site-width);
	padding: 16px 20px
}

.app-breadcrumb-list {
	color: var(--theme-tx-3);
	font-size: .75rem
}

.app-breadcrumb-list li {
	display: inline-block;
	position: relative;
	word-break: break-all
}

.app-breadcrumb-list li:not(:last-child) {
	padding-right: 1.25rem
}

.app-breadcrumb-list li:not(:last-child):after {
	border-right: 1px solid var(--theme-tx-3);
	border-top: 1px solid var(--theme-tx-3);
	content: "";
	height: .375rem;
	position: absolute;
	right: .475rem;
	top: 50%;
	transform: translateY(-40%) rotate(45deg);
	width: .375rem
}

.app-breadcrumb-list a {
	color: var(--theme-tx-3)
}

@media (max-width:999px) {
	.app-breadcrumb-inner {
		-webkit-overflow-scrolling: touch;
		max-width: none;
		overflow-x: auto;
		white-space: nowrap
	}
}

.app-footer, .app-main {
	background-color: var(--theme-bg-1);
	position: relative;
	width: 100%
}

.app-footer {
	z-index: 100
}

.app-footer-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--theme-site-width);
	padding: 32px 20px
}

.app-footer-inner>:not(:first-child) {
	margin-top: 16px
}

.app-footer-menu .menu.is-main {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center
}

.app-footer-menu .menu.is-main a {
	border-radius: 4px;
	color: var(--theme-tx-2);
	display: flex;
	font-size: .875rem;
	font-weight: 500;
	padding: 12px 16px;
	text-decoration: none
}

.app-footer-menu .menu.is-main a:hover {
	color: var(--theme-ac-1)
}

.app-footer-copylight {
	color: var(--theme-tx-2);
	font-family: var(--theme-font-sans-en);
	font-size: .875rem;
	text-align: center
}

.app-footer-copylight-text.is-link {
	color: var(--theme-tx-2);
	text-decoration: none
}

.app-footer-copylight-text.is-link:hover {
	text-decoration: underline
}

.section-header {
	overflow: hidden;
	padding: 60px 0;
	position: relative
}

.section-header.is-padding-hero {
	padding: clamp(80px, 14vmin, 140px) 0
}

.section-header.is-padding-lg {
	padding: 80px 0
}

.section-header.is-bg-ac-5 {
	background-color: var(--theme-ac-5)
}

.section-header.is-bg-grey {
	background-color: var(--theme-bg-5)
}

.section-header-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--theme-site-width);
	padding: 0 20px;
	position: relative;
	z-index: 3
}

.section-header-inner.is-drop-shadow {
	filter: drop-shadow(0 0 4px #ffffff);
	text-shadow: 0 0 1px #fff
}

.section-header-inner.is-space>*+* {
	margin-top: 16px
}

.section-header-title {
	font-feature-settings: "palt";
	letter-spacing: .0125em;
	line-height: 1.4
}

.section-header-title.is-color-white {
	color: #fff
}

.section-header-title.is-center {
	text-align: center
}

.section-header-title.is-small {
	font-size: 1.75rem
}

.section-header-title+.block-toc {
	margin-top: 40px
}

.section-header-title-text {
	display: block
}

.section-header-sub-title {
	font-feature-settings: "palt";
	font-weight: 600;
	letter-spacing: .0125em
}

.section-header-sub-title.is-color-white {
	color: #fff
}

.section-header-sub-title.is-center {
	text-align: center
}

.section-header-logo {
	display: block;
	height: auto;
	max-width: 460px;
	width: 100%
}

.section-header-logo:first-child {
	margin-top: -24px
}

.section-header-logo.is-center {
	margin-left: auto;
	margin-right: auto
}

.section-header-buttons {
	grid-gap: .75em;
	display: flex;
	gap: .75em
}

.section-header-button {
	align-items: center;
	border: 1px solid #0000;
	border-radius: 4px;
	display: grid;
	flex: 1 0;
	font-weight: 500;
	justify-content: center;
	overflow: hidden;
	padding: .8em 0;
	text-align: center;
	text-decoration: none
}

.section-header-button.is-plain {
	background-color: var(--theme-lk-1);
	color: var(--theme-lk-tx)
}

.section-header-button.is-plain:hover {
	filter: brightness(.9)
}

.section-header-button.is-outline {
	background-color: var(--theme-bg-1);
	border-color: var(--theme-lk-1);
	color: var(--theme-lk-1)
}

.section-header-button.is-outline:hover {
	background-color: var(--theme-lk-1);
	color: var(--theme-lk-tx)
}

.section-header-button-text {
	display: block;
	white-space: nowrap
}

.section-header-button-text.is-font-size-sm {
	font-size: .875em
}

.section-header-cta-button {
	align-items: center;
	background-color: var(--theme-ac-2);
	border: 1px solid #0000;
	border-radius: 999em;
	color: var(--theme-lk-tx);
	display: flex;
	font-size: clamp(1rem, 2vw, 1.5rem);
	font-weight: 500;
	justify-content: center;
	padding: .5em 4em;
	text-align: center;
	text-decoration: none
}

.section-header-cta-button:hover {
	filter: brightness(.9)
}

.section-header-cta-button.is-center {
	margin-left: auto;
	margin-right: auto
}

.section-header-paragraph.is-color-white {
	color: #fff
}

.section-header-paragraph.is-font-size-sm {
	font-size: .875rem
}

.section-header-paragraph.is-font-size-xs {
	font-size: .75rem
}

.section-header-paragraph.is-center {
	text-align: center
}

.section-header-badge {
	align-items: center;
	display: flex;
	font-weight: 700;
	justify-content: center;
	line-height: 1.375;
	padding: .25em;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content
}

.section-header-badge.is-center {
	margin-left: auto;
	margin-right: auto
}

.section-header-badge.is-font-size-vw-1 {
	font-size: clamp(.875em, 3vmin, 1.25em)
}

.section-header-badge.is-color-yellow {
	background-color: var(--theme-ac-3);
	background-image: repeating-linear-gradient(-45deg, #0000, #0000 1em, var(--theme-ac-4) 1em, var(--theme-ac-4) 2em);
	background-size: initial;
	color: var(--theme-tx-4)
}

.section-header-badge-inner {
	grid-gap: .25em;
	align-items: center;
	border: 2px dotted #fff;
	display: flex;
	gap: .25em;
	justify-content: center;
	padding: .25em .375em;
	position: relative;
	z-index: 1
}

.section-header-badge-text.is-block {
	display: block
}

.section-header-badge-text.is-font-size-lg {
	font-size: 1.125em
}

.section-header-badge-text.is-font-size-sm {
	font-size: .875em
}

.section-header-overlay {
	background: #fff9;
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2
}

.section-header-overlay.is-bg-cyan {
	background: #00384266
}

.section-header-background {
	bottom: 0;
	left: 0;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1
}

.section-header-background.is-blur {
	bottom: -4px;
	filter: blur(4px);
	left: -4px;
	right: -4px;
	top: -4px
}

.section-header-background-image {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	width: 100%
}

.section-header-background-image.is-max-width-1200px {
	max-width: 1200px
}

.section-header-background-image.is-center {
	margin-left: auto;
	margin-right: auto
}

@media (min-width:768px) {
	.section-header.is-hero {
		padding: 80px 0
	}
	.section-header.is-hero .section-header-grid {
		display: grid;
		grid-template-columns: 1fr 1fr
	}
	.section-header.is-hero .section-header-grid-item.is-title {
		grid-column: 1/2;
		grid-row: 1/2;
		padding-bottom: clamp(40px, 4vw, 80px)
	}
	.section-header.is-hero .section-header-grid-item.is-image {
		align-items: center;
		display: grid;
		grid-column: 2/3;
		grid-row: 1/3
	}
	.section-header.is-hero .section-header-grid-item.is-buttons {
		grid-column: 1/2;
		grid-row: 2/3
	}
	.section-header.is-hero .section-header-title {
		font-size: clamp(32px, 4.25vw, 44px);
		white-space: nowrap
	}
	.section-header.is-hero .section-header-buttons {
		font-size: clamp(0.9em, 1.4vw, 1.1em);
		width: 90%
	}
	.section-header.is-scale-hero .section-header-title {
		font-size: clamp(32px, 4vw, 48px)
	}
	.section-header.is-scale-hero .section-header-sub-title {
		font-size: clamp(16px, 1.75vw, 30px)
	}
	.section-header-cta-button {
		width: -moz-fit-content;
		width: fit-content
	}
}

@media (max-width:767px) {
	.section-header.is-hero {
		padding: 10vw 0
	}
	.section-header.is-hero .section-header-grid-item.is-image {
		margin: 20px 0
	}
	.section-header.is-hero .section-header-title {
		font-size: 6vw;
		text-align: center;
		padding-bottom: 20px
	}
	.section-header-title.is-mobile-font-size-1, .section-header-title.is-small {
		font-size: 1.25rem
	}
	.section-header.is-hero .section-header-buttons {
		font-size: clamp(0.7em, 3.5vw, 1em);
	}
}

.section-contents {
	padding: clamp(60px, 15vmin, 100px) 0;
	position: relative
}

.section-contents.is-bg-grey {
	background-color: var(--theme-bg-5)
}

.section-contents.is-bg-white-to-grey {
	background: linear-gradient(0deg, var(--theme-bg-5), var(--theme-bg-1))
}

.section-contents.is-bg-grey-to-white {
	background: linear-gradient(180deg, var(--theme-bg-5), var(--theme-bg-1))
}

.section-contents.is-bg-light-blue {
	background-color: var(--theme-bg-6)
}

.section-contents.is-bg-yellow {
	background-color: var(--theme-ac-3)
}

.section-contents.is-padding-top-none {
	padding-top: 0
}

.section-contents.is-padding-vmin-sm {
	padding: clamp(30px, 7.5vmin, 60px) 0
}

.section-contents.is-padding-none {
	padding: 0
}

.section-contents-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--theme-site-width);
	padding: 0 20px
}

.section-contents-inner.is-space>*+* {
	margin-top: 20px
}

@media (min-width:768px) {
	.section-contents.is-desktop-margin-1 {
		margin-top: -120px;
		padding-top: 240px
	}
}

.section-content+.section-content {
	margin-top: clamp(48px, 12vmin, 80px)
}

.section-content.is-space>*+* {
	margin-top: 20px
}

.block-grid {
	display: grid
}

.block-grid.is-max-width-700px {
	max-width: 700px
}

.block-grid.is-center {
	margin-left: auto;
	margin-right: auto
}

.block-grid.is-features {
	grid-gap: 8px;
	gap: 8px
}

.block-grid.is-max-width-600px {
	max-width: 600px;
}

.block-grid.is-gap-12px {
	gap: 12px;
}

.block-grid.is-auto-fit-240px {
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
}

.block-grid.is-features>.block-grid-item {
	background-color: var(--theme-bg-4);
	border-radius: 4px;
	padding: 32px 24px
}

.block-grid.is-features.is-bg-white>.block-grid-item {
	background-color: var(--theme-bg-1)
}

.block-grid.is-features-min {
	grid-gap: 36px 28px;
	display: flex;
	flex-wrap: wrap;
	gap: 36px 28px;
	justify-content: center;
	max-width: 600px
}

.block-grid.is-features-min>.block-grid-item {
	flex: 0 1 160px;
	max-width: 40%
}

.block-grid.is-steps-min {
	grid-gap: 40px;
	gap: 40px;
	max-width: 700px
}

.block-grid.is-steps-min>.block-grid-item {
	position: relative
}

.block-grid.is-steps-min>.block-grid-item:not(:last-child):after {
	background-color: var(--theme-ac-1);
	-webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: "";
	height: 20px;
	left: 50%;
	opacity: .75;
	position: absolute;
	top: 100%;
	transform: translate(-50%, 50%);
	width: 28px
}

.block-grid.is-steps-min-item {
	background-color: var(--theme-bg-6);
	grid-template-columns: auto 1fr
}

.block-grid.is-effect, .block-grid.is-mockup, .block-grid.is-mockup-trim {
	grid-gap: 20px;
	gap: 20px
}

.block-grid.is-balloon {
	grid-gap: 20px;
	gap: 20px;
	max-width: 600px
}

.block-grid.is-balloon.is-image-left {
	grid-template-columns: auto 1fr
}

.block-grid.is-balloon.is-image-right {
	grid-template-columns: 1fr auto
}

.block-grid.is-app-downloads {
	grid-gap: 12px;
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center
}

.block-grid.is-devices {
	grid-gap: 36px;
	gap: 36px
}

.block-grid-item.is-padding-vw-1 {
	padding: clamp(32px, 6vmin, 40px)
}

.block-grid-item.is-bg-white {
	background-color: var(--theme-bg-1)
}

.block-grid-item.is-radius {
	border-radius: 4px
}

.block-grid-item.is-space-sm>*+* {
	margin-top: 12px
}

.block-grid-item.is-space-xs>*+* {
	margin-top: 8px
}

.block-grid-item.is-space-xxs>*+* {
	margin-top: 4px
}

@media (min-width:768px) {
	.block-grid.is-features:not(.is-1column) {
		display: flex;
		flex-wrap: wrap;
		justify-content: center
	}
	.block-grid.is-features:not(.is-1column)>.block-grid-item {
		flex-basis: calc(50% - 4px);
		flex-grow: 0;
		flex-shrink: 0
	}
	.block-grid.is-mockup {
		grid-template-columns: 5fr 4fr
	}
	.block-grid.is-effect, .block-grid.is-mockup-trim {
		grid-template-columns: auto 1fr
	}
	.block-grid.is-mockup-trim {
		align-items: center
	}
	.block-grid.is-devices {
		grid-template-columns: 1fr 1fr
	}
}

.block-box.is-max-width-700px {
	max-width: 700px
}

.block-box.is-max-width-600px {
	max-width: 600px
}

.block-box.is-max-width-500px {
	max-width: 500px
}

.block-box.is-padding {
	padding: 16px
}

.block-box.is-padding-vw-1 {
	padding: clamp(32px, 6vmin, 40px)
}

.block-box.is-bg-white {
	background-color: var(--theme-bg-1)
}

.block-box.is-bg-light-blue {
	background-color: var(--theme-bg-2)
}

.block-box.is-bg-grey {
	background-color: var(--theme-bg-5)
}

.block-box.is-bg-ac-5 {
	background-color: var(--theme-ac-5)
}

.block-box.is-bg-ac-7 {
	background-color: var(--theme-ac-7)
}

.block-box.is-radius {
	border-radius: 4px
}

.block-box.is-center {
	margin-left: auto;
	margin-right: auto
}

.block-box.is-space>*+* {
	margin-top: 20px
}

.block-box.is-space-sm>*+* {
	margin-top: 12px
}

.block-box.is-space-xs>*+* {
	margin-top: 8px
}

.block-box.is-space-xxs>*+* {
	margin-top: 4px
}

.block-box.is-device-icon-wrap {
	color: var(--theme-ac-1);
	height: 80px;
	margin-left: auto;
	margin-right: auto;
	width: 80px
}

.block-box.is-device-icon-wrap .icon {
	width: 100%
}

.block-box.is-device-icon-wrap .icon path {
	stroke-width: 3px
}

.block-box.is-overflow-hidden {
	overflow: hidden
}

.block-heading {
	margin-bottom: 1.75em;
	position: relative
}

.block-heading.is-center {
	text-align: center
}

@media (max-width:767px) {
	.block-heading.is-center-sp {
		text-align: center
	}
}

.block-heading.is-margin-sm {
	margin-bottom: 1em
}

.block-heading.is-margin-xs {
	margin-bottom: .5em
}

.block-heading.is-margin-none {
	margin-bottom: 0
}

.block-heading.is-font-size-xxxxl {
	font-size: 2rem
}

.block-heading.is-font-weight-normal {
	font-weight: 400
}

.block-heading.is-underline {
	margin-bottom: 2.75em;
	padding-bottom: 1.5em
}

.block-heading.is-underline:after {
	background-color: var(--theme-ac-1);
	border-radius: 2px;
	bottom: 0;
	content: "";
	height: 6px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 140px
}

.block-heading.is-before-check {
	grid-gap: .25em;
	align-items: center;
	display: flex;
	gap: .25em
}

.block-heading.is-before-check:before {
	border-bottom: .2em solid var(--theme-ac-2);
	border-left: .2em solid var(--theme-ac-2);
	content: "";
	height: .5em;
	transform: translate(-30%, -20%) rotate(-45deg);
	width: .75em
}

.block-heading.is-before-check.is-center {
	justify-content: center
}

.block-heading-text.is-block {
	display: block
}

.block-heading-text.is-inline-block {
	display: inline-block
}

.block-heading-text.is-color-gradient-1 {
	background: linear-gradient(to right, var(--theme-ac-6) 25%, var(--theme-ac-1) 75%);
	-webkit-background-clip: text;
	color: #0000
}

@media (min-width:768px) {
	.block-heading.is-desktop-font-size-xxl {
		font-size: 1.5rem
	}
	.block-heading.is-desktop-font-size-xxxl {
		font-size: 1.75rem
	}
}

.block-paragraph.is-color-tx-3 {
	color: var(--theme-tx-3)
}

.block-paragraph.is-center {
	text-align: center
}

.block-paragraph.is-font-size-xl {
	font-size: 1.25rem
}

.block-paragraph.is-font-size-lg {
	font-size: 1.125rem
}

.block-paragraph.is-font-size-sm {
	font-size: .875rem
}

.block-paragraph.is-font-size-xs {
	font-size: .75rem
}

.block-paragraph.is-font-size-xxs {
	font-size: .675rem
}

.block-paragraph.is-font-weight-strong {
	font-weight: bolder
}

.block-paragraph.is-font-family-sans-en {
	font-family: var(--theme-font-sans-en)
}

.block-paragraph.is-line-height-sm {
	line-height: 1.5
}

.block-paragraph.is-line-height-xs {
	line-height: 1.375
}

.block-paragraph-text.is-block {
	display: block
}

.block-paragraph-text.is-inline-block {
	display: inline-block
}

.block-paragraph-text.is-color-ac-1 {
	color: var(--theme-ac-1)
}

@media (min-width:768px) {
	.block-paragraph.is-desktop-font-size-md {
		font-size: 1rem
	}
	.block-paragraph.is-desktop-font-size-lg {
		font-size: 1.125rem
	}
	.block-paragraph.is-desktop-font-size-xl {
		font-size: 1.25rem
	}
}

@media (max-width:767px) {
	.block-paragraph.is-mobile-font-size-sm {
		font-size: .875rem
	}
}

.block-list {
	list-style: disc;
	padding-left: 1.5em
}

.block-list.is-font-size-sm {
	font-size: .875em
}

.block-button {
	border: 1px solid #0000;
	border-radius: 8px;
	display: block;
	font-size: 1rem;
	padding: .5em 1em;
	text-align: center;
	text-decoration: none
}

.block-button.is-plain {
	font-weight: 500
}

.block-button.is-plain:hover {
	filter: brightness(.9)
}

.block-button.is-plain.is-color-ac-1 {
	background-color: var(--theme-ac-1);
	color: var(--theme-lk-tx)
}

.block-button.is-plain.is-color-ac-2 {
	background-color: var(--theme-ac-2);
	color: var(--theme-lk-tx)
}

.block-button.is-outline.is-color-ac-1 {
	background-color: var(--theme-bg-1);
	border-color: var(--theme-ac-1);
	color: var(--theme-ac-1)
}

.block-button.is-outline.is-color-ac-1:hover {
	background-color: var(--theme-ac-1);
	color: var(--theme-lk-tx)
}

.block-button.is-font-size-vw-1 {
	font-size: clamp(1rem, 2vw, 1.5rem)
}

.block-button.is-font-size-vw-2 {
	font-size: clamp(1.25rem, 2vw, 1.5rem)
}

.block-button.is-center {
	margin-left: auto;
	margin-right: auto
}

.block-button.is-max-width-440px {
	max-width: 440px
}

.block-button.is-max-width-600px {
	max-width: 600px
}

.block-button.is-max-width-700px {
	max-width: 700px
}

.block-button-text.is-block {
	display: block
}

.block-button-text.is-inline-block {
	display: inline-block
}

.block-button-text.is-font-weight-normal {
	font-weight: 400
}

.block-button-text.is-font-weight-strong {
	font-weight: bolder
}

@media (min-width:768px) {
	.block-button.is-desktop-font-size-lg {
		font-size: 1.125rem
	}
}

.block-badge {
	align-items: center;
	border: 1px solid var(--theme-bd-2);
	border-radius: 3px;
	display: flex;
	justify-content: center;
	padding: .25em .5em
}

.block-badge.is-width-fit {
	width: -moz-fit-content;
	width: fit-content
}

.block-badge.is-center {
	margin-left: auto;
	margin-right: auto
}

.block-separator {
	position: relative
}

.block-separator.is-height-2px {
	height: 2px
}

.block-separator-circle {
	align-items: center;
	background-color: var(--theme-bg-1);
	border-radius: 999em;
	display: flex;
	height: 2.5em;
	justify-content: center;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 2.5em
}

.block-separator-circle.is-color-ac-1 {
	color: var(--theme-ac-1)
}

.block-search-tabs {
	grid-gap: 12px;
	display: flex;
	gap: 12px
}

.block-search-tabs+.block-search-contents {
	margin-top: -1px
}

.block-search-tab {
	grid-gap: .75em;
	align-items: center;
	border: 1px solid #0000;
	border-radius: 4px 4px 0 0;
	display: flex;
	flex: 1 0;
	font-size: .875rem;
	font-weight: 600;
	gap: .75em;
	justify-content: center;
	overflow: hidden;
	padding: 16px 0;
	white-space: nowrap
}

.block-search-tab.is-active {
	background-color: var(--theme-bg-1);
	border-left-color: var(--theme-bd-1);
	border-right-color: var(--theme-bd-1);
	border-top-color: var(--theme-bd-1);
	color: var(--theme-tx-2);
	pointer-events: none
}

.block-search-tab:not(.is-active) {
	background-color: var(--theme-lk-1);
	color: var(--theme-lk-tx);
	cursor: pointer
}

.block-search-tab .icon {
	display: block;
	height: auto;
	width: 1em
}

.block-search-tab:not(.is-active):hover {
	filter: brightness(.9)
}

.block-search-contents {
	background-color: var(--theme-bg-1);
	border: 1px solid var(--theme-bd-1);
	border-radius: 0 0 4px 4px;
	overflow: hidden;
	padding: 24px
}

.block-search-content .block-search-box {
	opacity: 0;
	transform: translateY(20px);
	transition: .5s
}

.block-search-content.is-active .block-search-box {
	opacity: 1;
	transform: translateY(0)
}

.block-search-box .block-search-area {
	position: relative;
	z-index: 2
}

.block-search-box .block-search-bg-image {
	display: block;
	height: auto;
	margin-left: auto;
	margin-top: max(-40vw, -360px);
	max-width: 400px;
	position: relative;
	z-index: 1
}

.block-search-box-title {
	grid-gap: .5em;
	align-items: center;
	display: flex;
	gap: .5em;
	justify-content: center;
	line-height: 1.25;
	margin-bottom: .5em;
	margin-top: .5em
}

.block-search-box-title .icon {
	color: var(--theme-ac-1);
	display: block;
	height: auto;
	width: 1.75em
}

.block-search-box-title-text.is-color-ac-1 {
	color: var(--theme-ac-1)
}

.block-search-area {
	margin-left: auto;
	margin-right: auto;
	max-width: 760px
}

.block-search-area-item-title {
	margin-bottom: .75em;
	margin-top: 2em
}

.block-search-child {
	grid-gap: 12px;
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr))
}

.block-search-child-item-link {
	background-color: var(--theme-bg-1);
	border: 1px solid var(--theme-ac-1);
	border-radius: 4px;
	color: var(--theme-ac-1);
	display: block;
	font-size: 1rem;
	padding: .25em 1em;
	text-align: center;
	text-decoration: none
}

.block-search-child-item-link:hover {
	background-color: var(--theme-ac-1);
	color: var(--theme-lk-tx)
}

@media (min-width:768px) {
	.block-search-tab {
		font-size: 1.125rem
	}
}

.block-step-label {
	align-items: center;
	background-color: var(--theme-ac-1);
	color: var(--theme-lk-tx);
	display: flex;
	font-family: var(--theme-font-sans-en)
}

.block-step-label-inner {
	padding: 16px
}

.block-step-label-title {
	font-size: .675rem
}

.block-step-label-num, .block-step-label-title {
	display: block;
	line-height: 1.125;
	text-align: center
}

.block-step-label-num {
	font-size: 1.5rem;
	font-weight: 700
}

.block-step-box {
	align-items: center;
	display: grid;
	padding: 16px
}

.block-effect-label {
	align-items: center;
	background-color: var(--theme-ac-1);
	border-radius: 3px;
	color: var(--theme-lk-tx);
	display: flex;
	flex: none;
	font-family: var(--theme-font-sans-en);
	font-size: 2rem;
	font-weight: 700;
	height: 4rem;
	justify-content: center;
	width: 4rem
}

.block-effect-label.is-center {
	margin-left: auto;
	margin-right: auto
}

.block-balloon {
	background-color: var(--theme-bg-4);
	border-radius: 8px;
	display: block;
	padding: 20px;
	position: relative
}

.block-balloon.is-tail-left:before {
	-webkit-clip-path: polygon(100% 0, 100% 100%, 0 50%);
	clip-path: polygon(100% 0, 100% 100%, 0 50%);
	right: 100%
}

.block-balloon.is-tail-left:before, .block-balloon.is-tail-right:before {
	background-color: var(--theme-bg-4);
	content: "";
	height: 16px;
	position: absolute;
	top: 30px;
	width: 12px
}

.block-balloon.is-tail-right:before {
	-webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	left: 100%
}

.block-balloon-badge {
	align-items: center;
	border: 2px solid var(--theme-bd-1);
	border-radius: 999em;
	color: var(--theme-ac-1);
	display: flex;
	font-family: var(--theme-font-sans-en);
	font-size: 1.25rem;
	font-weight: 600;
	height: 75px;
	justify-content: center;
	overflow: hidden;
	white-space: nowrap;
	width: 75px
}

.block-point-box {
	background-color: var(--theme-bg-4);
	border-radius: 8px;
	max-width: 600px;
	padding: 20px;
	position: relative
}

.block-point-box:before {
	color: var(--theme-ac-2);
	content: "Point!";
	font-family: var(--theme-font-script);
	font-size: 1.5rem;
	font-weight: 500;
	left: 20px;
	position: absolute;
	top: 0;
	transform: translateY(-45%)
}

.block-point-box.is-center {
	margin-left: auto;
	margin-right: auto
}

.block-mail-sample {
	background-color: var(--theme-bg-3);
	border: 1px solid var(--theme-bg-3);
	padding: 40px 32px 0
}

.block-mail-sample-card {
	background-color: var(--theme-bg-1);
	border-radius: 24px 24px 0 0;
	margin-left: auto;
	margin-right: auto;
	max-width: 400px;
	padding: 32px
}

.block-mail-sample-paragraph.is-font-size-xs {
	font-size: .75rem
}

.block-mail-sample-paragraph-text.is-color-ac-1 {
	color: var(--theme-ac-1)
}

.block-image {
	display: block;
	height: auto;
	width: 100%
}

.block-image.is-center {
	margin-left: auto;
	margin-right: auto
}

.block-image.is-round {
	border-radius: 999em
}

.block-image.is-border {
	border: 1px solid var(--theme-bd-1)
}

.block-image.is-max-width-75px {
	max-width: 75px
}

.block-image.is-max-width-90px {
	max-width: 90px
}

.block-image.is-max-width-160px {
	max-width: 160px
}

.block-image.is-max-width-200px {
	max-width: 200px
}

.block-image.is-max-width-300px {
	max-width: 300px
}

.block-image.is-max-width-460px {
	max-width: 460px
}

.block-image.is-max-width-640px {
	max-width: 640px
}

.block-image.is-max-width-700px {
	max-width: 700px
}

.block-image.is-max-width-800px {
	max-width: 800px
}

.block-image.is-app-download-android, .block-image.is-app-download-ios {
	height: 50px;
	width: auto
}

.block-image.is-fit-cover {
	height: 100%;
	object-fit: cover;
	width: 100%
}

@media (min-width:768px) {
	.block-image.is-desktop-max-width-120px {
		max-width: 120px
	}
}

.block-youtube {
	margin-left: auto;
	margin-right: auto;
	max-width: 700px;
	position: relative
}

.block-youtube-wrap {
	padding-top: 56.25%;
	width: 100%
}

.block-youtube-wrap iframe {
	height: 100%!important;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%!important
}

.block-tel-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 700px
}

.block-tel-box {
	background-color: var(--theme-bg-1);
	border: 1px solid var(--theme-bd-2);
	border-radius: 4px;
	overflow: hidden
}

.block-tel-box-heading {
	display: block;
	font-weight: 500;
	padding: .5em .5em 0;
	text-align: center
}

.block-tel-box-inner {
	padding: .75em
}

.block-tel-grid {
	grid-gap: .5em;
	gap: .5em
}

.block-tel-grid, .block-tel-icon-wrap {
	align-items: center;
	display: flex;
	justify-content: center
}

.block-tel-icon-wrap {
	background-color: var(--theme-ac-2);
	border-radius: 999em;
	color: var(--theme-lk-tx);
	height: 2em;
	width: 2em
}

.block-tel-icon-wrap .icon {
	display: block;
	height: 1em;
	width: 1em
}

.block-tel-number {
	font-family: var(--theme-font-sans-en);
	font-size: 1.25em;
	font-weight: 700
}

@media (min-width:768px) {
	.block-tel-grid.is-desktop-font-size-xl {
		font-size: 1.25rem
	}
}

.block-toc {
	background-color: #fffc;
	margin-left: auto;
	margin-right: auto;
	max-width: 400px;
	padding: 20px
}

.block-toc-list {
	line-height: 1.75;
	list-style: disc;
	padding-left: 1.5em
}

.block-case-toc {
	grid-gap: 8px;
	display: grid;
	gap: 8px;
	margin-left: auto;
	margin-right: auto;
	max-width: 500px
}

.block-case-toc-item-link {
	grid-gap: 12px;
	align-items: center;
	background-color: var(--theme-bg-1);
	border: 1px solid var(--theme-ac-1);
	border-radius: 4px;
	display: flex;
	gap: 12px;
	padding: 16px 40px 16px 16px;
	position: relative;
	text-decoration: none
}

.block-case-toc-item-link:hover {
	background-color: var(--theme-bg-2)
}

.block-case-toc-item-link:after {
	border-right: 2px solid var(--theme-tx-3);
	border-top: 2px solid var(--theme-tx-3);
	content: "";
	height: 10px;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%) rotate(135deg);
	width: 10px
}

.block-case-toc-item-image {
	background-color: var(--theme-bg-1);
	border: 1px solid var(--theme-ac-1);
	border-radius: 999em;
	flex: none;
	height: auto;
	width: 60px
}

.block-case-toc-item-meta {
	flex: 1 0
}

.block-case-toc-item-id {
	color: var(--theme-tx-3);
	font-family: var(--theme-font-sans-en);
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.5
}

.block-case-toc-item-sub-title {
	font-feature-settings: "palt";
	color: var(--theme-tx-2);
	font-size: .875rem;
	line-height: 1.5
}

.block-case-toc-item-title {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.5
}

.block-timeline {
	grid-gap: 8px;
	display: grid;
	gap: 8px;
	padding-left: 48px;
	position: relative
}

.block-timeline:after {
	background-color: var(--theme-tx-3);
	border-radius: 2px;
	content: "";
	height: calc(100% - 32px);
	left: 24px;
	position: absolute;
	top: 32px;
	transform: translateX(-50%);
	width: 4px
}

.block-timeline.is-over-line:after {
	border-radius: 0;
	height: calc(100% + 80px);
	top: 50%;
	transform: translate(-50%, -50%)
}

.block-timeline.is-max-width-500px {
	max-width: 500px
}

.block-timeline.is-center {
	margin-left: auto;
	margin-right: auto
}

.block-timeline-item {
	background-color: var(--theme-bg-1);
	border-radius: 8px;
	padding: 20px;
	position: relative
}

.block-timeline-item:before {
	background-color: var(--theme-bg-1);
	border: 4px solid var(--theme-tx-3);
	border-radius: 50%;
	content: "";
	height: 16px;
	left: -24px;
	position: absolute;
	top: 28px;
	transform: translateX(-50%);
	width: 16px;
	z-index: 1
}

.block-topic {
	display: block;
	margin-bottom: 20px;
	margin-top: 20px
}

.block-topic.is-max-width-700px {
	max-width: 700px
}

.block-topic.is-center {
	margin-left: auto;
	margin-right: auto
}

.block-topic-item {
	border-top: 1px solid var(--theme-bd-1)
}

.block-topic-item:last-child {
	border-bottom: 1px solid var(--theme-bd-1)
}

.block-topic-item-link {
	font-size: .875rem;
	text-decoration: none
}

.block-topic-item-grid {
	grid-gap: 16px;
	display: grid;
	gap: 16px;
	grid-template-columns: 75px 1fr;
	padding-bottom: 16px;
	padding-top: 16px
}

.block-topic-item-link:hover .block-topic-item-title {
	text-decoration: underline
}

.block-topic-item-thumbnail-wrap {
	border: 1px solid var(--theme-bd-1);
	border-radius: 3px;
	display: block;
	height: 75px;
	overflow: hidden;
	position: relative;
	width: 75px
}

.block-topic-item-thumbnail {
	display: block;
	height: 100%;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%
}

.block-topic-item-date {
	color: var(--theme-tx-2);
	display: block;
	line-height: 1.375;
	margin-bottom: 4px
}

.block-topic-item-title {
	font-feature-settings: "palt";
	display: block;
	letter-spacing: .025em;
	line-height: 1.375
}

.react-app-loading:empty {
	height: 30vh;
	position: relative;
	width: 100%
}

.react-app-loading:empty:before {
	animation: sk-scaleout 1s ease-in-out infinite;
	background-color: #a9d9f5;
	border-radius: 100%;
	content: "";
	height: 100px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100px
}

@keyframes sk-scaleout {
	0% {
		transform: scale(0)
	}
	to {
		opacity: 0;
		transform: scale(1)
	}
}

/* 導入事例用 */

.block-case-detail {
	display: block;
	max-width: 860px;
	margin: 0 auto;
  }
  
  .block-case-detail-header {
	margin-bottom: 40px;
  }
  
  .block-case-detail-header-title {
	margin-bottom: 20px;
	font-size: 2rem;
	line-height: 1.25;
  }
   
  .block-case-detail-header-title small {
	  font-size: 1.1rem;
	  font-weight: 500;
  }
 
  .block-case-detail-header-figure {
	margin-bottom: 12px;
  }
  
  .block-case-detail-header-figcaption {
	margin-top: 4px;
	font-size: 80%;
	opacity: 0.8;
  }
  
  .block-case-detail-toc {
	padding: 24px;
	background-color: var(--theme-bg-2);
  }
  
  .block-case-detail-toc-title {
	padding: 4px;
	margin-top: -12px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--theme-bd-1);
	font-weight: 600;
	text-align: center;
  }

  .block-case-detail-toc > ul > li:not(:first-child) {
	margin-top: 4px;
  }
  
  .block-case-detail-toc > ul > li {
	list-style: disc;
  }
  
  .block-case-detail-toc .level-2 {
	margin-left: 24px;
  }
  
  .block-case-detail-toc .level-3 {
	margin-left: 48px;
  }
  
  .block-case-detail-body h2 {
	margin-top: 2.5em;
	margin-bottom: 1em;
	font-feature-settings: "palt";
	letter-spacing: 0.0125em;
	line-height: 1.25;
  }
  
  .block-case-detail-body h3 {
	margin-top: 2em;
	margin-bottom: 1em;
	font-feature-settings: "palt";
	letter-spacing: 0.0125em;
	line-height: 1.25;
  }
  
  .block-case-detail-body p {
	margin-top: 1em;
	margin-bottom: 1em;
  }
  
  .block-case-detail-body figure {
	margin-top: 1em;
	margin-bottom: 1em;
  }

  .block-case-detail-body strong {
	background: linear-gradient(rgba(255,255,0,0) 40%, var(--theme-ac-5) 40%);
  }

  .block-jpx {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1em;
	padding: 15px 0;
  }

  .block-jpx-logo {
	width: 50px;
  }

  .block-jpx img {
	min-width: 50px;
	vertical-align: middle;
  }

  .block-jpx-text {
	font-size: .875em
  }