@charset "UTF-8";
/* function, value */
/* reset */
* {
		box-sizing: border-box;
}

/* webkit specific styles */
input[type=color]::-webkit-color-swatch {
		border: none;
}

input[type=color]::-webkit-color-swatch-wrapper {
		padding: 0;
}

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		outline: 0;
		font-size: 100%;
		vertical-align: baseline;
		background: transparent;
		font-weight: inherit;
}

body {
		line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
		display: block;
}

nav ul {
		list-style: none;
}

blockquote, q {
		quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
		content: "";
		content: none;
}

a {
		margin: 0;
		padding: 0;
		font-size: 100%;
		vertical-align: baseline;
		background: transparent;
}

/* change colours to suit your needs */
ins {
		background-color: #ff9;
		color: #000;
		text-decoration: none;
}

/* change colours to suit your needs */
mark {
		background-color: #ff9;
		color: #000;
		font-style: italic;
		font-weight: bold;
}

del {
		text-decoration: line-through;
}

abbr[title], dfn[title] {
		border-bottom: 1px dotted;
		cursor: help;
}

table {
		border-collapse: collapse;
		border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
		display: block;
		height: 1px;
		border: 0;
		border-top: 1px solid #cccccc;
		margin: 1em 0;
		padding: 0;
}

input, select {
		vertical-align: middle;
}

input:focus {
		outline: none;
}

ul, ol {
		list-style-type: none;
}

/* Reset
   ========================================================================== */
:where(body) img {
		vertical-align: top;
		width: 100%;
		height: auto;
}
:where(body) a,
:where(body) a:active,
:where(body) a:focus,
:where(body) a:visited {
		color: inherit;
		text-decoration: none;
}
:where(body) button {
		background-color: transparent;
		border: none;
		cursor: pointer;
		outline: none;
		padding: 0;
		appearance: none;
		font-family: inherit !important;
		font-size: inherit !important;
		font-weight: inherit !important;
		color: inherit !important;
		letter-spacing: inherit !important;
}
:where(body) svg {
		width: 100%;
		height: 100%;
}
:where(body) img[src$=".svg"] {
		width: 100%;
}
:where(body) *::before,
:where(body) *::after {
		box-sizing: inherit;
}

/* common */
/* wrap
   ========================================================================== */
:root {
		font-size: calc(10px + 4 * (100vw - 1400px) / 1160) !important;
		/* custom properties
		   jsのみで値を設定する場合”空"になる可能性があるのでフォールバック推奨
		 */
		/* parts */
		--g-scroll-bar-width: 15px;
		--g-header-height: 8rem;
		--g-page-gutter: 4.8rem;
		--g-page-inner-gutter: 3.2rem;
		--g-content-width: 100rem;
		--g-trim-mark-size: 3.2rem;
		/* font */
		--font-sans: "YakuHanJPs_Noto", "Noto Sans JP", sans-serif;
		--font-sans-yakuhan-all: "YakuHanJP_Noto", "Noto Sans JP", sans-serif;
		--font-sans-no-yakuhan: "Noto Sans JP", sans-serif;
		--font-serif: "YakuHanMPs_Noto", "Noto Serif JP", serif;
		--font-serif-yakuhan-all: "YakuHanMP_Noto", "Noto Serif JP", serif;
		--font-serif-no-yakuhan: "Noto Serif JP", serif;
		--font-roboto: "Roboto", sans-serif;
		--font-arial: "Arial", sans-serif;
		--font-helvetica: "Helvetica", sans-serif;
		--font-open-sans: "Open Sans", sans-serif;
		--font-din: "din", sans-serif;
		--font-oswald: "Oswald", sans-serif;
		--font-bebas-neue: "Bebas Neue", sans-serif;
		--font-sen: "Sen", sans-serif;
		--font-ibm-plex-sans: "IBM Plex Sans", sans-serif;
		/* color */
		--g-color-black: #454545;
		--g-color-dark-blue: #49a6e5;
		--g-color-blue: #0098ff;
		--g-color-light-blue: #b3d4fd;
		--g-color-bright-blue: #6cc4ff;
		--g-color-pale-blue: #ddecff;
		--g-color-very-pale-blue: #f3f8ff;
		--g-color-very-very-pale-blue: #f6fcfe;
		--g-color-pale-gray: #f7f7f7;
		--g-color-light-gray: #dddddd;
		--g-color-gray: #c0c0c0;
		--g-color-dark-gray: #848484;
		--g-color-green-blue: #2b98e2;
		--g-color-light-green-blue: #d8eefc;
		--g-color-orange: #ff7900;
		--g-color-light-orange: #fedbbb;
		--g-color-rh: #ce5555;
		--g-color-plan-rd: #81aaea;
		--g-color-plan-bs: #e49c8d;
		--g-color-plan-sd: #49966a;
		--g-color-plan-om: #91714d;
}
@media screen and (max-width: 1439px) {
		:root {
				font-size: 0.714286vw !important;
		}
}
@media screen and (max-width: 767px) {
		:root {
				font-size: 2.6667vw !important;
		}
}
@media screen and (max-width: 767px) {
		:root {
				--g-header-height: 6.4rem;
		}
}
@media screen and (max-width: 767px) {
		:root {
				--g-page-gutter: 2.8rem;
		}
}
@media screen and (max-width: 767px) {
		:root {
				--g-page-inner-gutter: 0.8rem;
		}
}
@media screen and (max-width: 767px) {
		:root {
				--g-content-width: 100%;
		}
}
@media screen and (max-width: 767px) {
		:root {
				--g-trim-mark-size: 1.26rem;
		}
}

body {
		font-family: var(--font-sans);
		line-height: 1.8;
		font-size: 1.4em;
		color: var(--g-color-black);
		-webkit-font-smoothing: antialiased;
}
@media screen and (max-width: 767px) {
		body {
				font-size: 1.3em;
		}
}
body.contents-hidden {
		opacity: 0;
		visibility: hidden;
}
body.--menu-transitioning {
		pointer-events: none;
}

.main {
		overflow: hidden;
}

/* .header
   ========================================================================== */
.header {
		position: sticky;
		justify-content: space-between;
		left: 0;
		right: 0;
		top: 0;
		width: 100%;
		height: var(--g-header-height);
		background-color: white;
		z-index: 999;
}

.header__inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		height: 100%;
		padding-right: var(--g-page-gutter);
		padding-left: var(--g-page-gutter);
		border-bottom: 1px solid var(--g-color-light-blue);
}
@media screen and (max-width: 767px) {
		.header__inner {
				padding-right: var(--g-page-gutter);
				padding-left: var(--g-page-gutter);
		}
}

.header__title a {
		display: flex;
		align-items: center;
}
@media screen and (max-width: 1023px) {
		.header__title a {
				flex-direction: column;
				align-items: flex-start;
				gap: 0.8rem;
		}
}
@media screen and (max-width: 767px) {
		.header__title a {
				flex-direction: row;
				align-items: center;
				gap: 0;
		}
}

.header__title-logo {
		width: 8rem;
		line-height: 0;
}
@media screen and (max-width: 767px) {
		.header__title-logo {
				width: 6.4rem;
		}
}
.header__title-logo svg {
		fill: var(--g-color-black);
}
.header__title-logo a {
		display: block;
}

.header__title-text {
		display: flex;
		align-items: center;
		line-height: 1;
		font-size: 1.1rem;
		font-weight: 500;
		letter-spacing: 0.025em;
}
@media screen and (max-width: 1023px) {
		.header__title-text {
				font-size: 1rem;
				transform-origin: left;
				transform: scale(0.9);
		}
}
@media screen and (max-width: 767px) {
		.header__title-text {
				font-size: 1rem;
				transform-origin: left;
				transform: scale(0.9);
		}
}
.header__title-text::before {
		content: "";
		display: inline-block;
		width: 0.7rem;
		height: 0.7rem;
		margin-left: 1.25em;
		margin-right: 1em;
		border-radius: 50%;
		background-color: var(--g-color-gray);
		transition: background-color 0.125s ease-out;
}
@media screen and (max-width: 1023px) {
		.header__title-text::before {
				content: none;
		}
}
@media screen and (max-width: 767px) {
		.header__title-text::before {
				content: "";
		}
}
a:hover .header__title-text::before {
		background-color: var(--g-color-blue);
}

.header__menu {
		display: flex;
		align-items: center;
		gap: 2em;
		line-height: 1;
		font-weight: 500;
		font-size: 1.1rem;
		font-weight: 500;
		letter-spacing: 0.075em;
		height: 100%;
}
@media screen and (max-width: 767px) {
		.header__menu {
				display: none;
		}
}

.header__menu-drop-down {
		position: relative;
		display: flex;
		align-items: center;
		height: 100%;
}
.header__menu-drop-down button::before {
		content: "";
		display: inline-block;
		width: 0;
		height: 0;
		margin-right: 1em;
		border-style: solid;
		border-width: 0.8rem 0.5rem 0 0.5rem;
		border-color: var(--g-color-gray) transparent transparent transparent;
		transform: translateY(0.05em);
		transition: border-color 0.125s ease-out, transform 0.125s ease-out;
}
body.--drop-down-active .header__menu-drop-down button::before {
		border-color: var(--g-color-blue) transparent transparent transparent;
		transform: translateY(-0.025em) scale(1, -1);
}

.header__sp-menu-button {
		position: relative;
		display: none;
		width: 4rem;
		height: 2.2rem;
		transform: translate(0.6rem, -10%);
}
@media screen and (max-width: 767px) {
		.header__sp-menu-button {
				display: block;
		}
}

.header__sp-menu-button-icon {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
}
.header__sp-menu-button-icon img {
		position: absolute;
		top: 0;
		left: 0;
		transition: opacity 0.125s ease-out, visibility 0.125s ease-out;
}
.header__sp-menu-button-icon img[src*=header-sp-menu-button-icon-menu] {
		width: 2.8rem;
}
body.modal-active .header__sp-menu-button-icon img[src*=header-sp-menu-button-icon-menu] {
		opacity: 0;
		visibility: hidden;
}
.header__sp-menu-button-icon img[src*=header-sp-menu-button-icon-close] {
		width: 3.1rem;
		opacity: 0;
		visibility: hidden;
}
body.modal-active .header__sp-menu-button-icon img[src*=header-sp-menu-button-icon-close] {
		opacity: 1;
		visibility: visible;
}

.header__sp-menu-button-lines {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 1rem;
		line-height: 0;
		transition: transform 0.125s ease-out;
}
body.modal-active .header__sp-menu-button-lines {
		transform: translate(-0.4rem);
}

.header__sp-menu-button-line {
		display: inline-block;
		position: absolute;
		left: 0;
		width: 100%;
		height: 0.2rem;
		border-radius: 0.1rem;
		line-height: 0;
		transition: absolute 0.125s ease-out, transform 0.125s ease-out;
}
.header__sp-menu-button-line:nth-of-type(1) {
		top: 0;
}
body.modal-active .header__sp-menu-button-line:nth-of-type(1) {
		top: 50%;
		transform: translateY(-50%) rotate(45deg) scaleX(0.325);
}
.header__sp-menu-button-line:nth-of-type(2) {
		bottom: 0;
}
body.modal-active .header__sp-menu-button-line:nth-of-type(2) {
		top: 50%;
		transform: translateY(-50%) rotate(-45deg) scaleX(0.325);
}

.header__sp-menu-button-line-border {
		position: absolute;
		top: 0;
		left: 0;
		display: inline-block;
		width: 100%;
		height: 100%;
		background-color: currentColor;
		line-height: 0;
		transition: color 0.125s ease-out, transform 0.125s ease-out;
}
body.modal-active .header__sp-menu-button-line-border {
		background-color: var(--g-color-blue);
}
.header__sp-menu-button-line:nth-of-type(2) .header__sp-menu-button-line-border {
		transform-origin: left;
		transform: scaleX(0.6);
		transition: transform 0.125s ease-out;
}
body.modal-active .header__sp-menu-button-line:nth-of-type(2) .header__sp-menu-button-line-border {
		transform: scaleX(1);
}

/* .Footer
   ========================================================================== */
.footer {
		letter-spacing: 0.025em;
		overflow: hidden;
}

.footer__content {
		position: relative;
		width: var(--g-content-width);
		margin-left: auto;
		margin-right: auto;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1px;
		background-color: var(--g-color-light-blue);
		border: 1px solid var(--g-color-light-blue);
}
@media screen and (max-width: 767px) {
		.footer__content {
				width: calc(var(--g-content-width) - var(--g-page-gutter) * 1);
		}
}
.footer__content::before, .footer__content::after {
		content: "";
		position: absolute;
		top: 0;
		z-index: 1;
		--width: calc((100vw - var(--g-content-width)) / 2);
		width: var(--width);
		height: 100%;
		--grid-size: calc(var(--width) / 3);
		--border-width: 1px;
		background-position: center;
		background-size: calc(100% + 1px);
		background-image: repeating-linear-gradient(90deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size));
}
@media screen and (min-width: 1920px) {
		.footer__content::before, .footer__content::after {
				--grid-size: calc(var(--width) / 4);
		}
}
@media screen and (max-width: 767px) {
		.footer__content::before, .footer__content::after {
				content: none;
		}
}
.footer__content::before {
		left: 0;
		transform: translateX(-100%);
}
.footer__content::after {
		right: 0;
		transform: translateX(100%);
}

.footer__content-item {
		position: relative;
		background-color: white;
}
@media screen and (max-width: 767px) {
		.footer__content-item.footer__content-item--site-data, .footer__content-item.footer__content-item--site-menu, .footer__content-item.footer__content-item--certification, .footer__content-item.footer__content-item--policy {
				grid-column: 1/span 2;
		}
		.footer__content-item.footer__content-item--site-data {
				order: 1;
		}
		.footer__content-item.footer__content-item--certification {
				order: 2;
		}
		.footer__content-item.footer__content-item--policy {
				order: 3;
		}
		.footer__content-item::before, .footer__content-item::after {
				content: none !important;
		}
		.footer__content-item::before {
				content: "" !important;
				position: absolute;
				left: calc(var(--g-page-gutter) / 2 * -1) !important;
				top: -1px !important;
				z-index: -1;
				display: block;
				transform: translate(0) !important;
				width: 100vw !important;
				height: 1px;
				background-color: var(--g-color-light-blue);
		}
		.footer__content-item:last-of-type:after {
				content: "" !important;
				position: absolute;
				left: 50% !important;
				bottom: -1px !important;
				z-index: -1;
				display: block;
				transform: translateX(-50%) !important;
				width: 100vw !important;
				height: 1px;
				background-color: var(--g-color-light-blue);
		}
		.footer__content-item:nth-of-type(2)::before, .footer__content-item:nth-of-type(2)::after {
				content: none !important;
		}
}
.footer__content-item:nth-of-type(odd)::before {
		content: "";
		position: absolute;
		left: 0;
		top: -1px;
		display: block;
		transform: translateX(-100%);
		width: calc((100vw - var(--g-content-width)) / 2);
		height: 1px;
		background-color: var(--g-color-light-blue);
}
.footer__content-item:nth-of-type(even)::before {
		content: "";
		position: absolute;
		right: 0;
		top: -1px;
		display: block;
		transform: translateX(100%);
		width: calc((100vw - var(--g-content-width)) / 2);
		height: 1px;
		background-color: var(--g-color-light-blue);
}
.footer__content-item:nth-last-of-type(2)::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: -1px;
		display: block;
		transform: translateX(-100%);
		width: calc((100vw - var(--g-content-width)) / 2);
		height: 1px;
		background-color: var(--g-color-light-blue);
}
.footer__content-item:last-of-type::after {
		content: "";
		position: absolute;
		right: 0;
		bottom: -1px;
		display: block;
		transform: translateX(100%);
		width: calc((100vw - var(--g-content-width)) / 2);
		height: 1px;
		background-color: var(--g-color-light-blue);
}
.footer__content-item:not(.footer__content-item--no-padding) {
		padding-top: 2.4rem;
		padding-right: 3.6rem;
		padding-bottom: 2.4rem;
		padding-left: 3.6rem;
}
@media screen and (max-width: 767px) {
		.footer__content-item:not(.footer__content-item--no-padding) {
				padding-top: 1.8rem;
				padding-right: 1.8rem;
				padding-bottom: 1.8rem;
				padding-left: 1.8rem;
		}
}

.footer__content-item-breadcrumbs {
		display: flex;
		width: 100%;
		overflow: hidden;
		font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
		.footer__content-item-breadcrumbs {
				display: block;
		}
}

.footer__content-item-breadcrumbs-item {
		font-weight: 500;
		white-space: nowrap;
}
@media screen and (max-width: 767px) {
		.footer__content-item-breadcrumbs-item {
				overflow: hidden;
				text-overflow: ellipsis;
				--margin-left: 0.9em;
		}
		.footer__content-item-breadcrumbs-item + .footer__content-item-breadcrumbs-item {
				margin-top: 0.125em;
		}
		.footer__content-item-breadcrumbs-item:nth-of-type(2) {
				margin-left: calc(var(--margin-left) * 1);
		}
		.footer__content-item-breadcrumbs-item:nth-of-type(3) {
				margin-left: calc(var(--margin-left) * 2);
		}
		.footer__content-item-breadcrumbs-item:nth-of-type(4) {
				margin-left: calc(var(--margin-left) * 3);
		}
}
.footer__content-item-breadcrumbs-item a {
		transition: color 0.125s ease-out;
}
.footer__content-item-breadcrumbs-item a:hover {
		color: var(--g-color-blue);
}
.footer__content-item-breadcrumbs-item:first-of-type a::before {
		content: "";
		transform: translateY(-25%);
		display: inline-block;
		width: 0.5em;
		height: 0.5em;
		vertical-align: 0.1em;
		border-left: 1px solid #888;
		border-bottom: 1px solid #888;
		margin-right: 0.5em;
}
.footer__content-item-breadcrumbs-item + .footer__content-item-breadcrumbs-item::before {
		content: "";
		transform: rotate(-45deg);
		display: inline-block;
		width: 0.5em;
		height: 0.5em;
		vertical-align: 0.1em;
		border-right: 1px solid #888;
		border-bottom: 1px solid #888;
		margin-left: 1em;
		margin-right: 0.7em;
}
@media screen and (max-width: 767px) {
		.footer__content-item-breadcrumbs-item + .footer__content-item-breadcrumbs-item::before {
				transform: translateY(-25%);
				margin-left: 0;
				border-right: none;
				border-left: 1px solid #888;
				border-bottom: 1px solid #888;
		}
}
.footer__content-item-breadcrumbs-item:not(:first-of-type):last-of-type {
		color: #888;
		overflow: hidden;
		text-overflow: ellipsis;
		font-weight: normal;
		pointer-events: none;
}

.footer__to-top {
		position: relative;
		width: 2.2rem;
		display: block;
		margin-right: auto;
		margin-left: auto;
		line-height: 0;
}
@media screen and (max-width: 767px) {
		.footer__to-top {
				display: flex;
				align-items: center;
				width: 2.6rem;
				height: 100%;
		}
}
.footer__to-top > * {
		display: inline-block;
		transition: transform 0.125s ease-out;
}
.footer__to-top:hover > * {
		transform: translateY(-20%);
}
.footer__to-top::before {
		content: "";
		position: absolute;
		inset: -1em;
}
@media screen and (max-width: 767px) {
		.footer__to-top::before {
				top: 0;
				right: -2rem;
				bottom: 0;
				left: -2rem;
		}
}

.footer__logo {
		width: 14.5rem;
		margin-top: 0.8rem;
}

.footer__data {
		margin-top: 3.2rem;
		line-height: 1.9;
		font-size: 1.2rem;
		letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
		.footer__data {
				margin-top: 2.4rem;
				font-size: 1.1rem;
				margin-bottom: 1.2rem;
		}
}
.footer__data .text-link {
		display: inline-block;
		margin-top: 1em;
		font-weight: 500;
		text-decoration: none;
}
@media screen and (max-width: 767px) {
		.footer__data .text-link {
				margin-top: 2em;
		}
}
.footer__data .text-link:hover {
		text-decoration: underline;
		text-decoration-color: var(--g-color-blue);
}

.footer__service-menus {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 1px;
		background-color: var(--g-color-light-blue);
		height: 100%;
}

.footer__service-menu {
		background-color: white;
		padding-top: 2.4rem;
		padding-right: 3.6rem;
		padding-bottom: 4rem;
		padding-left: 3.6rem;
		font-size: 1.2rem;
		font-weight: 500;
}
@media screen and (max-width: 767px) {
		.footer__service-menu {
				padding-top: 2.4rem;
				padding-right: 1.8rem;
				padding-bottom: 3.2rem;
				padding-left: 1.8rem;
		}
}

.footer__service-menu-title {
		font-weight: 700;
}

.footer__service-menu-list {
		margin-top: 2em;
}

.footer__service-menu-item {
		line-height: 1.5;
}
.footer__service-menu-item + .footer__service-menu-item {
		margin-top: 1.25em;
}
@media screen and (max-width: 767px) {
		.footer__service-menu-item + .footer__service-menu-item {
				margin-top: 1.5em;
		}
}

.footer__service-menu-item {
		--icon-size: 0.6rem;
}
.footer__service-menu-item button {
		position: relative;
		display: inline-block;
		padding-left: calc(var(--icon-size) + 0.85em);
}
.footer__service-menu-item button::before {
		content: "";
		position: absolute;
		top: 0.55em;
		left: 0;
		transform: translateY(-50%);
		display: inline-block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: calc(var(--icon-size) * 1.17) calc(var(--icon-size) * 1.5 / 2) 0 calc(var(--icon-size) * 1.5 / 2);
		border-color: var(--g-color-gray) transparent transparent transparent;
		transform: translate(-0.1em, -0.1em);
		transition: border-color 0.125s ease-out;
}
.footer__service-menu-item button:hover::before {
		border-color: var(--g-color-blue) transparent transparent transparent;
}
.footer__service-menu-item a {
		position: relative;
		display: inline-block;
		padding-left: calc(var(--icon-size) + 0.85em);
}
.footer__service-menu-item a::before {
		content: "";
		position: absolute;
		top: 0.7em;
		left: 0;
		transform: translateY(-50%);
		display: inline-block;
		width: var(--icon-size);
		height: var(--icon-size);
		border-radius: 50%;
		background-color: var(--g-color-gray);
		transition: background-color 0.125s ease-out;
}
.footer__service-menu-item a:hover::before {
		background-color: var(--g-color-blue);
}

.footer__certification {
		display: flex;
		justify-content: center;
		gap: 4rem;
}

.footer__certification-item {
		display: inline-flex;
		align-items: center;
}
.footer__certification-item img[src*=logo-msa] {
		width: 6.1rem;
}
@media screen and (max-width: 767px) {
		.footer__certification-item img[src*=logo-msa] {
				width: 7.1rem;
		}
}
.footer__certification-item img[src*=logo-isms] {
		width: 4.5rem;
}
@media screen and (max-width: 767px) {
		.footer__certification-item img[src*=logo-isms] {
				width: 5.4rem;
		}
}

.footer__links {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5em 1.25em;
		font-size: 1.05rem;
		letter-spacing: normal;
}

.footer__link::before {
		content: "";
		display: inline-block;
		width: 0.6rem;
		height: 0.6rem;
		margin-right: 0.75em;
		border-radius: 50%;
		background-color: var(--g-color-gray);
		transition: background-color 0.125s ease-out;
}
.footer__link:hover::before {
		background-color: var(--g-color-blue);
}

.footer__bottom {
		padding-top: 1.75em;
		padding-bottom: 1.75em;
}

.footer__copy-right {
		text-align: center;
		font-size: 1.1rem;
}

[data-modal-content] {
		display: none;
}
.modal [data-modal-content] {
		display: block;
}

.modal {
		z-index: 99;
}
.modal.modal--sp-menu {
		top: var(--g-header-height) !important;
		height: calc(100vh - var(--g-header-height)) !important;
		height: calc(100dvh - var(--g-header-height)) !important;
}
.modal[class*=modal--leaflet] {
		height: 100vh !important;
		height: 100dvh !important;
		z-index: 999;
}
.modal[class*=modal--example] {
		height: 100vh !important;
		height: 100dvh !important;
		z-index: 999;
}

.modal__inner {
		background-color: white;
}
.modal[class*=modal--leaflet] .modal__inner {
		background-color: rgba(0, 0, 0, 0.7) !important;
}
.modal[class*=modal--example] .modal__inner {
		background-color: rgba(0, 0, 0, 0.7) !important;
}

[data-drop-down-content] {
		display: none;
}
.drop-down [data-drop-down-content] {
		display: block;
}

.drop-down {
		z-index: 99;
}
.drop-down.--service-menu {
		z-index: 9999;
		top: var(--g-header-height) !important;
		height: calc(100vh - var(--g-header-height)) !important;
		height: calc(100dvh - var(--g-header-height)) !important;
}
@media screen and (max-width: 767px) {
		.drop-down.--service-menu {
				display: none;
		}
}

.drop-down__inner {
		background-color: white;
}
.drop-down.drop-down--pop-up .drop-down__inner {
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: rgba(0, 0, 0, 0.85);
}

/* .sp-menu
   ========================================================================== */
.sp-menu {
		--grid-size: calc(100vw / 10);
		---list-line-height: 6.4rem;
		position: relative;
		min-height: calc(100vh - var(--g-header-height));
		min-height: calc(100dvh - var(--g-header-height));
		padding-top: var(---list-line-height);
		padding-bottom: calc(var(--grid-size) * 4);
}

.sp-menu__switch {
		position: fixed;
		top: var(--g-header-height);
		left: 0;
		display: flex;
		z-index: 2;
		width: 100%;
		height: 6.4rem;
		border-bottom: 1px solid var(--g-color-light-blue);
		background-color: white;
}

.sp-menu-content {
		position: relative;
		z-index: 1;
}

.sp-menu__switch-item {
		position: relative;
		flex: 1;
		flex-shrink: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		padding-left: 1.5em;
		padding-right: 1.5em;
		font-size: 1.2rem;
		font-weight: 500;
		letter-spacing: 0.025em;
		background-color: #f9f9f9;
}
.sp-menu__switch-item:nth-of-type(even)::before {
		content: "";
		position: absolute;
		left: 0;
		transform: translateX(-50%);
		display: block;
		width: 1px;
		height: 100%;
		background-color: var(--g-color-light-blue);
}
.sp-menu__switch-item::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: block;
		--grid-size: 0.75rem;
		--border-width: 1px;
		background-position: center;
		background-size: calc(100% + 2px);
		background-image: repeating-linear-gradient(-55deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size));
		opacity: 0;
		transition: opacity 0.125s ease-out;
}
.sp-menu__switch-item.--active {
		background-color: transparent;
		pointer-events: none;
}
.sp-menu__switch-item.--active::after {
		opacity: 0.4;
}

.sp-menu__switch-content {
		position: relative;
		z-index: 1;
		line-height: 1.1;
}
.sp-menu__switch-content > span {
		display: block;
}

.sp-menu__switch-text {
		color: #afafaf;
		transition: color 0.125s ease-out;
}
.sp-menu__switch-item.--active .sp-menu__switch-text {
		color: var(--g-color-black);
}

.sp-menu__switch-icon {
		position: relative;
		width: 0.8rem;
		height: 0.5rem;
		margin-top: 0.65em;
		margin-right: auto;
		margin-left: auto;
}
.sp-menu__switch-icon::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		display: inline-block;
		width: 100%;
		height: 0;
		border-style: solid;
		border-width: 0.65rem 0.5rem 0 0.5rem;
		border-color: var(--g-color-gray) transparent transparent transparent;
		transition: border-color 0.125s ease-out, transform 0.125s ease-out;
}
.sp-menu__switch-item.--active .sp-menu__switch-icon::after {
		border-color: var(--g-color-blue) transparent transparent transparent;
}

.sp-menu__item {
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1.5;
		letter-spacing: 0.075em;
}
.sp-menu__item + .sp-menu__item {
		border-top: 1px solid var(--g-color-gray);
}
.sp-menu__item:last-of-type {
		border-bottom: 1px solid var(--g-color-gray);
}

.sp-menu__item-content {
		display: flex;
		align-items: center;
		width: 100%;
		height: var(---list-line-height);
		padding-right: var(--g-page-gutter);
		padding-left: var(--g-page-gutter);
}
.sp-menu__item-content > a, .sp-menu__item-content > button {
		position: relative;
		display: flex;
		align-items: center;
		width: 100%;
}
.sp-menu__item-content > a::before, .sp-menu__item-content > button::before {
		content: "";
		flex-shrink: 0;
		display: inline-block;
		width: 0.6rem;
		height: 0.6rem;
		margin-right: 0.85em;
		border-radius: 50%;
		background-color: var(--g-color-gray);
		transition: background-color 0.125s ease-out;
}
a:hover .sp-menu__item-content > a::before, a:hover .sp-menu__item-content > button::before {
		background-color: var(--g-color-blue);
}
.sp-menu__item-content button.--active::before {
		background-color: var(--g-color-blue);
}

.sp-menu__item-text {
		padding-right: 1em;
}

.sp-menu__item-arrow,
.sp-menu__sub-item-arrow {
		flex-shrink: 0;
		width: 0.8rem;
		line-height: 0;
		fill: var(--g-color-blue);
		margin-left: auto;
		transition: transform 0.125s ease-out;
}
a:hover .sp-menu__item-arrow,
a:hover .sp-menu__sub-item-arrow {
		transform: translate(50%, -50%);
}

.sp-menu__item-plus {
		position: relative;
		flex-shrink: 0;
		width: 1.1rem;
		height: 1.1rem;
		line-height: 0;
		margin-left: auto;
}
.sp-menu__item-plus::before, .sp-menu__item-plus::after {
		content: "";
		position: absolute;
		display: block;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
		height: 1px;
		background-color: var(--g-color-blue);
}
.sp-menu__item-plus::after {
		transform: translate(-50%, -50%) rotate(90deg);
		transition: transform 0.125s ease-out;
}
[data-accordion-trigger].--active .sp-menu__item-plus::after {
		transform: translate(-50%, -50%) rotate(180deg);
}

.sp-menu__sub-list-wrapper {
		border-top: 1px solid var(--g-color-gray);
}

.sp-menu__sub-list {
		padding-top: 0.5em;
		padding-bottom: 0.5em;
}

.sp-menu__sub-item {
		--sub-item-thumbnail-size: 2.8rem;
		--sub-item-thumbnail-content-margin: 1.6rem;
		position: relative;
		display: flex;
		align-items: center;
		height: calc(var(---list-line-height) + 1px);
		padding-right: var(--g-page-gutter);
		padding-left: var(--g-page-gutter);
}
.sp-menu__sub-item > a {
		position: relative;
		display: flex;
		align-items: center;
		width: 100%;
}
.sp-menu__sub-item + .sp-menu__sub-item::before {
		content: "";
		position: absolute;
		left: calc(var(--g-page-gutter) + var(--sub-item-thumbnail-size) + var(--sub-item-thumbnail-content-margin));
		top: 0;
		width: calc(100% - (var(--g-page-gutter) + var(--sub-item-thumbnail-size) + var(--sub-item-thumbnail-content-margin)));
		height: 1px;
		border-top: 1px dashed var(--g-color-gray);
}

.sp-menu__sub-item-thumbnail {
		width: var(--sub-item-thumbnail-size);
}

.sp-menu__sub-item-content {
		display: flex;
		align-items: center;
		width: 100%;
		margin-left: var(--sub-item-thumbnail-content-margin);
		padding-left: 0.6em;
}

.sp-menu__sub-item-text {
		padding-right: 1em;
}
.sp-menu__sub-item-text small {
		font-size: 0.78em;
}

.sp-menu__other-service {
		padding-top: 1.6rem;
		padding-right: var(--g-page-gutter);
		padding-left: var(--g-page-gutter);
		padding-bottom: 4rem;
		border-top: 1px solid var(--g-color-gray);
		border-bottom: 1px solid var(--g-color-gray);
}

.sp-menu__other-service-title {
		font-size: 1.4rem;
		font-weight: 700;
		color: #999999;
}

.sp-menu__other-service-list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		margin-top: 1.6rem;
}

.sp-menu__other-service-item {
		padding: 1.6rem;
}
.sp-menu__other-service-item a {
		display: flex;
		width: 100%;
		height: 100%;
		justify-content: center;
		align-items: center;
}

.sp-menu__other-service-item-content {
		display: flex;
		align-items: center;
		gap: 1.2rem;
}
.sp-menu__other-service-item-content img {
		flex-shrink: 0;
}
.sp-menu__other-service-item-content img[src*=logo-rias] {
		width: 8rem;
}
.sp-menu__other-service-item-content img[src*=logo-mcssc] {
		width: 7.8rem;
}

.sp-menu__other-service-item-icon {
		flex-shrink: 0;
		width: 1.2rem;
		height: 1.2rem;
		background-color: var(--g-color-blue);
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: 0.125s ease-out transform;
}
a:hover .sp-menu__other-service-item-icon {
		transform: translate(125%, -75%);
}
.sp-menu__other-service-item-icon svg {
		width: 0.5rem;
		fill: white;
}

.sp-menu__list-footer {
		padding-top: 3.6rem;
		padding-bottom: 3.6rem;
		display: flex;
		flex-direction: column;
		gap: 2rem;
		align-items: center;
}
.sp-menu__list-footer .button {
		width: 24.6rem;
}

.sp-menu__footer {
		--border-width: 1px;
		margin-top: 2.4rem;
		position: absolute;
		bottom: -1px;
		left: 0;
		width: 100%;
		min-height: calc(var(--grid-size) * 4);
}
.sp-menu__footer::before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		mask-image: linear-gradient(to top, black 0%, transparent 100%);
		-webkit-mask-image: linear-gradient(to top, black 0%, transparent 100%);
		background-position: center -1px;
		background-size: calc(100% + 2px) calc(var(--grid-size) * 4);
		border-top: 1px solid var(--g-color-light-blue);
		background-image: repeating-linear-gradient(90deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size)), repeating-linear-gradient(0deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size));
}

.sp-menu__bg {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		opacity: 0.5;
}
.sp-menu__bg img {
		position: absolute;
}
.sp-menu__bg img[src*=sp-menu-bg-01] {
		bottom: 32.8rem;
		left: 16.8rem;
		width: 10.8rem;
}
.sp-menu__bg img[src*=sp-menu-bg-02] {
		bottom: 15.6rem;
		left: 2.8rem;
		width: 11.4rem;
}
.sp-menu__bg img[src*=sp-menu-bg-03] {
		bottom: 7.3rem;
		right: 3.8rem;
		width: 11.4rem;
}
.sp-menu__bg img[src*=sp-menu-bg-04] {
		bottom: -6rem;
		left: 3.7rem;
		width: 12.9rem;
}

.button {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding-top: 1em;
		padding-right: 1.5em;
		padding-bottom: 1em;
		padding-left: 1.5em;
		border-radius: 5em;
}
@media screen and (max-width: 767px) {
		.button {
				min-width: 20rem;
		}
}
.button.button--with-icon {
		padding-right: 2.5em;
}
.button.button--blue-border {
		border: solid 1px var(--g-color-light-blue);
		background-color: var(--g-color-very-pale-blue);
		transition: border-color 0.125s ease-out, background-color 0.125s ease-out;
		overflow: hidden;
}
.button.button--blue-border::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 100%;
		display: block;
		--grid-size: 0.75rem;
		--border-width: 1px;
		background-position: center;
		background-size: calc(100% + 2px);
		background-image: repeating-linear-gradient(-55deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size));
		opacity: 0;
		transition: opacity 0.125s ease-out;
}
.button.button--blue-border:hover {
		border-color: var(--g-color-blue);
		background-color: transparent;
}
.button.button--blue-border:hover::before {
		opacity: 0.5;
}

/* .button--with-icon-downlord {
	gap: 8px;
} */

.button__text {
		text-align: center;
		font-weight: bold;
		font-size: 1.6rem;
		line-height: 1.5;
}
.button__download-text{
	text-align: center;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.5;

}

.button__icon {
		position: absolute;
		top: 50%;
		right: 1.5em;
		transform: translateY(-50%);
		line-height: 0;
}
.button__icon.button__icon--arrow {
		width: 0.65em;
		transition: fill 0.125s ease-out;
}
.button:hover .button__icon.button__icon--arrow {
		fill: var(--g-color-blue);
}
.button__icon.download {
	width: 22px; /* 必要に応じて幅を調整 */
  	height: 22px; /* 必要に応じて高さを調整 */
	display: inline-block;
}

/* .text-link
   ========================================================================== */
.text-link {
		transition: color 0.125s ease-out;
		text-decoration: underline;
		text-underline-offset: 0.25em;
}
.text-link:hover {
		text-decoration-color: var(--g-color-blue);
}

.text-link__icon {
		width: 0.75em;
		line-height: 0;
		vertical-align: middle;
		fill: var(--g-color-blue);
		margin-left: 0.25em;
		margin-right: 0.25em;
}

/* .hero
   ========================================================================== */
.hero {
		--grid-size: 9.333333rem;
		--border-width: 1px;
		position: relative;
		height: calc(var(--grid-size) * 3);
		overflow: hidden;
}
@media screen and (max-width: 767px) {
		.hero {
				--grid-size: calc(100vw / 5);
		}
}
.hero::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-position: center;
		background-image: repeating-linear-gradient(90deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size)), repeating-linear-gradient(0deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size));
}
@media screen and (max-width: 767px) {
		.hero::before {
				background-size: calc(100% + 2px) calc(var(--grid-size) * 5);
		}
}

.hero__content {
		position: relative;
		z-index: 1;
		width: var(--g-content-width);
		margin-right: auto;
		margin-left: auto;
}

.hero__title {
		--left-padding: 3.2rem;
		top: calc(var(--grid-size) - 2rem);
		position: absolute;
		left: calc(var(--left-padding) * -1);
		min-width: 40rem;
		max-width: 60rem;
		padding-top: 0.45em;
		padding-left: var(--left-padding);
		padding-right: var(--left-padding);
		padding-bottom: 0.6em;
		font-size: 2.6rem;
		font-weight: 700;
		background-color: #d7ebff;
		border: 1px solid var(--g-color-black);
		line-height: 1.6;
		letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
		.hero__title {
				--left-padding: 1.8rem;
				display: inline-block;
				top: calc(var(--grid-size) - 2.4rem);
				padding-right: calc(var(--left-padding) * 1.5);
				left: var(--g-page-gutter);
				min-width: calc(50% - var(--g-page-gutter));
				max-width: calc(100% - var(--g-page-gutter) * 2 - 0.8rem);
				font-size: 1.8rem;
		}
}
.hero__title small {
		font-size: 0.54em;
		line-height: 1.5;
		display: block;
}
.hero__title::after {
		content: "";
		position: absolute;
		bottom: -1rem;
		left: 1rem;
		z-index: -1;
		width: 100%;
		height: 100%;
		background-color: #d7ebff;
		border: 1px solid var(--g-color-black);
}
@media screen and (max-width: 767px) {
		.hero__title::after {
				bottom: -0.8rem;
				left: 0.8rem;
		}
}

.hero__title-icon {
		position: absolute;
		top: 0;
		right: 0;
		width: 2.4rem;
		height: 2.4rem;
		background-color: var(--g-color-blue);
}
@media screen and (max-width: 767px) {
		.hero__title-icon {
				width: 1.6rem;
				height: 1.6rem;
		}
}
.hero__title-icon svg {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -51%);
		width: 1.36rem;
		line-height: 0;
		fill: white;
}
@media screen and (max-width: 767px) {
		.hero__title-icon svg {
				transform: translate(-50%, -52%);
				width: 1rem;
		}
}

.hero__bg {
		position: absolute;
		top: 0;
		left: 50%;
		z-index: -1;
		transform: translateX(-50%);
		width: var(--g-content-width);
		height: 100%;
}

.hero__bg-item {
		position: absolute;
		z-index: -1;
}
.hero__bg-item:nth-of-type(1) {
		width: 24.1rem;
		bottom: -2.1rem;
		left: -29.6rem;
}
@media screen and (max-width: 767px) {
		.hero__bg-item:nth-of-type(1) {
				width: 12.2rem;
				bottom: 1.8rem;
				left: -1.3rem;
		}
}
.hero__bg-item:nth-of-type(2) {
		top: 2.75rem;
		width: 20rem;
		left: 25.5rem;
}
@media screen and (max-width: 767px) {
		.hero__bg-item:nth-of-type(2) {
				width: 12.8rem;
				top: -2.1rem;
				left: 13.8rem;
		}
}
.hero__bg-item:nth-of-type(3) {
		top: -3rem;
		width: 22.2rem;
		left: 63.25rem;
}
@media screen and (max-width: 767px) {
		.hero__bg-item:nth-of-type(3) {
				width: 13.1rem;
				top: auto;
				left: auto;
				right: -1.2rem;
				bottom: -2.4rem;
		}
}
.hero__bg-item:nth-of-type(4) {
		bottom: -0.9rem;
		width: 21rem;
		right: -22.8rem;
}
@media screen and (max-width: 767px) {
		.hero__bg-item:nth-of-type(4) {
				display: none;
		}
}

/* hero
   ========================================================================== */
.site-menu {
		display: flex;
		align-items: center;
		gap: 2em;
		letter-spacing: 0.075em;
		font-weight: 500;
}

.site-menu__item:not(.site-menu__item--button-style) a {
		display: flex;
		align-items: center;
}
.site-menu__item:not(.site-menu__item--button-style) a::before {
		content: "";
		display: inline-block;
		width: 0.7rem;
		height: 0.7rem;
		margin-right: 1em;
		border-radius: 50%;
		background-color: var(--g-color-gray);
		transition: background-color 0.125s ease-out;
}
.site-menu__item:not(.site-menu__item--button-style) a:hover::before {
		background-color: var(--g-color-blue);
}
.site-menu__item.--active:not(.site-menu__item--button-style) a::before {
		background-color: var(--g-color-blue);
}
.site-menu__item.site-menu__item--button-style a {
		display: flex;
		align-items: center;
		background-color: var(--g-color-light-gray);
		line-height: 2.6rem;
		padding-right: 1.75em;
		padding-left: 1.75em;
		border-radius: 1.3rem;
		transition: background-color 0.125s ease-out, color 0.125s ease-out;
}
.site-menu__item.site-menu__item--button-style a:hover {
		color: white;
		background-color: var(--g-color-blue);
}
.site-menu__item.site-menu__item--button-style.--active a {
		color: white;
		background-color: var(--g-color-blue);
}

.service-menu {
		--grid-size: 2.8rem;
		position: relative;
		overflow: hidden;
		min-height: 100vh;
		min-height: 100dvh;
}
@media screen and (max-width: 767px) {
		.service-menu {
				display: none !important;
		}
}

.service-menu__inner {
		position: relative;
		z-index: 1;
		min-height: 100vh;
		min-height: 100dvh;
		padding-bottom: calc(var(--grid-size) * 4 + 2.8rem);
}

.service-menu__header {
		--border-width: 1px;
		position: relative;
		min-height: calc(var(--grid-size) * 4);
}
.service-menu__header::before {
		content: "";
		position: absolute;
		top: -1px;
		left: 0;
		width: 100%;
		height: 100%;
		mask-image: linear-gradient(to bottom, black 0%, transparent 100%);
		-webkit-mask-image: linear-gradient(to bottom, black 0%, transparent 100%);
		background-position: center -1px;
		background-size: 100% calc(var(--grid-size) * 4);
		border-top: 1px solid var(--g-color-light-blue);
		background-image: repeating-linear-gradient(90deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size)), repeating-linear-gradient(0deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size));
}

.service-menu__footer {
		--border-width: 1px;
		margin-top: 2.4rem;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		min-height: calc(var(--grid-size) * 4);
}
.service-menu__footer::before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		mask-image: linear-gradient(to top, black 0%, transparent 100%);
		-webkit-mask-image: linear-gradient(to top, black 0%, transparent 100%);
		background-position: center -1px;
		background-size: 100% calc(var(--grid-size) * 4);
		border-top: 1px solid var(--g-color-light-blue);
		background-image: repeating-linear-gradient(90deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size)), repeating-linear-gradient(0deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size));
}

.service-menu__columns {
		--list-line-height: 4.8rem;
		margin-top: calc(var(--grid-size) * -4);
		padding-right: var(--g-page-gutter);
		padding-left: var(--g-page-gutter);
		display: grid;
		grid-template-columns: 1020fr 238fr;
		gap: 4.4rem;
}
@media screen and (orientation: portrait) {
		.service-menu__columns {
				grid-template-columns: 78fr 22fr;
		}
}

.service-menu__column {
		margin-top: 4rem;
}

.service-menu__title {
		position: relative;
		line-height: 1.56;
		font-size: 1.6rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		padding-left: 1.45em;
}
.service-menu__title::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		width: 1rem;
		height: 110%;
		background-color: var(--g-color-light-blue);
}

.service-menu__list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 4rem;
		margin-top: 4.8rem;
}
@media screen and (orientation: portrait) {
		.service-menu__list {
				display: block;
		}
}

.service-menu__list-category-title {
		position: relative;
		display: inline-flex;
		align-items: center;
		height: var(--list-line-height);
		font-size: 1.2rem;
		font-weight: 700;
		letter-spacing: 0.075em;
}
.service-menu__list-category-title::after {
		content: "";
		position: absolute;
		left: 0;
		z-index: 1;
		bottom: -1px;
		width: 100%;
		height: 1px;
		background-color: currentColor;
}

.service-menu__items {
		position: relative;
}
.service-menu__items::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 1px;
		background-color: var(--g-color-gray);
}

.service-menu__item a {
		position: relative;
		display: flex;
		align-items: center;
		height: var(--list-line-height);
		padding-right: 1.2rem;
		padding-left: 2.4rem;
		transition: color 0.125s ease-out;
}
.service-menu__item a::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 100%;
		display: block;
		--grid-size: 0.75rem;
		--border-width: 1px;
		background-position: center;
		background-size: calc(100% + 2px);
		background-image: repeating-linear-gradient(-55deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size));
		opacity: 0;
		transition: opacity 0.125s ease-out;
}
.service-menu__item a:hover {
		color: var(--g-color-blue);
}
.service-menu__item a:hover::before {
		opacity: 0.5;
}
.service-menu__item + .service-menu__item {
		position: relative;
}
.service-menu__item + .service-menu__item::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 1px;
		border-top: 1px dashed var(--g-color-gray);
}

.service-menu__item-thumbnail {
		width: 2rem;
		line-height: 0;
}

.service-menu__item-name {
		margin-left: 1.6rem;
		font-size: 1.1rem;
		font-weight: 500;
		line-height: 1.3;
		letter-spacing: 0.075em;
}
.service-menu__item-name small {
		font-size: 0.9em;
}

.service-menu__item-arrow {
		width: 0.7rem;
		line-height: 0;
		fill: var(--g-color-blue);
		margin-left: auto;
		transition: transform 0.125s ease-out;
}
a:hover .service-menu__item-arrow {
		transform: translate(50%, -50%);
}

.service-menu__other {
		margin-top: calc(4.8rem + var(--list-line-height));
}

.service-menu__other-item {
		height: calc(var(--list-line-height) * 3);
		display: flex;
		align-items: center;
		justify-content: center;
}
.service-menu__other-item:first-of-type {
		align-items: flex-start;
		height: calc(var(--list-line-height) * 2);
}
.service-menu__other-item + .service-menu__other-item {
		position: relative;
}
.service-menu__other-item + .service-menu__other-item::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 1px;
		border-top: 1px dashed var(--g-color-gray);
}
.service-menu__other-item a {
		position: relative;
}
.service-menu__other-item a::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		transform: translateX(100%);
		width: 3.6rem;
		height: 100%;
}
.service-menu__other-item a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: -1;
		width: 200%;
		height: calc(100% + 3.2rem);
		display: block;
		--grid-size: 0.75rem;
		--border-width: 1px;
		background-position: center;
		background-size: calc(100% + 2px);
		background-image: repeating-linear-gradient(-55deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size));
		opacity: 0;
		transition: opacity 0.125s ease-out;
}
.service-menu__other-item a:hover {
		color: var(--g-color-blue);
}
.service-menu__other-item a:hover::before {
		opacity: 0.75;
}
.service-menu__other-item img {
		max-width: 12rem;
}
.service-menu__other-item img[src*=logo-rias] {
		width: 8.8rem;
}
.service-menu__other-item img[src*=logo-mcssc] {
		width: 9rem;
}

.service-menu__other-item-link-icon {
		position: absolute;
		top: 50%;
		right: -2.4rem;
		transform: translate(100%, -50%);
		width: 1.2rem;
		height: 1.2rem;
		background-color: var(--g-color-blue);
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: 0.125s ease-out transform;
}
a:hover .service-menu__other-item-link-icon {
		transform: translate(125%, -75%);
}
@media screen and (max-width: 767px) {
		.service-menu__other-item-link-icon {
				top: auto;
				right: 1.4rem;
				bottom: 1.4rem;
				width: 2rem;
				height: 2rem;
		}
}
.service-menu__other-item-link-icon svg {
		width: 0.5rem;
		fill: white;
}
@media screen and (max-width: 767px) {
		.service-menu__other-item-link-icon svg {
				width: 0.82rem;
		}
}

.service-menu__bg {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}
.service-menu__bg img {
		position: absolute;
}
.service-menu__bg img[src*=service-menu-bg-01] {
		bottom: -2.0599250936%;
		left: -5.8571428571%;
		width: 18.7857142857%;
}
.service-menu__bg img[src*=service-menu-bg-02] {
		bottom: 30.8988764045%;
		left: 15.7142857143%;
		width: 17.5%;
}
.service-menu__bg img[src*=service-menu-bg-03] {
		bottom: 12.6404494382%;
		left: 51.7142857143%;
		width: 14.7857142857%;
}
.service-menu__bg img[src*=service-menu-bg-04] {
		bottom: 24.3445692884%;
		right: -1.9285714286%;
		width: 17.0714285714%;
}

/* .section
   ========================================================================== */
.section {
		margin-top: 16rem;
}
@media screen and (max-width: 767px) {
		.section {
				margin-top: 9.6rem;
		}
}
.section + .section {
		margin-top: 18rem;
}
@media screen and (max-width: 767px) {
		.section + .section {
				margin-top: 12rem;
		}
}
.section:last-of-type {
		margin-bottom: 18rem;
}
@media screen and (max-width: 767px) {
		.section:last-of-type {
				margin-bottom: 16rem;
		}
}

.section__header {
		--grid-size: 2.8rem;
		--border-width: 1px;
		position: relative;
		min-height: calc(var(--grid-size) * 5);
}
@media screen and (max-width: 767px) {
		.section__header {
				--grid-size: calc(100vw / 18);
		}
}
.section__header::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: calc(var(--grid-size) * 5);
		mask-image: linear-gradient(to bottom, black 0%, transparent 100%);
		-webkit-mask-image: linear-gradient(to bottom, black 0%, transparent 100%);
		background-position: center top;
		background-size: 100% calc(var(--grid-size) * 5);
		border-top: 1px solid var(--g-color-light-blue);
		background-image: repeating-linear-gradient(90deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size)), repeating-linear-gradient(0deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size));
}
@media screen and (max-width: 767px) {
		.section__header::before {
				background-size: calc(100% + 2px) calc(var(--grid-size) * 5);
		}
}

.section__before-arrow {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, calc(-1.2rem - 100%));
		display: flex;
		width: 2.6rem;
		padding-top: 0.3em;
		padding-bottom: 0.3em;
		background-color: #ddecff;
		align-items: center;
		justify-content: center;
}
@media screen and (max-width: 767px) {
		.section__before-arrow {
				transform: translate(-50%, calc(-1.6rem - 100%));
				width: 1.96rem;
		}
}
.section__before-arrow picture {
		line-height: 0;
}
.section__before-arrow img {
		width: 0.95rem;
		line-height: 0;
}
@media screen and (max-width: 767px) {
		.section__before-arrow img {
				width: 0.73rem;
		}
}

.section__header-inner {
		position: relative;
		width: var(--g-content-width);
		margin-right: auto;
		margin-left: auto;
		padding-top: 2rem;
}
@media screen and (max-width: 767px) {
		.section__header-inner {
				padding-top: 2.4rem;
				width: calc(var(--g-content-width) - var(--g-page-gutter) * 2);
		}
}

.section__title > span {
		display: block;
}

.section__title-en {
		line-height: 1.1;
		font-family: var(--font-roboto);
		font-size: 4rem;
		font-weight: 700;
}
@media screen and (max-width: 767px) {
		.section__title-en {
				font-size: 2.8rem;
		}
}
.section__title-en.section__title-en--small {
		font-size: 1.8rem;
		letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
		.section__title-en.section__title-en--small {
				font-size: 1.6rem;
		}
}

.section__title-jp {
		position: relative;
		margin-top: 0.6em;
		line-height: 1.56;
		font-size: 1.8rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		padding-left: 1.45em;
}
@media screen and (max-width: 767px) {
		.section__title-jp {
				margin-top: 0.35em;
				padding-left: 1.15em;
				font-size: 1.6rem;
		}
}
.section__title-jp::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		width: 1.2rem;
		height: 110%;
		background-color: var(--g-color-light-blue);
}
@media screen and (max-width: 767px) {
		.section__title-jp::before {
				width: 0.8rem;
				height: 106%;
		}
}

.section__title-jp__icon {
	color: #ffffff;
    font-weight: bold;
    background-color: #f06060;
    /* border: 0.2rem solid; */
	padding-right: 1em;
    padding-left: 1em;
	padding-bottom: 0.1em;
    line-height: 2.2rem;
	vertical-align: 0.1em;
    border-radius: 5em;
    font-size: 17px;
}

.section__number {
		position: absolute;
		top: var(--grid-size);
		right: 0;
		transform: translateY(-50%);
		background-color: var(--g-color-pale-blue);
		font-family: var(--font-roboto);
		line-height: 1;
		padding-top: 0.25em;
		padding-right: 0.25em;
		padding-bottom: 0.25em;
		padding-left: 0.25em;
}
@media screen and (max-width: 767px) {
		.section__number {
				font-size: 1.1rem;
		}
}

.section__body {
		width: var(--g-content-width);
		margin-top: 9.6rem;
		margin-right: auto;
		margin-left: auto;
}
@media screen and (max-width: 767px) {
		.section__body {
				margin-top: 6.4rem;
				padding-right: var(--g-page-gutter);
				padding-left: var(--g-page-gutter);
		}
}

.section__campaign {
	width: 55rem;
	margin-top: 9.6rem;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.section__campaign {
		width: auto;
	}
	.section__campaign-image {
		margin-inline: auto;
		max-width: 75%;
	}
}

.section__inner-section {
		padding-left: calc(var(--g-page-inner-gutter) + var(--g-trim-mark-size) / 2);
		padding-right: calc(var(--g-page-inner-gutter) + var(--g-trim-mark-size) / 2);
}
.section__inner-section.inner-content__section--trim-mark {
		position: relative;
}
.section__inner-section.inner-content__section--trim-mark:first-of-type::before, .section__inner-section.inner-content__section--trim-mark:first-of-type::after {
		content: "";
		position: absolute;
		top: 0;
		display: inline-block;
		height: calc(var(--g-trim-mark-size) / 2);
		width: var(--g-trim-mark-size);
		background-image: url(../images/trim-mark-edge.svg);
		background-size: contain;
		background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
		.section__inner-section.inner-content__section--trim-mark:first-of-type::before, .section__inner-section.inner-content__section--trim-mark:first-of-type::after {
				background-image: url(../images/trim-mark-edge-sp.svg);
		}
}
.section__inner-section.inner-content__section--trim-mark:first-of-type::before {
		left: 0;
}
.section__inner-section.inner-content__section--trim-mark:first-of-type::after {
		right: 0;
}
section + .section__inner-section {
		margin-top: 5.6rem;
		padding-top: 5.6rem;
}
section + .section__inner-section::before, section + .section__inner-section::after {
		content: "";
		position: absolute;
		top: 0;
		display: inline-block;
		height: var(--g-trim-mark-size);
		width: var(--g-trim-mark-size);
		background-image: url(../images/trim-mark-middle.svg);
		background-size: contain;
		background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
		section + .section__inner-section::before, section + .section__inner-section::after {
				background-image: url(../images/trim-mark-middle-sp.svg);
		}
}
section + .section__inner-section::before {
		left: 0;
		transform: translateX(-50%) translateY(-50%);
}
section + .section__inner-section::after {
		right: 0;
		transform: translateX(-50%) translateY(-50%);
}
.section__inner-section.section__inner-section--trim-mark {
		padding-top: var(--g-trim-mark-size);
		padding-left: calc(var(--g-page-inner-gutter) + var(--g-trim-mark-size) / 2);
		padding-right: calc(var(--g-page-inner-gutter) + var(--g-trim-mark-size) / 2);
		position: relative;
}
.section__inner-section.section__inner-section--trim-mark:first-of-type::before, .section__inner-section.section__inner-section--trim-mark:first-of-type::after {
		content: "";
		position: absolute;
		top: 0;
		display: inline-block;
		height: calc(var(--g-trim-mark-size) / 2);
		width: var(--g-trim-mark-size);
		background-image: url(../images/trim-mark-edge.svg);
		background-size: contain;
		background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
		.section__inner-section.section__inner-section--trim-mark:first-of-type::before, .section__inner-section.section__inner-section--trim-mark:first-of-type::after {
				background-image: url(../images/trim-mark-edge-sp.svg);
		}
}
.section__inner-section.section__inner-section--trim-mark:first-of-type::before {
		left: 0;
}
.section__inner-section.section__inner-section--trim-mark:first-of-type::after {
		right: 0;
}
.section__inner-section.section__inner-section--trim-mark + .section__inner-section.section__inner-section--trim-mark {
		margin-top: 5.6rem;
		padding-top: 5.6rem;
}
.section__inner-section.section__inner-section--trim-mark + .section__inner-section.section__inner-section--trim-mark::before, .section__inner-section.section__inner-section--trim-mark + .section__inner-section.section__inner-section--trim-mark::after {
		content: "";
		position: absolute;
		top: 0;
		display: inline-block;
		height: var(--g-trim-mark-size);
		width: var(--g-trim-mark-size);
		background-image: url(../images/trim-mark-middle.svg);
		background-size: contain;
		background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
		.section__inner-section.section__inner-section--trim-mark + .section__inner-section.section__inner-section--trim-mark::before, .section__inner-section.section__inner-section--trim-mark + .section__inner-section.section__inner-section--trim-mark::after {
				background-image: url(../images/trim-mark-middle-sp.svg);
		}
}
.section__inner-section.section__inner-section--trim-mark + .section__inner-section.section__inner-section--trim-mark::before {
		left: 0;
		transform: translateX(-50%) translateY(-50%);
}
.section__inner-section.section__inner-section--trim-mark + .section__inner-section.section__inner-section--trim-mark::after {
		right: 0;
		transform: translateX(-50%) translateY(-50%);
}

#content-list-link {
		color: #0198ff;
		text-decoration-line: none !important;
}

.content__flow-list {
		max-width: 700px;
		margin: auto;
}

.content__flow-list__item + .content__flow-list__item::before {
		content: "";
		width: 0;
		height: 0;
		display: block;
		border-style: solid;
		border-width: 20px 35px 0 35px;
		border-color: #0099FF transparent transparent transparent;
		box-sizing: border-box;
		margin: 10px auto 15px;
}

.content__flow-list__item__box {
		background: #f7f7f7;
		padding: 10px 15px 10px 1em;
}

.content__flow-list__item__box__txt {
		font-size: 20px;
		font-weight: 500;
		margin-right: 10px;
}

.content__flow-list__item__box__num {
		margin-right: 10px;
		margin-left: 10px;
}

.content__flow-list__item__box__detail {
		background: #B3D4FC;
		padding: 20px;
		border-radius: 3px;
		margin-top: 5px;
		font-size: 20px;
		font-weight: 500;
}

.content__flow-list__item__box__detail__ol {
		margin-left: 20px;
}

.content__flow-list__item__box__detail__coment {
		text-indent: 0em;
		margin-top: 20px;
		font-size: 12px;
}

.content__flow-list__item__box__technique {
		text-align: right;
		font-size: 12px;
		font-weight: 500;
}

.content__flow-list__item__box__technique::before {
		content: "";
		display: inline-block;
		width: 20px;
		height: 20px;
		margin-right: 5px;
		vertical-align: middle;
		background: #B3D4FC;
}

.content__flow-list__item__box__list {
		background: #B3D4FC;
		padding: 20px;
		border-radius: 3px;
		margin-top: 5px;
		font-size: 15px;
		font-weight: 500;
}

.content__flow-list__item__box__list__ul {
		list-style-type: disc;
		border-radius: 3px;
		font-size: 15px;
		padding-left: 0em;
}

.content__flow-list__item__box__list__option {
		background: #f7f7f7;
		padding: 20px;
		border-radius: 3px;
		margin-top: 5px;
		font-size: 15px;
		font-weight: 500;
}

.content__flow-list__item__box__list__option__ul {
		list-style-type: disc;
		border-radius: 3px;
		font-size: 15px;
		padding-left: 0em;
}

/* .section-start
   ========================================================================== */
.section-start {
		width: var(--g-content-width);
		margin-right: auto;
		margin-left: auto;
		padding-top: 7.2rem;
}
@media screen and (max-width: 767px) {
		.section-start {
				padding-top: 5.6rem;
				padding-left: var(--g-page-gutter);
				padding-right: var(--g-page-gutter);
		}
}

.section-start__lead {
		text-align: center;
		line-height: 1.7;
		font-size: 1.6rem;
		font-weight: 500;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		.section-start__lead {
				font-size: 1.3rem;
				line-height: 1.85;
		}
}

/* .customer-voice
   ========================================================================== */
.customer-voice {
		--loop-duration: 200s;
		margin-top: 9.6rem;
}
@media screen and (max-width: 767px) {
		.customer-voice {
				--loop-duration: 175s;
				margin-top: 7.8rem;
		}
}
.customer-voice[data-horizontal-loop] {
		display: flex;
		width: 100vw;
		overflow: hidden;
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
}

.customer-voice__list {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 1.6rem;
}
@media screen and (max-width: 767px) {
		.customer-voice__list {
				grid-template-columns: 1fr;
		}
		.customer-voice__list:not([data-horizontal-loop]) {
				gap: 2.4rem 1.6rem;
		}
}
.customer-voice[data-horizontal-loop] .customer-voice__list {
		display: flex;
		padding-left: 1.6rem;
}
.customer-voice[data-horizontal-loop] .customer-voice__list:first-of-type {
		animation: loop var(--loop-duration) calc(var(--loop-duration) / 2 * -1) linear infinite;
}
.customer-voice[data-horizontal-loop] .customer-voice__list:last-of-type {
		animation: loop2 var(--loop-duration) linear infinite;
}
.customer-voice[data-horizontal-loop] .customer-voice__list > * {
		width: 20rem;
		flex-shrink: 0;
}
@media screen and (max-width: 767px) {
		.customer-voice[data-horizontal-loop] .customer-voice__list > * {
				width: 18rem;
		}
}
.customer-voice[data-horizontal-loop].--loop-stop .customer-voice__list {
		animation-play-state: paused;
}
@keyframes loop {
		0% {
				transform: translateX(100%);
		}
		to {
				transform: translateX(-100%);
		}
}
@keyframes loop2 {
		0% {
				transform: translateX(0);
		}
		to {
				transform: translateX(-200%);
		}
}

.customer-voice__item {
		display: flex;
		flex-direction: column;
		gap: 0.4rem;
}
@media screen and (max-width: 767px) {
		.customer-voice__item {
				gap: 0.5rem;
		}
}

.customer-voice__photo {
		position: relative;
		aspect-ratio: 220/139;
		flex-shrink: 0;
}
.customer-voice__photo img {
		width: 100%;
		height: 100%;
		object-fit: cover;
}

.customer-voice__photo-person {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0.9;
}
.customer-voice__photo-person img {
		object-position: top;
}

.customer-voice__photo-bg {
		height: 100%;
}

.customer-voice__data {
		background-color: #efefef;
		text-align: center;
		padding-top: 0.8rem;
		padding-right: 2.4rem;
		padding-bottom: 0.8rem;
		padding-left: 2.4rem;
		line-height: 1.5;
		font-size: 1.2rem;
		font-weight: 500;
}
@media screen and (max-width: 767px) {
		.customer-voice__data {
				font-size: inherit;
		}
}

.customer-voice__text {
		background-color: #efefef;
		text-align: justify;
		padding-top: 1.4rem;
		padding-right: 2.4rem;
		padding-bottom: 2.2rem;
		padding-left: 2.4rem;
		line-height: 2;
		font-size: 1.1rem;
		font-weight: 500;
}
@media screen and (max-width: 767px) {
		.customer-voice__text {
				line-height: 1.9;
				font-size: inherit;
		}
}
.customer-voice:not([data-horizontal-loop]) .customer-voice__text {
		height: 100%;
}

.customer-voice[data-horizontal-loop] .customer-voice__text-inner {
		display: -webkit-box;
		-webkit-line-clamp: 4;
		line-clamp: 4;
		-webkit-box-orient: vertical;
		overflow: hidden;
}

.customer-voice__separator {
		position: relative;
		aspect-ratio: 22/30;
}
@media screen and (max-width: 767px) {
		.customer-voice:not([data-horizontal-loop]) .customer-voice__separator {
				display: none;
		}
}
.customer-voice__separator img {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
}

/* .interview
   ========================================================================== */
.interview {
		position: relative;
		margin-top: 9.6rem;
}
@media screen and (max-width: 767px) {
		.interview {
				margin-top: 8rem;
		}
}

@media screen and (max-width: 767px) {
		.interview__list {
				margin-top: 5rem;
		}
}

.interview__item {
		position: relative;
		display: flex;
		width: 88.8rem;
		margin-right: auto;
		margin-left: auto;
		border: 0.2rem solid white;
		background-color: white;
		border-radius: 2.6rem;
		filter: drop-shadow(0.5rem 0.5rem 1rem rgba(0, 0, 0, 0.2));
		transform: translateZ(0);
}
html:not(.touch-device) .interview__item {
		transition: filter 0.125s ease-out;
}
html:not(.touch-device) .interview__item:hover {
		filter: drop-shadow(0.75rem 0.75rem 1.25rem rgba(0, 0, 0, 0.25));
}
@media screen and (max-width: 767px) {
		.interview__item {
				display: block;
				width: 28rem;
				border: 0.4rem solid white;
				border-radius: 2.1rem;
		}
}

.interview__item-image {
		position: relative;
		z-index: 1;
		width: 30rem;
		height: 100%;
		overflow: hidden;
		border-radius: 2.6rem 0 0 2.6rem;
		flex-shrink: 0;
}
@media screen and (max-width: 767px) {
		.interview__item-image {
				width: 100%;
				height: 19rem;
				border-radius: 1.9rem 1.9rem 0 0;
		}
}
.interview__item-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.125s ease-out;
}
html:not(.touch-device) .interview__item:hover .interview__item-image img {
		transform: scale(1.03);
}

.interview__item-content {
		padding-top: 2rem;
		padding-right: 4.2rem;
		padding-bottom: 2rem;
		padding-left: 3.8rem;
}
@media screen and (max-width: 767px) {
		.interview__item-content {
				padding-top: 2.2rem;
				padding-right: 2rem;
				padding-bottom: 3.2rem;
				padding-left: 2rem;
		}
}

.interview__item-title {
		line-height: 1.7;
		font-size: 2rem;
		font-weight: 500;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		.interview__item-title {
				text-align: justify;
				font-size: 1.4rem;
		}
		.interview__item-title br {
				display: none;
		}
}

.interview__item-body {
		margin-top: 1em;
		text-align: justify;
		letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
		.interview__item-body {
				font-size: 1.3rem;
				letter-spacing: 0.05em;
				margin-top: 1em;
		}
}

.interview__item-link-icon {
		position: absolute;
		top: 2rem;
		right: 2rem;
		width: 2.1rem;
		height: 2.1rem;
		background-color: var(--g-color-blue);
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
}
@media screen and (max-width: 767px) {
		.interview__item-link-icon {
				top: auto;
				right: 1.4rem;
				bottom: 1.4rem;
				width: 2rem;
				height: 2rem;
		}
}
.interview__item-link-icon svg {
		width: 0.8rem;
		fill: white;
}
@media screen and (max-width: 767px) {
		.interview__item-link-icon svg {
				width: 0.72rem;
		}
}

/* .plan-grid
   ========================================================================== */
.plan-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 4.8rem 8rem;
		width: 92rem;
		margin-top: 7.2rem;
		margin-right: auto;
		margin-left: auto;
}
@media screen and (max-width: 767px) {
		.plan-grid {
				display: block;
				margin-top: 6.4rem;
				width: 100%;
		}
}

.plan-grid__item {
		--color: var(--g-color-black);
}
@media screen and (max-width: 767px) {
		.plan-grid__item + .plan-grid__item {
				margin-top: 4rem;
		}
}

.plan-grid__item-header {
		display: grid;
		grid-template-columns: 1fr 1fr;
		aspect-ratio: 2/1;
}

.plan-grid__item-header-column {
		padding-top: 1.8rem;
		padding-right: 2rem;
		padding-bottom: 1.8rem;
		padding-left: 2rem;
		aspect-ratio: 1/1;
		min-width: 0;
}
@media screen and (max-width: 767px) {
		.plan-grid__item-header-column {
				padding-top: 1.2rem;
				padding-right: 1.6rem;
				padding-bottom: 1.2rem;
				padding-left: 1.6rem;
		}
}
.plan-grid__item-header-column:nth-of-type(1) {
		background-color: var(--color);
		color: white;
}
.plan-grid__item-header-column:nth-of-type(2) {
		background-color: white;
		border: 0.2rem solid var(--color);
}

.plan-grid__item-label {
		line-height: 1.3;
		font-size: 1.1rem;
		font-family: var(--font-roboto);
		font-weight: 500;
		letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
		.plan-grid__item-label {
				font-size: 1rem;
				transform-origin: left;
				transform: scale(0.9);
		}
}

.plan-grid__item-title {
		margin-top: 0.75em;
		line-height: 1.4;
		font-size: 1.8rem;
		font-weight: 700;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		.plan-grid__item-title {
				font-size: 1.4rem;
		}
}

.plan-grid__item-abbreviations {
		margin-top: -0.075em;
		margin-left: -0.05em;
		line-height: 0.75;
		font-family: var(--font-arial);
		font-size: 6.2rem;
		font-weight: 900;
		color: transparent;
		-webkit-text-stroke: 1.5px var(--color);
		/* text-stroke: 1.5px var(--color); */
}
@media screen and (max-width: 767px) {
		.plan-grid__item-abbreviations {
				line-height: 0.9;
				font-size: 4.4rem;
		}
}

.plan-grid__item-content-label {
		margin-top: 0.85rem;
		color: var(--color);
		font-weight: 500;
		font-size: 1.1rem;
		letter-spacing: 0.075em;
}
@media screen and (max-width: 767px) {
		.plan-grid__item-content-label {
				margin-top: 0.25rem;
				font-size: 1rem;
		}
}
.plan-grid__item-content-label:empty::after {
		content: "";
		display: block;
		transform: translateY(1em);
		width: 5.4rem;
		height: 1px;
		border-top: 1px dashed currentColor;
}

.plan-grid__item-content {
		margin-top: 0.765em;
		line-height: 1.3;
		font-size: 1.2rem;
		font-weight: 500;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		.plan-grid__item-content {
				font-size: 1.1rem;
		}
}
.plan-grid__item-content li + li {
		margin-top: 0.75em;
}
@media screen and (max-width: 767px) {
		.plan-grid__item-content li + li {
				margin-top: 0.5em;
		}
}

.plan-grid__item-body {
		margin-top: 2em;
		line-height: 2.1;
		font-size: 1.3rem;
		text-align: justify;
}
@media screen and (max-width: 767px) {
		.plan-grid__item-body {
				margin-top: 1.25em;
		}
}

.plan-grid__item-note {
		margin-top: 2em;
		line-height: 1.5;
		font-size: 1.1rem;
		letter-spacing: 0.01em;
		color: var(--g-color-dark-gray);
}
@media screen and (max-width: 767px) {
		.plan-grid__item-note {
				margin-top: 1em;
		}
}
.plan-grid__item-note li {
		padding-left: 1em;
		text-indent: -1em;
}

/* .other-service
   ========================================================================== */
.other-service {
		margin-top: 9.6rem;
}
@media screen and (max-width: 767px) {
		.other-service {
				margin-top: 6.4rem;
		}
}

.other-service__item {
		position: relative;
		padding: 4.8rem;
		display: grid;
}
@media screen and (max-width: 767px) {
		.other-service__item {
				padding-top: 3.2rem;
				padding-right: var(--g-page-inner-gutter);
				padding-bottom: 3.2rem;
				padding-left: var(--g-page-inner-gutter);
		}
}
.other-service__item:last-of-type::before, .other-service__item:last-of-type::after {
		content: "";
		position: absolute;
		top: auto;
		bottom: 0;
		display: inline-block;
		height: 1.6rem;
		width: 3.2rem;
		background-image: url(../images/trim-mark-edge.svg);
		background-size: contain;
		background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
		.other-service__item:last-of-type::before, .other-service__item:last-of-type::after {
				height: 0.8rem;
				width: 1.6rem;
				background-image: url(../images/trim-mark-edge-sp.svg);
		}
}
.other-service__item:last-of-type::before {
		left: 0;
		transform: translateX(-50%) scaleY(-1);
}
.other-service__item:last-of-type::after {
		right: 0;
		transform: translateX(50%) scaleY(-1);
}

.other-service__item:first-of-type .other-service__item-inner::before, .other-service__item:first-of-type .other-service__item-inner::after {
		content: "";
		position: absolute;
		top: 0;
		display: inline-block;
		height: 1.6rem;
		width: 3.2rem;
		background-image: url(../images/trim-mark-edge.svg);
		background-size: contain;
		background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
		.other-service__item:first-of-type .other-service__item-inner::before, .other-service__item:first-of-type .other-service__item-inner::after {
				background-image: url(../images/trim-mark-edge-sp.svg);
				height: 0.8rem;
				width: 1.6rem;
		}
}
.other-service__item:first-of-type .other-service__item-inner::before {
		left: 0;
		transform: translateX(-50%);
}
.other-service__item:first-of-type .other-service__item-inner::after {
		right: 0;
		transform: translateX(50%);
}
.other-service__item + .other-service__item .other-service__item-inner::before, .other-service__item + .other-service__item .other-service__item-inner::after {
		content: "";
		position: absolute;
		top: 0;
		display: inline-block;
		height: 3.2rem;
		width: 3.2rem;
		background-image: url(../images/trim-mark-middle.svg);
		background-size: contain;
		background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
		.other-service__item + .other-service__item .other-service__item-inner::before, .other-service__item + .other-service__item .other-service__item-inner::after {
				background-image: url(../images/trim-mark-middle-sp.svg);
				height: 1.6rem;
				width: 1.6rem;
		}
}
.other-service__item + .other-service__item .other-service__item-inner::before {
		left: 0;
		transform: translate(-50%, -50%);
}
.other-service__item + .other-service__item .other-service__item-inner::after {
		right: 0;
		transform: translate(50%, -50%);
}

.other-service__item-header {
		position: relative;
		z-index: 1;
		aspect-ratio: 90/47;
		border-radius: 2.8rem;
		overflow: hidden;
}
@media screen and (max-width: 767px) {
		.other-service__item-header {
				border-radius: 0.9rem;
		}
}
.other-service__item-header a::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(180deg, rgb(240, 240, 240) 0%, rgb(160, 160, 160) 75%, rgb(65, 65, 65) 100%);
		opacity: 0.35;
		mix-blend-mode: multiply;
		transition: opacity 0.125s ease-out;
}

.other-service__item-image {
		width: 100%;
		height: 100%;
}
.other-service__item-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.125s ease-out;
}
a:hover .other-service__item-image img {
		transform: scale(1.025);
}

.other-service__item-logo {
		position: absolute;
		left: 3.6rem;
		bottom: 3.2rem;
		z-index: 1;
}
@media screen and (max-width: 767px) {
		.other-service__item-logo {
				left: 1.6rem;
				bottom: 1.6rem;
		}
}
.other-service__item-logo img {
		width: 12rem;
}
@media screen and (max-width: 767px) {
		.other-service__item-logo img {
				width: 7.2rem;
		}
}
.other-service__item-logo img[src*=logo-rias-white] {
		width: 12rem;
}
@media screen and (max-width: 767px) {
		.other-service__item-logo img[src*=logo-rias-white] {
				width: 7.2rem;
		}
}
.other-service__item-logo img[src*=logo-mcssc-white] {
		width: 12rem;
}
@media screen and (max-width: 767px) {
		.other-service__item-logo img[src*=logo-mcssc-white] {
				width: 8.8rem;
		}
}

.other-service__item-link-mark {
		position: absolute;
		bottom: 3.6rem;
		right: 3.6rem;
		z-index: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 3.2rem;
		height: 3.2rem;
		border-radius: 50%;
		border: 1px solid white;
		fill: white;
}
@media screen and (max-width: 767px) {
		.other-service__item-link-mark {
				bottom: 1.6rem;
				right: 1.6rem;
				width: 2.4rem;
				height: 2.4rem;
		}
}
.other-service__item-link-mark svg {
		line-height: 0;
		width: 1.2rem;
		height: 1.2rem;
}
@media screen and (max-width: 767px) {
		.other-service__item-link-mark svg {
				width: 0.8rem;
				height: 0.8rem;
		}
}

.other-service__item-body {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 4rem;
		margin-bottom: 3.2rem;
		margin-top: 1.2rem;
}
@media screen and (max-width: 767px) {
		.other-service__item-body {
				margin-top: 2.4rem;
				grid-template-columns: 1fr;
				gap: 1.6rem;
		}
}

.other-service__item-title {
		line-height: 1.5;
		font-size: 2.6rem;
		font-weight: 700;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		.other-service__item-title {
				font-size: 1.8rem;
		}
}
.other-service__item-title small {
		display: inline-block;
		font-size: 0.54em;
		letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
		.other-service__item-title small {
				font-size: 0.7em;
		}
}
.other-service__item-title::after {
		content: "";
		display: block;
		margin-top: 1.25rem;
		width: 2em;
		height: 0.2rem;
		background-color: currentColor;
}
@media screen and (max-width: 767px) {
		.other-service__item-title::after {
				background-color: var(--g-color-gray);
		}
}

.other-service__item-title-text {
		margin-right: 0.5em;
		display: inline-block;
}
@media screen and (max-width: 767px) {
		.other-service__item-title-text {
				margin-right: 0.65em;
		}
}

.other-service__item-lead {
		margin-top: 1.25em;
		line-height: 1.7;
		font-weight: 500;
		letter-spacing: 0.025em;
}

.other-service__item-description {
		line-height: 1.7;
		letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
		.other-service__item-description {
				line-height: 2;
		}
}
.other-service__item-description * + p {
		margin-top: 1em;
}
.other-service__item-description * + ul {
		margin-top: 1em;
}
.other-service__item-description ul li + li {
		margin-top: 0.25em;
}
.other-service__item-description ul li {
		text-indent: -1em;
		padding-left: 1em;
}

/* .anchor-links
   ========================================================================== */
.anchor-links {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 2rem;
		margin-top: 4rem;
}
@media screen and (max-width: 767px) {
		.anchor-links {
				justify-content: flex-start;
				gap: 1.6rem;
				margin-top: 2.4rem;
		}
}

.anchor-links__item a {
		position: relative;
		display: block;
		padding-left: 1.25em;
		padding-right: 2em;
		border: 1px solid var(--g-color-light-blue);
		border-radius: 3.2rem;
		line-height: 3.2rem;
		font-size: 1.4rem;
		font-weight: 500;
		letter-spacing: 0.05em;
		transition: background-color 0.125s ease-out;
}
@media screen and (max-width: 767px) {
		.anchor-links__item a {
				line-height: 2.8rem;
				font-size: 1.2rem;
		}
}
.anchor-links__item a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0.85em;
		width: 0.72rem;
		height: 0.72rem;
		border-right: 1px solid var(--g-color-blue);
		border-bottom: 1px solid var(--g-color-blue);
		transform: translateY(-60%) rotate(45deg);
}
@media screen and (max-width: 767px) {
		.anchor-links__item a::after {
				width: 0.64rem;
				height: 0.64rem;
		}
}
.anchor-links__item a:hover {
		background-color: var(--g-color-very-pale-blue);
}

/* .faq
   ========================================================================== */
* + .faq {
		margin-top: 7.2rem;
}
@media screen and (max-width: 767px) {
		* + .faq {
				margin-top: 5.6rem;
		}
}

.faq__item + .faq__item {
		margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
		.faq__item + .faq__item {
				margin-top: 4rem;
		}
}

.faq__item-title {
		line-height: 1.6;
		font-size: 1.6rem;
		font-weight: 700;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		.faq__item-title {
				font-size: 1.4rem;
		}
}

.faq__list {
		--item-gutter: 2rem;
		--qa-left-padding: 4rem;
		margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
		.faq__list {
				--item-gutter: 0;
				--qa-left-padding: 3.2rem;
				margin-top: 1.2rem;
		}
}

.faq__list-item {
		position: relative;
		border-top: 1px dashed var(--g-color-gray);
		padding-left: var(--item-gutter);
		padding-top: 1.5em;
		padding-right: var(--item-gutter);
		padding-bottom: 1.5em;
}
.faq__list-item:last-of-type {
		border-bottom: 1px dashed var(--g-color-gray);
}
.faq__list-item::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 100%;
		display: block;
		--grid-size: 0.75rem;
		--border-width: 1px;
		background-position: center;
		background-size: calc(100% + 2px);
		background-image: repeating-linear-gradient(-55deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size));
		opacity: 0;
		transition: opacity 0.125s ease-out;
}
.faq__list-item:has(.--active)::before {
		opacity: 0.25;
}

.faq__list-item-q {
		--trigger-icon-size: 1.4rem;
		line-height: 1.6;
		font-weight: 500;
		letter-spacing: 0.05em;
}
.faq__list-item-q button {
		position: relative;
		display: block;
		width: 100%;
		padding-left: var(--qa-left-padding);
		padding-right: calc(var(--trigger-icon-size) + 1em);
		line-height: 1.5;
		font-size: 1.4rem !important;
		font-weight: 500;
		letter-spacing: 0.05em;
		text-align: left;
}
@media screen and (max-width: 767px) {
		.faq__list-item-q button {
				font-size: 1.3rem !important;
		}
}
.faq__list-item-q button::before {
		content: "Q.";
		position: absolute;
		top: 0;
		left: 0;
		transform: translateY(-0.1em);
		display: inline-block;
		font-family: var(--font-roboto);
		font-size: 2.3rem;
		font-weight: 900;
		color: var(--g-color-blue);
		line-height: 1;
}
@media screen and (max-width: 767px) {
		.faq__list-item-q button::before {
				font-size: 2.1rem;
		}
}
.faq__list-item-q button::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: calc(100% + var(--qa-left-padding));
		height: 150%;
}

.faq__list-item-trigger-icon {
		position: absolute;
		top: 0;
		right: 0;
		transform: translateY(0.75em);
		width: var(--trigger-icon-size);
		height: var(--trigger-icon-size);
}
.faq__list-item-trigger-icon::before, .faq__list-item-trigger-icon::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background-color: var(--g-color-blue);
}
.faq__list-item-trigger-icon::after {
		transform: translateY(-50%) rotate(-90deg);
		transition: transform 0.125s ease-out;
}
[data-accordion-trigger].--active .faq__list-item-trigger-icon::after {
		transform: translateY(-50%) rotate(0deg);
}

.faq__list-item-a-inner {
		margin-top: 1.5em;
		margin-bottom: 0.5em;
		position: relative;
		padding-left: var(--qa-left-padding);
		text-align: justify;
}
.faq__list-item-a-inner::before {
		content: "A.";
		position: absolute;
		top: 0;
		left: 0;
		transform: translateY(0.075em);
		display: inline-block;
		font-family: var(--font-roboto);
		font-size: 2.3rem;
		font-weight: 900;
		color: var(--g-color-blue);
		line-height: 1;
}
@media screen and (max-width: 767px) {
		.faq__list-item-a-inner::before {
				font-size: 2.1rem;
		}
}

#faq__list-item__reference {
		color: #0099ff;
}

/* .list-table
   ========================================================================== */
.list-table {
		width: 100%;
}
@media screen and (max-width: 767px) {
		.list-table {
				--sp-list-table-gutter: 2.4rem;
				display: grid;
				grid-template-columns: 1fr;
		}
}
* + .list-table {
		margin-top: 6.4rem;
}
@media screen and (max-width: 767px) {
		* + .list-table {
				margin-top: 5.6rem;
		}
}
.list-table table {
		width: 100%;
}
.list-table td,
.list-table th {
		vertical-align: middle;
		padding-left: calc(var(--sp-list-table-gutter) + var(--sp-list-table-gutter));
		padding-right: calc(var(--sp-list-table-gutter) + var(--sp-list-table-gutter));
}
.list-table th {
		text-align: left;
}
@media screen and (max-width: 767px) {
		.list-table thead {
				display: none;
		}
}
.list-table thead th {
		padding-bottom: 1.6rem;
		line-height: 1.5;
		font-size: 1.2rem;
		font-weight: 500;
		letter-spacing: 0.025em;
}
.list-table tbody {
		border-top: 1px solid var(--g-color-gray);
		border-bottom: 1px solid var(--g-color-gray);
		line-height: 1.6;
}
@media screen and (max-width: 767px) {
		.list-table tbody {
				display: contents;
		}
}
.list-table tbody tr {
		border-top: 1px dashed var(--g-color-gray);
}
@media screen and (max-width: 767px) {
		.list-table tbody tr {
				display: grid;
				grid-template-columns: 1fr;
				border-top: 1px solid var(--g-color-gray);
		}
		.list-table tbody tr:last-of-type {
				border-bottom: 1px solid var(--g-color-gray);
		}
}
.list-table tbody tr:nth-of-type(odd) {
		background-color: var(--g-color-pale-gray);
}
.list-table tbody th {
		padding-top: 1.75em;
		padding-bottom: 1.75em;
		font-size: 1.3rem;
		font-weight: 500;
		letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
		.list-table tbody th {
				padding-top: 0.75em;
				padding-bottom: 2.5em;
				vertical-align: middle;
				font-size: 1.4rem;
		}
		.list-table tbody th:empty {
				display: none;
		}
}
.list-table tbody td {
		padding-top: 1.75em;
		padding-bottom: 1.75em;
		font-size: 1.3rem;
		font-weight: 500;
		letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
		.list-table tbody td {
				padding-top: 0.75em;
				padding-bottom: 2.5em;
				font-size: 1.4rem;
		}
		.list-table tbody td:nth-of-type(n + 1) {
				border-top: 1px dashed var(--g-color-gray);
		}
}
@media screen and (max-width: 767px) {
		.list-table [data-sp-sticky-table-header] {
				text-align: center;
				font-weight: 700;
		}
		.list-table [data-sp-sticky-table-header] + td {
				border-top: 1px solid var(--g-color-gray);
		}
}
@media screen and (max-width: 767px) {
		.list-table tr:nth-of-type(odd) [data-sp-sticky-table-header] {
				background-color: white;
		}
}

.list-table__icon {
		margin-left: 1em;
		margin-right: 1em;
}
.list-table__icon img {
		display: inline-block;
		transition: transform 0.125s ease-out;
}
.list-table__icon img[src*=icon-document-link-01] {
		width: 2.8rem;
}
.list-table__icon img[src*=icon-document-link-02] {
		width: 2.8rem;
}
.list-table__icon a {
		position: relative;
}
@media screen and (max-width: 767px) {
		.list-table__icon a {
				display: inline-flex;
				align-items: center;
				gap: 0.75em;
		}
}
.list-table__icon a::after {
		content: "";
		position: absolute;
		inset: -1rem;
}
.list-table__icon a:hover img {
		transform: translate(12%, -12%);
}

/*
	jsで挿入される
*/
.list-table__icon-sp-text {
		display: none;
}
@media screen and (max-width: 767px) {
		.list-table__icon-sp-text {
				display: block;
				font-size: 1.25rem;
				left: 0.025em;
		}
}

th.list-table__centering,
td.list-table__centering {
		text-align: center;
		vertical-align: middle;
}

.list-table__campaign {
		color: #ffffff;
		font-weight: bold;
		background-color: #f06060;
		border: 0.2rem solid transparent;
		padding-right: 1em;
		padding-left: 1em;
		line-height: 2.2rem;
		font-size: 1.2rem;
		vertical-align: 0.1em;
		border-radius: 5em;
		font-size: 12px;
}

.list-table__special-price {
		color: #f06060;
		font-weight: bold;
		font-size: 1em;
}

.list-table__service-item {
		display: flex;
		align-items: center;
		gap: 1em;
}
@media screen and (max-width: 767px) {
		.list-table__service-item {
				display: inline-flex;
				gap: 1.25em;
		}
}

.list-table__service-item-name {
		line-height: 1.7;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		.list-table__service-item-name small {
				display: block;
				font-size: 0.85em;
		}
}

.list-table__service-item-thumbnail {
		flex-shrink: 0;
		width: 2rem;
		aspect-ratio: 1/1;
		line-height: 0;
		vertical-align: middle;
}
@media screen and (max-width: 767px) {
		.list-table__service-item-thumbnail {
				width: 3.2rem;
		}
}

.list-table__sp-item-header {
		display: none;
}
@media screen and (max-width: 767px) {
		.list-table__sp-item-header {
				/*
				jsであとから挿入されるので、親の幅を超えて余白を調整す
				*/
				display: block;
				margin-left: calc(var(--sp-list-table-gutter) * -1.5);
				margin-bottom: 1.6rem;
				margin-right: calc(var(--sp-list-table-gutter) * -1.5);
				text-align: left;
				font-size: 1.1rem;
				font-weight: 500;
				color: var(--g-color-dark-gray);
		}
}

.list-table__after {
		padding-top: 2.5em;
		padding-bottom: 2.5em;
		border-bottom: 1px solid var(--g-color-gray);
		font-size: 1.3rem;
		font-weight: 500;
		letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
		.list-table__after {
				padding-top: 1.25em;
				padding-bottom: 3.5em;
				font-size: 1.4rem;
		}
}

.list-table__after-list-item {
		text-indent: -1em;
		padding-left: 1em;
}

/* .image-grid
   ========================================================================== */
.image-grid {
		--grid-vertical-gap: 2.4rem;
		position: relative;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: var(--grid-vertical-gap) 0;
		width: calc(var(--g-content-width) - 1.6rem);
		margin-top: 8rem;
		margin-right: auto;
		margin-left: auto;
}
@media screen and (max-width: 767px) {
		.image-grid {
				grid-template-columns: 1fr;
		}
}
.image-grid::before, .image-grid::after {
		content: "";
		position: absolute;
		bottom: 0;
		display: inline-block;
		height: 1.6rem;
		width: 3.2rem;
		background-image: url(../images/trim-mark-edge.svg);
		background-size: contain;
		background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
		.image-grid::before, .image-grid::after {
				height: 0.8rem;
				width: 1.6rem;
				background-image: url(../images/trim-mark-edge-sp.svg);
		}
}
.image-grid::before {
		left: 0;
		transform: translateX(-50%) scaleY(-1);
}
.image-grid::after {
		right: 0;
		transform: translateX(50%) scaleY(-1);
}

.image-grid__item {
		display: grid;
		grid-template-rows: auto auto;
		gap: 1.6rem;
		position: relative;
		height: 100%;
		padding: 1.6rem;
}
@media screen and (max-width: 767px) {
		.image-grid__item {
				padding: var(--g-page-inner-gutter);
		}
}
.image-grid__item:nth-of-type(1)::before, .image-grid__item:nth-of-type(1)::after {
		content: "";
		position: absolute;
		top: 0;
		display: inline-block;
		height: 1.6rem;
		width: 3.2rem;
		background-image: url(../images/trim-mark-edge.svg);
		background-size: contain;
		background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
		.image-grid__item:nth-of-type(1)::before, .image-grid__item:nth-of-type(1)::after {
				height: 0.8rem;
				width: 1.6rem;
				background-image: url(../images/trim-mark-edge-sp.svg);
		}
}
.image-grid__item:nth-of-type(1)::before {
		left: 0;
		transform: translateX(-50%);
}
.image-grid__item:nth-of-type(1)::after {
		right: 0;
		transform: translateX(50%);
}
.image-grid__item:nth-of-type(2)::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		transform: translateX(50%);
		display: inline-block;
		height: 1.6rem;
		width: 3.2rem;
		background-image: url(../images/trim-mark-edge.svg);
		background-size: contain;
		background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
		.image-grid__item:nth-of-type(2)::after {
				height: 1.6rem;
				width: 1.6rem;
				top: calc(var(--grid-vertical-gap) / 2 * -1);
				background-image: url(../images/trim-mark-middle-sp.svg);
		}
}
@media screen and (max-width: 767px) {
		.image-grid__item:nth-of-type(2)::before {
				content: "";
				position: absolute;
				top: calc(var(--grid-vertical-gap) / 2 * -1);
				left: 0;
				transform: translateX(-50%);
				display: inline-block;
				height: 1.6rem;
				width: 1.6rem;
				top: calc(var(--grid-vertical-gap) / 2 * -1);
				background-image: url(../images/trim-mark-middle-sp.svg);
				background-size: contain;
				background-repeat: no-repeat;
		}
}
.image-grid__item:nth-of-type(odd):not(:nth-of-type(1))::before, .image-grid__item:nth-of-type(odd):not(:nth-of-type(1))::after {
		content: "";
		position: absolute;
		top: calc(var(--grid-vertical-gap) / 2 * -1);
		display: inline-block;
		height: 3.2rem;
		width: 3.2rem;
		background-image: url(../images/trim-mark-middle.svg);
		background-size: contain;
		background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
		.image-grid__item:nth-of-type(odd):not(:nth-of-type(1))::before, .image-grid__item:nth-of-type(odd):not(:nth-of-type(1))::after {
				height: 1.6rem;
				width: 1.6rem;
				background-image: url(../images/trim-mark-middle-sp.svg);
		}
}
.image-grid__item:nth-of-type(odd):not(:nth-of-type(1))::before {
		left: 0;
		transform: translate(-50%, -50%);
}
.image-grid__item:nth-of-type(odd):not(:nth-of-type(1))::after {
		right: 0;
		transform: translate(50%, -50%);
}
.image-grid__item:nth-of-type(even):not(:nth-of-type(2))::after {
		content: "";
		position: absolute;
		top: calc(var(--grid-vertical-gap) / 2 * -1);
		right: 0;
		transform: translate(50%, -50%);
		display: inline-block;
		height: 3.2rem;
		width: 3.2rem;
		background-image: url(../images/trim-mark-middle.svg);
		background-size: contain;
		background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
		.image-grid__item:nth-of-type(even):not(:nth-of-type(2))::after {
				height: 1.6rem;
				width: 1.6rem;
				background-image: url(../images/trim-mark-middle-sp.svg);
		}
}
@media screen and (max-width: 767px) {
		.image-grid__item:nth-of-type(even):not(:nth-of-type(2))::before {
				content: "";
				position: absolute;
				top: calc(var(--grid-vertical-gap) / 2 * -1);
				left: 0;
				transform: translateX(-50%);
				display: inline-block;
				height: 1.6rem;
				width: 1.6rem;
				top: calc(var(--grid-vertical-gap) / 2 * -1);
				background-image: url(../images/trim-mark-middle-sp.svg);
				background-size: contain;
				background-repeat: no-repeat;
		}
}

.image-grid__item-title {
		align-self: end;
		line-height: 1.6;
		text-align: center;
		font-size: 1.8rem;
		font-weight: 700;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		.image-grid__item-title {
				margin-bottom: 0.8rem;
				font-size: 1.5rem;
		}
}
.image-grid__item-title small {
		display: block;
		line-height: 1.4;
		font-size: 0.67em;
		letter-spacing: 0.025em;
}

.image-grid__item-thumbnail {
		margin-top: auto;
}
.image-grid__item-thumbnail img {
		mask-image: linear-gradient(to bottom, black 0%, transparent 100%);
		-webkit-mask-image: linear-gradient(to bottom, black 0%, transparent 100%);
		transition: opacity 0.125s ease-out;
}
.image-grid__item-thumbnail button:hover img,
.image-grid__item-thumbnail a:hover img {
		opacity: 0.85;
}
.image-grid__item-thumbnail button,
.image-grid__item-thumbnail a {
		position: relative;
}

.image-grid__item-link-icon {
		position: absolute;
		right: 4rem;
		bottom: 4rem;
		width: 2.1rem;
		height: 2.1rem;
		background-color: var(--g-color-blue);
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		filter: drop-shadow(0.3rem 0.3rem 1rem rgba(255, 255, 255, 0.9));
		transition: 0.125s ease-out transform;
}
@media screen and (max-width: 767px) {
		.image-grid__item-link-icon {
				top: auto;
				right: 1.4rem;
				bottom: 1.4rem;
				width: 2rem;
				height: 2rem;
		}
}
button:hover .image-grid__item-link-icon, a:hover .image-grid__item-link-icon {
		transform: translate(25%, -25%);
}
.image-grid__item-link-icon svg {
		width: 0.8rem;
		fill: white;
}
@media screen and (max-width: 767px) {
		.image-grid__item-link-icon svg {
				width: 0.72rem;
		}
}

/* .modal-figure
   ========================================================================== */
.modal-figure {
		color: white;
}

.modal-figure__inner {
		padding-left: calc(var(--g-page-gutter) * 1.5);
		padding-right: calc(var(--g-page-gutter) * 1.5);
}

.modal-figure__content {
		margin-top: calc(var(--g-header-height) * 1.5);
		margin-bottom: calc(var(--g-header-height) * 1.5);
		position: relative;
}

.modal-figure__caption {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, calc(-100% - 1em));
		line-height: 1.5;
		text-align: center;
		font-size: 1.3rem;
		font-weight: 700;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		.modal-figure__caption {
				white-space: nowrap;
		}
}
.modal-figure__caption small {
		line-height: 1.4;
		font-size: 1rem;
		letter-spacing: 0.025em;
}

.modal-figure__close {
		position: fixed;
		top: var(--g-header-height);
		right: calc(var(--g-page-gutter) * 1.5);
		transform: translate(-15%, -100%);
		mix-blend-mode: difference;
}
@media screen and (max-width: 767px) {
		.modal-figure__close {
				top: calc(var(--g-page-gutter) / 2);
				right: calc(var(--g-page-gutter) / 2);
				transform: none;
		}
}

.modal-figure__close-icon {
		position: relative;
		width: 4.8rem;
		height: 4.8rem;
		transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
		.modal-figure__close-icon {
				width: 4rem;
				height: 4rem;
		}
}
.modal-figure__close-icon::before, .modal-figure__close-icon::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		width: 100%;
		height: 0.2rem;
		background-color: currentColor;
}
.modal-figure__close-icon::after {
		transform: translateY(-50%) rotate(90deg);
}

.modal-example-figure {
		color: white;
}

.modal-example-figure__inner {
		padding-left: calc(var(--g-page-gutter) * 1.5);
		padding-right: calc(var(--g-page-gutter) * 1.5);
}

.modal-example-figure__content {
		margin-top: calc(var(--g-header-height) * 1.5);
		margin-bottom: calc(var(--g-header-height) * 1.5);
		margin: auto;
		margin-top: 10rem;
		margin-bottom: 5rem;
		position: relative;
		width: 90rem;
}

.modal-example-figure__caption {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, calc(-100% - 1em));
		line-height: 1.5;
		text-align: center;
		font-size: 1.3rem;
		font-weight: 700;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		.modal-example-figure__caption {
				white-space: nowrap;
		}
}
.modal-example-figure__caption small {
		line-height: 1.4;
		font-size: 1rem;
		letter-spacing: 0.025em;
}

.modal-example-figure__close {
		position: fixed;
		top: var(--g-header-height);
		right: calc(var(--g-page-gutter) * 1.5);
		transform: translate(-15%, -100%);
		mix-blend-mode: difference;
}
@media screen and (max-width: 767px) {
		.modal-example-figure__close {
				top: calc(var(--g-page-gutter) / 2);
				right: calc(var(--g-page-gutter) / 2);
				transform: none;
		}
}

.modal-example-figure__close-icon {
		position: relative;
		width: 4.8rem;
		height: 4.8rem;
		transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
		.modal-example-figure__close-icon {
				width: 4rem;
				height: 4rem;
		}
}
.modal-example-figure__close-icon::before, .modal-example-figure__close-icon::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		width: 100%;
		height: 0.2rem;
		background-color: currentColor;
}
.modal-example-figure__close-icon::after {
		transform: translateY(-50%) rotate(90deg);
}

/* .description-grid
   ========================================================================== */
.description-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 4rem;
		width: 80rem;
		margin-right: auto;
		margin-left: auto;
}
@media screen and (max-width: 767px) {
		.description-grid {
				width: 100%;
				grid-template-columns: 1fr;
		}
}

.description-grid__item-inner {
		position: relative;
		display: flex;
		flex-direction: column;
		height: 100%;
		padding-top: 1.75rem;
		padding-right: 2rem;
		padding-bottom: 2.75rem;
		padding-left: 2rem;
		border-radius: 2.6rem;
		transition: background-color 0.125s ease-out;
}
@media screen and (max-width: 767px) {
		.description-grid__item-inner {
				padding-bottom: 2rem;
		}
}
a:hover .description-grid__item-inner {
		background-color: var(--color-very-very-pale-blue);
}
.description-grid__item-inner::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		width: 100%;
		height: 100%;
		border: 1px solid var(--g-color-bright-blue);
		border-radius: 2.6rem;
		transition: border 0.125s ease-out;
		pointer-events: none;
}
@media screen and (max-width: 767px) {
		.description-grid__item-inner::before {
				border-radius: 2.1rem;
		}
}
a:hover .description-grid__item-inner::before {
		border: 0.2rem solid var(--g-color-blue);
}

.description-grid__item-header {
		border-bottom: 1px dashed var(--g-color-bright-blue);
		padding-bottom: 1.75rem;
}

.description-grid__item-title {
		text-align: center;
		line-height: 1.6;
		font-size: 1.6rem;
		font-weight: 500;
		letter-spacing: 0.025em;
		color: var(--g-color-dark-blue);
		transition: color 0.125s ease-out;
}
@media screen and (max-width: 767px) {
		.description-grid__item-title {
				font-size: 1.4rem;
		}
}
a:hover .description-grid__item-title {
		color: var(--g-color-blue);
}

.description-grid__item-body {
		padding-top: 2rem;
		padding-bottom: 2.25rem;
		text-align: justify;
		font-size: 1.3rem;
		letter-spacing: 0.025em;
		font-weight: 500;
}
@media screen and (max-width: 767px) {
		.description-grid__item-body {
				font-size: inherit;
				padding-top: 1.6rem;
				padding-bottom: 1.8rem;
		}
}

.description-grid__item-list {
		margin-top: 0.75em;
}

.description-grid__item-list-item {
		padding-left: 1em;
		text-indent: -1em;
		line-height: 1.7;
}
.description-grid__item-list-item + .description-grid__item-list-item {
		margin-top: 0.4em;
}

.description-grid__item-note {
		margin-top: 0.75em;
}

.description-grid__item-note-item {
		padding-left: 1em;
		text-indent: -1em;
		font-size: 1.1rem;
		line-height: 1.7;
		color: var(--g-color-dark-gray);
}
.description-grid__item-note-item + .description-grid__item-note-item {
		margin-top: 0.4em;
}

.description-grid__item-footer {
		margin-top: auto;
		border-top: 1px dashed var(--g-color-bright-blue);
}

.description-grid__item-anchor-link-icon {
		position: relative;
		display: block;
		width: 1.7rem;
		height: 1.7rem;
		margin-top: 0.8rem;
		margin-right: auto;
		margin-left: auto;
		border-right: 1.5px solid var(--g-color-bright-blue);
		border-bottom: 1.5px solid var(--g-color-bright-blue);
		transform: rotate(45deg);
		transition: transform 0.125s ease-out, border-width 0.125s ease-out, border-color 0.125s ease-out;
}
a:hover .description-grid__item-anchor-link-icon {
		transform: translateY(40%) rotate(45deg);
		border-width: 0.2rem;
		border-color: var(--g-color-blue);
}

/* .tab-contents
   ========================================================================== */
@media screen and (max-width: 767px) {
		.tab-contents__header {
				position: relative;
				margin-right: calc(50% - 50vw);
				margin-left: calc(50% - 50vw);
				overflow-x: auto;
				-ms-overflow-style: none;
				scrollbar-width: none;
				/*
					操作範囲分の余白
				*/
				margin-top: -1.6rem;
				padding-top: 1.6rem;
				padding-bottom: 1.6rem;
		}
		.tab-contents__header::-webkit-scrollbar {
				display: none;
		}
}

.tab-contents__header-items {
		--har-gap: 6.4rem;
		display: flex;
		justify-content: center;
		gap: 3.2rem var(--har-gap);
}
@media screen and (max-width: 767px) {
		.tab-contents__header-items {
				--har-gap: 2.4rem;
				justify-content: flex-start;
				margin-left: calc(var(--g-page-gutter) + var(--g-page-inner-gutter) + var(--g-trim-mark-size) / 2);
				/*
					最後の余白
				*/
		}
		.tab-contents__header-items::after {
				content: "";
				display: inline-block;
				padding-right: calc(var(--g-page-gutter) + var(--g-page-inner-gutter) + var(--g-trim-mark-size) / 2);
				margin-left: calc(var(--har-gap) * -1);
		}
}

.tab-contents__header-item {
		--active-mark-size: 0.7rem;
		position: relative;
		padding-top: calc(0.5em + var(--active-mark-size));
		font-size: 1.3rem;
		font-weight: 500;
		letter-spacing: 0.075em;
		opacity: 0.5;
		transition: opacity 0.125s ease-out;
}
@media screen and (max-width: 767px) {
		.tab-contents__header-item {
				white-space: nowrap;
		}
}
.tab-contents__header-item button::before {
		content: "";
		position: absolute;
		left: 0;
		top: -0.5rem;
		right: -0.5rem;
		bottom: -0.5rem;
		left: -0.5rem;
}
.tab-contents__header-item::before {
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: var(--active-mark-size);
		height: var(--active-mark-size);
		border-radius: 50%;
		background-color: var(--g-color-gray);
		opacity: 0;
		transition: opacity 0.125s ease-out, background-color 0.125s ease-out;
}
.tab-contents__header-item:hover {
		opacity: 1;
}
.tab-contents__header-item:hover::before {
		opacity: 1;
}
.tab-contents__header-item.--active {
		opacity: 1;
}
.tab-contents__header-item.--active button {
		pointer-events: none;
}
.tab-contents__header-item.--active::before {
		content: "";
		opacity: 1;
		background-color: var(--g-color-blue);
}

.tab-contents__items {
		margin-top: 4rem;
}
@media screen and (max-width: 767px) {
		.tab-contents__items {
				margin-top: 2.4rem;
		}
}

.tab-contents__item:has(iframe[id*=JotFormIFrame]) {
		border: 1px solid var(--g-color-gray);
}
.tab-contents__item:has(iframe[id*=JotFormIFrame]) iframe[id*=JotFormIFrame] {
		border: none !important;
}
.tab-contents__item iframe[id*=JotFormIFrame] {
		border: 1px solid var(--g-color-gray) !important;
}
/* .content-column
   ========================================================================== */
.content-column {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 4rem;
		overflow: hidden;
}
@media screen and (max-width: 767px) {
		.content-column {
				grid-template-columns: 1fr;
				gap: 4.8rem;
		}
}
* + .content-column {
		margin-top: 3.2rem;
}

.content-column__item {
		width: 100%;
		order: 0;
		transition: all 0.3s ease;
}
.content-column__item:hover {
		transform: scale(1.2); /* ホバーしたら1.1倍の大きさに拡大せよ、の意味 */
}
@media screen and (max-width: 767px) {
		.content-column__item.content-column__item--sp-order-first {
				grid-row: 2;
		}
}

.content-column__single-cell {
		width: 100%;
}

.content-column__single-cell__text {
		text-align: center;
}

/* .content
   ========================================================================== */
/*
	運用簡略化のため、要素セレクタに直接スタイルを書いているので、
	詳細度を0にしてユーティリティクラスなどで上書き可能にする
*/
:where(.content) > p {
		line-height: 2;
		letter-spacing: 0.025em;
}
:where(.content) > p strong {
		font-weight: 700;
}
:where(.content) > p a {
		text-decoration: underline !important;
		text-decoration-color: var(--g-color-blue) !important;
}
:where(.content) > * + p {
		margin-top: 4rem;
}
@media screen and (max-width: 767px) {
		:where(.content) > * + p {
				margin-top: 3.2rem;
		}
}
:where(.content) > h3:not([class^=content-]) {
		position: relative;
		line-height: 1.6;
		font-size: 1.6rem;
		font-weight: 700;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		:where(.content) > h3:not([class^=content-]) {
				font-size: 1.5rem;
		}
}
:where(.content) > h3:not([class^=content-])::before {
		content: "";
		position: absolute;
		top: 0.75em;
		left: 0;
		transform: translateX(calc(-100% - var(--g-trim-mark-size) / 2)) translateY(calc(-50% + 0.125em));
		width: 1.6rem;
		height: 1.2rem;
		background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 42 32" fill="%23a8a8a8"><path d="M42.055 16.019l-16.019-16.019v13.305h-26.036v5.467h26.036v13.228l16.019-15.981z"></path></svg>');
		background-size: contain;
		background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
		:where(.content) > h3:not([class^=content-])::before {
				width: 1.3rem;
				height: 0.99rem;
				transform: translateX(calc(-50% - var(--g-trim-mark-size))) translateY(calc(-50% + 0.125em));
		}
}
:where(.content) > * + h3:not([class^=content-]) {
		margin-top: 6.4rem;
}
@media screen and (max-width: 767px) {
		:where(.content) > * + h3:not([class^=content-]) {
				margin-top: 5.6rem;
		}
}
:where(.content) > ul {
		line-height: 1.7;
}
:where(.content) > ul li {
		letter-spacing: 0.025em;
}
:where(.content) > ul li + li {
		margin-top: 0.75em;
}
:where(.content) > ul strong {
		font-weight: 700;
}
:where(.content) > ul a {
		text-decoration: underline !important;
		text-decoration-color: var(--g-color-blue) !important;
}
:where(.content) > * + ul {
		margin-top: 2rem;
}
:where(.content) > img, :where(.content) > picture > img {
		max-width: 100%;
}
:where(.content) > img[src*=logo-rias], :where(.content) > picture > img[src*=logo-rias] {
		width: 12rem;
}
:where(.content) > * + img, :where(.content) > * + picture > img {
		margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
		:where(.content) > * + img, :where(.content) > * + picture > img {
				margin-top: 2.4rem;
		}
}
:where(.content) > pre {
		overflow: auto;
		background-color: var(--g-color-pale-gray);
		padding: 1.5em;
}
:where(.content) > * + pre {
		margin-top: 2rem;
}

/* .content-column
   ========================================================================== */
.content-title-background-line {
		line-height: 2.3;
		font-size: 2.1rem;
		font-family: var(--font-sans-yakuhan-all);
		font-weight: 700;
		letter-spacing: 0.05em;
		white-space: nowrap;
}
@media screen and (max-width: 767px) {
		.content-title-background-line {
				line-height: 2.8;
				font-size: 1.6rem;
		}
}
.content-title-background-line span {
		padding-top: 0.2em;
		padding-right: 0.5em;
		padding-bottom: 0.2em;
		padding-left: 0.5em;
		background-color: #ebebeb;
}
@media screen and (max-width: 767px) {
		.content-title-background-line span {
				padding-top: 0.4em;
				padding-right: 0.7em;
				padding-bottom: 0.4em;
				padding-left: 0.7em;
		}
}
* + .content-title-background-line {
		margin-top: 6.4rem;
}
@media screen and (max-width: 767px) {
		* + .content-title-background-line {
				margin-top: 5.6rem;
		}
}

/* .content-column
   ========================================================================== */
.content-lead {
		line-height: 2.2;
		font-size: 1.5rem;
		font-weight: 500;
		text-align: justify;
}
* + .content-lead {
		margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
		* + .content-lead {
				margin-top: 4rem;
		}
}
.content-lead p + p {
		margin-top: 1em;
}

/* .content-column-list
   ========================================================================== */
.content-column-list {
		position: relative;
}

.content-column-list__title {
		text-align: center;
}
.content-column-list__title img {
		display: block;
		margin-right: auto;
		margin-left: auto;
}
.content-column-list__title img[src*=mcssc-kadai-fukidashi] {
		width: 28rem;
}
@media screen and (max-width: 767px) {
		.content-column-list__title img[src*=mcssc-kadai-fukidashi] {
				width: 23rem;
		}
}

.content-column-list__list {
		position: relative;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 4rem 5.6rem;
		margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
		.content-column-list__list {
				grid-template-columns: 1fr;
				gap: 2.4rem;
				margin-top: 3.2rem;
		}
}

.content-column-list__list-item {
		text-align: justify;
		text-indent: -1.6em;
		padding-left: 1.6em;
		line-height: 1.7;
		font-weight: 500;
}
@media screen and (max-width: 767px) {
		.content-column-list__list-item {
				line-height: 2;
		}
		.content-column-list__list-item br {
				display: none;
		}
}
.content-column-list__list-item::before {
		content: "";
		display: inline-block;
		width: 1.2rem;
		height: 1.2rem;
		border: 0.2rem solid #cfcfce;
		border-radius: 50%;
		margin-right: 0.75em;
		vertical-align: -0.05em;
}
@media screen and (max-width: 767px) {
		.content-column-list__list-item::before {
				width: 1rem;
				height: 1rem;
		}
}

.content-column-list__bg-images {
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 100%;
}
.content-column-list__bg-images img {
		position: absolute;
}
.content-column-list__bg-images img[src*=mcssc-kadai-hatena] {
		width: 6.4rem;
		top: 2.4rem;
		right: 0;
}
@media screen and (max-width: 767px) {
		.content-column-list__bg-images img[src*=mcssc-kadai-hatena] {
				top: auto;
				bottom: 0.8rem;
				right: -1.6rem;
				opacity: 0.25;
		}
}

/* .section
   ========================================================================== */
.content-image img {
		display: block;
		margin-right: auto;
		margin-left: auto;
}
.content-image img[src*=mcssc-message] {
		width: 69.3rem;
}
@media screen and (max-width: 767px) {
		.content-image img[src*=mcssc-message] {
				width: 100%;
		}
}

/* .grid-bg-list
   ========================================================================== */
.grid-bg-list {
		--grid-size: 5.5rem;
		--dash-length: 4px;
		--dash-width: 1px;
		--grid-color: #e9e7e7;
		--dash-grid-color: #d6d5d4;
}
@media screen and (max-width: 767px) {
		.grid-bg-list {
				--grid-size: calc(
					(100vw - (var(--g-page-gutter) * 2) - (var(--g-trim-mark-size) * 2)) / 12
				);
		}
}

.grid-bg-list__item.grid-bg-list__item--pattern-grid {
		padding-top: 4.7rem;
		padding-bottom: 9.6rem;
		background-size: var(--grid-size) var(--grid-size);
		background-position: 50% 50%;
		background-image: repeating-linear-gradient(90deg, var(--grid-color), var(--grid-color) 1px, transparent 1px, transparent var(--grid-size)), repeating-linear-gradient(0deg, var(--grid-color), var(--grid-color) 1px, transparent 1px, transparent var(--grid-size));
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item.grid-bg-list__item--pattern-grid {
				padding-top: 3rem;
				padding-bottom: 4.8rem;
		}
}
.grid-bg-list__item.grid-bg-list__item--feature {
		position: relative;
}
.grid-bg-list__item.grid-bg-list__item--feature::before {
		left: calc(var(--grid-size) / 2);
}
.grid-bg-list__item.grid-bg-list__item--feature::after {
		right: calc(var(--grid-size) / 2);
}
.grid-bg-list__item + .grid-bg-list__item {
		margin-top: 9.4rem;
}

.grid-bg-list__item-border-horizontal {
		position: absolute;
		inset: 0;
}
.grid-bg-list__item-border-horizontal::before, .grid-bg-list__item-border-horizontal::after {
		content: "";
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		height: 1px;
		background-color: var(--grid-color);
}
.grid-bg-list__item-border-horizontal::before {
		top: -1px;
}
.grid-bg-list__item-border-horizontal::after {
		bottom: -1px;
}

.grid-bg-list__item-title {
		text-align: center;
		line-height: 1;
		font-size: 1.8rem;
		font-weight: 700;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item-title {
				font-size: 1.6rem;
		}
}

.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list {
		margin-top: 13rem;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8.8rem 2.4rem;
		padding-right: 4rem;
		padding-left: 4rem;
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list {
				transform: translateX(3%);
				margin-top: 4.4rem;
				display: block;
				width: fit-content;
				margin-right: auto;
				margin-left: auto;
				padding-right: 2rem;
				padding-left: 2rem;
		}
}
.grid-bg-list__item.grid-bg-list__item--feature .grid-bg-list__item-list {
		width: fit-content;
		margin-top: var(--grid-size);
		margin-right: auto;
		margin-left: auto;
		padding-right: calc(var(--grid-size) / 2 + 1px + 2.4rem);
		padding-left: calc(var(--grid-size) / 2 + 1px + 2.4rem);
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item.grid-bg-list__item--feature .grid-bg-list__item-list {
				margin-top: 3.2rem;
				padding-right: calc(var(--grid-size) / 2 + 1px + 1.4rem);
				padding-left: calc(var(--grid-size) / 2 + 1px + 1.4rem);
		}
}

.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item {
		position: relative;
		z-index: 1;
		width: fit-content;
		margin-right: auto;
		margin-left: auto;
		text-align: center;
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item {
				display: flex;
				gap: 2.2rem;
				width: auto;
				line-height: 2;
				text-align: left;
				letter-spacing: 0.075em;
		}
		.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item + .grid-bg-list__item-list-item {
				margin-top: 3.2rem;
		}
}
.grid-bg-list__item.grid-bg-list__item--feature .grid-bg-list__item-list-item {
		display: flex;
		gap: 1.25em;
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item.grid-bg-list__item--feature .grid-bg-list__item-list-item {
				gap: 1.125em;
				text-align: justify;
		}
}
.grid-bg-list__item.grid-bg-list__item--feature .grid-bg-list__item-list-item + .grid-bg-list__item-list-item {
		margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item.grid-bg-list__item--feature .grid-bg-list__item-list-item + .grid-bg-list__item-list-item {
				margin-top: 3.2rem;
		}
}

.grid-bg-list__item-list-item-label {
		color: white;
		width: 3.3rem;
		height: 3.3rem;
		border-radius: 50%;
		background-color: #8fb5d3;
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item-list-item-label {
				width: 2.7rem;
				height: 2.7rem;
				flex-shrink: 0;
		}
}
.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item-label {
		filter: drop-shadow(0.65rem 0.65rem 0 #d1e0ff);
		position: absolute;
		z-index: -1;
		top: 0;
		left: 50%;
		display: block;
		transform: translateX(-50%) translateY(calc(-100% - 1em));
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item-label {
				position: static;
				transform: none;
		}
}
.grid-bg-list__item-list-item:nth-of-type(1) .grid-bg-list__item-list-item-label, .grid-bg-list__item-list-item:nth-of-type(6) .grid-bg-list__item-list-item-label, .grid-bg-list__item-list-item:nth-of-type(11) .grid-bg-list__item-list-item-label {
		background-color: #8fb5d3;
}
.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(1) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(6) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(11) .grid-bg-list__item-list-item-label {
		filter: drop-shadow(0.65rem 0.65rem 0 #d1e0ff);
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(1) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(6) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(11) .grid-bg-list__item-list-item-label {
				filter: drop-shadow(0.55rem 0.55rem 0 #d1e0ff);
		}
}
.grid-bg-list__item-list-item:nth-of-type(2) .grid-bg-list__item-list-item-label, .grid-bg-list__item-list-item:nth-of-type(7) .grid-bg-list__item-list-item-label, .grid-bg-list__item-list-item:nth-of-type(12) .grid-bg-list__item-list-item-label {
		background-color: #7caa45;
}
.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(2) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(7) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(12) .grid-bg-list__item-list-item-label {
		filter: drop-shadow(0.65rem -0.65rem 0 #bfdda1);
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(2) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(7) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(12) .grid-bg-list__item-list-item-label {
				filter: drop-shadow(0.55rem -0.55rem 0 #bfdda1);
		}
}
.grid-bg-list__item-list-item:nth-of-type(3) .grid-bg-list__item-list-item-label, .grid-bg-list__item-list-item:nth-of-type(8) .grid-bg-list__item-list-item-label, .grid-bg-list__item-list-item:nth-of-type(13) .grid-bg-list__item-list-item-label {
		background-color: #dc89ad;
}
.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(3) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(8) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(13) .grid-bg-list__item-list-item-label {
		filter: drop-shadow(-0.65rem 0.65rem 0 #ffd1dd);
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(3) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(8) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(13) .grid-bg-list__item-list-item-label {
				filter: drop-shadow(-0.55rem 0.55rem 0 #ffd1dd);
		}
}
.grid-bg-list__item-list-item:nth-of-type(4) .grid-bg-list__item-list-item-label, .grid-bg-list__item-list-item:nth-of-type(9) .grid-bg-list__item-list-item-label, .grid-bg-list__item-list-item:nth-of-type(14) .grid-bg-list__item-list-item-label {
		background-color: #dfa062;
}
.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(4) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(9) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(14) .grid-bg-list__item-list-item-label {
		filter: drop-shadow(-0.65rem -0.65rem 0 #e2ccb1);
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(4) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(9) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(14) .grid-bg-list__item-list-item-label {
				filter: drop-shadow(-0.55rem -0.55rem 0 #e2ccb1);
		}
}
.grid-bg-list__item-list-item:nth-of-type(5) .grid-bg-list__item-list-item-label, .grid-bg-list__item-list-item:nth-of-type(10) .grid-bg-list__item-list-item-label, .grid-bg-list__item-list-item:nth-of-type(15) .grid-bg-list__item-list-item-label {
		background-color: #6565db;
}
.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(5) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(10) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(15) .grid-bg-list__item-list-item-label {
		filter: drop-shadow(0.65rem -0.65rem 0 #bfbff7);
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(5) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(10) .grid-bg-list__item-list-item-label, .grid-bg-list__item.grid-bg-list__item--pattern-grid .grid-bg-list__item-list-item:nth-of-type(15) .grid-bg-list__item-list-item-label {
				filter: drop-shadow(0.55rem -0.55rem 0 #bfbff7);
		}
}

.grid-bg-list__item-list-item-label-text {
		display: block;
		transform: scaleY(0.75);
		line-height: 3.3rem;
		text-align: center;
		font-family: var(--font-roboto);
		font-size: 2.2rem;
		font-weight: 700;
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item-list-item-label-text {
				transform: scaleY(0.85) translateY(2%);
				line-height: 2.7rem;
				font-size: 1.8rem;
		}
}

.grid-bg-list__item-list-item-text {
		font-weight: 500;
		font-family: var(--font-sans-yakuhan-all);
}

.grid-bg-list__item-mask {
		padding-top: 4.7rem;
		padding-bottom: 6.2rem;
		clip-path: inset(0 calc(var(--grid-size) / 2 + 1px));
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item-mask {
				padding-top: 4rem;
				padding-bottom: 4.4rem;
				clip-path: inset(0);
		}
}
.grid-bg-list__item.grid-bg-list__item--feature .grid-bg-list__item-mask {
		position: relative;
		background-position: 50% 50%;
		background-size: calc(var(--dash-length) * 2) calc(var(--dash-length) * 2), var(--grid-size) var(--grid-size);
		background-image: linear-gradient(to bottom, transparent var(--dash-length), white var(--dash-length)), linear-gradient(to right, var(--dash-grid-color) var(--dash-width), transparent var(--dash-width));
}
@media screen and (max-width: 767px) {
		.grid-bg-list__item.grid-bg-list__item--feature .grid-bg-list__item-mask {
				background-size: calc(var(--dash-length) * 2) calc(var(--dash-length) * 2), var(--grid-size) var(--grid-size);
				background-image: linear-gradient(to bottom, transparent var(--dash-length), white var(--dash-length)), linear-gradient(to right, var(--dash-grid-color) var(--dash-width), transparent var(--dash-width));
		}
}

/* .content-button
   ========================================================================== */
.content-button {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 4rem;
}
@media screen and (max-width: 767px) {
		.content-button {
				flex-direction: column;
				justify-content: initial;
				align-items: center;
				gap: 3.2rem;
		}
}
* + .content-button {
		margin-top: 12rem;
}

.download {
	margin-top: 4rem;
}

.attention-note {
	margin-top: 2em;
	font-size: 0.9em;
}

.content-button__item {
		min-width: 28rem;
}
@media screen and (max-width: 767px) {
		.content-button__item {
				min-height: initial;
				width: calc(100% / (var(--g-trim-mark-size) * 2));
		}
}

.content-button .download-button-icon {
	padding-right: 2em;
}

.content-button__item .button {
		width: 100%;
}

/* .rounded-border-list
   ========================================================================== */
.rounded-border-list {
		--padding-top: 2.4rem;
		--padding-right-left: 2.4em;
		--padding-bottom: 2.4rem;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
		justify-content: center;
		grid-auto-flow: column;
		grid-template-rows: repeat(3, auto);
		margin-left: auto;
		margin-right: auto;
		/*
		 子要素が2個以下のときは親の幅を設定して幅を狭める
		 */
}
@media screen and (max-width: 767px) {
		.rounded-border-list {
				--padding-top: 2rem;
				--padding-right-left: 1.6em;
				--padding-bottom: 2rem;
				display: grid;
				grid-template-columns: 1fr;
				grid-template-rows: none;
				grid-auto-flow: initial;
				gap: 4rem;
		}
}
* + .rounded-border-list {
		margin-top: 6.4rem;
}
@media screen and (max-width: 767px) {
		* + .rounded-border-list {
				margin-top: 4.8rem;
		}
}
.rounded-border-list:has(> :nth-child(-n+2):last-child) {
		width: 72.7272727273%;
}
@media screen and (max-width: 767px) {
		.rounded-border-list:has(> :nth-child(-n+2):last-child) {
				width: 100%;
		}
}

.rounded-border-list__item {
		position: relative;
		display: contents;
}
@media screen and (max-width: 767px) {
		.rounded-border-list__item {
				display: block;
				border: 1px solid var(--g-color-gray);
				border-radius: 2.4rem;
		}
}
.rounded-border-list__item:first-of-type > * {
		border-left: 1px solid var(--g-color-gray);
}
@media screen and (max-width: 767px) {
		.rounded-border-list__item:first-of-type > * {
				border-left: 0;
		}
}
.rounded-border-list__item:first-of-type > *:first-of-type {
		border-top-left-radius: 2.6rem;
}
@media screen and (max-width: 767px) {
		.rounded-border-list__item:first-of-type > *:first-of-type {
				border-radius: 0;
		}
}
.rounded-border-list__item:first-of-type > *:last-of-type {
		border-bottom-left-radius: 2.6rem;
}
@media screen and (max-width: 767px) {
		.rounded-border-list__item:first-of-type > *:last-of-type {
				border-radius: 0;
		}
}
.rounded-border-list__item:last-of-type > * {
		border-right: 1px solid var(--g-color-gray);
}
@media screen and (max-width: 767px) {
		.rounded-border-list__item:last-of-type > * {
				border-right: 0;
		}
}
.rounded-border-list__item:last-of-type > *:first-of-type {
		border-top-right-radius: 2.6rem;
}
@media screen and (max-width: 767px) {
		.rounded-border-list__item:last-of-type > *:first-of-type {
				border-radius: 0;
		}
}
.rounded-border-list__item:last-of-type > *:last-of-type {
		border-bottom-right-radius: 2.6rem;
}
@media screen and (max-width: 767px) {
		.rounded-border-list__item:last-of-type > *:last-of-type {
				border-radius: 0;
		}
}
.rounded-border-list__item > * {
		padding-top: var(--padding-top);
		padding-right: var(--padding-right-left);
		padding-bottom: var(--padding-bottom);
		padding-left: var(--padding-right-left);
}
.rounded-border-list__item > *:first-of-type {
		padding-bottom: calc(var(--padding-bottom) * 1.25);
		border-top: 1px solid var(--g-color-gray);
}
@media screen and (max-width: 767px) {
		.rounded-border-list__item > *:first-of-type {
				padding-top: calc(var(--padding-bottom) * 0.8);
				padding-bottom: calc(var(--padding-bottom) * 0.8);
				border-top: 0;
		}
}
.rounded-border-list__item > *:last-of-type {
		padding-bottom: calc(var(--padding-bottom) * 1.25);
		border-bottom: 1px solid var(--g-color-gray);
}
@media screen and (max-width: 767px) {
		.rounded-border-list__item > *:last-of-type {
				border-bottom: 0;
				padding-bottom: calc(var(--padding-bottom) * 1.5);
		}
}
.rounded-border-list__item > * + * {
		border-top: 1px solid var(--g-color-gray);
}
.rounded-border-list__item + .rounded-border-list__item > * {
		position: relative;
}
.rounded-border-list__item + .rounded-border-list__item > *::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		transform: translateX(-50%);
		width: 1px;
		height: 100%;
		background-color: var(--g-color-gray);
}
@media screen and (max-width: 767px) {
		.rounded-border-list__item + .rounded-border-list__item > *::before {
				content: none;
		}
}

.rounded-border-list__item-title {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.5em;
		font-size: 1.6rem;
		font-weight: 700;
}
@media screen and (max-width: 767px) {
		.rounded-border-list__item-title {
				font-size: 1.5rem;
		}
}
.rounded-border-list__item-title > span {
		display: block;
}

.rounded-border-list__item-title-icon {
		width: 1.4rem;
		transform: translateY(3%);
		fill: var(--color);
}

.rounded-border-list__item-lead {
		line-height: 1.8;
		letter-spacing: 0.025em;
		text-decoration: underline;
		text-decoration-thickness: 0.4em;
		text-decoration-skip-ink: none;
		text-decoration-color: var(--light-color);
		text-underline-offset: -0.2em;
		text-align: justify;
}

.rounded-border-list__item-list {
		--icon-size: 1.3rem;
}
@media screen and (max-width: 767px) {
		.rounded-border-list__item-list {
				--icon-size: 1.2rem;
		}
}

.rounded-border-list__item-list-item {
		position: relative;
		padding-left: calc(var(--icon-size) + 0.75em);
		line-height: 1.5;
		letter-spacing: 0.025em;
		text-align: justify;
}
.rounded-border-list__item-list-item + .rounded-border-list__item-list-item {
		margin-top: 1em;
}

.rounded-border-list__item-list-item-icon {
		position: absolute;
		top: 0.55em;
		left: 0;
		line-height: 0;
		width: var(--icon-size);
		fill: var(--color);
}

/* .plan-list
   ========================================================================== */
.plan-list {
		width: 73rem;
		margin-right: auto;
		margin-left: auto;
}
@media screen and (max-width: 767px) {
		.plan-list {
				width: 100%;
		}
}
* + .plan-list {
		margin-top: 6.4rem;
}
@media screen and (max-width: 767px) {
		* + .plan-list {
				margin-top: 5.6rem;
		}
}

.plan-list__item {
		display: grid;
		grid-template-columns: 21.2rem 1fr;
		gap: 4rem;
		--color: var(--g-color-black);
}
@media screen and (max-width: 767px) {
		.plan-list__item {
				grid-template-columns: 1fr;
				gap: 3.2rem;
		}
}
.plan-list__item + .plan-list__item {
		margin-top: 7.2rem;
}
@media screen and (max-width: 767px) {
		.plan-list__item + .plan-list__item {
				margin-top: 6.4rem;
		}
}

.plan-list__item-header {
		display: flex;
		flex-direction: column;
		padding-top: 1.8rem;
		padding-right: 2rem;
		padding-bottom: 2.8rem;
		padding-left: 2rem;
		background-color: var(--color);
		aspect-ratio: 1/1;
		color: white;
}
@media screen and (max-width: 767px) {
		.plan-list__item-header {
				width: 18rem;
				margin-right: auto;
				margin-left: auto;
				padding-top: 1.6rem;
				padding-right: 1.6rem;
				padding-bottom: 1.6rem;
				padding-left: 1.6rem;
		}
}

.plan-list__item-label {
		line-height: 1.3;
		font-size: 1.1rem;
		font-family: var(--font-helvetica);
		font-weight: 500;
		letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
		.plan-list__item-label {
				font-size: 1rem;
				transform-origin: left;
		}
}

.plan-list__item-abbreviations {
		display: block;
		margin-top: auto;
		padding-bottom: 0.135em;
		text-align: center;
		line-height: 0.75;
		font-family: var(--font-arial);
		font-size: 10.8rem;
		font-weight: 900;
		color: transparent;
		-webkit-text-stroke: 1.5px white;
		border-bottom: 1px solid white;
		white-space: nowrap;
}
@media screen and (max-width: 767px) {
		.plan-list__item-abbreviations {
				padding-bottom: 0.075em;
				line-height: 0.9;
				font-size: 9.6rem;
		}
}

.plan-list__item-abbreviations-text {
		display: inline-block;
		/*
		文字によって幅が広い場合に長体をかける
		*/
}
.plan-list__item-abbreviations-text.plan-list__item-abbreviations-text--condensed {
		transform: scaleX(0.95);
}
@media screen and (max-width: 767px) {
		.plan-list__item-abbreviations-text.plan-list__item-abbreviations-text--condensed {
				transform: scaleX(0.93);
		}
}

.plan-list__item-title {
		margin-top: -0.25em;
		padding-left: 1.5em;
		text-indent: -1.5em;
		line-height: 1.75;
		font-size: 2.1rem;
		font-weight: 700;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		.plan-list__item-title {
				line-height: 2.125;
				font-size: 1.5rem;
		}
}
.plan-list__item-title::before {
		content: "";
		display: inline-block;
		margin-right: 0.5em;
		width: 0.75em;
		height: 0.75em;
		background-color: var(--color);
}

.plan-list__item-title-text {
		margin-right: 0.4em;
}

.plan-list__item-title-labels {
		display: inline-flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 0.5em;
		vertical-align: 0.125em;
}

.plan-list__item-title-labels-item {
		display: inline-block;
		padding-right: 1em;
		padding-left: 1em;
		border: 0.2rem solid transparent;
		border-radius: 5em;
		background-color: var(--color);
		text-indent: initial;
		line-height: 2.4rem;
		font-size: 1.3rem;
		font-weight: 700;
		color: white;
}
@media screen and (max-width: 767px) {
		.plan-list__item-title-labels-item {
				padding-right: 1em;
				padding-left: 1em;
				line-height: 2.2rem;
				font-size: 1.2rem;
				vertical-align: 0.1em;
		}
}
.plan-list__item-title-labels-item.plan-list__item-title-labels-item--border {
		color: var(--color);
		border-color: currentColor;
		background-color: transparent;
		font-weight: 800;
}

.plan-list__item-text {
		margin-top: 1.75em;
		line-height: 1.9;
		text-align: justify;
}
@media screen and (max-width: 767px) {
		.plan-list__item-text {
				margin-top: 1.25em;
		}
}
.plan-list__item-text p + p {
		margin-top: 1.25em;
}

.plan-list__item-menu {
		margin-top: 1.25em;
}

.plan-list__item-menu-title {
		color: var(--color);
		font-weight: 700;
		font-size: 1.2rem;
		letter-spacing: 0.025em;
}
.plan-list__item-menu-title:empty::after {
		content: "";
		display: block;
		width: 8.6rem;
		height: 0.3rem;
		border-top: 2px dashed currentColor;
}

.plan-list__item-menu-list {
		display: flex;
		gap: 0.75em 1em;
		flex-wrap: wrap;
		margin-top: 1em;
		line-height: 1.5;
}
@media screen and (max-width: 767px) {
		.plan-list__item-menu-list {
				gap: 0.65em 1em;
		}
}
.plan-list__item-menu-list li button {
		position: relative;
		display: block;
		text-decoration: underline;
		text-decoration-color: var(--g-color-light-gray);
		text-decoration-thickness: 0.3rem;
		text-underline-offset: 0.125em;
		text-decoration-skip-ink: none;
		transition: text-decoration-color 0.125s ease-out;
}
.plan-list__item-menu-list li button::after {
		content: "";
		display: inline-block;
		margin-left: 0.25em;
		width: 1em;
		height: 1em;
		vertical-align: middle;
		background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32" fill="%23cacaca"><path d="M16 0c-8.833 0-16 7.167-16 16s7.167 16 16 16 16-7.167 16-16-7.167-16-16-16zM17.772 23.511c-0.079 0.212-0.212 0.397-0.37 0.555s-0.344 0.264-0.582 0.37-0.476 0.132-0.767 0.132-0.529-0.053-0.767-0.132c-0.238-0.079-0.423-0.212-0.582-0.37s-0.291-0.344-0.37-0.555c-0.079-0.212-0.132-0.45-0.132-0.688s0.053-0.476 0.132-0.688c0.079-0.212 0.212-0.397 0.37-0.555s0.344-0.291 0.582-0.37c0.238-0.079 0.476-0.132 0.767-0.132s0.529 0.053 0.767 0.132c0.238 0.106 0.423 0.212 0.582 0.37s0.291 0.344 0.37 0.555 0.132 0.45 0.132 0.688-0.053 0.476-0.132 0.688zM21.157 13.382c-0.159 0.397-0.37 0.793-0.608 1.137-0.264 0.344-0.555 0.714-0.899 1.031-0.344 0.344-0.688 0.661-1.058 1.005-0.212 0.212-0.397 0.397-0.529 0.582-0.132 0.212-0.264 0.397-0.344 0.635-0.079 0.212-0.159 0.45-0.185 0.688s-0.053 0.529-0.053 0.82h-2.936c0-0.529 0.026-0.979 0.079-1.402 0.053-0.397 0.159-0.793 0.291-1.137s0.317-0.661 0.529-0.952c0.212-0.291 0.502-0.582 0.82-0.899 0.264-0.238 0.502-0.45 0.714-0.661s0.423-0.423 0.582-0.661 0.291-0.45 0.37-0.688 0.132-0.502 0.132-0.767c0-0.661-0.159-1.137-0.45-1.455s-0.741-0.476-1.322-0.476c-0.238 0-0.476 0.026-0.688 0.106-0.238 0.079-0.423 0.185-0.608 0.344s-0.317 0.37-0.423 0.608c-0.106 0.238-0.159 0.555-0.159 0.873h-3.306c0-0.793 0.159-1.481 0.423-2.089 0.264-0.582 0.635-1.058 1.111-1.455 0.476-0.37 1.005-0.661 1.64-0.846s1.296-0.291 2.036-0.291c0.793 0 1.507 0.106 2.142 0.291 0.635 0.212 1.164 0.476 1.613 0.873 0.423 0.37 0.767 0.846 1.005 1.402s0.344 1.19 0.344 1.904c0 0.502-0.079 0.952-0.238 1.349z"></path></svg>');
		background-repeat: no-repeat;
		transition: background-image 0.125s ease-out;
}
.plan-list__item-menu-list li button:hover {
		text-decoration-color: var(--g-color-light-blue);
}
.plan-list__item-menu-list li button:hover::after {
		background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 32 32" fill="%230098ff"><path d="M16 0c-8.833 0-16 7.167-16 16s7.167 16 16 16 16-7.167 16-16-7.167-16-16-16zM17.772 23.511c-0.079 0.212-0.212 0.397-0.37 0.555s-0.344 0.264-0.582 0.37-0.476 0.132-0.767 0.132-0.529-0.053-0.767-0.132c-0.238-0.079-0.423-0.212-0.582-0.37s-0.291-0.344-0.37-0.555c-0.079-0.212-0.132-0.45-0.132-0.688s0.053-0.476 0.132-0.688c0.079-0.212 0.212-0.397 0.37-0.555s0.344-0.291 0.582-0.37c0.238-0.079 0.476-0.132 0.767-0.132s0.529 0.053 0.767 0.132c0.238 0.106 0.423 0.212 0.582 0.37s0.291 0.344 0.37 0.555 0.132 0.45 0.132 0.688-0.053 0.476-0.132 0.688zM21.157 13.382c-0.159 0.397-0.37 0.793-0.608 1.137-0.264 0.344-0.555 0.714-0.899 1.031-0.344 0.344-0.688 0.661-1.058 1.005-0.212 0.212-0.397 0.397-0.529 0.582-0.132 0.212-0.264 0.397-0.344 0.635-0.079 0.212-0.159 0.45-0.185 0.688s-0.053 0.529-0.053 0.82h-2.936c0-0.529 0.026-0.979 0.079-1.402 0.053-0.397 0.159-0.793 0.291-1.137s0.317-0.661 0.529-0.952c0.212-0.291 0.502-0.582 0.82-0.899 0.264-0.238 0.502-0.45 0.714-0.661s0.423-0.423 0.582-0.661 0.291-0.45 0.37-0.688 0.132-0.502 0.132-0.767c0-0.661-0.159-1.137-0.45-1.455s-0.741-0.476-1.322-0.476c-0.238 0-0.476 0.026-0.688 0.106-0.238 0.079-0.423 0.185-0.608 0.344s-0.317 0.37-0.423 0.608c-0.106 0.238-0.159 0.555-0.159 0.873h-3.306c0-0.793 0.159-1.481 0.423-2.089 0.264-0.582 0.635-1.058 1.111-1.455 0.476-0.37 1.005-0.661 1.64-0.846s1.296-0.291 2.036-0.291c0.793 0 1.507 0.106 2.142 0.291 0.635 0.212 1.164 0.476 1.613 0.873 0.423 0.37 0.767 0.846 1.005 1.402s0.344 1.19 0.344 1.904c0 0.502-0.079 0.952-0.238 1.349z"></path></svg>');
}

.plan-list__item-menu__tooltip {
		--fukidashi-size: 1.6rem;
		--fukidashi-diagonal: calc(var(--fukidashi-size) * 1.414 - 0.5px);
		--bg-color: rgba(255, 255, 198, 0.95);
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, calc((100% + var(--fukidashi-diagonal) / 2 + 1px) * -1));
		width: 30rem;
		border-top: 1px solid currentColor;
		border-right: 1px solid currentColor;
		border-left: 1px solid currentColor;
		background-color: var(--bg-color);
		text-align: justify;
		color: #222222;
		visibility: hidden;
		opacity: 0;
		transition: visibility 0.25s ease-out, opacity 0.25s ease-out;
		pointer-events: none;
}
.plan-list__item-menu__tooltip[data-tooltip-sp-modal-content=false] {
		visibility: visible;
		opacity: 1;
}
@media screen and (max-width: 767px) {
		.plan-list__item-menu__tooltip[data-tooltip-sp-modal-content=false] {
				visibility: hidden;
				opacity: 0;
		}
}
button:hover .plan-list__item-menu__tooltip {
		opacity: 1;
		visibility: visible;
}
@media screen and (max-width: 767px) {
		button[data-tooltip-sp-modal]:hover .plan-list__item-menu__tooltip {
				visibility: hidden;
				opacity: 0;
		}
}
.plan-list__item-menu__tooltip::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%) translateY(50%) rotate(45deg);
		width: var(--fukidashi-size);
		height: var(--fukidashi-size);
		border-right: 1px solid currentColor;
		border-bottom: 1px solid currentColor;
		background: linear-gradient(-45deg, var(--bg-color) 0%, var(--bg-color) 50%, rgba(126, 126, 126, 0) 50%, rgba(240, 240, 240, 0) 100%);
}

.plan-list__item-menu__tooltip-inner {
		padding: 1.25em;
}
.plan-list__item-menu__tooltip-inner::before {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: calc(50% - var(--fukidashi-diagonal) / 2);
		height: 1px;
		background-color: currentColor;
}
.plan-list__item-menu__tooltip-inner::after {
		content: "";
		position: absolute;
		right: 0;
		bottom: 0;
		width: calc(50% - var(--fukidashi-diagonal) / 2);
		height: 1px;
		background-color: currentColor;
}

.plan-list__item-menu__tooltip-title {
		text-align: justify;
		font-weight: 700;
		font-size: 1.3rem;
}

.plan-list__item-menu__tooltip-body {
		margin-top: 1em;
		font-size: 1.2rem;
		line-height: 1.7;
		font-weight: 500;
		text-align: justify;
}
.plan-list__item-menu__tooltip-body * + p {
		margin-top: 1em;
}
.plan-list__item-menu__tooltip-body * + img {
		margin-top: 1em;
}

.plan-list__item_annotation {
		margin-top: 70px;
		font-size: 16px;
}

.plan-list__item_annotation span {
		font-weight: bold;
}

/* .masonry-images
   ========================================================================== */
.masonry-images {
		position: relative;
		--wrapper-gutter: 2.4rem;
		--wrapper-inner-gutter: 3.2rem;
		--item-gutter: 3.2rem;
		--scroll-bar-width: 0.5rem;
		padding-top: var(--wrapper-inner-gutter);
		padding-right: var(--wrapper-gutter);
		padding-bottom: var(--wrapper-inner-gutter);
		padding-left: var(--wrapper-gutter);
		border-top: 1px dashed var(--g-color-gray);
		border-bottom: 1px dashed var(--g-color-gray);
}
@media screen and (max-width: 767px) {
		.masonry-images {
				--wrapper-gutter: 0;
				--item-gutter: 1.6rem;
				--wrapper-inner-gutter: calc(
					var(--g-page-inner-gutter) + var(--g-trim-mark-size) / 2
				);
				padding-top: 3.2rem;
				padding-bottom: 3.2rem;
		}
		.section__inner-section .masonry-images {
				margin-left: calc(var(--g-page-inner-gutter) + var(--g-trim-mark-size) * -2);
				margin-right: calc(var(--g-page-inner-gutter) + var(--g-trim-mark-size) * -2);
		}
}
* + .masonry-images {
		margin-top: 9.6rem;
}
@media screen and (max-width: 767px) {
		* + .masonry-images {
				margin-top: 6.4rem;
		}
}

.masonry-images__scroller-label {
		--trim-mark-gap: 1.2rem;
		position: absolute;
		top: 0;
		right: calc(var(--wrapper-gutter) + var(--scroll-bar-width) + var(--trim-mark-gap));
		transform: translateY(calc(-100% - 1em));
		line-height: 1;
		font-family: var(--font-robot);
		font-size: 1.2rem;
		font-weight: 700;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		.masonry-images__scroller-label {
				--trim-mark-gap: 0.8rem;
				font-size: 1rem;
				right: calc(var(--wrapper-inner-gutter) + var(--scroll-bar-width) + var(--trim-mark-gap));
		}
}
.masonry-images__scroller-label::after {
		content: "";
		position: absolute;
		bottom: 0;
		right: calc((var(--scroll-bar-width) / 2 + var(--trim-mark-gap)) * -1);
		transform: translate(-50%, calc(50% + 0.9em));
		height: 175%;
		width: 1px;
		background-color: currentColor;
}

.masonry-images__scroller {
		padding-right: var(--wrapper-inner-gutter);
		padding-left: calc(var(--wrapper-inner-gutter) + var(--scroll-bar-width));
		min-height: 800px;
		max-height: 1600px;
		height: calc(80vh - var(--g-header-height));
		overflow-y: auto;
}
@media screen and (max-width: 767px) {
		.masonry-images__scroller {
				min-height: initial;
		}
}
.masonry-images__scroller::-webkit-scrollbar {
		width: var(--scroll-bar-width);
}
.masonry-images__scroller::-webkit-scrollbar-thumb {
		border-radius: 0.75rem;
		background-color: var(--g-color-gray);
}

.masonry-images__items {
		column-count: 3;
		column-gap: var(--item-gutter);
}
@media screen and (max-width: 767px) {
		.masonry-images__items {
				column-count: 2;
		}
}

.masonry-images__item {
		position: relative;
		border: 1px solid var(--g-color-gray);
		padding: 0.8rem;
		display: block;
}
.masonry-images__item + .masonry-images__item {
		margin-top: var(--item-gutter);
}

.masonry-images__tooltip {
		--fukidashi-size: 1.6rem;
		--fukidashi-diagonal: calc(var(--fukidashi-size) * 1.414 - 0.5px);
		--bg-color: rgba(253, 253, 162, 0.75);
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 20rem;
		border-top: 1px solid currentColor;
		border-right: 1px solid currentColor;
		border-left: 1px solid currentColor;
		background-color: var(--bg-color);
		text-align: justify;
		color: #222222;
}
.masonry-images__tooltip::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%) translateY(50%) rotate(45deg);
		width: var(--fukidashi-size);
		height: var(--fukidashi-size);
		border-right: 1px solid currentColor;
		border-bottom: 1px solid currentColor;
		background: linear-gradient(-45deg, var(--bg-color) 0%, var(--bg-color) 50%, rgba(126, 126, 126, 0) 50%, rgba(240, 240, 240, 0) 100%);
}
.masonry-images__tooltip.--left::after {
		left: 25%;
}
.masonry-images__tooltip.--right::after {
		left: 75%;
}
[data-cursor-tool-tip] .masonry-images__tooltip {
		display: none;
}
[data-cursor-tool-tip=false] .masonry-images__tooltip {
		display: block;
}

.masonry-images__tooltip-inner {
		padding: 1.25em;
}
.masonry-images__tooltip-inner::before {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: calc(50% - var(--fukidashi-diagonal) / 2);
		height: 1px;
		background-color: currentColor;
}
.masonry-images__tooltip.--left .masonry-images__tooltip-inner::before {
		width: calc(25% - var(--fukidashi-diagonal) / 2);
}
.masonry-images__tooltip.--right .masonry-images__tooltip-inner::before {
		width: calc(75% - var(--fukidashi-diagonal) / 2);
}
.masonry-images__tooltip-inner::after {
		content: "";
		position: absolute;
		right: 0;
		bottom: 0;
		width: calc(50% - var(--fukidashi-diagonal) / 2);
		height: 1px;
		background-color: currentColor;
}
.masonry-images__tooltip.--left .masonry-images__tooltip-inner::after {
		width: calc(75% - var(--fukidashi-diagonal) / 2);
}
.masonry-images__tooltip.--right .masonry-images__tooltip-inner::after {
		width: calc(25% - var(--fukidashi-diagonal) / 2);
}

.masonry-images__tooltip-title {
		text-align: justify;
		font-weight: 700;
		font-size: 1.3rem;
}

.masonry-images__tooltip-body {
		margin-top: 0.5em;
		text-align: justify;
		font-size: 1.2rem;
		line-height: 1.7;
		font-weight: 500;
		word-break: break-all;
}

/* .clone-content-modal
   ========================================================================== */
.clone-content-modal {
		--gutter: 3.2rem;
		background-color: rgba(0, 0, 0, 0.5);
		z-index: 9999;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100vh !important;
		height: 100dvh !important;
}

.clone-content-modal__inner {
		position: relative;
		max-width: 40rem;
		width: calc(100% - var(--g-page-gutter) * 2);
		background-color: white;
}

.clone-content-modal__content {
		max-height: calc(100vh - var(--g-header-height));
		max-height: calc(100svh - var(--g-header-height));
		background-color: white;
		padding: var(--gutter);
		overflow-y: auto;
		text-align: justify;
		line-height: 1.9;
		font-weight: 500;
		letter-spacing: 0.025em;
}
.clone-content-modal__content * + * {
		margin-top: 1em;
}

.clone-content-modal__close {
		position: absolute;
		top: 0;
		right: 0;
		width: var(--gutter);
		height: var(--gutter);
		transform: translateX(-50%) translateY(50%) rotate(45deg);
}
.clone-content-modal__close::before, .clone-content-modal__close::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		width: 100%;
		height: 0.2rem;
		background-color: currentColor;
}
.clone-content-modal__close::after {
		transform: translateY(-50%) rotate(90deg);
}

/* .service-panel
   ========================================================================== */
.service-panel {
		margin-top: 9.6rem;
}
@media screen and (max-width: 767px) {
		.service-panel {
				margin-top: 7.2rem;
		}
}

.service-panel__item {
		position: relative;
		border-top: 1px solid var(--g-color-gray);
}
.service-panel__item + .service-panel__item {
		margin-top: 9.6rem;
}
@media screen and (max-width: 767px) {
		.service-panel__item + .service-panel__item {
				margin-top: 7.2rem;
		}
}

.service-panel__item-number {
		position: absolute;
		top: -1px;
		left: 0;
		display: inline-block;
		padding-top: 0.35em;
		padding-right: 1.1em;
		padding-left: 1.1em;
		border-top: 1px solid currentColor;
		font-family: var(--font-roboto);
		font-size: 1.4rem;
		letter-spacing: 0.025em;
		font-weight: 700;
}

.service-panel__item-counter {
		position: absolute;
		top: -1px;
		right: 0;
		display: inline-block;
		padding-top: 0.35em;
		padding-right: 0.5em;
		padding-bottom: 0.1em;
		padding-left: 0.5em;
		border: 1px solid var(--g-color-gray);
		line-height: 1;
		font-family: var(--font-roboto);
		letter-spacing: 0.1em;
		font-size: 1rem;
		background-color: #f4f4f4;
}
.service-panel__item-counter img {
		display: inline-block;
		vertical-align: 0.125em;
		width: 2rem;
		margin-right: 0.025em;
}
.service-panel__item-counter img[src*=icon-menu-text] {
		width: 2.3rem;
		vertical-align: 0.125em;
}
.service-panel__item-counter img[src*=icon-masu] {
		width: 1rem;
		vertical-align: 0;
}
.service-panel__item-counter img[src*=icon-cube] {
		width: 1.15rem;
		vertical-align: -0.125em;
}
.service-panel__item-counter img[src*=icon-rounded-menu] {
		width: 1.1rem;
		vertical-align: -0.05em;
}
.service-panel__item-counter span {
		font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
		.service-panel__item-counter span {
				font-size: 1.2rem;
		}
}

.service-panel__item-counter-number {
		font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
		.service-panel__item-counter-number {
				font-size: 1.2rem;
		}
}

.service-panel__item-title {
		margin-top: 4.8rem;
		margin-bottom: 4.8rem;
		line-height: 1.5;
		font-size: 1.6rem;
		font-weight: 700;
		text-align: center;
		letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
		.service-panel__item-title {
				margin-top: 3.2rem;
				margin-bottom: 3.2rem;
				font-size: 1.4rem;
		}
}

.service-panel__list {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 2.4rem;
}
@media screen and (max-width: 767px) {
		.service-panel__list {
				grid-template-columns: repeat(1, 1fr);
				gap: 3.2rem;
		}
}

.service-panel__list-item {
		position: relative;
}
.service-panel__list-item a {
		display: flex;
		align-items: center;
		gap: 1.6rem;
		height: 100%;
		padding: 1.6rem;
		border: 1px solid var(--g-color-gray);
		transition: border-color 0.125s ease-out;
}
@media screen and (max-width: 767px) {
		.service-panel__list-item a {
				gap: 1.4rem;
				padding: 1.4rem;
		}
}
.service-panel__list-item a::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 100%;
		display: block;
		--grid-size: 0.75rem;
		--border-width: 1px;
		background-position: center;
		background-size: calc(100% + 2px);
		background-image: repeating-linear-gradient(-55deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size));
		opacity: 0;
		transition: opacity 0.125s ease-out;
}
.service-panel__list-item a:hover {
		border-color: var(--g-color-blue);
}
.service-panel__list-item a:hover::before {
		opacity: 0.3;
}
.service-panel__list-item:empty {
		border-top: 1px dashed var(--g-color-gray);
		border-right: 1px dashed var(--g-color-gray);
}
@media screen and (max-width: 767px) {
		.service-panel__list-item:empty {
				display: none;
		}
}

.service-panel__list-item-arrow {
		position: absolute;
		top: 1.6rem;
		right: 1.6rem;
		width: 0.9rem;
		line-height: 0;
		fill: var(--g-color-blue);
		transition: transform 0.125s ease-out;
}
@media screen and (max-width: 767px) {
		.service-panel__list-item-arrow {
				top: 1.4rem;
				right: 1.4rem;
		}
}
a:hover .service-panel__list-item-arrow {
		transform: translate(35%, -35%);
}

.service-panel__list-item-thumbnail {
		width: 5.2rem;
		overflow: hidden;
}
@media screen and (max-width: 767px) {
		.service-panel__list-item-thumbnail {
				width: 4.8rem;
		}
}
.service-panel__list-item-thumbnail img {
		width: 100%;
		object-fit: cover;
}

.service-panel__list-item-name {
		line-height: 1.5;
		font-weight: 500;
		letter-spacing: 0.075em;
}
.service-panel__list-item-name small {
		font-size: 0.85em;
}

/* top */
/* .top-hero
   ========================================================================== */
.top-hero {
		--grid-size: calc(100% / 12);
		--border-width: 1px;
		height: calc(100vh - var(--g-header-height));
		height: calc(100dvh - var(--g-header-height));
		min-height: 540px;
		position: relative;
		border-bottom: 1px solid var(--g-color-light-blue);
		overflow: hidden;
}
@media screen and (max-width: 767px) {
		.top-hero {
				--grid-size: calc(100% / 4);
				height: 45.5rem;
				min-height: auto;
		}
}
.top-hero::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-position: center;
		background-size: calc(100% + 2px);
		background-image: repeating-linear-gradient(90deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size));
}

.top-hero__slider {
		--show-slider-length: 1;
		--slider-item-gap: 1.4rem;
		position: absolute !important;
		top: 50%;
		left: 50%;
		transform: translate(calc(-50% - var(--slider-item-gap) * var(--show-slider-length) / 2), calc(-53% - var(--slider-item-gap) * 3 / 2));
		width: 88rem;
		height: 54rem;
}
@media screen and (max-width: 767px) {
		.top-hero__slider {
				--slider-item-gap: 0.52rem;
				width: 33rem;
				height: 20.3rem;
				transform: translate(calc(-50% - var(--slider-item-gap) * var(--show-slider-length) / 2), calc(-53% - var(--slider-item-gap) * var(--show-slider-length) / 2 - 2rem));
		}
}
.top-hero__slider.--no-slider {
		--show-slider-length: 2;
}
.top-hero__slider.swiper {
		overflow: visible;
		padding-bottom: 2.4rem;
}
.top-hero__slider .swiper-pagination {
		bottom: -7.2rem !important;
}
@media screen and (max-width: 767px) {
		.top-hero__slider .swiper-pagination {
				bottom: -4.9rem !important;
		}
}
.top-hero__slider .swiper-horizontal > .swiper-pagination-bullets,
.top-hero__slider .swiper-pagination-bullets.swiper-pagination-horizontal,
.top-hero__slider .swiper-pagination-custom,
.top-hero__slider .swiper-pagination-fraction {
		bottom: 0;
}
.top-hero__slider .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.top-hero__slider .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 0 1rem;
}
@media screen and (max-width: 767px) {
		.top-hero__slider .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.top-hero__slider .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
				margin: 0 0.8rem;
		}
}
.top-hero__slider .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
		visibility: hidden;
		transform: scale(1);
}
.top-hero__slider .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main,
.top-hero__slider .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next,
.top-hero__slider .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
		visibility: visible;
}
.top-hero__slider .swiper-pagination-bullet {
		width: 1.3rem;
		height: 1.3rem;
		background-color: white;
		border: 1px solid var(--g-color-black);
		opacity: 1;
}
@media screen and (max-width: 767px) {
		.top-hero__slider .swiper-pagination-bullet {
				width: 0.7rem;
				height: 0.7rem;
		}
}
.top-hero__slider .swiper-pagination-bullet-active {
		background-color: var(--g-color-blue);
		border: 0;
}
.top-hero__slider .swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.top-hero__slider .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
		transform: translateX(-46.5%);
}
@media screen and (max-width: 767px) {
		.top-hero__slider .swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.top-hero__slider .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
				transform: translateX(-51.6%);
		}
}

.top-hero__slider-item {
		position: relative;
		border: 1px solid var(--g-color-black);
}
.top-hero__slider-item img {
		width: 100%;
		height: 100%;
		object-fit: cover;
}
.top-hero__slider.--no-slider .top-hero__slider-item::before {
		content: "";
		position: absolute;
		bottom: calc(var(--slider-item-gap) * -1);
		left: calc(var(--slider-item-gap) * 1);
		z-index: -1;
		width: 100%;
		height: 100%;
		background-color: var(--g-color-very-pale-blue);
		border: 1px solid var(--g-color-black);
}
.top-hero__slider.--no-slider .top-hero__slider-item::after {
		content: "";
		position: absolute;
		bottom: calc(var(--slider-item-gap) * -2);
		left: calc(var(--slider-item-gap) * 2);
		z-index: -2;
		width: 100%;
		height: 100%;
		background-color: var(--g-color-very-pale-blue);
		border: 1px solid var(--g-color-black);
}

.top-hero__slider-item-main-content {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
}

.top-hero__slider-item-main-content-title {
		transform: translate(-0.75%, -13%);
}
.top-hero__slider-item-main-content-title > span {
		display: block;
		line-height: 0;
}

.top-hero__slider-item-main-content-title-line-01 {
		width: 19.6rem;
		margin-right: auto;
		margin-left: auto;
}
@media screen and (max-width: 767px) {
		.top-hero__slider-item-main-content-title-line-01 {
				transform: translateY(-0.25rem);
				width: 12rem;
		}
}

.top-hero__slider-item-main-content-title-line-02 {
		margin-top: 1.75em;
		width: 41.7rem;
		margin-right: auto;
		margin-left: auto;
}
@media screen and (max-width: 767px) {
		.top-hero__slider-item-main-content-title-line-02 {
				margin-top: 1rem;
				width: 19rem;
		}
}

.top-hero__slider-prev,
.top-hero__slider-next {
		position: absolute;
		top: calc(50% + var(--slider-item-gap) * var(--show-slider-length) / 2 - 2.4rem);
		z-index: 99;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 5.6rem;
		height: 5.6rem;
		border: 1px solid var(--g-color-black);
		border-radius: 50%;
		background-color: white;
		transition: background-color 0.125s ease-out;
}
@media screen and (max-width: 767px) {
		.top-hero__slider-prev,
.top-hero__slider-next {
				top: auto;
				bottom: -6rem;
				width: 3.2rem;
				height: 3.2rem;
		}
}
.top-hero__slider-prev:hover,
.top-hero__slider-next:hover {
		background-color: var(--g-color-blue);
}

.top-hero__slider-prev-icon,
.top-hero__slider-next-icon {
		width: 0.84rem;
		height: 0.84rem;
		border-left: 0.2rem solid currentColor;
		border-bottom: 0.2rem solid currentColor;
		transition: border-color 0.125s ease-out, border-width 0.125s ease-out;
}
@media screen and (max-width: 767px) {
		.top-hero__slider-prev-icon,
.top-hero__slider-next-icon {
				width: 0.8rem;
				height: 0.8rem;
		}
}
button:hover .top-hero__slider-prev-icon,
button:hover .top-hero__slider-next-icon {
		border-color: white;
}

.top-hero__slider-prev {
		left: 0;
		transform: translate(-200%, -50%);
}
@media screen and (max-width: 767px) {
		.top-hero__slider-prev {
				left: 6.3rem;
				transform: none;
		}
}

.top-hero__slider-next {
		right: 0;
		transform: translate(calc(200% + var(--slider-item-gap) * var(--show-slider-length)), -50%);
}
@media screen and (max-width: 767px) {
		.top-hero__slider-next {
				right: calc(6.3rem - var(--slider-item-gap) * var(--show-slider-length));
				transform: none;
		}
}

.top-hero__slider-prev-icon {
		transform: translateX(25%) rotate(45deg);
}

.top-hero__slider-next-icon {
		transform: translateX(-12.5%) rotate(-135deg);
}

.top-hero__bg {
		position: relative;
		height: 100%;
}

.top-hero__bg-item {
		position: absolute;
}
.top-hero__bg-item:nth-of-type(1) {
		top: 10.1744186047%;
		left: -2%;
		width: 13.1428571429%;
}
@media screen and (max-width: 767px) {
		.top-hero__bg-item:nth-of-type(1) {
				top: 8.5714285714%;
				left: -12%;
				width: 31.7333333333%;
		}
}
.top-hero__bg-item:nth-of-type(2) {
		top: 8.1395348837%;
		right: 10.1428571429%;
		width: 11%;
}
@media screen and (max-width: 767px) {
		.top-hero__bg-item:nth-of-type(2) {
				top: auto;
				bottom: 3.956043956%;
				right: 8.5333333333%;
				width: 29.8666666667%;
		}
}
.top-hero__bg-item:nth-of-type(3) {
		bottom: -8.1395348837%;
		left: -6%;
		width: 17.2857142857%;
}
@media screen and (max-width: 767px) {
		.top-hero__bg-item:nth-of-type(3) {
				bottom: -10.3296703297%;
				left: -2.2933333333%;
				width: 30.4%;
		}
}
.top-hero__bg-item:nth-of-type(4) {
		bottom: 5.2325581395%;
		right: -2.1428571429%;
		width: 13.5%;
}
@media screen and (max-width: 767px) {
		.top-hero__bg-item:nth-of-type(4) {
				top: -11.8681318681%;
				bottom: auto;
				right: 14.4%;
				width: 29.3333333333%;
		}
}

.top-hero__scroll {
		--bar-size: 7.2rem;
		position: absolute;
		left: calc(var(--grid-size) / 2);
		bottom: calc(var(--bar-size) + 2em);
		font-family: var(--font-roboto);
		font-size: 1.3rem;
		font-weight: 700;
		letter-spacing: 0.15em;
		transform: translate(-50%, -100%);
}
@media screen and (max-width: 767px) {
		.top-hero__scroll {
				--bar-size: 2.8rem;
				font-size: 1rem;
				letter-spacing: 0.1em;
				left: 2.2rem;
		}
}

.top-hero__text {
		transform: rotate(-90deg);
}
@media screen and (max-width: 767px) {
		.top-hero__text {
				transform: rotate(-90deg) translateX(-10%);
		}
}

.top-hero__bar {
		position: absolute;
		left: 50%;
		bottom: -1.25em;
		width: 1px;
		display: block;
		height: var(--bar-size);
		transform: translate(-50%, calc(100% + 1em));
}
.top-hero__bar::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: currentColor;
		animation: borderLoop 1.5s ease-in-out 0s infinite;
		will-change: clip-path;
}

@keyframes borderLoop {
		0% {
				clip-path: inset(0 0 100% 0);
		}
		50% {
				clip-path: inset(0 0 0 0);
		}
		to {
				clip-path: inset(100% 0 0 0);
		}
}
/* feature */
/* .feature-hero
   ========================================================================== */
.feature-hero {
		--grid-size: calc(var(--g-content-width) / 2);
		--border-width: 1px;
		height: calc(100vh - var(--g-header-height));
		height: calc(100dvh - var(--g-header-height));
		min-height: 540px;
		position: relative;
		border-bottom: 1px solid var(--g-color-light-blue);
		overflow: hidden;
}
@media screen and (orientation: portrait) {
		.feature-hero {
				height: 50vh;
		}
}
@media screen and (max-width: 767px) {
		.feature-hero {
				height: auto;
				min-height: auto;
		}
}
.feature-hero::before {
		content: "";
		position: absolute;
		left: 50%;
		top: 0;
		transform: translateX(-50%);
		width: 1px;
		height: 100%;
		background-color: var(--g-color-light-blue);
}
.feature-hero::after {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 100%;
		height: 1px;
		background-color: var(--g-color-light-blue);
}

.feature-hero__container {
		position: relative;
		width: var(--g-content-width);
		height: 100%;
		margin-right: auto;
		margin-left: auto;
}
.feature-hero__container::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 1px;
		height: 100%;
		background-color: var(--g-color-light-blue);
}
@media screen and (max-width: 767px) {
		.feature-hero__container::before {
				content: none;
		}
}
.feature-hero__container::after {
		content: "";
		position: absolute;
		right: 0;
		top: 0;
		width: 1px;
		height: 100%;
		background-color: var(--g-color-light-blue);
}
@media screen and (max-width: 767px) {
		.feature-hero__container::after {
				content: none;
		}
}

.feature-hero__title {
		--left-padding: 3.2rem;
		top: 11.6rem;
		position: absolute;
		left: calc(var(--left-padding) * -1);
		min-width: 40rem;
		padding-top: 0.35em;
		padding-left: var(--left-padding);
		padding-right: var(--left-padding);
		padding-bottom: 0.45em;
		font-size: 2.6rem;
		font-weight: 700;
		background-color: #d7ebff;
		border: 1px solid var(--g-color-black);
		line-height: 1.7;
		letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
		.feature-hero__title {
				--left-padding: 1.8rem;
				display: inline-block;
				top: 4.8rem;
				padding-right: calc(var(--left-padding) * 2);
				left: var(--g-page-gutter);
				min-width: initial;
				font-size: 1.8rem;
		}
}
.feature-hero__title::after {
		content: "";
		position: absolute;
		bottom: -1rem;
		left: 1rem;
		z-index: -1;
		width: 100%;
		height: 100%;
		background-color: #d7ebff;
		border: 1px solid var(--g-color-black);
}
@media screen and (max-width: 767px) {
		.feature-hero__title::after {
				bottom: -0.8rem;
				left: 0.8rem;
		}
}

.feature-hero__title-icon {
		position: absolute;
		top: 0;
		right: 0;
		width: 2.4rem;
		height: 2.4rem;
		background-color: var(--g-color-blue);
}
@media screen and (max-width: 767px) {
		.feature-hero__title-icon {
				width: 1.6rem;
				height: 1.6rem;
		}
}
.feature-hero__title-icon svg {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -51%);
		width: 1.36rem;
		line-height: 0;
		fill: white;
}
@media screen and (max-width: 767px) {
		.feature-hero__title-icon svg {
				transform: translate(-50%, -52%);
				width: 1rem;
		}
}

.feature-hero__point {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 50% 50%;
}
@media screen and (max-width: 767px) {
		.feature-hero__point {
				position: relative;
				top: auto;
				left: auto;
				z-index: 1;
				display: block;
				padding-top: 18.4rem;
				padding-bottom: 8.8rem;
				padding-right: var(--g-page-gutter);
				padding-left: var(--g-page-gutter);
		}
}

.feature-hero__point-item {
		--color: var(--g-color-green-blue);
		--point-number-size: 2.2rem;
		position: relative;
}
.feature-hero__point-item:nth-of-type(1) {
		--color: var(--g-color-plan-bs);
}
.feature-hero__point-item:nth-of-type(2) {
		--color: var(--g-color-plan-sd);
}
.feature-hero__point-item:nth-of-type(3) {
		--color: var(--g-color-plan-om);
}
@media screen and (max-width: 767px) {
		.feature-hero__point-item {
				--point-number-size: 1.9rem;
		}
		.feature-hero__point-item + .feature-hero__point-item {
				margin-top: 5.6rem;
		}
}
.feature-hero__point-item:nth-of-type(1) {
		grid-column: 2;
}

.feature-hero__point-item-content {
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: 1;
		transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
		.feature-hero__point-item-content {
				transform: none;
				position: static;
		}
}

.feature-hero__point-item-header {
		position: relative;
		display: inline-block;
		padding-left: calc(var(--point-number-size) + 0.85em);
		padding-bottom: calc(var(--point-number-size) / 1.5);
		padding-right: calc(var(--point-number-size));
		padding-top: calc(var(--point-number-size) / 1.35);
		border: 1px solid var(--color);
		line-height: 1.7;
		font-size: 1.5rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		white-space: nowrap;
		background-color: white;
}
@media screen and (max-width: 767px) {
		.feature-hero__point-item-header {
				font-size: 1.3rem;
				padding-left: calc(var(--point-number-size) + 0.65em);
				padding-bottom: calc(var(--point-number-size) / 1.5);
				padding-right: calc(var(--point-number-size) + 0.5em);
				padding-top: calc(var(--point-number-size) / 1.35);
		}
}
.feature-hero__point-item-header::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		width: var(--point-number-size);
		height: var(--point-number-size);
		background-color: var(--color);
		font-family: var(--font-roboto);
		font-size: 1.7rem;
		font-weight: 700;
		color: white;
		line-height: var(--point-number-size);
		text-align: center;
}
@media screen and (max-width: 767px) {
		.feature-hero__point-item-header::before {
				font-size: 1.6rem;
		}
}
.feature-hero__point-item:nth-of-type(1) .feature-hero__point-item-header::before {
		content: "1";
}
.feature-hero__point-item:nth-of-type(2) .feature-hero__point-item-header::before {
		content: "2";
}
.feature-hero__point-item:nth-of-type(3) .feature-hero__point-item-header::before {
		content: "3";
}

.feature-hero__point-item-header-inner {
		position: relative;
		z-index: 1;
}

.feature-hero__point-item-body {
		position: relative;
		z-index: -1;
		margin-top: calc(var(--point-number-size) * -0.5);
		margin-left: 3.2rem;
		width: 36rem;
		padding-left: calc(var(--point-number-size) * 0.75);
		padding-bottom: calc(var(--point-number-size));
		padding-right: calc(var(--point-number-size) * 1.125);
		padding-top: calc(var(--point-number-size) / 0.9);
		border: 1px solid var(--color);
		text-align: justify;
		line-height: 2;
		font-size: 1.3rem;
		font-weight: 500;
		letter-spacing: 0.075em;
		background-color: white;
}
@media screen and (max-width: 767px) {
		.feature-hero__point-item-body {
				width: calc(100% - 1.8rem);
				margin-top: calc(var(--point-number-size) * -0.9);
				margin-left: 1.8rem;
				padding-left: calc(var(--point-number-size) + 0.25em);
				padding-bottom: calc(var(--point-number-size) / 1.25);
				padding-right: calc(var(--point-number-size) + 0.25em);
				padding-top: calc(var(--point-number-size) / 0.75);
				font-size: 1.2rem;
		}
}
@media screen and (max-width: 767px) and (max-width: 767px) {
		.feature-hero__point-item-body {
				background-color: rgba(255, 255, 255, 0.5);
		}
}

.feature-hero__point-item-body-content {
		position: relative;
		z-index: 1;
		display: flex;
		gap: 1em;
		line-height: 2.1;
		letter-spacing: 0.05em;
		font-size: 1.35rem;
}
@media screen and (max-width: 767px) {
		.feature-hero__point-item-body-content {
				display: block;
				overflow: hidden;
				line-height: 2.2;
		}
}
.feature-hero__point-item-body-content img {
		flex-shrink: 0;
		width: 8.8rem;
}
@media screen and (max-width: 767px) {
		.feature-hero__point-item-body-content img {
				float: right;
				width: 8.8rem;
				margin-left: 1.5em;
		}
}

.feature-hero__point-item-body-image {
		position: relative;
		z-index: 1;
		width: 16rem;
		display: inline;
}

.feature-hero__bg {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(calc(-50% + 2.4rem), calc(-50% + 12.8rem));
		z-index: -2;
		width: 89.9285714286%;
}
@media screen and (max-width: 767px) {
		.feature-hero__bg {
				top: 6.4rem;
				left: auto;
				right: -61rem;
				transform: none;
				width: 107rem;
		}
}

.feature-hero__bg-sp {
		display: none;
}
@media screen and (max-width: 767px) {
		.feature-hero__bg-sp {
				display: block;
				position: absolute;
				bottom: -25.1rem;
				left: -68rem;
				width: 107rem;
		}
}

.feature-hero__scroll {
		--bar-size: 7.2rem;
		position: absolute;
		left: var(--g-page-gutter);
		bottom: calc(var(--bar-size) + 2em);
		font-family: var(--font-roboto);
		font-size: 1.3rem;
		font-weight: 700;
		letter-spacing: 0.15em;
		transform: translate(-50%, -100%);
}
@media screen and (max-width: 767px) {
		.feature-hero__scroll {
				display: none;
		}
}

.feature-hero__text {
		transform: rotate(-90deg);
}
@media screen and (max-width: 767px) {
		.feature-hero__text {
				transform: rotate(-90deg) translateX(-10%);
		}
}

.feature-hero__bar {
		position: absolute;
		left: 50%;
		bottom: -1.25em;
		width: 1px;
		display: block;
		height: var(--bar-size);
		transform: translate(-50%, calc(100% + 1em));
}
.feature-hero__bar::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: currentColor;
		animation: borderLoop 1.5s ease-in-out 0s infinite;
		will-change: clip-path;
}

@keyframes borderLoop {
		0% {
				clip-path: inset(0 0 100% 0);
		}
		50% {
				clip-path: inset(0 0 0 0);
		}
		to {
				clip-path: inset(100% 0 0 0);
		}
}
/* flow */
/* .flow-wrapper
   ========================================================================== */
.flow-wrapper {
		--flow-gutter: 4rem;
		--color-customer: var(--g-color-green-blue);
		padding-top: 11.6rem;
		position: relative;
		margin-bottom: 14rem;
}
@media screen and (max-width: 767px) {
		.flow-wrapper {
				padding-top: 4.8rem;
		}
}
.flow-wrapper::before {
		--grid-size: calc(100% / 3);
		--border-width: 1px;
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		z-index: -1;
		transform: translateX(-50%);
		width: 36rem;
		height: 100%;
		background-image: repeating-linear-gradient(90deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent calc(var(--grid-size) - var(--border-width)));
}
@media screen and (max-width: 767px) {
		.flow-wrapper::before {
				width: 16.2rem;
		}
}

/* .flow-header
	 ========================================================================== */
.flow-header {
		width: var(--g-content-width);
		margin-right: auto;
		margin-left: auto;
		padding-left: var(--flow-gutter);
		padding-right: var(--flow-gutter);
}
@media screen and (max-width: 767px) {
		.flow-header {
				padding-left: var(--g-page-gutter);
				padding-right: var(--g-page-gutter);
		}
}

.flow-header__title {
		--left-padding: 3.2rem;
		position: relative;
		padding-top: 0.35em;
		padding-left: var(--left-padding);
		padding-right: var(--left-padding);
		padding-bottom: 0.45em;
		font-size: 2.6rem;
		font-weight: 700;
		background-color: #d7ebff;
		border: 1px solid var(--g-color-black);
		line-height: 1.7;
		letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
		.flow-header__title {
				--left-padding: 1.8rem;
				width: 100%;
				font-size: 1.8rem;
				padding-right: calc(var(--left-padding) * 2);
		}
}
.flow-header__title::after {
		content: "";
		position: absolute;
		bottom: -1rem;
		left: 1rem;
		z-index: -1;
		width: 100%;
		height: 100%;
		background-color: #d7ebff;
		border: 1px solid var(--g-color-black);
}
@media screen and (max-width: 767px) {
		.flow-header__title::after {
				bottom: -0.8rem;
				left: 0.8rem;
		}
}

.flow-header__title-icons {
		position: absolute;
		top: 0;
		right: 0;
		display: flex;
		gap: 1px;
}

.flow-header__title-icons-item {
		--icon-text-gap: 0.6rem;
		position: relative;
		width: 5.4rem;
		aspect-ratio: 1/1;
		color: white;
		background-color: var(--color-customer);
}
@media screen and (max-width: 767px) {
		.flow-header__title-icons-item {
				width: 3.9rem;
		}
}
.flow-header__title-icons-item img {
		position: absolute;
		bottom: 0.75rem;
		left: 50%;
		transform: translateX(-50%);
		width: 3.8rem;
}
@media screen and (max-width: 767px) {
		.flow-header__title-icons-item img {
				width: 2.45rem;
				bottom: 0.42rem;
		}
}
.flow-header__title-icons-item.flow-header__title-icons-item--customer {
		background-color: var(--color-customer);
}
.flow-header__title-icons-item.flow-header__title-icons-item--customer img {
		width: 3.12rem;
}
@media screen and (max-width: 767px) {
		.flow-header__title-icons-item.flow-header__title-icons-item--customer img {
				width: 2.35rem;
		}
}
.flow-header__title-icons-item.flow-header__title-icons-item--rh {
		background-color: var(--g-color-rh);
}
.flow-header__title-icons-item.flow-header__title-icons-item--rh img {
		width: 3.84rem;
}
@media screen and (max-width: 767px) {
		.flow-header__title-icons-item.flow-header__title-icons-item--rh img {
				width: 2.85rem;
		}
}

/* .flow
	 ========================================================================== */
.flow {
		position: relative;
		margin-top: 15.2rem;
}
@media screen and (max-width: 767px) {
		.flow {
				margin-top: 6.4em;
		}
}

.flow__container-before-arrow {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, calc(-6rem - 100%));
		display: flex;
		width: 2.6rem;
		margin-right: auto;
		margin-left: auto;
		padding-top: 0.2em;
		padding-bottom: 0.35em;
		background-color: #ddecff;
		align-items: center;
		justify-content: center;
}
@media screen and (max-width: 767px) {
		.flow__container-before-arrow {
				transform: translate(-50%, calc(-1.6rem - 100%));
				width: 1.96rem;
		}
}
.flow__container-before-arrow picture {
		line-height: 0;
}
.flow__container-before-arrow img {
		width: 0.95rem;
		line-height: 0;
}
@media screen and (max-width: 767px) {
		.flow__container-before-arrow img {
				width: 0.73rem;
		}
}

[data-flow-wrapper] {
		--each-step-height: 4.8rem;
}

.flow__container {
		width: var(--g-content-width);
		margin-right: auto;
		margin-left: auto;
		padding-top: 1.8rem;
		padding-left: var(--flow-gutter);
		padding-right: var(--flow-gutter);
		border: 1px solid var(--g-color-gray);
		background-color: white;
}
@media screen and (max-width: 767px) {
		.flow__container {
				padding-top: 2.4rem;
				padding-left: 0;
				padding-right: 0;
				border: none;
				border-top: 1px solid var(--g-color-gray);
				border-bottom: 1px solid var(--g-color-gray);
		}
}

.flow__columns {
		position: relative;
		z-index: 1;
		--center-marker-size: 1.08rem;
		--column-gap: 5.4rem;
		--step-label-negative-margin: -3.2rem;
		display: grid;
		grid-template-columns: 1fr var(--center-marker-size) 1fr;
		gap: var(--column-gap);
}
@media screen and (max-width: 767px) {
		.flow__columns {
				grid-template-columns: 1fr var(--center-marker-size) 1fr;
				--step-label-negative-margin: -0.8rem;
				--column-gap: 1.8rem;
		}
}

.flow__center-markers-item {
		height: var(--each-step-height);
}
.flow__center-markers-item::before {
		content: "";
		transform: translateY(-35%);
		display: block;
		width: var(--center-marker-size);
		height: var(--center-marker-size);
		background-color: #ececec;
		border-radius: 50%;
}

/*
		契約ステップの位置調整
		var(--each-step-height)を単位として、topの値を指定
	*/
.flow__step-keiyaku {
		position: absolute;
		top: calc(var(--each-step-height) * 17);
		left: calc(50% + (var(--column-gap) * 2 + var(--center-marker-size)) / 2);
		transform: translate(var(--step-label-negative-margin), -47%);
		z-index: 3;
		padding-top: 0.35em;
		padding-right: 0.5em;
		padding-bottom: 0.35em;
		padding-left: 0.5em;
		background-color: #454545;
		text-align: center;
		line-height: 1.4;
		font-size: 1.7rem;
		font-weight: 700;
		color: white;
		letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
		.flow__step-keiyaku {
				padding-right: 0.65em;
				padding-left: 0.65em;
				font-size: 1.5rem;
		}
}
.flow__step-keiyaku small {
		font-size: 1.1rem;
		display: block;
		letter-spacing: normal;
		letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
		.flow__step-keiyaku small {
				font-size: 1rem;
		}
}
.flow__step-keiyaku::after {
		content: "";
		position: absolute;
		top: 50%;
		z-index: 1;
		display: block;
		width: var(--center-marker-size);
		height: var(--center-marker-size);
		border-radius: 50%;
		left: calc(var(--column-gap) * -1 - var(--step-label-negative-margin));
		transform: translate(-100%, -50%);
		background-color: #454545;
}
.flow__step-keiyaku::before {
		content: "";
		position: absolute;
		top: 50%;
		width: 0.6rem;
		height: 0.7rem;
		border-style: solid;
		left: 0.5px;
		transform: translate(-100%, -50%);
		border-width: 0.4rem 0.7rem 0.4rem 0;
		border-color: transparent #454545 transparent transparent;
}

.flow__item {
		position: relative;
		/*
			各ステップの位置調整
			var(--each-step-height)を単位として、各ステップの上マージンを指定
			※センターマーカーと各ステップの頭揃えは"/src/script/include/flowSteps.js"で最終調整されます。
		*/
		margin-top: calc(var(--each-step-height) * 1);
		/*
			カスタマー
		*/
		/*
			レリクサ
		*/
		/*
			各ステップのアクティブマーカーは、jsで挿入される通常マーカーの上に重ねるため、jsで高さの決定後に付与される".--height-adjustment"をトリガーにする
		*/
}
.flow__column.flow__column--customer .flow__item:nth-of-type(2) {
		margin-top: calc(var(--each-step-height) * 1);
}
.flow__column.flow__column--rh .flow__item:nth-of-type(1) {
		margin-top: calc(var(--each-step-height) * 4);
}
.flow__column.flow__column--rh .flow__item:nth-of-type(2) {
		margin-top: calc(var(--each-step-height) * 10);
}
.flow__item.--height-adjustment::before {
		content: "";
		position: absolute;
		top: 0;
		z-index: 1;
		display: block;
		width: var(--center-marker-size);
		height: var(--center-marker-size);
		border-radius: 50%;
}
.flow__column.flow__column--customer .flow__item.--height-adjustment::before {
		right: calc(var(--column-gap) * -1);
		transform: translate(100%, -35%);
		background-color: var(--color-customer);
}
.flow__column.flow__column--rh .flow__item.--height-adjustment::before {
		left: calc(var(--column-gap) * -1);
		transform: translate(-100%, -35%);
		background-color: var(--g-color-rh);
}

.flow__item-inner {
		position: relative;
		padding-top: 4rem;
		padding-right: 3.2rem;
		padding-bottom: 4.4rem;
		padding-left: 3.2rem;
		border: 1px solid var(--g-color-gray);
		background-color: white;
}
@media screen and (max-width: 767px) {
		.flow__item-inner {
				padding-top: 3.4rem;
				padding-right: 1.6rem;
				padding-left: 1.6rem;
				padding-bottom: 3rem;
		}
}
.flow__column.flow__column--customer .flow__item-inner {
		border-color: var(--color-customer);
}
@media screen and (max-width: 767px) {
		.flow__column.flow__column--customer .flow__item-inner {
				border-left: none;
		}
}
.flow__column.flow__column--rh .flow__item-inner {
		border-color: var(--g-color-rh);
}
@media screen and (max-width: 767px) {
		.flow__column.flow__column--rh .flow__item-inner {
				border-right: none;
		}
}
.flow__item-inner::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		z-index: -1;
		transform: translate(-50%, -50%);
		display: block;
		width: 105%;
		height: calc(100% + var(--each-step-height) * 2);
		background-color: white;
}
.flow__item.--height-adjustment .flow__item-inner::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		z-index: -2;
		width: 100%;
		height: 100%;
		--grid-size: 0.75rem;
		--border-width: 1px;
		background-position: center;
		background-size: calc(100% + 2px);
		background-image: repeating-linear-gradient(-55deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent var(--grid-size));
		opacity: 0.5;
}
.flow__column.flow__column--customer .flow__item.--height-adjustment .flow__item-inner::after {
		transform: translateX(calc(100% + var(--column-gap) * 2 + var(--center-marker-size)));
}
.flow__column.flow__column--rh .flow__item.--height-adjustment .flow__item-inner::after {
		transform: translateX(calc((100% + var(--column-gap) * 2 + var(--center-marker-size)) * -1));
}

.flow__item-icon {
		position: absolute;
		top: 0;
		width: 2.4rem;
		height: 2.4rem;
		background-color: var(--color-customer);
		fill: white;
}
.flow__column.flow__column--customer .flow__item-icon {
		left: 0;
		background-color: var(--color-customer);
}
.flow__column.flow__column--rh .flow__item-icon {
		right: 0;
		background-color: var(--g-color-rh);
}
.flow__item-icon svg {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 1.6rem;
}
.flow__column.flow__column--customer .flow__item-icon svg {
		width: 1.6rem;
}
.flow__column.flow__column--rh .flow__item-icon svg {
		width: 1.65rem;
}

.flow__item-step {
		position: absolute;
		top: 0;
		transform: translateY(-50%);
		padding-right: 0.5em;
		padding-left: 0.5em;
		background-color: var(--color-customer);
		line-height: 2.4rem;
		font-family: var(--font-roboto);
		font-size: 1.4rem;
		font-weight: 700;
		color: white;
		letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
		.flow__item-step {
				font-size: 1.2rem;
		}
}
.flow__column.flow__column--customer .flow__item-step {
		right: var(--step-label-negative-margin);
		background-color: var(--color-customer);
}
.flow__column.flow__column--rh .flow__item-step {
		left: var(--step-label-negative-margin);
		background-color: var(--g-color-rh);
}
.flow__item-step::after {
		content: "";
		position: absolute;
		top: 50%;
		width: 0.6rem;
		height: 0.7rem;
		border-style: solid;
}
.flow__column.flow__column--customer .flow__item-step::after {
		right: 0.5px;
		transform: translate(100%, -50%);
		border-width: 0.4rem 0 0.4rem 0.7rem;
		border-color: transparent transparent transparent var(--color-customer);
}
.flow__column.flow__column--rh .flow__item-step::after {
		left: 0.5px;
		transform: translate(-100%, -50%);
		border-width: 0.4rem 0.7rem 0.4rem 0;
		border-color: transparent var(--g-color-rh) transparent transparent;
}

.flow__item-content {
		font-family: var(--font-sans-yakuhan-all);
}

.flow__item-title {
		line-height: 1.4;
		font-size: 1.8rem;
		font-weight: 700;
		letter-spacing: 0.025em;
}
@media screen and (max-width: 767px) {
		.flow__item-title {
				font-size: 1.4rem;
		}
}

.flow__item-body {
		margin-top: 1.25em;
		font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
		.flow__item-body {
				font-size: 1.3rem;
		}
}
.flow__item-body p,
.flow__item-body li {
		text-align: justify;
}

* + .flow__item-text {
		margin-top: 1.25em;
}
@media screen and (max-width: 767px) {
		* + .flow__item-text {
				margin-top: 1.75em;
		}
}

* + .flow__item-list {
		margin-top: 1.25em;
}
@media screen and (max-width: 767px) {
		* + .flow__item-list {
				margin-top: 1.75em;
		}
}

.flow__item-list-item {
		--list-mark-size: 0.8rem;
		position: relative;
		padding-left: calc(var(--list-mark-size) + 0.75em);
		line-height: 1.5;
}
@media screen and (max-width: 767px) {
		.flow__item-list-item {
				--list-mark-size: 0.6rem;
				padding-left: calc(var(--list-mark-size) + 0.6em);
		}
}
.flow__item-list-item + .flow__item-list-item {
		margin-top: 1em;
}
@media screen and (max-width: 767px) {
		.flow__item-list-item + .flow__item-list-item {
				margin-top: 1.25em;
		}
}
.flow__item-list-item::before {
		content: "";
		position: absolute;
		top: 0.6125em;
		left: 0;
		width: var(--list-mark-size);
		height: var(--list-mark-size);
		border: 1px solid var(--color-customer);
		border-radius: 50%;
}
.flow__item-list-item p + p {
		margin-top: 0.25em;
}
@media screen and (max-width: 767px) {
		.flow__item-list-item p + p {
				margin-top: 0.5em;
		}
}

.flow__item-list-item-title {
		font-weight: 500;
}

#flow-sample {
		color: #1b0cab;
		text-decoration: underline;
		text-decoration-color: #1b0cab;
}

.flow__item-button {
		margin-top: 3em;
		align-items: center;
}
@media screen and (max-width: 767px) {
		.flow__item-button {
				margin-top: 1.5em;
		}
}
.flow__item-button .button {
		z-index: 1;
		display: flex;
		width: fit-content;
		min-width: 22rem;
		margin-right: auto;
		margin-left: auto;
		padding-top: 0.75em;
		padding-bottom: 0.75em;
}
@media screen and (max-width: 767px) {
		.flow__item-button .button {
				display: inline-block;
				min-width: initial;
				background-color: transparent;
				padding: 0;
				border: none;
				border-radius: 0;
		}
		.flow__item-button .button::before {
				content: none;
		}
}
.flow__item-button .button + .flow__item-button .button {
		margin-top: 2em;
}
.flow__item-button .button__text {
		text-align: left;
		font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
		.flow__item-button .button__text {
				display: inline;
				line-height: 1.75;
				font-size: 1.2rem;
				text-decoration: underline;
				text-underline-offset: -0.25em;
				text-decoration-thickness: 0.75em;
				text-decoration-color: #e9f4ff;
		}
}
@media screen and (max-width: 767px) {
		.flow__item-button .button__icon {
				position: static;
				transform: none;
				display: inline-block;
		}
		.flow__item-button .button__icon.button__icon--arrow {
				position: relative;
				top: auto;
				right: auto;
				width: 1.6rem;
				height: 1.6rem;
				background-color: var(--g-color-blue);
				border-radius: 50%;
				vertical-align: -0.25em;
				margin-left: 0.15em;
		}
		.flow__item-button .button__icon.button__icon--arrow svg {
				position: absolute;
				top: 50%;
				left: 50%;
				transform: translate(-50%, -50%);
				width: 0.6rem;
				line-height: 0;
				fill: white;
		}
}

.flow__bg {
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 100%;
}

.flow__bg-item {
		--grid-size: calc(100% / 3);
		--border-width: 1px;
		position: absolute;
		left: 0;
		width: 100%;
		height: 15%;
}
@media screen and (max-width: 767px) {
		.flow__bg-item {
				display: contents;
		}
}
.flow__bg-item:nth-of-type(1) {
		top: 10%;
}
.flow__bg-item:nth-of-type(2) {
		top: 50%;
		transform: translateY(-50%);
}
.flow__bg-item:nth-of-type(3) {
		bottom: 10%;
}
.flow__bg-item::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background-image: repeating-linear-gradient(0deg, var(--g-color-light-blue), var(--g-color-light-blue) var(--border-width), transparent var(--border-width), transparent calc(var(--grid-size) - var(--border-width)));
}
@media screen and (max-width: 767px) {
		.flow__bg-item::before {
				content: none;
		}
}

.flow__bg-item-image {
		position: absolute;
		z-index: -1;
}
.flow__bg-item:nth-of-type(1) .flow__bg-item-image:nth-of-type(1) {
		top: -10.2rem;
		left: 50%;
		transform: translateX(calc(var(--g-content-width) / 2 - 5rem));
		width: 22.2rem;
}
@media screen and (max-width: 767px) {
		.flow__bg-item:nth-of-type(1) .flow__bg-item-image:nth-of-type(1) {
				top: 0;
				left: 0;
				transform: translateX(-2.4rem) translateY(-4.5rem);
				width: 11.3rem;
		}
}
.flow__bg-item:nth-of-type(2) .flow__bg-item-image:nth-of-type(1) {
		top: -17.8rem;
		left: 0;
		transform: translateX(-15.1rem);
		width: 28.7rem;
}
@media screen and (max-width: 767px) {
		.flow__bg-item:nth-of-type(2) .flow__bg-item-image:nth-of-type(1) {
				top: 0;
				left: auto;
				right: 0;
				transform: translateX(2.1rem) translateY(-16rem);
				width: 10.3rem;
		}
}
.flow__bg-item:nth-of-type(2) .flow__bg-item-image:nth-of-type(2) {
		bottom: -6.2rem;
		right: 0;
		transform: translateX(7.6rem);
		width: 23.4rem;
}
@media screen and (max-width: 767px) {
		.flow__bg-item:nth-of-type(2) .flow__bg-item-image:nth-of-type(2) {
				display: none;
		}
}
.flow__bg-item:nth-of-type(3) .flow__bg-item-image:nth-of-type(1) {
		top: 50%;
		left: 50%;
		transform: translate(calc(var(--g-content-width) / -2 - 100% + 5.6rem), -50%);
		width: 21.1rem;
}
@media screen and (max-width: 767px) {
		.flow__bg-item:nth-of-type(3) .flow__bg-item-image:nth-of-type(1) {
				top: auto;
				bottom: 0;
				left: 0;
				transform: translateX(2.8rem) translateY(calc(100% - 1.4rem));
				width: 12rem;
		}
}

.section__guide {
	width: 90rem;
	margin-top: 7.6rem;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.section__guide {
		width: auto;
	}
	.section__guide-image {
		margin-inline: auto;
		max-width: 75%;
	}
}

.guide-rna-seq {
	color: #417bc0 !important;
	text-decoration-line: none !important;
	font-weight:bold;
}

.guide-rrna-dep-rna-seq {
	color: #ee7a3a !important;
	text-decoration-line: none !important;
	font-weight:bold;
}

.guide-prok-rna-seq {
	color: #52a549 !important;
	text-decoration-line: none !important;
	font-weight:bold;
}

.guide-lowinput-rna-seq-1 {
	color: #55b2de !important;
	text-decoration-line: none !important;
	font-weight:bold;
}

.guide-lowinput-rna-seq-2 {
	color: #efae78 !important;
	text-decoration-line: none !important;
	font-weight:bold;
}

.guide-ffpe-rna-seq {
	color: #73539a !important;
	text-decoration-line: none !important;
	font-weight:bold;
}

.guide-globin-dep-rna-seq {
	color: #c8323b !important;
	text-decoration-line: none !important;
	font-weight:bold;
}

.guide-small-rna-seq {
	color: #c62c80 !important;
	text-decoration-line: none !important;
	font-weight:bold;
}

.guide-banner {
	max-width: 50%;
	margin: auto;

}
@media screen and (max-width: 767px) {
	.guide-banner {
			min-height: initial;
			/* width: calc(100% / var(--g-guide-banner-sp)); */
			/* width: 100vw !important; */
			width: 100%;         /* 画面幅100%に画像を表示 */
        	max-width: 100%;     /* 最大幅も100%に設定 */
	}
}

/* 
  ユーティリティクラスは優先上書き
 */
/* utility
   ========================================================================== */
/*
pcとスマホで表示するもの、させないものをがある場合に設定します。
brに使用するときれいに改行コントロールできます。
例：PCで一行で収まっている文章が、スマホでは1文字だけ行送りされてしまうなど、
*/
.active-tb-pc {
		display: initial;
		display: revert;
}
@media screen and (max-width: 767px) {
		.active-tb-pc {
				display: none;
		}
}

.active-sp {
		display: none;
}
@media screen and (max-width: 767px) {
		.active-sp {
				display: initial;
				display: revert;
		}
}

/*
インラインの寄せ
*/
.align-left {
		text-align: left;
}

.align-center {
		text-align: left;
}

.align-right {
		text-align: right;
}

/*
上余白
※--scaleでスマホ用に一律の係数をかけています
*/
:root {
		--scale: 1;
}
@media screen and (max-width: 767px) {
		:root {
				--scale: 0.75;
		}
}

.mt-top-16 {
		margin-top: calc(1.6rem * var(--scale));
}

.mt-top-24 {
		margin-top: calc(2.4rem * var(--scale));
}

.mt-top-32 {
		margin-top: calc(3.2rem * var(--scale));
}

.mt-top-40 {
		margin-top: calc(4rem * var(--scale));
}

.mt-top-48 {
		margin-top: calc(4.8rem * var(--scale));
}

.mt-top-56 {
		margin-top: calc(5.6rem * var(--scale));
}

.mt-top-64 {
		margin-top: calc(6.4rem * var(--scale));
}

.mt-top-72 {
		margin-top: calc(7.2rem * var(--scale));
}

.mt-top-80 {
		margin-top: calc(8rem * var(--scale));
}

/*
imgはデフォルトで100%を設定していますので、
親の幅いっぱいまで広がります。
画像自体のピクセル幅にしたい場合は以下のクラスを付与してください。
*/
.width-auto-image,
[src$=".svg"].width-auto-image {
		width: auto;
		max-width: 100%;
		height: auto;
		display: block;
}
/*# sourceMappingURL=style.css.map */