@charset "UTF-8";
/*
Theme Name: 東京財託
Author: 東京財託
*/
/*
breakpoints: 1920px, 1320px, 767px, 480px
*/
/*
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
/*
  1. Use a more-intuitive box-sizing model.
*/
*, *::before, *::after {
	box-sizing: border-box;
}

/*
  2. Remove default margin
*/
* {
	margin: 0;
}

/*
  Typographic tweaks!
  3. Add accessible line-height
  4. Improve text rendering
*/
body {
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

/*
  5. Improve media defaults
*/
img, picture, video, canvas, svg {
	max-width: 100%;
}

/*
  6. Remove built-in form typography styles
*/
input, button, textarea, select {
	font: inherit;
}

/*
  7. Avoid text overflows
*/
p, h1, h2, h3, h4, h5, h6 {
	overflow-wrap: break-word;
}

/*
  8. Create a root stacking context
*/
#root, #__next {
	isolation: isolate;
}

/* ==============================================
 * Base style
 */
*, *::before, *::after {
	font-size: inherit;
}

:root {
	--font-jp: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", "YuGothic", sans-serif;
	--font-en: "Oswald", sans-serif;
	--color-primary: #0464bc;
	--color-primary-hover: #0f76d1;
	--color-secondary: #00ae95;
	--box-shadow: 0 3px 40px 10px rgba(4,100,188,0.1);
	--anim-arrow-move-duration: 2s;
	--padding-wrap: min(60px, 4.5vw);
	--section-row-gap-vw: 16vw;
	--s-flow-padding-side: min(2.3vw, 30px);
}
@media screen and (max-width: 767px) {
	:root {
		--box-shadow: 0 1.5px 20px 5px rgba(4,100,188,.1);
		--padding-wrap: max(30px, 8vw);
	}
}

html {
	font-size: 16px;
}

body {
	font-family: var(--font-jp);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-optical-sizing: auto;
	background-color: #fff;
}
@media screen and (max-width: 767px) {
	body:not(.home) {
		--padding-wrap: max(20px, 5vw);
	}
}

#root {
	width: 100%;
	max-width: 100%;
	overflow: clip;
}
@media screen and (max-width: 767px) {
	#root {
		padding-bottom: 58px;
	}
}

img,
svg {
	height: auto;
	max-width: 100%;
}
a img,
a svg {
	transition: opacity 0.2s;
}
a:hover img,
a:hover svg {
	opacity: 0.75;
}

svg {
	overflow: visible;
}

a {
	color: var(--color-primary);
	transition: color 0.2s;
}
a:hover {
	text-decoration: none;
	color: var(--color-primary-hover);
}

.splide__arrows {
	position: absolute;
	top: 310px;
	left: 130px;
	right: 130px;
	z-index: 5;
}
@media screen and (max-width: 1920px) {
	.splide__arrows {
		left: 50%;
		transform: translateX(-50%);
		right: auto;
		width: 1660px;
		max-width: calc(100% - 120px);
	}
}
@media screen and (max-width: 767px) {
	.splide__arrows {
		top: 108px;
		width: 93.3%;
		max-width: none;
	}
}

.splide__arrow {
	position: absolute;
	top: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	border-width: 0;
	width: 110px;
	height: 110px;
	background-color: #fff;
	border-radius: 50%;
	box-shadow: var(--box-shadow);
	cursor: pointer;
}
@media screen and (max-width: 767px) {
	.splide__arrow {
		width: 45px;
		height: 45px;
	}
}
.splide__arrow::after {
	content: "";
	display: block;
	width: 16px;
	height: 19px;
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
	background-color: var(--color-primary);
	pointer-events: none;
}
@media screen and (max-width: 767px) {
	.splide__arrow::after {
		width: 11px;
		height: 12px;
	}
}
.splide__arrow--prev {
	left: 0;
}
.splide__arrow--next {
	right: 0;
}
.splide__arrow--next::after {
	transform: scale(-1, 1);
}
.splide__arrow svg {
	display: none;
}

.grecaptcha-badge {
	display: none !important;
	visibility: hidden;
}

/* ==============================================
 * animate.css
 */
@keyframes fadeInDown {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, -60px, 0);
		transform: translate3d(0, -60px, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
	}
}
@keyframes fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translate3d(0, 60px, 0);
		transform: translate3d(0, 60px, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
	}
}
/* ==============================================
 * common style
 */
@keyframes anim-arrow-move {
	0% {
		opacity: 0;
		margin-right: 20px;
	}
	40% {
		opacity: 1;
		margin-right: 0;
	}
	100% {
		opacity: 1;
		margin-right: 0;
	}
}
.c-lte-xl {
	display: none !important;
}
@media screen and (max-width: 1920px) {
	.c-lte-xl {
		display: block !important;
	}
}

.c-lte-wrap {
	display: none !important;
}
@media screen and (max-width: 1320px) {
	.c-lte-wrap {
		display: block !important;
	}
}

.c-lte-tab {
	display: none !important;
}
@media screen and (max-width: 767px) {
	.c-lte-tab {
		display: block !important;
	}
}

.c-lte-sp {
	display: none !important;
}
@media screen and (max-width: 480px) {
	.c-lte-sp {
		display: block !important;
	}
}

.c-lte-sp-small {
	display: none !important;
}
@media screen and (max-width: 374px) {
	.c-lte-sp-small {
		display: block !important;
	}
}

.c-lte-xl-inline {
	display: none !important;
}
@media screen and (max-width: 1920px) {
	.c-lte-xl-inline {
		display: inline !important;
	}
}

.c-lte-wrap-inline {
	display: none !important;
}
@media screen and (max-width: 1320px) {
	.c-lte-wrap-inline {
		display: inline !important;
	}
}

.c-lte-tab-inline {
	display: none !important;
}
@media screen and (max-width: 767px) {
	.c-lte-tab-inline {
		display: inline !important;
	}
}

.c-lte-sp-inline {
	display: none !important;
}
@media screen and (max-width: 480px) {
	.c-lte-sp-inline {
		display: inline !important;
	}
}

.c-lte-sp-small-inline {
	display: none !important;
}
@media screen and (max-width: 374px) {
	.c-lte-sp-small-inline {
		display: inline !important;
	}
}

@media screen and (max-width: 1920px) {
	.c-gt-xl {
		display: none !important;
	}
}

@media screen and (max-width: 1320px) {
	.c-gt-wrap {
		display: none !important;
	}
}

@media screen and (max-width: 767px) {
	.c-gt-tab {
		display: none !important;
	}
}

@media screen and (max-width: 480px) {
	.c-gt-sp {
		display: none !important;
	}
}

@media screen and (max-width: 374px) {
	.c-gt-sp-small {
		display: none !important;
	}
}

.c-wrap {
	width: 1320px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--padding-wrap);
	padding-right: var(--padding-wrap);
}

.c-overflow-hidden {
	overflow: hidden;
}

.c-etc {
	font-weight: 500;
	font-family: var(--font-en);
	text-align: right;
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.627rem + 1.0582010582vw, 1.5rem); /* 14px @375px - 24px @1320px */
	letter-spacing: 0.05em;
}

.c-grad-triangle {
	display: block;
	background: linear-gradient(180deg, rgba(4, 100, 188, 0) 20%, rgb(4, 100, 188) 55%);
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	width: max(171px, 26.9%);
	padding-bottom: max(49px, 7.8%);
}

.c-bg-noize {
	background: url("./assets/img/common/common_bg_noize_01.webp") 0 0 repeat #edf0f5;
}
.c-bg-noize.c-bg-noize--light {
	background-image: url("./assets/img/common/common_bg_noize_02.webp");
	background-color: #f8f9fb;
}

.c-bg-slanting::before {
	content: "";
	display: block;
	position: absolute;
	margin-top: 100px;
	top: 50%;
	left: 0;
	right: 0;
	width: 100%;
	max-width: 100%;
	height: 870px;
	background: linear-gradient(45deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 80%);
	transform: skew(0deg, -22deg) translateY(-50%);
}
@media screen and (max-width: 767px) {
	.c-bg-slanting::before {
		height: 460px;
		top: 45%;
	}
}

.c-headline-simple {
	font-weight: bold;
	font-size: 1rem;
	font-size: clamp(1rem, 0.653rem + 1.4814814815vw, 1.875rem); /* 16px @375px - 30px @1320px */
	padding-bottom: 0.667em;
	letter-spacing: 0.05em;
	color: var(--color-primary);
}

.c-headline-en {
	text-align: center;
}
.c-headline-en__en {
	display: block;
	text-align: inherit;
	font-family: var(--font-en);
	font-size: 2.813rem;
	font-size: clamp(2.813rem, 1.944rem + 3.7037037037vw, 5rem); /* 45px @375px - 80px @1320px */
	font-weight: 500;
	letter-spacing: 0.05em;
	color: var(--color-primary);
}
.c-headline-en__ja {
	margin-top: 0.8em;
	display: block;
	text-align: inherit;
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.776rem + 0.4232804233vw, 1.125rem); /* 14px @375px - 18px @1320px */
	letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
	.c-headline-en__ja {
		margin-top: 0.3em;
	}
}

.c-headline-small-en__en {
	display: block;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.639rem + 0.7407407407vw, 1.25rem); /* 13px @375px - 20px @1320px */
	letter-spacing: 0.05em;
	font-family: var(--font-en);
	color: var(--color-primary);
	font-weight: bold;
}
.c-headline-small-en__ja {
	display: block;
	margin-top: 0.4em;
	font-size: 1.813rem;
	font-size: clamp(1.813rem, 1.292rem + 2.2222222222vw, 3.125rem); /* 29px @375px - 50px @1320px */
	line-height: 1.6;
	letter-spacing: 0.14em;
	font-weight: bold;
}
.c-headline-small-en__ja--ls0 {
	letter-spacing: 0;
}
@media screen and (max-width: 767px) {
	.c-headline-small-en__ja--ls0 {
		letter-spacing: 0.14em;
	}
}

.c-headline-side-en {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-weight: bold;
	gap: 4px 30px;
	border-bottom: 1px solid #ccc;
	font-size: 1.5rem;
	font-size: clamp(1.5rem, 0.855rem + 2.7513227513vw, 3.125rem); /* 24px @375px - 50px @1320px */
	padding-bottom: 0.9em;
}
.c-headline-side-en::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-primary);
	width: 80px;
	height: 4px;
}
.c-headline-side-en__ja {
	color: var(--color-primary);
	letter-spacing: 0.05em;
	vertical-align: middle;
}
.c-headline-side-en__en {
	font-size: 0.625rem;
	font-size: clamp(0.625rem, 0.427rem + 0.8465608466vw, 1.125rem); /* 10px @375px - 18px @1320px */
	font-family: var(--font-en);
	letter-spacing: 0.05em;
	vertical-align: middle;
}
.c-headline-side-en--noflex {
	line-height: 1.35;
	display: block;
}
.c-headline-side-en--noflex .c-headline-side-en__ja {
	margin-right: 30px;
}
.c-headline-side-en--noflex .c-headline-side-en__en {
	display: inline-block;
	margin-top: 4px;
}

.c-headline-side-ja {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 5px 10px;
	padding-bottom: 0.257em;
	border-bottom: 1px solid #ccc;
	font-size: 1.875rem;
	font-size: clamp(1.875rem, 0.883rem + 4.2328042328vw, 4.375rem); /* 30px @375px - 70px @1320px */
}
.c-headline-side-ja::before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	display: block;
	width: 80px;
	height: 4px;
	background-color: var(--color-primary);
}
.c-headline-side-ja__en {
	letter-spacing: 0.05em;
	font-weight: 500;
	font-family: var(--font-en);
}
.c-headline-side-ja__ja {
	font-size: 0.688rem;
	font-size: clamp(0.688rem, 0.464rem + 0.9523809524vw, 1.25rem); /* 11px @375px - 20px @1320px */
	letter-spacing: 0.05em;
	font-weight: bold;
}

.c-headline-only-en {
	position: relative;
	padding-bottom: 1.1em;
	font-family: var(--font-en);
	letter-spacing: 0.05em;
	font-size: 0.938rem;
	font-size: clamp(0.938rem, 0.813rem + 0.5291005291vw, 1.25rem); /* 15px @375px - 20px @1320px */
	color: var(--color-primary);
	font-weight: bold;
	border-bottom: 1px solid #0062b1;
}
.c-headline-only-en::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 80px;
	height: 4px;
	background-color: var(--color-primary);
}

.c-headline-twotone {
	position: relative;
	padding-left: 2.182em;
}
.c-headline-twotone::before, .c-headline-twotone::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%) skew(-18deg, 0);
	display: block;
	height: 0.955em;
}
.c-headline-twotone::before {
	left: 4px;
	width: 0.364em;
	background-color: var(--color-secondary);
}
.c-headline-twotone::after {
	left: calc(0.364em + 1px + 4px);
	width: 0.682em;
	background-color: var(--color-primary);
}

.c-triangle-bottom-left,
.c-triangle-bottom-right,
.c-triangle-top-left--noize,
.c-triangle-bottom-left--noize,
.c-triangle-bottom-right--dent {
	position: relative;
}
.c-triangle-bottom-left::before,
.c-triangle-bottom-right::before,
.c-triangle-top-left--noize::before,
.c-triangle-bottom-left--noize::before,
.c-triangle-bottom-right--dent::before {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	width: 100%;
	height: 0;
	padding-bottom: 237px;
	background: #fff;
	clip-path: polygon(31% 0%, 100% 74%, 100% 100%, 0% 100%);
	z-index: 1;
}
@media screen and (max-width: 1920px) {
	.c-triangle-bottom-left::before,
	.c-triangle-bottom-right::before,
	.c-triangle-top-left--noize::before,
	.c-triangle-bottom-left--noize::before,
	.c-triangle-bottom-right--dent::before {
		padding-bottom: 12.3%;
	}
}

.c-triangle-bottom-right::before {
	clip-path: polygon(69% 0%, 100% 100%, 0 100%, 0% 74%);
}

.c-triangle-top-left--noize::before,
.c-triangle-bottom-left--noize::before {
	background: url("./assets/img/common/common_bg_noize_01.webp") 0 0 repeat #edf0f5;
}
.c-triangle-top-left--noize.c-triangle--noize--light::before,
.c-triangle-bottom-left--noize.c-triangle--noize--light::before {
	background-image: url("./assets/img/common/common_bg_noize_02.webp");
	background-color: #f8f9fb;
}

.c-triangle-top-left--noize::before {
	bottom: calc(100% - 1px);
}

.c-triangle-bottom-right--dent::before {
	clip-path: polygon(74% 100%, 100% 0, 100% 100%, 0 100%, 0 31%);
}

@keyframes anim-c-slanting-lines {
	0% {
		opacity: 0;
		margin-top: -60px;
		margin-left: 60px;
	}
	20% {
		opacity: var(--slanting-line-opacity);
		margin-top: 0;
		margin-left: 0;
	}
	100% {
		opacity: var(--slanting-line-opacity);
		margin-top: 0;
		margin-left: 0;
	}
}
@keyframes anim-c-slanting-lines-right {
	0% {
		opacity: 0;
		margin-top: -60px;
		margin-right: -60px;
	}
	20% {
		opacity: var(--slanting-line-opacity);
		margin-top: 0;
		margin-right: 0;
	}
	100% {
		opacity: var(--slanting-line-opacity);
		margin-top: 0;
		margin-right: 0;
	}
}
.c-slanting-lines {
	position: absolute;
	z-index: 20;
	--slanting-line-opacity: 1;
	--slanting-line-delay: 0s;
	pointer-events: none;
}
.c-slanting-lines span {
	display: block;
	position: absolute;
	transform: skew(0deg, -22deg);
	background-color: var(--color-secondary);
	opacity: 0;
}
.c-slanting-lines.animated span {
	animation: anim-c-slanting-lines 2.5s ease-in-out calc(var(--slanting-line-delay) + 0.5s) forwards;
}
.c-slanting-lines.c-slanting-lines--01 {
	right: calc(50% + 537px);
}
.c-slanting-lines.c-slanting-lines--01 span:nth-child(1) {
	--slanting-line-opacity: .4;
	width: 288px;
	height: 16px;
	top: 0;
	right: 0;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--01 span:nth-child(1) {
		width: 30.7vw;
		height: 1.7vw;
	}
}
.c-slanting-lines.c-slanting-lines--01 span:nth-child(2) {
	--slanting-line-delay: .25s;
	width: 435px;
	height: 34px;
	top: 113px;
	right: 100px;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--01 span:nth-child(2) {
		width: 46.4vw;
		height: 3.6vw;
		top: 12.1vw;
		right: 10.7vw;
	}
}
.c-slanting-lines.c-slanting-lines--01 span:nth-child(3) {
	--slanting-line-delay: .15s;
	--slanting-line-opacity: .6;
	width: 164px;
	height: 13px;
	top: 116px;
	right: 26px;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--01 span:nth-child(3) {
		width: 17.5vw;
		height: 1.4vw;
		top: 12.4vw;
		right: 2.8vw;
	}
}
.c-slanting-lines.c-slanting-lines--01.animated span {
	animation-name: anim-c-slanting-lines-right;
}
.c-slanting-lines.c-slanting-lines--02 {
	left: calc(50% + 572px);
}
.c-slanting-lines.c-slanting-lines--02 span:nth-child(1) {
	--slanting-line-delay: .25s;
	width: 164px;
	height: 13px;
	top: 38px;
	left: 0;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--02 span:nth-child(1) {
		width: 17.5vw;
		height: 1.4vw;
		top: 4.1vw;
	}
}
.c-slanting-lines.c-slanting-lines--02 span:nth-child(2) {
	width: 398px;
	height: 32px;
	top: 0;
	left: 110px;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--02 span:nth-child(2) {
		width: 42.5vw;
		height: 3.4vw;
		left: 11.7vw;
	}
}
.c-slanting-lines.c-slanting-lines--02 span:nth-child(3) {
	--slanting-line-delay: .15s;
	--slanting-line-opacity: .1;
	width: 398px;
	height: 32px;
	top: 191px;
	left: 57px;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--02 span:nth-child(3) {
		width: 42.5vw;
		height: 3.4vw;
		top: 20.4vw;
		left: 6.1vw;
	}
}
.c-slanting-lines.c-slanting-lines--03 {
	left: calc(50% + 653px);
}
.c-slanting-lines.c-slanting-lines--03 span:nth-child(1) {
	width: 164px;
	height: 13px;
	top: 38px;
	left: 0;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--03 span:nth-child(1) {
		width: 17.5vw;
		height: 1.4vw;
		top: 4.1vw;
	}
}
.c-slanting-lines.c-slanting-lines--03 span:nth-child(2) {
	--slanting-line-delay: .15s;
	--slanting-line-opacity: .2;
	width: 398px;
	height: 32px;
	top: 0;
	left: 110px;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--03 span:nth-child(2) {
		width: 42.5vw;
		height: 3.4vw;
		left: 11.7vw;
	}
}
.c-slanting-lines.c-slanting-lines--04 {
	right: calc(50% + 304px);
}
.c-slanting-lines.c-slanting-lines--04 span:nth-child(1) {
	width: 376px;
	height: 20px;
	top: 0;
	right: 234px;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--04 span:nth-child(1) {
		width: 40.1vw;
		height: 2.1vw;
		right: 25vw;
	}
}
.c-slanting-lines.c-slanting-lines--04 span:nth-child(2) {
	--slanting-line-delay: .15s;
	width: 164px;
	height: 13px;
	top: -23px;
	right: 134px;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--04 span:nth-child(2) {
		width: 17.5vw;
		height: 1.4vw;
		top: -2.5vw;
		right: 14.3vw;
	}
}
.c-slanting-lines.c-slanting-lines--04 span:nth-child(3) {
	--slanting-line-delay: .25s;
	--slanting-line-opacity: .2;
	width: 398px;
	height: 32px;
	top: -4px;
	right: 0;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--04 span:nth-child(3) {
		width: 42.5vw;
		height: 3.4vw;
		top: -0.4vw;
	}
}
.c-slanting-lines.c-slanting-lines--04.animated span {
	animation-name: anim-c-slanting-lines-right;
}
.c-slanting-lines.c-slanting-lines--05 {
	right: calc(50% + 374px);
}
.c-slanting-lines.c-slanting-lines--05 span:nth-child(1) {
	--slanting-line-delay: .15s;
	width: 288px;
	height: 16px;
	top: 4px;
	right: 216px;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--05 span:nth-child(1) {
		width: 30.7vw;
		height: 1.7vw;
		top: 0.4vw;
		right: 23vw;
	}
}
.c-slanting-lines.c-slanting-lines--05 span:nth-child(2) {
	--slanting-line-opacity: .2;
	width: 397px;
	height: 34px;
	top: 0;
	right: 0;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--05 span:nth-child(2) {
		width: 42.3vw;
		height: 3.6vw;
	}
}
.c-slanting-lines.c-slanting-lines--05 span:nth-child(3) {
	--slanting-line-delay: .25s;
	width: 164px;
	height: 13px;
	top: 108px;
	right: 263px;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--05 span:nth-child(3) {
		width: 17.5vw;
		height: 1.4vw;
		top: 11.5vw;
		right: 28.1vw;
	}
}
.c-slanting-lines.c-slanting-lines--05.animated span {
	animation-name: anim-c-slanting-lines-right;
}
.c-slanting-lines.c-slanting-lines--06 {
	right: calc(50% + 374px);
}
.c-slanting-lines.c-slanting-lines--06 span:nth-child(1) {
	--slanting-line-delay: .25s;
	width: 289px;
	height: 20px;
	top: 1px;
	right: 217px;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--06 span:nth-child(1) {
		width: 30.8vw;
		height: 2.1vw;
		top: 0.1vw;
		right: 23.1vw;
	}
}
.c-slanting-lines.c-slanting-lines--06 span:nth-child(2) {
	--slanting-line-opacity: .2;
	width: 398px;
	height: 32px;
	top: 0;
	right: 0;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--06 span:nth-child(2) {
		width: 42.5vw;
		height: 3.4vw;
	}
}
.c-slanting-lines.c-slanting-lines--06 span:nth-child(3) {
	--slanting-line-delay: .15s;
	width: 164px;
	height: 13px;
	top: 107px;
	right: 264px;
}
@media screen and (max-width: 767px) {
	.c-slanting-lines.c-slanting-lines--06 span:nth-child(3) {
		width: 17.5vw;
		height: 1.4vw;
		top: 11.4vw;
		right: 28.2vw;
	}
}
.c-slanting-lines.c-slanting-lines--06.animated span {
	animation-name: anim-c-slanting-lines-right;
}

@keyframes anim-c-button-round-arrow {
	from {
		margin-right: 10px;
		opacity: 0;
	}
	to {
		margin-right: 0;
		opacity: 1;
	}
}
.c-button-round {
	text-decoration: none;
	position: relative;
	display: block;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.738rem + 0.3174603175vw, 1rem); /* 13px @375px - 16px @1320px */
	font-weight: bold;
	letter-spacing: 0.08em;
	width: 400px;
	height: 81px;
	border: 1px solid var(--color-primary);
	border-radius: 9999px;
	background-color: var(--color-primary);
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	.c-button-round {
		width: 250px;
		height: 50px;
	}
}
.c-button-round::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #fff;
	transform-origin: top right;
	transition: transform 0.3s ease-in-out;
}
.c-button-round > span {
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 40px;
	width: 100%;
	height: 100%;
	color: var(--color-primary);
	transition: color 0.3s;
}
@media screen and (max-width: 767px) {
	.c-button-round > span {
		padding-left: 22px;
	}
}
.c-button-round > span::before, .c-button-round > span::after {
	content: "";
	display: block;
	position: absolute;
	pointer-events: none;
}
.c-button-round > span::before {
	background-color: var(--color-primary);
	width: 60px;
	height: 60px;
	right: 10px;
	border-radius: 50%;
}
@media screen and (max-width: 767px) {
	.c-button-round > span::before {
		width: 35px;
		height: 35px;
	}
}
.c-button-round > span::after {
	right: 31px;
	width: 27px;
	height: 9px;
	border-bottom: 1.5px solid #fff;
	border-right: 2px solid #fff;
	transform: skew(50deg);
}
@media screen and (max-width: 767px) {
	.c-button-round > span::after {
		width: 15px;
		height: 6px;
		right: 22px;
	}
}
.c-button-round:hover::before {
	transform: scale(0, 1);
}
.c-button-round:hover > span {
	color: #fff;
}
.c-button-round:hover > span::after {
	animation: anim-c-button-round-arrow forwards 0.5s ease-in-out;
}
.c-button-round.c-button-round--input > span {
	display: block;
	padding-left: 0;
}
@media screen and (max-width: 767px) {
	.c-button-round.c-button-round--input > span {
		padding-left: 0;
	}
}
.c-button-round.c-button-round--input > span::before, .c-button-round.c-button-round--input > span::after {
	top: 50%;
}
.c-button-round.c-button-round--input > span::before {
	transform: translateY(-50%);
}
.c-button-round.c-button-round--input > span::after {
	transform: translateY(-50%) skew(50deg);
}
.c-button-round.c-button-round--input > span input {
	display: block;
	width: 100%;
	height: 100%;
	padding-left: 40px;
	background-color: transparent;
	color: var(--color-primary);
	text-align: left;
	transition: color 0.3s;
}
@media screen and (max-width: 767px) {
	.c-button-round.c-button-round--input > span input {
		padding-left: 22px;
	}
}
.c-button-round.c-button-round--input:hover > span input {
	color: #fff;
}

.c-link-after-arrow {
	position: relative;
	padding-right: 2.5em;
}
.c-link-after-arrow::before, .c-link-after-arrow::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}
.c-link-after-arrow::before {
	background-color: var(--color-primary);
	width: 1.875em;
	height: 1.875em;
	right: 0;
	border-radius: 50%;
}
.c-link-after-arrow::after {
	right: 0.438em;
	width: 0.938em;
	height: 0.438em;
	background: url("./assets/img/common/common_icon_arrow_white_02.svg") center center no-repeat;
	background-size: contain;
}
.c-link-after-arrow:hover::after {
	animation: anim-c-button-round-arrow forwards 0.5s ease-in-out;
}

.c-arrow-black-bottom-right {
	position: relative;
}
.c-arrow-black-bottom-right::before, .c-arrow-black-bottom-right::after {
	content: "";
	display: block;
	position: absolute;
	pointer-events: none;
}
.c-arrow-black-bottom-right::before {
	bottom: 0;
	right: 0;
	width: max(min(35px, 2.7vw), 22px);
	height: max(min(35px, 2.7vw), 22px);
	background-color: var(--color-secondary);
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	z-index: 1;
}
.c-arrow-black-bottom-right::after {
	bottom: max(min(16px, 1.2vw), 10px);
	right: max(min(21px, 1.6vw), 11px);
	width: max(min(27px, 2vw), 18px);
	height: max(min(10px, 0.8vw), 7px);
	border-bottom: 1px solid #000;
	border-right: 1.5px solid #000;
	transform: skew(50deg);
	animation: anim-arrow-move var(--anim-arrow-move-duration) infinite;
	z-index: 2;
}

.c-re-banner.c-arrow-black-bottom-right {
	display: block;
}
.c-re-banner.c-arrow-black-bottom-right::before {
	background-color: #fff;
	width: max(min(30px, 2.3vw), 22px);
	height: max(min(30px, 2.3vw), 22px);
}
.c-re-banner.c-arrow-black-bottom-right::after {
	bottom: max(min(13px, 1vw), 10px);
	right: max(min(15px, 1.1vw), 11px);
	width: max(min(20px, 1.5vw), 18px);
	height: max(min(8px, 0.6vw), 7px);
}

.c-link-overlap {
	text-decoration: none;
	display: block;
	max-width: 530px;
	position: relative;
	font-size: 1rem;
	font-size: clamp(1rem, 0.702rem + 1.2698412698vw, 1.75rem); /* 16px @375px - 28px @1320px */
}
.c-link-overlap::before, .c-link-overlap::after {
	content: "";
	display: block;
	position: absolute;
	pointer-events: none;
}
.c-link-overlap::before {
	bottom: 0;
	margin-bottom: 1.9%;
	right: 1.9%;
	width: max(9.2%, 32px);
	padding-bottom: max(9.2%, 32px);
	background-color: var(--color-secondary);
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.c-link-overlap::after {
	bottom: 0;
	margin-bottom: 5.1%;
	right: 6.4%;
	width: 6.2%;
	padding-bottom: 2.3%;
	border-bottom: 1.5px solid #fff;
	border-right: 2px solid #fff;
	transform: skew(50deg);
	animation: anim-arrow-move var(--anim-arrow-move-duration) infinite;
}
.c-link-overlap__img {
	display: block;
	position: relative;
	transition: all 0.3s;
}
.c-link-overlap__img::after {
	display: block;
	content: "";
	position: absolute;
	top: 30px;
	left: 30px;
	bottom: -1px;
	right: 0;
	background-color: var(--color-primary);
	z-index: -1;
	transition: all 0.3s;
}
@media screen and (max-width: 767px) {
	.c-link-overlap__img::after {
		left: 15px;
		top: 15px;
	}
}
.c-link-overlap__img img {
	position: relative;
	z-index: 1;
	width: 500px;
	max-width: 95.1%;
	display: block;
	transition: all 0.3s;
}
.c-link-overlap__number {
	position: absolute;
	right: 7px;
	bottom: -0.05em;
	color: #fff;
	opacity: 0.8;
	font-size: 3.75rem;
	font-size: clamp(3.75rem, 2.758rem + 4.2328042328vw, 6.25rem); /* 60px @375px - 100px @1320px */
	line-height: 1;
	letter-spacing: 0.05em;
	font-family: var(--font-en);
	z-index: 2;
}
@media screen and (max-width: 767px) {
	.c-link-overlap__number {
		right: 0 !important;
	}
}
.c-link-overlap__number--02 {
	right: 10px;
}
.c-link-overlap__number--03 {
	right: 10px;
}
.c-link-overlap__number--05 {
	right: 10px;
}
.c-link-overlap__number--06 {
	right: 8px;
}
.c-link-overlap__text {
	margin-left: 30px;
	padding: 0.893em 0 1.179em 1.25em;
	background-color: var(--color-primary);
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.05em;
	transition: background-color 0.2s;
}
@media screen and (max-width: 767px) {
	.c-link-overlap__text {
		margin-left: 15px;
	}
}
.c-link-overlap:hover .c-link-overlap__img {
	padding-right: 2px;
	padding-bottom: 2px;
}
@media screen and (max-width: 767px) {
	.c-link-overlap:hover .c-link-overlap__img {
		padding-right: 0;
		padding-bottom: 0;
	}
}
.c-link-overlap:hover .c-link-overlap__img::after {
	top: 32px;
	background-color: var(--color-primary-hover);
}
@media screen and (max-width: 767px) {
	.c-link-overlap:hover .c-link-overlap__img::after {
		top: 15px;
	}
}
.c-link-overlap:hover .c-link-overlap__img img {
	opacity: 1;
	box-shadow: var(--box-shadow);
	margin-top: -2px;
	margin-left: -2px;
}
@media screen and (max-width: 767px) {
	.c-link-overlap:hover .c-link-overlap__img img {
		margin-top: 0;
		margin-left: 0;
	}
}
.c-link-overlap:hover .c-link-overlap__text {
	background-color: var(--color-primary-hover);
}

.c-green-check-list {
	list-style-type: none;
	padding-left: 0;
	font-size: 1rem;
	font-size: clamp(1rem, 0.95rem + 0.2116402116vw, 1.125rem); /* 16px @375px - 18px @1320px */
}
.c-green-check-list > li {
	position: relative;
	margin-top: 1.278em;
	padding-left: 2.222em;
	font-size: inherit;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.c-green-check-list > li:first-child {
	margin-top: 0;
}
.c-green-check-list > li::before {
	content: "";
	position: absolute;
	top: 0.222em;
	left: 0;
	background: url("./assets/img/common/common_icon_check_01.svg") left center no-repeat;
	background-size: contain;
	width: 20.5px;
	height: 20.5px;
}

.c-disc-list {
	list-style-type: none;
	padding-left: 0;
}
.c-disc-list > li {
	position: relative;
	padding-left: 1.278em;
	margin-top: 0.667em;
}
.c-disc-list > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	display: block;
	width: 0.556em;
	height: 0.556em;
	border-radius: 50%;
	background-color: var(--color-secondary);
}
.c-disc-list > li:first-child {
	margin-top: 0;
}

.c-twotone-list {
	list-style-type: none;
	padding-left: 0;
	counter-reset: listnum;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
}
.c-twotone-list > li {
	position: relative;
	font-size: inherit;
	margin-top: 1em;
	padding-left: 2.5em;
	letter-spacing: 0.08em;
	font-weight: bold;
}
.c-twotone-list > li:first-child {
	margin-top: 0;
}
.c-twotone-list > li::before, .c-twotone-list > li::after {
	display: block;
	position: absolute;
	top: -0.188em;
	left: 0;
	width: 1.875em;
	height: 1.875em;
	line-height: 1.875em;
}
.c-twotone-list > li::before {
	content: "";
	background: linear-gradient(-45deg, var(--color-secondary) 50%, var(--color-primary) 50%);
}
.c-twotone-list > li::after {
	counter-increment: listnum;
	content: counter(listnum);
	font-family: var(--font-en);
	text-align: center;
	font-size: inherit;
	letter-spacing: 0.05em;
	color: #fff;
	font-weight: bold;
}

.c-table-gray {
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.738rem + 0.3174603175vw, 1rem); /* 13px @375px - 16px @1320px */
	line-height: 1.875;
	border-collapse: separate;
	border-spacing: 10px 9px;
}
.c-table-gray th,
.c-table-gray td {
	padding: 17px 52px 23px;
}
@media screen and (max-width: 1320px) {
	.c-table-gray th,
	.c-table-gray td {
		padding: 2vw 3vw;
	}
}
.c-table-gray th {
	background-color: #f6f6f6;
	font-weight: bold;
	white-space: nowrap;
	text-align: center;
}
.c-table-gray td {
	background: #fafafa;
	text-align: left;
}

.c-rate-round {
	font-size: 1.688rem;
	font-size: clamp(1.688rem, 1.018rem + 2.8571428571vw, 3.375rem); /* 27px @375px - 54px @1320px */
	width: 3.222em;
	height: 3.222em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	border: 3px solid #fff;
	border-radius: 50%;
	background: linear-gradient(45deg, var(--color-primary) 0%, var(--color-secondary) 100%);
	color: #fff;
	font-weight: bold;
}
.c-rate-round__title {
	line-height: 1;
	margin-top: 0.6em;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.589rem + 0.9523809524vw, 1.375rem); /* 13px @375px - 22px @1320px */
}
.c-rate-round__percentage {
	line-height: 1;
	margin-top: 0.3em;
	margin-bottom: 0.6em;
	font-family: var(--font-en);
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.577rem + 1.2698412698vw, 1.625rem); /* 14px @375px - 26px @1320px */
}
.c-rate-round__en {
	margin-right: 0.05em;
	display: inline;
	font-weight: 600;
	font-size: 1.688rem;
	font-size: clamp(1.688rem, 1.018rem + 2.8571428571vw, 3.375rem); /* 27px @375px - 54px @1320px */
}

@keyframes anim-letters {
	0% {
		transform: translateY(100%);
		opacity: 0;
	}
	100% {
		transform: translateY(0%);
		opacity: 1;
	}
}
.c-anim-letters {
	--anim-letters-delay: 0s;
}
.c-anim-letters__line {
	overflow: hidden;
	display: block;
}
.c-anim-letters__line span {
	transform: translateY(100%);
	opacity: 0;
	display: inline-block;
}
.c-anim-letters.animated .c-anim-letters__line span {
	animation: anim-letters 0.3s ease-out var(--anim-letters-delay) forwards;
}

.c-anim-letters .c-anim-letters__line span:nth-child(1) {
	--anim-letters-delay: 0s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(2) {
	--anim-letters-delay: 0.05s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(3) {
	--anim-letters-delay: 0.1s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(4) {
	--anim-letters-delay: 0.15s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(5) {
	--anim-letters-delay: 0.2s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(6) {
	--anim-letters-delay: 0.25s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(7) {
	--anim-letters-delay: 0.3s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(8) {
	--anim-letters-delay: 0.35s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(9) {
	--anim-letters-delay: 0.4s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(10) {
	--anim-letters-delay: 0.45s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(11) {
	--anim-letters-delay: 0.5s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(12) {
	--anim-letters-delay: 0.55s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(13) {
	--anim-letters-delay: 0.6s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(14) {
	--anim-letters-delay: 0.65s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(15) {
	--anim-letters-delay: 0.7s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(16) {
	--anim-letters-delay: 0.75s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(17) {
	--anim-letters-delay: 0.8s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(18) {
	--anim-letters-delay: 0.85s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(19) {
	--anim-letters-delay: 0.9s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(20) {
	--anim-letters-delay: 0.95s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(21) {
	--anim-letters-delay: 1s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(22) {
	--anim-letters-delay: 1.05s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(23) {
	--anim-letters-delay: 1.1s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(24) {
	--anim-letters-delay: 1.15s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(25) {
	--anim-letters-delay: 1.2s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(26) {
	--anim-letters-delay: 1.25s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(27) {
	--anim-letters-delay: 1.3s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(28) {
	--anim-letters-delay: 1.35s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(29) {
	--anim-letters-delay: 1.4s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(30) {
	--anim-letters-delay: 1.45s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(31) {
	--anim-letters-delay: 1.5s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(32) {
	--anim-letters-delay: 1.55s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(33) {
	--anim-letters-delay: 1.6s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(34) {
	--anim-letters-delay: 1.65s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(35) {
	--anim-letters-delay: 1.7s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(36) {
	--anim-letters-delay: 1.75s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(37) {
	--anim-letters-delay: 1.8s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(38) {
	--anim-letters-delay: 1.85s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(39) {
	--anim-letters-delay: 1.9s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(40) {
	--anim-letters-delay: 1.95s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(41) {
	--anim-letters-delay: 2s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(42) {
	--anim-letters-delay: 2.05s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(43) {
	--anim-letters-delay: 2.1s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(44) {
	--anim-letters-delay: 2.15s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(45) {
	--anim-letters-delay: 2.2s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(46) {
	--anim-letters-delay: 2.25s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(47) {
	--anim-letters-delay: 2.3s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(48) {
	--anim-letters-delay: 2.35s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(49) {
	--anim-letters-delay: 2.4s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(50) {
	--anim-letters-delay: 2.45s;
}

.c-anim-letters .c-anim-letters__line span:nth-child(51) {
	--anim-letters-delay: 2.5s;
}

.c-sub-page-mv {
	position: relative;
	max-width: 100%;
	overflow: hidden;
}
.c-sub-page-mv__bg {
	position: relative;
	height: 31.3vw;
}
@media screen and (max-width: 767px) {
	.c-sub-page-mv__bg {
		height: 42.7vw;
	}
}
.c-sub-page-mv__bg img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	max-width: none;
}
.c-sub-page-mv__en {
	position: absolute;
	position: absolute;
	bottom: -0.1em;
	right: -0.05em;
	color: #fff;
	font-size: min(7.3vw, 140px);
	font-family: var(--font-en);
	font-weight: normal;
	line-height: 1.071;
	letter-spacing: 0.05em;
	text-align: right;
}
.c-sub-page-mv__en--small {
	font-size: min(6.3vw, 140px);
}
.c-sub-page-mv__line--small {
	font-size: min(3.6vw, 70px);
}
.c-sub-page-mv__line--small:last-child {
	margin-bottom: 0.08em;
}

.c-sub-page-title {
	position: relative;
	padding-bottom: min(9vw, 120px);
	--sub-page-title-margin-top: max(-5.104vw, -98px);
	--sub-page-title-height: min(9.531vw, 183px);
	--sub-page-title-padding-side: min(7.812vw, 90px);
}
@media screen and (max-width: 1320px) {
	.c-sub-page-title {
		--sub-page-title-margin-top: -3.125vw;
	}
}
@media screen and (max-width: 767px) {
	.c-sub-page-title {
		padding-bottom: 0;
		--sub-page-title-height: 8vw;
		--sub-page-title-padding-side: var(--padding-wrap);
	}
}
.c-sub-page-title::before {
	content: "";
	display: block;
	position: absolute;
	top: calc(1px - var(--sub-page-title-margin-top) - var(--sub-page-title-height));
	left: 0;
	right: calc(50vw + 60px);
	height: var(--sub-page-title-height);
	background-color: #fff;
}
@media screen and (max-width: 767px) {
	.c-sub-page-title::before {
		right: auto;
		width: 52vw;
	}
}
.c-sub-page-title__head {
	position: relative;
	width: calc(1480px + var(--sub-page-title-padding-side) * 2);
	max-width: 100%;
	margin: var(--sub-page-title-margin-top) auto 0;
	padding-left: var(--sub-page-title-padding-side);
	padding-right: var(--sub-page-title-padding-side);
}
.c-sub-page-title__title {
	position: relative;
	padding-left: 2.3em;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.639rem + 0.7407407407vw, 1.25rem); /* 13px @375px - 20px @1320px */
	font-weight: bold;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 480px) {
	body.slug-hotel-management .c-sub-page-title__title {
		font-size: 3.1vw;
	}
}
.c-sub-page-title__title::before, .c-sub-page-title__title::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%) skew(-18deg, 0);
	display: block;
	height: 1.05em;
}
.c-sub-page-title__title::before {
	left: 4px;
	width: 0.4em;
	background-color: var(--color-secondary);
}
.c-sub-page-title__title::after {
	left: calc(0.4em + 1px + 4px);
	width: 0.75em;
	background-color: var(--color-primary);
}
.c-sub-page-title__lead {
	margin: 0.625em 0 0;
	font-size: 1.5rem;
	font-size: clamp(1.5rem, 1.103rem + 1.6931216931vw, 2.5rem); /* 24px @375px - 40px @1320px */
	line-height: 1.6;
	letter-spacing: 0.05em;
}
.c-sub-page-title__desc {
	width: calc(1200px + var(--sub-page-title-padding-side) * 2);
	max-width: 100%;
	margin: min(5vw, 3.333em) auto 0;
	padding-left: var(--sub-page-title-padding-side);
	padding-right: var(--sub-page-title-padding-side);
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 2.333;
	letter-spacing: 0.08em;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.c-sub-page-title__desc {
		text-align: left;
	}
}
.c-sub-page-title .c-slanting-lines.c-slanting-lines--05 {
	bottom: -18px;
}
@media screen and (max-width: 1320px) {
	.c-sub-page-title .c-slanting-lines.c-slanting-lines--05 {
		right: calc(50% + min(12vw, 374px));
	}
}
@media screen and (max-width: 767px) {
	.c-sub-page-title .c-slanting-lines.c-slanting-lines--05 {
		right: -11vw;
		bottom: -7vw;
	}
}

.c-breadcrumb {
	position: absolute;
	top: 0;
	right: calc(50vw + min(46.8vw, 876px));
	list-style-type: none;
	padding-left: 0;
}
@media screen and (max-width: 1320px) {
	.c-breadcrumb {
		right: auto;
		left: 1.5vw;
	}
}
@media screen and (max-width: 767px) {
	.c-breadcrumb {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		gap: 0.5em 0;
		left: 0;
		max-width: 100%;
		padding-left: var(--padding-wrap);
		padding-right: var(--padding-wrap);
		padding-top: 1em;
		padding-bottom: 1em;
		border-top: 1px solid #ddd;
		margin-top: min(6vw, 50px);
	}
}
.c-breadcrumb li {
	position: relative;
	margin-top: 2.563em;
	font-size: 0.688rem;
	font-size: clamp(0.688rem, 0.563rem + 0.5291005291vw, 1rem); /* 11px @375px - 16px @1320px */
	letter-spacing: 0.08em;
	writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
	.c-breadcrumb li {
		margin-top: 0;
		margin-left: 3em;
		writing-mode: horizontal-tb;
	}
}
.c-breadcrumb li::before {
	content: "";
	position: absolute;
	top: -1.813em;
	left: 50%;
	margin-left: -0.5px;
	width: 1px;
	height: 1.313em;
	background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
	.c-breadcrumb li::before {
		top: 50%;
		left: auto;
		height: 1px;
		width: 1em;
		margin-left: 0;
		right: calc(100% + 1em);
	}
}
.c-breadcrumb li:first-child {
	margin-top: 0;
}
@media screen and (max-width: 767px) {
	.c-breadcrumb li:first-child {
		margin-left: 0;
	}
}
.c-breadcrumb li:first-child::before {
	content: none;
}
.c-breadcrumb a {
	color: #7f7f7f;
	text-decoration: none;
	transition: color 0.2s;
}
.c-breadcrumb a:hover {
	color: var(--color-primary);
}

.c-category-list {
	padding-left: 0;
	list-style-type: none;
}
.c-category-list .cat-item,
.c-category-list .cat-item-all {
	display: block;
	width: max-content;
	margin-top: 0.938em;
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.651rem + 0.4232804233vw, 1rem); /* 12px @375px - 16px @1320px */
	position: relative;
	border-radius: 9999px;
	border: 1px solid #0062b1;
	background-color: var(--color-primary);
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	.c-category-list .cat-item,
	.c-category-list .cat-item-all {
		margin-right: 1em;
		background-color: #fff;
	}
}
.c-category-list .cat-item:first-child,
.c-category-list .cat-item-all:first-child {
	margin-top: 0;
}
.c-category-list .cat-item::before,
.c-category-list .cat-item-all::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #fff;
	transform-origin: top right;
	pointer-events: none;
	transition: transform 0.2s ease-in-out;
	z-index: 1;
}
@media screen and (max-width: 767px) {
	.c-category-list .cat-item::before,
	.c-category-list .cat-item-all::before {
		content: none;
	}
}
.c-category-list .cat-item a,
.c-category-list .cat-item-all a {
	display: inline-block;
	padding: 0.438em 1.375em;
	letter-spacing: 0.08em;
	text-decoration: none;
	color: var(--color-primary);
	z-index: 2;
	position: relative;
	transition: color 0.2s;
}
.c-category-list .cat-item:not(.current-cat):hover::before,
.c-category-list .cat-item-all:not(.current-cat):hover::before {
	transform: scale(0, 1);
}
.c-category-list .cat-item:not(.current-cat):hover a,
.c-category-list .cat-item-all:not(.current-cat):hover a {
	color: #fff;
}
@media screen and (max-width: 767px) {
	.c-category-list .cat-item:not(.current-cat):hover a,
	.c-category-list .cat-item-all:not(.current-cat):hover a {
		color: var(--color-primary);
	}
}
.c-category-list .cat-item.current-cat::before,
.c-category-list .cat-item-all.current-cat::before {
	transform: scale(0, 1);
}
.c-category-list .cat-item.current-cat a,
.c-category-list .cat-item-all.current-cat a {
	color: #fff;
	pointer-events: none;
}
@media screen and (max-width: 767px) {
	.c-category-list .cat-item.current-cat a,
	.c-category-list .cat-item-all.current-cat a {
		background-color: var(--color-primary);
	}
}
.c-category-list .cat-item.current-cat a:hover,
.c-category-list .cat-item-all.current-cat a:hover {
	cursor: auto;
}

.c-tag-list {
	padding-left: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6em 1em;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.738rem + 0.3174603175vw, 1rem); /* 13px @375px - 16px @1320px */
}
.c-tag-list a {
	text-decoration: none;
}
.c-tag-list a:hover {
	text-decoration: underline;
}
.c-tag-list--single {
	margin-top: 12px;
	margin-left: 0.2em;
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.676rem + 0.3174603175vw, 0.938rem); /* 12px @375px - 15px @1320px */
}

.c-single {
	position: relative;
	padding-top: min(30vw, 145px);
	padding-bottom: 160px;
}
@media screen and (max-width: 767px) {
	.c-single {
		padding-bottom: min(45vw, 220px);
	}
}
.c-single .c-slanting-lines.c-slanting-lines--02 {
	top: 36%;
	left: calc(50% + 646px);
}
@media screen and (max-width: 1320px) {
	.c-single .c-slanting-lines.c-slanting-lines--02 {
		display: none;
	}
}
.c-single__article {
	padding: min(12vw, 83px) min(7.6vw, 100px) min(9.8vw, 130px);
	background-color: #fff;
}
.c-single__info {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	align-items: center;
}
@media screen and (max-width: 480px) {
	.c-single__info {
		justify-content: space-between;
	}
}
.c-single__category {
	display: inline-block;
	margin-top: 0.938em;
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.651rem + 0.4232804233vw, 1rem); /* 12px @375px - 16px @1320px */
	position: relative;
	border-radius: 9999px;
	border: 1px solid #0062b1;
	background-color: var(--color-primary);
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	.c-single__category {
		margin-right: 1em;
	}
}
.c-single__category:first-child {
	margin-top: 0;
}
.c-single__category::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #fff;
	transform-origin: top right;
	pointer-events: none;
	transition: transform 0.2s ease-in-out;
	z-index: 1;
}
.c-single__category a {
	display: inline-block;
	padding: 0.438em 1.375em;
	letter-spacing: 0.08em;
	text-decoration: none;
	color: var(--color-primary);
	z-index: 2;
	position: relative;
	transition: color 0.2s;
}
.c-single__category:hover::before {
	transform: scale(0, 1);
}
.c-single__category:hover a {
	color: #fff;
}
.c-single__time {
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.7rem + 0.2116402116vw, 0.875rem); /* 12px @375px - 14px @1320px */
	font-weight: 600;
}
.c-single__time-jp {
	position: relative;
	margin-left: 1.7em;
	margin-right: 0.2em;
	vertical-align: middle;
}
.c-single__time-jp::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: calc(50% + 1px);
	left: -0.8em;
	width: 1px;
	height: 1em;
	transform: translateY(-50%) skew(-22deg);
	background-color: #000;
}
.c-single__time-jp:first-child {
	margin-left: 0;
}
.c-single__time-jp:first-child::before {
	content: none;
}
.c-single__title {
	margin-top: 0.35em;
	padding-bottom: 1em;
	margin-bottom: 1.65em;
	font-size: 1.25rem;
	font-size: clamp(1.25rem, 0.754rem + 2.1164021164vw, 2.5rem); /* 20px @375px - 40px @1320px */
	letter-spacing: 0.08em;
	border-bottom: 1px solid #ccc;
}
.c-single__content {
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.08em;
	line-height: 2.625;
}
.c-single__thumbnail img {
	display: block;
	margin: 0 auto;
}
.c-single__article time {
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.738rem + 0.3174603175vw, 1rem); /* 13px @375px - 16px @1320px */
	font-family: var(--font-en);
	color: var(--color-primary);
	font-weight: 600;
	vertical-align: middle;
}
.c-single__content h2 {
	position: relative;
	padding-left: 2.182em;
	margin: 2.857em 0 1.357em;
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 0.877rem + 1.0582010582vw, 1.75rem); /* 18px @375px - 28px @1320px */
}
.c-single__content h2::before, .c-single__content h2::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%) skew(-18deg, 0);
	display: block;
	height: 0.955em;
}
.c-single__content h2::before {
	left: 4px;
	width: 0.364em;
	background-color: var(--color-secondary);
}
.c-single__content h2::after {
	left: calc(0.364em + 1px + 4px);
	width: 0.682em;
	background-color: var(--color-primary);
}
.c-single__content h3 {
	margin: 2.857em 0 1.357em;
	padding: 0.357em 1.143em 0.607em;
	position: relative;
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 0.877rem + 1.0582010582vw, 1.75rem); /* 18px @375px - 28px @1320px */
	font-weight: bold;
	letter-spacing: 0.08em;
	background-color: #f6f6f6;
	line-height: 1.4;
}
.c-single__content h3::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 70px;
	height: 5px;
	background-color: var(--color-primary);
}
.c-single__content h4 {
	position: relative;
	margin: 1.727em 0 0.909em;
	padding-left: 1.636em;
	font-size: 0.938rem;
	font-size: clamp(0.938rem, 0.764rem + 0.7407407407vw, 1.375rem); /* 15px @375px - 22px @1320px */
	font-weight: bold;
	color: var(--color-primary);
	letter-spacing: 0.08em;
	line-height: 1.4;
}
.c-single__content h4::before {
	content: "";
	position: absolute;
	top: 0.7em;
	left: 0;
	display: block;
	width: 0.909em;
	height: 2px;
	background-color: var(--color-primary);
}
.c-single__content .c-single__border-box {
	border: 1px solid #ccc;
	border-radius: 10px;
	padding: 1em 1.3em;
}
@media screen and (max-width: 767px) {
	.c-single__content .c-single__border-box {
		border-radius: 5px;
		padding: 0.5em 0.8em;
	}
}
.c-single__content .c-single__color-green {
	color: var(--color-secondary);
}
.c-single__content .c-single__color-blue {
	color: var(--color-primary);
}
.c-single__content .c-single__marquee-yellow {
	background: linear-gradient(transparent 50%, #fcfb9d 50%);
}
.c-single__content .c-single__lead-btn {
	overflow: hidden;
	position: relative;
	color: #fff !important;
	text-decoration: none !important;
	width: 80%;
	display: block;
	text-align: center;
	font-weight: bold;
	margin: 2.3em auto;
	padding: 0.8em 1em;
	border-radius: 9999px;
	background: center center/2.5em auto no-repeat url("./assets/img/common/common_logo_mark.svg") #2c86a7;
	transition: opacity 0.3s;
}
@media screen and (max-width: 480px) {
	.c-single__content .c-single__lead-btn {
		width: 100%;
	}
}
.c-single__content .c-single__lead-btn::before, .c-single__content .c-single__lead-btn::after {
	content: "";
	display: block;
	position: absolute;
	pointer-events: none;
}
.c-single__content .c-single__lead-btn::before {
	content: "";
	display: block;
	width: 2em;
	height: 2em;
	border-radius: 50%;
	border: 1px solid #fff;
	right: 0.5em;
	top: 50%;
	transform: translateY(-50%);
}
.c-single__content .c-single__lead-btn::after {
	top: 50%;
	transform: translateY(-50%);
	margin-bottom: 0.8em;
	right: 0.85em;
	width: 1.2em;
	padding-bottom: 0.9em;
	background: center center/contain no-repeat url("./assets/img/common/common_icon_arrow_white_01.svg");
	animation: anim-arrow-move var(--anim-arrow-move-duration) infinite;
}
.c-single__content .c-single__lead-btn:hover {
	opacity: 0.9;
}
.c-single__content p,
.c-single__content ul,
.c-single__content ol,
.c-single__content figure {
	margin-top: 1em;
	margin-bottom: 1em;
}
.c-single__content img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.c-single__content a {
	text-decoration: underline;
	color: var(--color-primary);
}
.c-single__content a:hover {
	text-decoration: underline;
	color: var(--color-primary-light);
}
.c-single__content h2:first-child,
.c-single__content h3:first-child,
.c-single__content h4:first-child,
.c-single__content p:first-child,
.c-single__content ul:first-child,
.c-single__content ol:first-child,
.c-single__content figure:first-child {
	margin-top: 0;
}
.c-single__content h2:last-child,
.c-single__content h3:last-child,
.c-single__content h4:last-child,
.c-single__content p:last-child,
.c-single__content ul:last-child,
.c-single__content ol:last-child,
.c-single__content figure:last-child {
	margin-bottom: 0;
}
.c-single__content pre {
	white-space: pre-wrap;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.c-single__parent {
	margin-top: min(5vw, 58px);
}
.c-single__parent .c-button-round {
	margin-right: auto;
	margin-left: auto;
}

/* ==============================================
 * form
 */
input, select, textarea, button {
	appearance: none;
	position: relative;
	margin: 0;
	padding: 0.938em 1.313em;
	outline: 0;
	border: 0;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	color: #000;
	vertical-align: middle;
	max-width: 100%;
	transition: all 0.2s;
}

input, textarea {
	background-color: #f2f2f2;
	border-radius: 4px;
}

input[type=checkbox],
input[type=radio],
input[type=button],
input[type=submit],
input[type=reset],
input[type=file],
button,
label {
	cursor: pointer;
}

input[type=checkbox],
input[type=radio] {
	position: relative;
	background-color: #fff;
	border: 1px solid #0d0d0d;
	width: 20px;
	height: 20px;
	margin-right: 11px;
	padding: 0;
}
input[type=checkbox]::before,
input[type=radio]::before {
	content: "";
	display: block;
	width: 1.313em;
	height: 1em;
	position: absolute;
	top: -0.063em;
	left: 0.188em;
	background: url("./assets/img/common/common_icon_check_02.svg") center center no-repeat;
	background-size: contain;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s;
}
input[type=checkbox]:checked::before,
input[type=radio]:checked::before {
	opacity: 1;
}

input[type=checkbox] {
	border-radius: 0;
}

input[type=radio] {
	border-radius: 50%;
}

::placeholder {
	color: #aaa;
	transition: opacity 0.2s;
}

:focus::placeholder {
	color: #ddd;
}

/* ==============================================
 * Header
 */
.header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	max-width: 100%;
}
@media screen and (max-width: 767px) {
	.header {
		position: relative;
	}
}
.header__logo {
	position: absolute;
	top: 0;
	left: 0;
	margin-top: min(25px, 1.9vw);
	margin-left: min(26px, 1.9vw);
	z-index: 50;
	width: 16%;
	max-width: 275px;
	min-width: 150px;
}
@media screen and (max-width: 767px) {
	.header__logo {
		position: fixed;
		top: 8px;
		left: 10px;
		width: 36.8vw;
		max-width: 150px;
		min-width: 138px;
	}
}
.header__logo a {
	position: relative;
	display: block;
}
.header__logo a::after {
	content: url("./assets/img/common/common_logo_colored.svg");
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	opacity: 0;
}
.header__logo img {
	width: 275px;
}
.header.header--active {
	position: fixed;
	z-index: 47;
	background: rgba(255, 255, 255, 0.95);
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
	.header.header--active {
		position: fixed;
		align-items: center;
		height: 60px;
	}
}
.header.header--active .header__logo {
	position: relative;
	margin-top: 14px;
}
@media screen and (max-width: 767px) {
	.header.header--active .header__logo {
		position: relative;
		margin-top: 0;
		top: 0;
		width: 31.8vw;
		max-width: 150px;
		min-width: 0;
	}
}
.header.header--active .header__logo a::after {
	opacity: 1;
}
.header.header--active .header__logo a img {
	opacity: 0;
}
.header.header--active .gnav {
	position: relative;
}
.header.header--active .gnav__wrap {
	position: relative;
}
.header.header--active .gnav__lv1 > li {
	border-left-color: transparent;
}
.header.header--active .gnav__lv1 > li > a {
	color: #000;
}
@media screen and (max-width: 767px) {
	.header.header--active .gnav__lv1 > li > a {
		color: #fff;
	}
}
.header--re {
	background: linear-gradient(90deg, var(--color-secondary) 0%, var(--color-primary) 100%);
	display: flex;
	width: 100%;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
	.header--re {
		height: min(60px, 13.3vw);
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
	}
}
.header--re + * {
	margin-top: 102px;
}
@media screen and (max-width: 767px) {
	.header--re + * {
		margin-top: calc(min(60px, 13.3vw) + 10px);
	}
}
.header--re .header__logo {
	position: relative;
	top: auto;
	left: auto;
	align-self: center;
	margin-top: 0;
}
@media screen and (max-width: 767px) {
	.header--re .header__logo {
		position: fixed;
		top: 0;
		left: 0;
		margin-top: calc(min(60px, 13.3vw) / 2);
		transform: translateY(-50%);
		min-width: 100px;
		width: 30vw;
	}
}
.header--re .gnav {
	position: relative;
	right: auto;
	top: auto;
}
@media screen and (max-width: 767px) {
	.header--re .gnav {
		position: absolute;
		top: 0;
		right: 0;
	}
}
.header--re .gnav__wrap {
	position: relative;
	right: auto;
	top: auto;
}
@media screen and (max-width: 767px) {
	.header--active.header--re .header__logo {
		margin-top: min(25px, 1.9vw);
		transform: none;
	}
}

.gnav {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 48;
}
.gnav ul {
	list-style-type: none;
	padding-left: 0;
}
.gnav a {
	text-decoration: none;
}
.gnav__menu {
	display: none;
}
@media screen and (max-width: 767px) {
	.gnav__menu {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		width: 60px;
		z-index: 50;
	}
}
.gnav__menu a {
	position: relative;
	display: block;
	padding-bottom: 100%;
	background-color: var(--color-primary);
	z-index: 50;
}
.gnav__menu a::before, .gnav__menu a::after {
	content: "";
	display: block;
	position: absolute;
	top: 26%;
	left: 50%;
	transform: translateX(-50%);
	width: 40%;
	padding-bottom: 4%;
	background-color: #fff;
	transition: all 0.4s;
}
.gnav.gnav--active .gnav__menu a::before, .gnav.gnav--active .gnav__menu a::after {
	top: 35%;
}
.gnav.gnav--active .gnav__menu a::before {
	transform: translateX(-50%) rotate(45deg);
}
.gnav__menu a::after {
	top: 43%;
}
.gnav.gnav--active .gnav__menu a::after {
	transform: translateX(-50%) rotate(-45deg);
}
.gnav__menu span {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 12%;
	font-family: var(--font-en);
	font-size: 0.625rem;
	font-size: clamp(0.625rem, -0.118rem + 3.1714285714vw, 0.833rem); /* 10px @375px - 13.33px @480px */
	letter-spacing: 0.05em;
	color: #fff;
}
@media screen and (max-width: 767px) {
	.gnav__content {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		background: var(--color-primary);
		opacity: 0;
		transition: opacity 0.7s;
		pointer-events: none;
		display: none;
	}
	.gnav.gnav--active .gnav__content {
		display: block;
		opacity: 1;
		pointer-events: auto;
	}
}
.gnav__wrap {
	position: absolute;
	right: 0;
	top: 0;
	display: flex;
	flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
	.gnav__wrap {
		position: relative;
		right: auto;
		top: auto;
		display: block;
		max-height: 100%;
		overflow-y: auto;
		padding: 22.9vw 7.2vw 25.3vw;
	}
}
.gnav__lv1 {
	display: flex;
	flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
	.gnav__lv1 {
		position: relative;
		right: auto;
		top: auto;
		flex-direction: column;
	}
}
.gnav__lv1 > li,
.gnav .gnav__contact {
	width: 173px;
	max-width: 10.5vw;
	text-align: center;
	border-left: 1px solid rgba(255, 255, 255, 0.5);
	font-size: 0.938rem;
	font-size: clamp(0.938rem, 0.8rem + 0.1666666667vw, 1rem); /* 15px @1320px - 16px @1920px */
}
@media screen and (max-width: 1320px) {
	.gnav__lv1 > li,
	.gnav .gnav__contact {
		font-size: 0.733rem;
		font-size: clamp(0.733rem, 0.363rem + 0.7246376812vw, 1rem); /* 11px @767px - 15px @1319px */
	}
}
@media screen and (max-width: 767px) {
	.gnav__lv1 > li,
	.gnav .gnav__contact {
		width: 100%;
		max-width: none;
		text-align: left;
		border-left-width: 0;
		font-size: 0.875rem;
	}
}
.gnav__lv1 > li > a,
.gnav .gnav__contact > a {
	position: relative;
	display: block;
	padding: 1.8em 0 1.1em;
	color: #fff;
	text-decoration: none;
	transition: color 0.2s;
}
@media screen and (max-width: 767px) {
	.gnav__lv1 > li > a,
	.gnav .gnav__contact > a {
		padding-bottom: 1.6em;
		border-bottom: 1px solid #fff;
	}
}
.gnav__lv1 > li > a:hover,
.gnav .gnav__contact > a:hover {
	color: #000;
}
@media screen and (max-width: 767px) {
	.gnav__lv1 > li {
		position: relative;
	}
}
@media screen and (max-width: 767px) {
	.gnav__lv1 > li::before, .gnav__lv1 > li::after {
		content: "";
		position: absolute;
		pointer-events: none;
	}
}
.gnav__lv1 > li::before {
	right: 0;
	top: 1.4em;
	width: 30px;
	height: 30px;
	background-color: #fff;
	border-radius: 50%;
}
.gnav__lv1 > li::after {
	top: 2.2em;
	width: 13px;
	height: 5px;
	right: 10px;
	border-bottom: 1px solid var(--color-primary);
	border-right: 1.5px solid var(--color-primary);
	transform: skew(50deg);
}
.gnav__lv1 > li > a::after {
	content: "";
	display: block;
	background-color: var(--color-secondary);
	width: 100%;
	height: 6px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	pointer-events: none;
	transform: scaleX(0);
	transform-origin: center top;
	transition: transform 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
	.gnav__lv1 > li > a::after {
		content: none;
	}
}
.gnav__lv1 > li.gnav__active > a::after,
.gnav__lv1 > li > a:hover::after {
	transform: scaleX(1);
}
.gnav .gnav__contact {
	border-left-width: 0;
	width: 190px;
}
@media screen and (max-width: 767px) {
	.gnav .gnav__contact {
		width: 250px;
		margin: 16px auto 0;
		font-size: 13px;
	}
}
.gnav .gnav__contact a {
	position: relative;
	padding-top: 1.2em;
	padding-bottom: 1.3em;
	transition: color 0.3s;
	background-color: #fff;
	border-left: 1px solid var(--color-primary);
	border-bottom: 1px solid var(--color-primary);
}
@media screen and (max-width: 767px) {
	.gnav .gnav__contact a {
		background-color: #fff;
		color: var(--color-primary);
		text-align: center;
		vertical-align: middle;
		border-width: 0;
	}
}
.gnav .gnav__contact a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-primary);
	transition: transform 0.3s ease-in-out;
	transform-origin: top right;
}
@media screen and (max-width: 767px) {
	.gnav .gnav__contact a::before {
		content: none;
	}
}
.gnav .gnav__contact a .gnav__jp {
	position: relative;
}
.gnav .gnav__contact a .gnav__jp span {
	position: relative;
	display: block;
	margin: 0 auto 0.7em;
	width: 30px;
	max-width: 2.4vw;
}
@media screen and (max-width: 767px) {
	.gnav .gnav__contact a .gnav__jp span {
		display: inline-block;
		margin-left: 0;
		margin-right: 0.8em;
		margin-bottom: 0;
		width: 21px;
		max-width: none;
		height: 14px;
		vertical-align: middle;
	}
}
.gnav .gnav__contact a .gnav__jp span::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("./assets/img/common/common_gnav_email_blue.svg") center center no-repeat;
	background-size: contain;
	opacity: 0;
	transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
	.gnav .gnav__contact a .gnav__jp span::after {
		opacity: 1;
	}
}
.gnav .gnav__contact a .gnav__jp img {
	display: block;
	width: 100%;
	height: auto;
}
@media screen and (max-width: 767px) {
	.gnav .gnav__contact a .gnav__jp img {
		display: none;
	}
}
.gnav .gnav__contact a:hover {
	color: var(--color-primary);
}
.gnav .gnav__contact a:hover::before {
	transform: scale(0, 1);
}
.gnav .gnav__contact a:hover .gnav__jp span::after {
	opacity: 1;
}
.gnav .gnav__contact .gnav__jp {
	margin-top: 0.4em;
}
@media screen and (max-width: 767px) {
	.gnav .gnav__contact .gnav__jp {
		display: inline;
	}
}
.gnav__jp {
	display: block;
	font-weight: bold;
	font-size: 1em;
	letter-spacing: 0.05em;
}
.gnav__en {
	display: block;
	margin-top: 0.4em;
	font-family: var(--font-en);
	font-weight: 500;
	font-size: 0.938em;
	letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
	.gnav__en {
		display: none;
	}
}
.gnav__re-banner {
	display: none;
}
@media screen and (max-width: 767px) {
	.gnav__re-banner {
		margin: 54px auto 0;
		display: block;
		width: 250px;
	}
}
.gnav__re-banner img {
	display: block;
	width: 100%;
}

.gnav-sub {
	position: fixed;
	top: 100px;
	left: 0;
	right: 0;
	background-color: #fff;
	display: flex;
	justify-content: space-between;
	padding: min(4.4vw, 84px) min(5.2vw, 100px) min(4.4vw, 84px) min(7.1vw, 136px);
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-40px);
	transition: opacity 0.5s, transform 0.5s;
}
@media screen and (max-width: 1320px) {
	.gnav-sub {
		padding-left: min(5.2vw, 100px);
	}
}
@media screen and (max-width: 767px) {
	.gnav-sub {
		position: relative;
		top: auto;
		left: auto;
		right: auto;
		display: block;
		margin: 0 -7.2vw;
		padding: 20px 7.2vw;
		pointer-events: auto;
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		background-color: #005aac;
	}
}
.gnav-sub--active {
	pointer-events: auto;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	z-index: 49;
}
.gnav-sub__title {
	display: flex;
	align-items: center;
	gap: 0 0.64em;
	font-size: 1.563rem;
	font-size: clamp(1.563rem, 0.942rem + 2.6455026455vw, 3.125rem); /* 25px @375px - 50px @1320px */
}
@media screen and (max-width: 767px) {
	.gnav-sub__title {
		display: none;
	}
}
.gnav-sub__en {
	display: block;
	text-align: inherit;
	font-family: var(--font-en);
	font-weight: 500;
	letter-spacing: 0.05em;
	color: var(--color-primary);
}
.gnav-sub__ja {
	display: block;
	text-align: inherit;
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.651rem + 0.4232804233vw, 1rem); /* 12px @375px - 16px @1320px */
	letter-spacing: 0.05em;
	font-weight: bold;
}
.gnav-sub__texts {
	margin-top: min(0.6vw, 12px);
}
@media screen and (max-width: 1320px) {
	.gnav-sub__texts {
		margin-top: 0;
	}
}
.gnav-sub__img {
	width: min(31.3vw, 600px);
	align-self: center;
}
@media screen and (max-width: 767px) {
	.gnav-sub__img {
		display: none;
	}
}
.gnav-sub__list {
	margin: 2.273em 0 0 1.909em;
	display: flex;
	gap: 0 min(11.4vw, 218px);
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.589rem + 0.9523809524vw, 1.375rem); /* 13px @375px - 22px @1320px */
}
@media screen and (max-width: 767px) {
	.gnav-sub__list {
		display: block;
		margin: 0;
	}
}
.gnav-sub__list ul {
	display: flex;
	gap: 1.227em 0;
	flex-direction: column;
	text-align: left;
}
@media screen and (max-width: 767px) {
	.gnav-sub__list ul {
		row-gap: 0;
	}
}
.gnav-sub__list li a {
	position: relative;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: #000;
}
@media screen and (max-width: 767px) {
	.gnav-sub__list li a {
		color: #ccdeee;
		padding: 1em 0;
		display: inline-block;
	}
}
.gnav-sub__list li a::before {
	content: "";
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
	transform: scale(0, 1);
	transition: transform 0.3s;
	transform-origin: bottom left;
}
@media screen and (max-width: 767px) {
	.gnav-sub__list li a::before {
		content: none;
	}
}
.gnav-sub__list li a:hover::before {
	transform: scale(1, 1);
}
.gnav-sub__list .c-headline-twotone {
	padding-left: 36px;
}
@media screen and (max-width: 767px) {
	.gnav-sub__list .c-headline-twotone {
		padding-left: 16px;
	}
}
.gnav-sub__list .c-headline-twotone::before, .gnav-sub__list .c-headline-twotone::after {
	height: 12px;
}
@media screen and (max-width: 767px) {
	.gnav-sub__list .c-headline-twotone::before, .gnav-sub__list .c-headline-twotone::after {
		content: none;
	}
}
.gnav-sub__list .c-headline-twotone::before {
	width: 4px;
}
.gnav-sub__list .c-headline-twotone::after {
	left: 9px;
	width: 8px;
}

/* ==============================================
 * Footer
 */
.footer-re-banner {
	margin-top: -86px;
	padding-top: 118px;
	padding-bottom: 160px;
}
@media screen and (max-width: 1920px) {
	.footer-re-banner {
		margin-top: -4.5%;
	}
}
@media screen and (max-width: 767px) {
	.footer-re-banner {
		margin-top: -90px;
		padding-top: 128px;
		padding-bottom: 180px;
	}
}
.footer-re-banner a {
	position: relative;
	background: url("./assets/img/common/footer-re-banner_pc.webp") center center no-repeat;
	background-size: contain;
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 1200px;
	max-width: 100%;
	padding-bottom: 39.2%;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 5px 63px 10px rgba(4, 100, 188, 0.15);
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	.footer-re-banner a {
		background-image: url("./assets/img/common/footer-re-banner_pc@2x.webp");
	}
}
@media screen and (max-width: 767px) {
	.footer-re-banner a {
		background-image: url("./assets/img/common/footer-re-banner_sp.webp");
		padding-bottom: 132.8%;
	}
}
.footer-re-banner a::before, .footer-re-banner a::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
	.footer-re-banner a::before, .footer-re-banner a::after {
		top: auto;
		bottom: 0;
		transform: none;
	}
}
.footer-re-banner a::before {
	right: 3.9%;
	width: 10%;
	padding-bottom: 9.5%;
	background: url("./assets/img/common/common_icon_round_white_01.svg") center center no-repeat;
	pointer-events: none;
}
@media screen and (max-width: 767px) {
	.footer-re-banner a::before {
		width: 19%;
		padding-bottom: 19%;
		margin-bottom: 5.1%;
		right: 4.8%;
	}
}
.footer-re-banner a::after {
	right: 6.8%;
	width: 3.8%;
	padding-bottom: 1.7%;
	background: url("./assets/img/common/common_icon_arrow_white_01.svg") center center no-repeat;
	background-size: contain;
	animation: anim-arrow-move var(--anim-arrow-move-duration) infinite;
}
@media screen and (max-width: 767px) {
	.footer-re-banner a::after {
		width: 8.6%;
		padding-bottom: 3.8%;
		margin-bottom: 12.7%;
		right: 9.5%;
	}
}
.footer-re-banner__desc {
	position: absolute;
	left: 10%;
	bottom: 0;
	margin-bottom: 7.3%;
	font-size: 1.125rem;
	font-weight: bold;
	line-height: 2;
	letter-spacing: 0.05em;
	font-style: italic;
}
@media screen and (max-width: 1320px) {
	.footer-re-banner__desc {
		font-size: 1.4vw;
	}
}
@media screen and (max-width: 767px) {
	.footer-re-banner__desc {
		font-size: 3.5vw;
		line-height: 1.538;
		margin-bottom: 0;
		top: 55%;
		right: 10%;
	}
}
@media screen and (max-width: 767px) {
	.footer-re-banner__desc br {
		display: none;
	}
}

.footer-contact {
	padding-top: 87px;
	padding-bottom: 90px;
	position: relative;
	background: url("./assets/img/common/footer-contact_bg_01.webp") center center no-repeat #5e6d7c;
	background-size: cover;
	color: #fff;
}
@media screen and (max-width: 767px) {
	.footer-contact {
		padding-top: min(60%, 288px);
		padding-bottom: 150px;
	}
}
.footer-contact .c-slanting-lines.c-slanting-lines--01 {
	top: -33px;
	right: calc(50% + min(15vw, 270px));
}
@media screen and (max-width: 767px) {
	.footer-contact .c-slanting-lines.c-slanting-lines--01 {
		right: calc(50% + 32px);
		top: -111px;
	}
}
.footer-contact__headline {
	z-index: 5;
	position: relative;
}
.footer-contact__headline .c-headline-en__en,
.footer-contact__headline .c-headline-en__ja {
	color: #fff;
}
@media screen and (max-width: 767px) {
	.footer-contact__content {
		text-align: center;
	}
}
.footer-contact__lead {
	margin-top: 44px;
	padding-left: 8px;
	font-size: 1.313rem;
	font-size: clamp(1.313rem, 0.792rem + 2.2222222222vw, 2.625rem); /* 21px @375px - 42px @1320px */
	line-height: 1.714;
	letter-spacing: 0.14em;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.footer-contact__lead {
		margin-top: 48px;
	}
}
@media screen and (max-width: 375px) {
	.footer-contact__lead {
		font-size: 5.6vw;
	}
}
.footer-contact__lead span {
	display: inline-block;
	position: relative;
}
.footer-contact__lead span::before {
	content: "";
	display: block;
	height: 3px;
	position: absolute;
	bottom: 3px;
	left: 6px;
	right: 6px;
	background-color: #fff;
}
@media screen and (max-width: 767px) {
	.footer-contact__lead span::before {
		height: 1.5px;
		bottom: 1.5px;
		left: 0;
	}
}
.footer-contact__button {
	margin-top: 35px;
}
@media screen and (max-width: 767px) {
	.footer-contact__button {
		margin-top: 0;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 70px;
	}
}
@media screen and (max-width: 767px) {
	.footer-contact__button .c-button-round {
		margin-left: auto;
		margin-right: auto;
	}
}
.footer-contact__bizhour {
	margin-top: 14px;
	padding-left: 8px;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.738rem + 0.3174603175vw, 1rem); /* 13px @375px - 16px @1320px */
	letter-spacing: 0.08em;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.footer-contact__bizhour {
		margin-top: 30px;
		padding-left: 0;
	}
}
.footer-contact__tel {
	margin-top: 9px;
	padding-left: 18px;
	font-family: var(--font-en);
	font-size: 1.375rem;
	font-size: clamp(1.375rem, 1.077rem + 1.2698412698vw, 2.125rem); /* 22px @375px - 34px @1320px */
	letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
	.footer-contact__tel {
		margin-top: 3px;
		padding-left: 0;
	}
}
.footer-contact__tel a {
	text-decoration: none;
	color: #fff;
}
.footer-contact__tel img {
	margin-right: 14px;
}
@media screen and (max-width: 767px) {
	.footer-contact__tel img {
		margin-right: 0.227em;
		width: 1em;
	}
}
.footer-contact__tel a:hover img {
	opacity: 1;
}
.footer-contact__img {
	position: absolute;
	left: calc(50vw + 102px);
	top: -50px;
	bottom: -74px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 568px;
	max-width: calc(50vw - 102px);
}
@media screen and (max-width: 767px) {
	.footer-contact__img {
		left: 0;
		right: 0;
		top: 0;
		bottom: auto;
		width: 78.9vw;
		max-width: 378px;
		margin: max(-32%, -153px) auto 0;
	}
}
.footer-contact__img img {
	display: block;
	width: 83.8%;
}
.footer-contact__img img:nth-child(1) {
	align-self: end;
}
.footer-contact__img img:nth-child(2) {
	margin-top: -25.9%;
}

.totop {
	position: fixed;
	bottom: 20px;
	right: 68px;
	z-index: 42;
}
@media screen and (max-width: 1430px) {
	.totop {
		right: 20px;
	}
}
@media screen and (max-width: 767px) {
	.totop {
		right: 10px;
		bottom: 70px;
	}
}
.totop a {
	position: relative;
	display: block;
	width: 70px;
	height: 70px;
	background-color: #fff;
	border: 1px solid var(--color-primary);
	border-radius: 50%;
	z-index: 42;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s;
}
@media screen and (max-width: 767px) {
	.totop a {
		width: 40px;
		height: 40px;
	}
}
.totop a::before {
	content: "";
	position: absolute;
	left: 28px;
	top: 32px;
	display: block;
	width: 15px;
	height: 15px;
	transform: rotate(45deg);
	border-top: 1px solid var(--color-primary);
	border-left: 1px solid var(--color-primary);
	pointer-events: none;
}
@media screen and (max-width: 767px) {
	.totop a::before {
		left: 15px;
		top: 17px;
		width: 9px;
		height: 9px;
	}
}
.totop.totop--active a {
	opacity: 1;
	pointer-events: auto;
}
.totop.totop--active a:hover {
	opacity: 0.8;
}

.footer {
	position: relative;
	overflow: hidden;
}
.footer::before {
	content: "";
	position: absolute;
	right: -70px;
	bottom: -70px;
	display: block;
	width: 491px;
	height: 550px;
	background: url("./assets/img/common/footer_bg_logo.svg") right bottom no-repeat;
	background-size: contain;
	z-index: -1;
	opacity: 0.07;
}
@media screen and (max-width: 767px) {
	.footer::before {
		width: 65.3vw;
		height: 146.7vw;
		max-width: 420px;
		right: -18%;
		bottom: -6%;
	}
}

@keyframes anim-footer__en {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}
.footer__en {
	padding-top: 0.4em;
	padding-bottom: 0.37em;
	color: rgba(4, 100, 188, 0.06);
	font-size: 6.25rem;
	font-size: clamp(6.25rem, 3.77rem + 10.582010582vw, 12.5rem); /* 100px @375px - 200px @1320px */
	line-height: 1;
	letter-spacing: 0.05em;
	font-family: var(--font-en);
	white-space: nowrap;
}
@media screen and (max-width: 767px) {
	.footer__en {
		padding-top: 0.25em;
		padding-bottom: 0.22em;
	}
}
.footer__en div {
	width: max-content;
	animation: anim-footer__en 30s linear infinite;
}
.footer__en span {
	margin-left: 0.55em;
}
.footer__wrap {
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 1320px) {
	.footer__wrap {
		flex-direction: column;
		align-items: center;
	}
}
.footer__logo img {
	display: block;
	width: 276px;
}
@media screen and (max-width: 1320px) {
	.footer__logo img {
		margin-left: auto;
		margin-right: auto;
		width: min(44.5vw, 276px);
	}
}
.footer__address {
	margin-top: 14px;
	font-size: 0.719rem;
	font-size: clamp(0.719rem, 0.607rem + 0.4761904762vw, 1rem); /* 11.5px @375px - 16px @1320px */
	line-height: 2.125;
	letter-spacing: 0.05em;
	font-style: normal;
}
@media screen and (max-width: 1320px) {
	.footer__address {
		margin-top: 22px;
		text-align: center;
		line-height: 1.538;
	}
}
.footer__nav {
	display: flex;
	gap: 0 60px;
	padding-right: 18px;
}
@media screen and (max-width: 1320px) {
	.footer__nav {
		margin-top: 56px;
		padding-right: 0;
		width: 250px;
		column-gap: 0;
		justify-content: space-between;
	}
}
.footer__nav ul {
	list-style-type: none;
	padding-left: 0;
}
.footer__nav li {
	margin-top: 20px;
	font-size: 0.781rem;
	font-size: clamp(0.781rem, 0.694rem + 0.3703703704vw, 1rem); /* 12.5px @375px - 16px @1320px */
	font-weight: bold;
	letter-spacing: 0.05em;
}
.footer__nav li:first-child {
	margin-top: 0 !important;
}
.footer__nav li ul {
	margin-top: 30px;
	padding-left: 2em;
}
@media screen and (max-width: 1320px) {
	.footer__nav li ul {
		margin-top: 12px;
		padding-left: 14px;
	}
}
.footer__nav li li {
	margin-top: 16px;
	position: relative;
	font-weight: normal;
}
@media screen and (max-width: 1320px) {
	.footer__nav li li {
		margin-top: 11px;
	}
}
.footer__nav li li::before {
	content: "";
	display: block;
	position: absolute;
	left: -19px;
	top: 50%;
	width: 10px;
	height: 1px;
	background-color: var(--color-primary);
}
@media screen and (max-width: 1320px) {
	.footer__nav li li::before {
		left: -9px;
		width: 5px;
	}
}
.footer__nav a {
	color: #000;
	text-decoration: none;
	transition: color 0.2s;
}
.footer__nav a:hover {
	color: var(--color-primary);
}
.footer__nav li li a {
	color: #666;
}
.footer__nav li li a:hover {
	color: var(--color-primary);
}
@media screen and (max-width: 1320px) {
	.footer__banners {
		margin-top: 30px;
	}
}
.footer__re-banner .c-re-banner.c-arrow-black-bottom-right::before {
	border-bottom: 1px solid var(--color-secondary);
	border-right: 1px solid var(--color-secondary);
}
.footer__re-banner img {
	display: block;
	width: min(66.7vw, 300px);
}
@media screen and (max-width: 1320px) {
	.footer__re-banner img {
		margin-left: auto;
		margin-right: auto;
	}
}
.footer__contact {
	margin-top: 18px;
	width: min(66.7vw, 300px);
}
@media screen and (max-width: 1320px) {
	.footer__contact {
		margin-left: auto;
		margin-right: auto;
	}
}
.footer__contact a {
	position: relative;
	display: block;
	height: 70px;
	line-height: 68px;
	border: 1px solid var(--color-primary);
	text-decoration: none;
	background-color: #fff;
	color: #fff;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.738rem + 0.3174603175vw, 1rem); /* 13px @375px - 16px @1320px */
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
	transition: color 0.3s;
	z-index: 1;
}
@media screen and (max-width: 767px) {
	.footer__contact a {
		height: 50px;
		line-height: 50px;
	}
}
.footer__contact a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-primary);
	transform-origin: top right;
	transition: transform 0.3s ease-in-out;
	z-index: -1;
}
.footer__contact a span {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin-right: 1.313em;
	margin-left: -0.313em;
	width: 1.875em;
}
@media screen and (max-width: 1320px) {
	.footer__contact a span {
		width: 1.615em;
	}
}
@media screen and (max-width: 767px) {
	.footer__contact a span {
		margin-right: 1em;
	}
}
.footer__contact a span::after {
	content: url("./assets/img/common/common_gnav_email_blue.svg");
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	opacity: 0;
	transition: opacity 0.3s;
}
.footer__contact a span img {
	display: inline-block;
	width: 100%;
	height: auto;
}
.footer__contact a:hover {
	color: var(--color-primary);
}
.footer__contact a:hover::before {
	transform: scale(0, 1);
}
.footer__contact a:hover span::after {
	opacity: 1;
}
.footer__copyright {
	margin-top: 85px;
	padding-top: 45px;
	padding-bottom: 60px;
	border-top: 1px solid #ddd;
	text-align: center;
	font-family: var(--font-en);
	font-size: 0.563rem;
	font-size: clamp(0.563rem, 0.463rem + 0.4232804233vw, 0.813rem); /* 9px @375px - 13px @1320px */
	letter-spacing: 0.05em;
	font-weight: 300;
	color: #666;
}
@media screen and (max-width: 767px) {
	.footer__copyright {
		margin-top: 44px;
		padding-top: 19px;
		padding-bottom: 24px;
	}
}

.re-btmbar {
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	width: auto;
	align-items: stretch;
	font-size: min(3.2vw, 12px);
	height: 4.917em;
	border-top: 1px solid var(--color-primary);
	z-index: 42;
}
@media screen and (max-width: 767px) {
	.re-btmbar {
		display: flex;
	}
}
.re-btmbar__item {
	width: 50%;
	position: relative;
}
.re-btmbar__item::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 5px;
	right: 5px;
	width: 11px;
	padding-bottom: 11px;
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
	background-color: #fff;
	pointer-events: none;
}
.re-btmbar__item a {
	display: flex;
	flex-direction: column;
	background-color: #0058a1;
	color: #fff;
	text-decoration: none;
	height: 100%;
	text-align: center;
}
.re-btmbar__item-icon {
	margin-top: 0.5em;
	text-align: center;
}
.re-btmbar__item-icon img {
	width: 28px;
}
.re-btmbar__item-text {
	font-weight: bold;
	letter-spacing: 0.08em;
}
.re-btmbar__item--tel {
	border-right: 1px solid #fff;
}
.re-btmbar__item--tel .re-btmbar__item-icon img {
	width: 18px;
}
.re-btmbar__item--line {
	border-left: 1px solid #fff;
}

/* ==============================================
 * Front Page
 */
.top-mv {
	position: relative;
	background: url("./assets/img/top/top-mv_img_01.webp") 0 0 no-repeat transparent;
	background-size: cover;
	height: 56.3vw;
	min-height: 550px;
}
@media screen and (max-width: 1200px) {
	.top-mv {
		background-image: url("./assets/img/top/top-mv_img_01_1200w.webp");
	}
}
@media (orientation: portrait) and (max-width: 550px) {
	.top-mv {
		background-image: url("./assets/img/top/top-mv_img_01_550w.webp");
	}
}
.top-mv__lead {
	position: absolute;
	left: min(109px, 5.7vw);
	bottom: min(130px, 8vw);
	font-size: 2.344rem;
	font-size: clamp(2.344rem, 1.547rem + 3.3980582524vw, 5.625rem); /* 37.5px @375px - 90px @1920px */
}
@media screen and (max-width: 767px) {
	.top-mv__lead {
		left: 3.6%;
		bottom: 39.3%;
		font-size: min(48px, 10vw);
	}
}
.top-mv__en {
	margin-left: 5px;
	margin-bottom: 0.9em;
	color: #fff;
	font-size: 0.378em;
	letter-spacing: 0.05em;
	font-family: var(--font-en);
}
@media screen and (max-width: 767px) {
	.top-mv__en {
		font-size: min(18px, 4.5vw);
	}
}
.top-mv__catch {
	color: #fff;
	font-size: 1em;
	line-height: 1.333;
	font-weight: bold;
	letter-spacing: 0.14em;
}
.top-mv__banner {
	position: absolute;
	right: 24px;
	bottom: 84px;
	max-width: 22vw;
}
@media screen and (max-width: 767px) {
	.top-mv__banner {
		right: 8px;
		bottom: 11px;
		max-width: none;
	}
}
.top-mv__banner img {
	display: block;
	width: 420px;
}
@media screen and (max-width: 767px) {
	.top-mv__banner img {
		width: 210px;
	}
}

@media screen and (max-width: 767px) {
	.top-news {
		background: url("./assets/img/common_bg_noize.png") 0 0 repeat #edf0f5;
		padding-top: 60px;
	}
}
.top-news__inner {
	overflow: hidden;
	position: absolute;
	right: 0;
	margin-top: -51px;
	box-shadow: var(--box-shadow);
	background-color: #fff;
	display: flex;
	align-items: stretch;
	height: 100px;
	max-width: 92vw;
	z-index: 30;
}
@media screen and (max-width: 1320px) {
	.top-news__inner {
		margin-top: -20px;
		height: max(70px, 7.6vw);
	}
}
@media screen and (max-width: 767px) {
	.top-news__inner {
		position: relative;
		margin-left: auto;
		height: 70px;
		width: 95.3%;
		max-width: 95.3%;
	}
}
.top-news__headline {
	position: relative;
	display: flex;
	padding: 0 50px 0 64px;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: 500;
	letter-spacing: 0.03em;
	font-size: 0.938rem;
	font-size: clamp(0.938rem, 0.813rem + 0.5291005291vw, 1.25rem); /* 15px @375px - 20px @1320px */
	font-family: var(--font-en);
	background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
	.top-news__headline {
		padding: 0 0.5em 0 1.7em;
	}
}
.top-news__headline::before {
	content: "";
	position: absolute;
	left: calc(100% - 1px);
	top: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 100px 30px 0 0;
	border-color: var(--color-primary) transparent transparent transparent;
}
.top-news__contents a {
	display: flex;
	gap: 2px 2.1rem;
	align-items: center;
	padding: 0 1em 0 65px;
	height: 100%;
	overflow: hidden;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	text-decoration: none;
}
@media screen and (max-width: 767px) {
	.top-news__contents a {
		flex-flow: column;
		align-items: start;
		justify-content: center;
		padding-left: 35px;
	}
}
.top-news__time {
	color: var(--color-primary);
	font-weight: 600;
	font-family: var(--font-en);
}
.top-news__title {
	color: #000;
	letter-spacing: 0.08em;
	width: 520px;
	max-width: 520px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	transition: color 0.2s;
}
@media screen and (max-width: 767px) {
	.top-news__title {
		width: 100%;
		max-width: 100%;
	}
}
.top-news__contents a:hover .top-news__title {
	color: var(--color-primary-hover);
}

@keyframes anim-top-about__en-bg {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}
.top-about {
	position: relative;
	padding-top: min(216px, 16.4%);
	padding-bottom: min(325px, 24.6%);
}
@media screen and (max-width: 767px) {
	.top-about {
		padding-bottom: 134px;
		overflow: hidden;
	}
}
.top-about .c-slanting-lines.c-slanting-lines--01 {
	top: 125px;
}
@media screen and (max-width: 767px) {
	.top-about .c-slanting-lines.c-slanting-lines--01 {
		top: auto;
		bottom: calc(160px + 103vw);
		right: auto;
		left: 37.9vw;
	}
}
.top-about .c-slanting-lines.c-slanting-lines--02 {
	top: 245px;
}
@media screen and (max-width: 767px) {
	.top-about .c-slanting-lines.c-slanting-lines--02 {
		top: 38px;
		left: auto;
		right: 53.3vw;
	}
}
.top-about__en-bg {
	position: absolute;
	top: 41.7%;
	left: 0;
	right: 0;
	overflow: hidden;
	color: #fff;
	font-family: var(--font-en);
	font-size: clamp(5.75rem, 1.26rem + 9.3668690373vw, 12.5rem);
	letter-spacing: 0.05em;
	line-height: 1;
	white-space: nowrap;
	z-index: 0;
}
@media screen and (max-width: 767px) {
	.top-about__en-bg {
		top: 0;
		left: calc(100% - 0.87em);
		right: auto;
		font-size: 5.625rem;
		transform: rotate(90deg);
		transform-origin: left bottom 0;
	}
}
@media screen and (max-width: 767px) {
	.top-about__en-bg::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: 25px;
		background: linear-gradient(90deg, rgb(238, 241, 246) 0%, rgba(238, 241, 246, 0) 100%);
	}
}
.top-about__en-bg div {
	width: max-content;
	animation: anim-top-about__en-bg 30s linear infinite;
}
@media screen and (max-width: 767px) {
	.top-about__en-bg div {
		width: auto;
	}
}
.top-about__inner {
	position: relative;
	display: flex;
	width: 100%;
	justify-content: start;
	align-items: start;
	z-index: 1;
}
@media screen and (max-width: 767px) {
	.top-about__inner {
		flex-direction: column-reverse;
	}
}
.top-about__img {
	display: flex;
	justify-content: end;
	align-items: start;
	gap: 0 min(9px, 1%);
	width: 50%;
	max-width: 50%;
	padding-right: 26px;
}
@media screen and (max-width: 767px) {
	.top-about__img {
		width: auto;
		max-width: 88.5%;
		padding-right: 0;
		margin-left: auto;
		margin-right: auto;
		margin-top: 84px;
	}
}
.top-about__img img {
	display: block;
}
.top-about__img img:nth-child(1) {
	margin-top: min(113px, 12.1%);
	width: 299px;
	max-width: 31.9%;
}
.top-about__img img:nth-child(2) {
	margin-top: min(210px, 22.4%);
	width: 309.5px;
	max-width: 33.1%;
}
.top-about__img img:nth-child(3) {
	width: 309.5px;
	max-width: 33.1%;
}
.top-about__text {
	margin-left: min(120px, 6.3%);
	width: 540px;
	padding-right: var(--padding-wrap);
}
@media screen and (max-width: 1320px) {
	.top-about__text {
		margin-left: var(--padding-wrap);
		width: 50%;
	}
}
@media screen and (max-width: 767px) {
	.top-about__text {
		margin-left: 0;
		padding-left: var(--padding-wrap);
		width: auto;
	}
}
.top-about__headline {
	margin-bottom: 60px;
	font-size: 1.813rem;
	font-size: clamp(1.813rem, 1.192rem + 2.6455026455vw, 3.375rem); /* 29px @375px - 54px @1320px */
	font-weight: bold;
	line-height: 1.593;
	letter-spacing: 0.14em;
}
@media screen and (max-width: 767px) {
	.top-about__headline {
		margin-bottom: 0;
		line-height: 1.483;
	}
}
.top-about__text {
	margin-top: 51px;
}
.top-about__text p {
	margin-top: 3.125em;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 2.625;
	letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
	.top-about__text p {
		margin-top: 2em;
		line-height: 1.923;
	}
}

.top-service {
	position: relative;
}
.top-service .c-slanting-lines.c-slanting-lines--03 {
	left: calc(50% - 472px);
	top: -158px;
}
@media screen and (max-width: 767px) {
	.top-service .c-slanting-lines.c-slanting-lines--03 {
		left: calc(50% + 12px);
		top: -172px;
	}
}
.top-service__headline {
	margin-top: max(-47px, -3.6%);
	position: relative;
	z-index: 2;
}
@media screen and (max-width: 767px) {
	.top-service__headline {
		margin-top: 35px;
	}
}
.top-service__lead {
	margin: 35px auto 0;
	text-align: center;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.08em;
	width: 930px;
	max-width: 100%;
	line-height: 2.625;
}
@media screen and (max-width: 767px) {
	.top-service__lead {
		text-align: left;
		line-height: 1.923;
	}
}
.top-service__list {
	width: 1162px;
	max-width: 100%;
	margin: 60px auto 0;
	list-style-type: none;
	padding-left: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 85px min(100px, 7.6%);
	justify-content: space-between;
	align-items: start;
	flex-wrap: wrap;
}
@media screen and (max-width: 1320px) {
	.top-service__list {
		column-gap: var(--padding-wrap);
	}
}
@media screen and (max-width: 767px) {
	.top-service__list {
		grid-template-columns: 1fr;
		row-gap: 30px;
	}
}
.top-service .c-link-overlap {
	margin-left: auto;
	margin-right: auto;
}
.top-service__desc {
	margin-top: 19px;
	margin-right: -2px;
	padding-left: 30px;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 2.125;
	letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
	.top-service__desc {
		margin-top: 11px;
		margin-right: 0;
		padding-left: 15px;
		line-height: 1.923;
	}
}
.top-service__button {
	margin-top: 50px;
}
@media screen and (max-width: 767px) {
	.top-service__button {
		margin-top: 24px;
	}
}
.top-service__button .c-button-round {
	margin-left: auto;
	margin-right: auto;
}

.top-works {
	position: relative;
	margin-top: 173px;
}
@media screen and (max-width: 767px) {
	.top-works {
		margin-top: 179px;
	}
}
.top-works::before {
	content: "";
	display: block;
	position: absolute;
	margin-top: 100px;
	top: 50%;
	left: 0;
	right: 0;
	width: 100%;
	max-width: 100%;
	height: 870px;
	background-color: #f6f6f6;
	transform: skew(0deg, -22deg) translateY(-50%);
}
@media screen and (max-width: 767px) {
	.top-works::before {
		height: 460px;
		top: 45%;
	}
}
.top-works .c-slanting-lines.c-slanting-lines--01 {
	top: -118px;
}
@media screen and (max-width: 767px) {
	.top-works .c-slanting-lines.c-slanting-lines--01 {
		top: -120px;
		right: calc(50% + 46px);
	}
}
.top-works .c-slanting-lines.c-slanting-lines--03 {
	top: 27px;
}
@media screen and (max-width: 767px) {
	.top-works .c-slanting-lines.c-slanting-lines--03 {
		left: calc(50% + 103px);
		top: 37px;
	}
}
.top-works__headline {
	position: relative;
}
.top-works__slider {
	position: relative;
	margin-top: 76px;
}
@media screen and (max-width: 767px) {
	.top-works__slider {
		margin-top: 43px;
	}
}
@media screen and (max-width: 767px) {
	.top-works__slider::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 40px;
		background: linear-gradient(90deg, rgba(246, 246, 246, 0) 0%, rgb(246, 246, 246) 70%);
	}
}
.top-works .splide__track {
	box-sizing: content-box;
}
.top-works .splide__list {
	display: flex;
	gap: 0 30px;
}
@media screen and (max-width: 767px) {
	.top-works .splide__list {
		column-gap: 27px;
	}
}
.top-works .splide__slide {
	width: 450px;
}
@media screen and (max-width: 767px) {
	.top-works .splide__slide {
		width: 225px;
	}
}
.top-works .splide__slide:first-child {
	width: 632px;
	padding-left: 182px;
}
@media screen and (max-width: 767px) {
	.top-works .splide__slide:first-child {
		width: 259px;
		padding-left: 34px;
	}
}
.top-works .splide__slide:last-child {
	width: 632px;
	padding-right: 182px;
}
@media screen and (max-width: 767px) {
	.top-works .splide__slide:last-child {
		width: 259px;
		padding-right: 34px;
	}
}
.top-works .splide__slide:nth-child(odd) {
	margin-top: 100px;
}
@media screen and (max-width: 767px) {
	.top-works .splide__slide:nth-child(odd) {
		margin-top: 0;
	}
}
.top-works .splide__slide a {
	display: block;
	color: #000;
}
.top-works .splide__slide a:hover img {
	opacity: 1;
}
.top-works .splide__slide img {
	display: block;
}
.top-works__img {
	position: relative;
	overflow: hidden;
	padding-bottom: 115.6%;
}
.top-works__img img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top-works__hover {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	padding: 0 42px;
	color: #fff;
	font-size: 1.625rem;
	font-weight: bold;
	line-height: 1.615;
	letter-spacing: 0.08em;
	background: linear-gradient(145deg, rgba(4, 100, 188, 0.8) 0%, rgba(0, 174, 149, 0.8) 100%);
	opacity: 0;
	transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
	.top-works__hover {
		display: none;
	}
}
.top-works__hover span {
	position: relative;
	margin-bottom: 30px;
}
.top-works__hover span::before, .top-works__hover span::after {
	display: block;
	position: absolute;
	top: calc(100% + 32px);
	left: 0;
	content: "";
	display: block;
}
.top-works__hover span::before {
	width: 60px;
	height: 60px;
	border: 2px solid #fff;
	border-radius: 50%;
}
.top-works__hover span::after {
	margin: 26px 0 0 12px;
	width: 27px;
	height: 9px;
	border-bottom: 1.5px solid #fff;
	border-right: 2px solid #fff;
	transform: skew(50deg);
}
.top-works .splide__slide a:hover .top-works__hover {
	opacity: 1;
}
.top-works__tag {
	display: inline-block;
	padding: 0 0.8em;
	margin: 28px 0 0 8px;
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.7rem + 0.2116402116vw, 0.875rem); /* 12px @375px - 14px @1320px */
	letter-spacing: 0.08em;
	color: var(--color-primary);
	line-height: 30px;
	background-color: #fff;
	border-radius: 9999px;
	border: 1px solid var(--color-primary);
}
@media screen and (max-width: 767px) {
	.top-works__tag {
		margin: 14px 0 0;
		line-height: 2.2em;
	}
}
.top-works__info {
	margin: 15px 0 0 16px;
}
@media screen and (max-width: 767px) {
	.top-works__info {
		margin-top: 3px;
		margin-left: 0;
	}
}
.top-works__name {
	margin-right: 21px;
	display: inline-block;
	font-weight: bold;
	font-size: 1.063rem;
	font-size: clamp(1.063rem, 0.839rem + 0.9523809524vw, 1.625rem); /* 17px @375px - 26px @1320px */
	line-height: 1.615;
	letter-spacing: 0.08em;
	vertical-align: middle;
}
@media screen and (max-width: 767px) {
	.top-works__name {
		margin-right: 0.9em;
	}
}
.top-works__prof {
	display: inline-block;
	font-weight: bold;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.08em;
	line-height: 2.625;
	vertical-align: middle;
}
.top-works__button {
	margin-top: 57px;
}
@media screen and (max-width: 767px) {
	.top-works__button {
		margin-top: 40px;
	}
}
.top-works__button .c-button-round {
	margin-left: auto;
	margin-right: auto;
}

.top-column {
	margin-top: 272px;
	position: relative;
}
@media screen and (max-width: 767px) {
	.top-column {
		margin-top: 93px;
	}
}
.top-column .c-slanting-lines.c-slanting-lines--02 {
	top: -160px;
}
.top-column > .c-wrap {
	display: flex;
	gap: 0 80px;
	position: relative;
}
@media screen and (max-width: 767px) {
	.top-column > .c-wrap {
		display: block;
		padding-bottom: 100px;
	}
}
.top-column__col--left {
	width: 33.3%;
}
@media screen and (max-width: 767px) {
	.top-column__col--left {
		width: auto;
	}
}
.top-column__col--right {
	width: 60%;
	position: relative;
	z-index: 3;
}
@media screen and (max-width: 767px) {
	.top-column__col--right {
		width: auto;
	}
}
.top-column__headline {
	text-align: left;
}
@media screen and (max-width: 767px) {
	.top-column__headline {
		text-align: center;
	}
}
.top-column__lead {
	margin-top: 97px;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 2.625;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
	.top-column__lead {
		margin-top: 21px;
		line-height: 1.923;
		letter-spacing: 0.08em;
	}
}
.top-column__button {
	margin-top: 75px;
	position: relative;
	z-index: 3;
}
@media screen and (max-width: 767px) {
	.top-column__button {
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin-top: 0;
	}
}
.top-column__button .c-button-round {
	width: 330px;
	max-width: 100%;
}
@media screen and (max-width: 767px) {
	.top-column__button .c-button-round {
		width: 250px;
		margin-left: auto;
		margin-right: auto;
	}
}
.top-column__list {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	margin-top: 76px;
	gap: 50px 0;
	list-style-type: none;
	padding-left: 0;
}
@media screen and (max-width: 767px) {
	.top-column__list {
		margin-top: 30px;
		row-gap: 26px;
	}
}
.top-column__item {
	box-shadow: var(--box-shadow);
	transition: all 0.3s;
}
.top-column__item a {
	display: flex;
	gap: 0 30px;
	align-items: center;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.589rem + 0.9523809524vw, 1.375rem); /* 13px @375px - 22px @1320px */
	padding: 1.136em 2.636em 1.136em 1.364em;
	text-decoration: none;
	color: #000;
	background-color: #fff;
	transition: color 0.2s;
}
@media screen and (max-width: 767px) {
	.top-column__item a {
		column-gap: 1.3em;
		padding: 1.1em 0.9em 1.1em 0.9em;
	}
}
.top-column__img {
	overflow: hidden;
	width: max(min(150px, 11.4vw), 80px);
	min-width: max(min(150px, 11.4vw), 80px);
	height: max(min(150px, 11.4vw), 80px);
	border-radius: 50%;
}
.top-column__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top-column__text {
	flex-grow: 1;
}
.top-column__date {
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	font-family: var(--font-en);
	color: var(--color-primary);
	font-weight: 600;
}
.top-column__title {
	margin-top: 10px;
	font-weight: bold;
	line-height: 1.545;
	letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
	.top-column__title {
		margin-top: 0.231em;
		line-height: 1.538;
	}
}
.top-column__item:hover {
	margin: -2px 2px 2px -2px;
}
.top-column__item:hover a {
	color: var(--color-primary);
}
.top-column__item:hover .top-column__img img {
	opacity: 1;
}

.top-company {
	position: relative;
	margin-top: 303px;
}
@media screen and (max-width: 1920px) {
	.top-company {
		margin-top: 15.8%;
	}
}
@media screen and (max-width: 1320px) {
	.top-company {
		margin-top: -80px;
	}
}
@media screen and (max-width: 767px) {
	.top-company {
		margin-top: 0;
	}
}
.top-company .c-slanting-lines.c-slanting-lines--04 {
	right: calc(50% + 304px);
	top: 360px;
}
@media screen and (max-width: 767px) {
	.top-company .c-slanting-lines.c-slanting-lines--04 {
		right: calc(50% - 80px);
		top: 120px;
	}
}
.top-company__img {
	position: relative;
	display: flex;
	justify-content: center;
	width: 1920px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: -470px;
}
@media screen and (max-width: 1320px) {
	.top-company__img {
		margin-top: 0;
	}
}
@media screen and (max-width: 767px) {
	.top-company__img {
		width: 767px;
	}
}
.top-company__img--bg {
	z-index: 2;
}
@media screen and (max-width: 767px) {
	.top-company__img--bg {
		width: 767px;
		max-width: none;
	}
}
.top-company__wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 548px;
	z-index: 4;
}
.top-company__headline {
	text-align: center;
}
.top-company__headline .c-headline-en__en,
.top-company__headline .c-headline-en__ja {
	color: #fff;
}
.top-company__button {
	margin-top: 72px;
	text-align: center;
}
@media screen and (max-width: 1320px) {
	.top-company__button {
		margin-top: 48px;
	}
}
.top-company__button .c-button-round {
	border-width: 0;
	width: 330px;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 1320px) {
	.top-company__button .c-button-round {
		width: 250px;
		margin-left: auto;
		margin-right: auto;
	}
}
.top-company .c-slanting-lines.c-slanting-lines--03 {
	bottom: 259px;
	left: calc(50% + 13px);
}
@media screen and (max-width: 767px) {
	.top-company .c-slanting-lines.c-slanting-lines--03 {
		bottom: 103px;
		left: calc(50% + 17px);
	}
}

/* ==============================================
 * Page - service
 */
.s-concept {
	position: relative;
	padding: min(var(--section-row-gap-vw), 230px) 0 min(var(--section-row-gap-vw), 160px);
	max-width: 100%;
	min-height: 54.6vw;
}
@media screen and (max-width: 767px) {
	.s-concept {
		min-height: 0;
	}
}
.s-concept .c-headline-small-en, .s-concept__desc {
	position: relative;
	z-index: 4;
}
.s-concept__desc {
	margin-top: min(6vw, 2.25em);
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 2.375;
	letter-spacing: 0.08em;
	width: 500px;
	max-width: 42vw;
}
@media screen and (max-width: 767px) {
	.s-concept__desc {
		width: auto;
		max-width: none;
	}
}
.s-concept__button {
	margin-top: min(8vw, 54px);
}
@media screen and (max-width: 767px) {
	.s-concept__button .c-button-round {
		width: 21em;
		margin-left: auto;
		margin-right: auto;
	}
}
.s-concept__lead {
	position: absolute;
	right: calc(50vw - 3.808em);
	overflow: hidden;
	z-index: 4;
	font-size: 6.25rem;
	font-size: clamp(6.25rem, 3.5rem + 3.3333333333vw, 7.5rem); /* 100px @1320px - 120px @1920px */
	letter-spacing: 0.05em;
	font-family: var(--font-en);
	white-space: nowrap;
}
@media screen and (max-width: 1920px) {
	.s-concept__lead {
		right: 14vw;
	}
}
@media screen and (max-width: 1320px) {
	.s-concept__lead {
		right: 0;
		left: 0;
		overflow: hidden;
		z-index: 5;
	}
}
@media screen and (max-width: 767px) {
	.s-concept__lead {
		font-size: 3.125rem;
		font-size: clamp(3.125rem, -2.101rem + 17.4216027875vw, 6.25rem); /* 50px @480px - 100px @767px */
	}
}
.s-concept__lead div {
	display: flex;
	flex-wrap: nowrap;
	width: max-content;
}
@media screen and (max-width: 1320px) {
	.s-concept__lead div {
		animation: anim-top-about__en-bg 30s linear infinite;
	}
}
.s-concept__lead span {
	padding-left: 0.3em;
	background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
	color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	white-space: nowrap;
	display: none;
}
@media screen and (max-width: 1320px) {
	.s-concept__lead span {
		display: inline-block;
	}
}
.s-concept__lead span:first-child {
	display: inline-block;
}
.s-concept__lead span:nth-child(even) {
	background: linear-gradient(90deg, var(--color-secondary), var(--color-primary));
	-webkit-background-clip: text;
	background-clip: text;
}
.s-concept__img {
	position: absolute;
	top: calc(50% + min(5vw, 96px));
	transform: translateY(-50%);
	left: calc(50vw - 20px);
	width: min(63.1vw, 1198px);
	height: min(46.5vw, 883px);
	z-index: 3;
}
@media screen and (max-width: 767px) {
	.s-concept__img {
		margin-top: 50px;
		position: relative;
		top: auto;
		transform: none;
		left: auto;
		width: 100%;
		height: 0;
		padding-bottom: 73.7%;
	}
}
.s-concept__img img {
	position: absolute;
	display: block;
	width: 60.5%;
}
.s-concept__img img:nth-child(1) {
	top: 0;
	left: 0;
	z-index: 3;
}
.s-concept__img img:nth-child(2) {
	bottom: 0;
	right: 0;
	z-index: 5;
}

.s-recommend {
	position: relative;
	padding-bottom: min(25vw, 350px);
}
@media screen and (max-width: 767px) {
	.s-recommend {
		padding-bottom: 34vw;
	}
}
.s-recommend__list {
	list-style-type: none;
	padding-left: 0;
	margin-top: min(10vw, 56px);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: min(3vw, 53px) 45px;
}
@media screen and (max-width: 767px) {
	.s-recommend__list {
		column-gap: 3.8%;
	}
}
.s-recommend__list li {
	width: 370px;
	max-width: 46.2%;
	background-color: #fff;
}
@media screen and (max-width: 767px) {
	.s-recommend--management .s-recommend__list li {
		max-width: 100%;
	}
}
.s-recommend__icon img {
	display: block;
	width: 100%;
}
@media screen and (max-width: 767px) {
	.s-recommend--management .s-recommend__icon img {
		width: 230px;
		margin-left: auto;
		margin-right: auto;
	}
}
.s-recommend__caption {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: -0.333em;
	padding-bottom: 1.167em;
	font-size: 1.063rem;
	font-size: clamp(1.063rem, 0.74rem + 1.3756613757vw, 1.875rem); /* 17px @375px - 30px @1320px */
	font-weight: bold;
	line-height: 1.467;
	height: 2.934em;
	box-sizing: content-box;
	text-align: center;
	letter-spacing: 0.14em;
}
.s-recommend--management .s-recommend__caption {
	letter-spacing: 0.05em;
	height: auto;
}
.s-recommend--management li:last-child .s-recommend__caption {
	letter-spacing: 0;
}
.s-recommend__caption:has(+ .s-recommend__small) {
	padding-bottom: 0.4em;
}
.s-recommend__small {
	padding-bottom: 2.389em;
	text-align: center;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.688rem + 0.5291005291vw, 1.125rem); /* 13px @375px - 18px @1320px */
	font-weight: 500;
	letter-spacing: 0.05em;
}
.s-recommend .c-grad-triangle {
	margin: 12px auto 0;
}
.s-recommend__figure {
	margin-top: min(4vw, 30px);
}
.s-recommend__figure img {
	display: block;
	margin: 0 auto;
}
.s-recommend .c-slanting-lines.c-slanting-lines--02 {
	bottom: 360px;
}
@media screen and (max-width: 767px) {
	.s-recommend .c-slanting-lines.c-slanting-lines--02 {
		left: 75vw;
		bottom: 33vw;
	}
}

.s-merit-list {
	padding-left: 0;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	justify-content: space-between;
	align-items: stretch;
	gap: 80px 45px;
}
@media screen and (max-width: 1320px) {
	.s-merit-list {
		grid-template-columns: repeat(2, 1fr);
		gap: 6.1vw 3.4vw;
	}
}
@media screen and (max-width: 767px) {
	.s-merit-list {
		grid-template-columns: none;
		row-gap: 4vw;
	}
}
.s-merit-list li {
	padding: 0 0 13.5%;
	position: relative;
	background-color: #fff;
}
@media screen and (max-width: 767px) {
	.s-merit-list li {
		padding-bottom: 6vw;
	}
}
.s-merit-list__number {
	position: absolute;
	left: 0.25em;
	top: 0;
	margin-top: -0.625em;
	font-weight: 500;
	font-family: var(--font-en);
	font-size: 2.5rem;
	font-size: clamp(2.5rem, 1.508rem + 4.2328042328vw, 5rem); /* 40px @375px - 80px @1320px */
	color: var(--color-primary);
}
.s-merit-list__number::before {
	content: "";
	position: absolute;
	left: 0.025em;
	right: 0.025em;
	bottom: 0;
	height: 3px;
	background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
	.s-merit-list__icon {
		position: absolute;
		top: 0;
		right: 0;
	}
}
.s-merit-list__icon img {
	display: block;
	margin-left: auto;
	width: min(43.2%, 160px);
}
@media screen and (max-width: 767px) {
	.s-merit-list__icon img {
		width: min(26.7%, 160px);
	}
}
.s-merit-list__title, .s-merit-list__desc {
	margin-left: 9.7%;
}
.s-merit-list__title {
	margin-top: 0.267em;
	font-weight: bold;
	letter-spacing: 0.14em;
	font-size: 1.188rem;
	font-size: clamp(1.188rem, 0.915rem + 1.164021164vw, 1.875rem); /* 19px @375px - 30px @1320px */
	line-height: 1.467;
}
@media screen and (max-width: 767px) {
	.s-merit-list__title {
		margin-top: min(15vw, 70px);
	}
}
.s-merit-list__desc {
	margin-top: 1.438em;
	margin-right: 9.7%;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.08em;
	line-height: 1.875;
}

.s-merit {
	position: relative;
}
.s-merit:has(.c-slanting-lines--02) {
	padding-bottom: min(36vw, 350px);
}
.s-merit .s-merit-list {
	margin-top: min(10vw, 80px);
}
.s-merit__etc {
	margin-top: 0.167em;
	margin-right: 0.167em;
	font-weight: 500;
	font-family: var(--font-en);
	text-align: right;
	font-size: 0.938rem;
	font-size: clamp(0.938rem, 0.565rem + 1.5873015873vw, 1.875rem); /* 15px @375px - 30px @1320px */
	letter-spacing: 0.05em;
}
.s-merit .c-slanting-lines.c-slanting-lines--02 {
	bottom: 360px;
}
@media screen and (max-width: 767px) {
	.s-merit .c-slanting-lines.c-slanting-lines--02 {
		left: 75vw;
		bottom: 33vw;
	}
}

.s-img-gallery {
	padding-top: min(var(--section-row-gap-vw), 59px);
	padding-bottom: min(var(--section-row-gap-vw), 350px);
	position: relative;
}
.s-img-gallery__inner {
	margin: 0 auto;
	width: 1920px;
	max-width: 100%;
	position: relative;
}
.s-img-gallery__inner::before {
	content: "";
	display: block;
	padding-bottom: 40.9%;
}
.s-img-gallery__img {
	display: block;
	position: absolute;
}
.s-img-gallery__img--01 {
	left: 0;
	top: 0;
	width: min(39.6%, 760px);
}
.s-img-gallery__img--02 {
	left: 48.6%;
	top: 0;
	margin-top: 6.4%;
	width: min(17.2%, 330px);
}
.s-img-gallery__img--03 {
	left: 31%;
	bottom: 0;
	width: min(26%, 500px);
}
.s-img-gallery__img--04 {
	right: 0;
	bottom: 0;
	margin-bottom: 1.5%;
	width: min(28.1%, 540px);
}
.s-img-gallery .c-slanting-lines.c-slanting-lines--02 {
	bottom: 18%;
}

.s-sticky {
	padding-top: 14px;
	position: relative;
	font-size: 0.688rem;
	font-size: clamp(0.688rem, 0.254rem + 0.904159132vw, 1rem); /* 11px @767px - 16px @1320px */
}
.s-sticky__nav {
	position: absolute;
	top: 42px;
	right: calc(50vw + 430px);
	bottom: 0;
	border-right: 1px solid #ccc;
	z-index: 25;
}
@media screen and (max-width: 1450px) {
	.s-sticky__nav {
		right: auto;
		left: 0;
	}
}
@media screen and (max-width: 767px) {
	.s-sticky__nav {
		display: none;
	}
}
.s-sticky__nav ol {
	position: sticky;
	top: 102px;
	left: 0;
	right: 0;
	list-style-type: none;
	padding: 46px 0;
}
.s-sticky__nav li {
	margin: 1.2em 0 0;
	font-weight: bold;
}
.s-sticky__nav li:first-child {
	margin-top: 0;
}
.s-sticky__nav a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0 0.3em;
	padding: 0.9em 0px 0.9em 0.8em;
	width: 15.625em;
	color: #000;
	text-decoration: none;
	transition: all 0.3s;
}
.s-sticky__nav a:hover {
	color: var(--color-primary);
}
.s-sticky__nav a::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(100% - 1px);
	display: block;
	width: 15px;
	background-color: var(--color-primary);
	clip-path: polygon(0 0, 1px 0, 100% 50%, 1px 100%, 0 100%);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s;
}
.s-sticky__nav span {
	position: relative;
	width: 2em;
	height: 2em;
	display: block;
}
.s-sticky__nav span img {
	display: block;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: opacity 0.3s;
}
.s-sticky__nav span img:last-child {
	opacity: 0;
}
.s-sticky__nav a.s-sticky__scroll--active {
	background-color: var(--color-primary);
	color: #fff;
}
.s-sticky__nav a.s-sticky__scroll--active:hover {
	color: #fff;
}
.s-sticky__nav a.s-sticky__scroll--active::after {
	opacity: 1;
}
.s-sticky__nav a.s-sticky__scroll--active span img:first-child {
	opacity: 0;
}
.s-sticky__nav a.s-sticky__scroll--active span img:last-child {
	opacity: 1;
}
.s-sticky__inner {
	position: relative;
	width: 1450px;
	max-width: 100%;
	margin: 0 auto;
	padding-left: calc(var(--padding-wrap) + 315px);
	padding-right: calc(var(--padding-wrap) + 15px);
}
@media screen and (max-width: 1450px) {
	.s-sticky__inner {
		padding-left: calc(4vw + 15.625em);
		padding-right: 4vw;
	}
}
@media screen and (max-width: 767px) {
	.s-sticky__inner {
		padding-left: var(--padding-wrap);
		padding-right: var(--padding-wrap);
	}
}
.s-sticky__contents {
	flex-grow: 1;
}

.s-grad-box {
	background-color: #f6f6f6;
}
.s-grad-box__head {
	position: relative;
	background: linear-gradient(30deg, var(--color-primary) 30%, var(--color-secondary) 70%);
	font-size: 1.25rem;
	font-size: clamp(1.25rem, 0.853rem + 1.6931216931vw, 2.25rem); /* 20px @375px - 36px @1320px */
	overflow: hidden;
	clip-path: polygon(0 0, 100% 0, 100% 81%, 50% 100%, 0 81%);
}
@media screen and (max-width: 767px) {
	.s-grad-box__head {
		clip-path: polygon(0 0, 100% 0, 100% 87%, 50% 100%, 0 87%);
	}
}
.s-grad-box__title {
	padding: min(4.5vw, 59px) min(3.8vw, 50px) 2.222em min(5vw, 66px);
	font-size: inherit;
	line-height: 1.667;
	font-weight: bold;
	color: #fff;
}
@media screen and (max-width: 767px) {
	.s-grad-box__title {
		padding: 5vw 5vw 11vw 7vw;
	}
}
.s-grad-box__point {
	position: absolute;
	bottom: 0.1em;
	right: 0;
	display: flex;
	flex-direction: column;
	font-size: 5.625rem;
	font-size: clamp(5.625rem, 2.897rem + 11.6402116402vw, 12.5rem); /* 90px @375px - 200px @1320px */
}
.s-grad-box__point span {
	display: block;
	font-family: var(--font-en);
	color: #fff;
	opacity: 0.15;
	text-align: center;
}
.s-grad-box__point span:first-child {
	font-size: 0.2em;
	line-height: 1;
	font-weight: 600;
	letter-spacing: 0.36em;
}
.s-grad-box__point span:last-child {
	margin-top: -0.11em;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
}
.s-grad-box__content {
	padding: 36px min(5.2vw, 69px) min(6.1vw, 80px);
}
@media screen and (max-width: 767px) {
	.s-grad-box__content {
		padding: 4vw;
	}
}
.s-grad-box__desc {
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 2.375;
	letter-spacing: 0.08em;
}
.s-grad-box__desc p {
	margin-top: 2.375em;
}
.s-grad-box__desc p:first-child {
	margin-top: 0;
}
.s-grad-box__headline {
	margin-top: min(9vw, 60px);
	padding: 0.5em 1.045em 0.636em;
	position: relative;
	font-size: 1rem;
	font-size: clamp(1rem, 0.851rem + 0.6349206349vw, 1.375rem); /* 16px @375px - 22px @1320px */
	letter-spacing: 0.05em;
	background: #fff;
}
.s-grad-box__headline::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 60px;
	height: 3px;
	background-color: var(--color-primary);
}
.s-grad-box__button {
	margin-top: min(5vw, 46px);
}
.s-grad-box__button .c-button-round {
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 767px) {
	.s-grad-box__button--hotel-management .c-button-round {
		width: 20em;
	}
}

.s-triangle-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: min(4vw, 28px) min(3vw, 22px);
	align-items: stretch;
	list-style-type: none;
	padding-left: 0;
}
@media screen and (max-width: 767px) {
	.s-triangle-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
.s-triangle-grid li {
	background-color: #fff;
	position: relative;
	max-width: 270px;
	margin: 0 3px 3px 0;
}
.s-triangle-grid li::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 3px;
	left: 3px;
	background: linear-gradient(45deg, var(--color-primary) 10%, var(--color-secondary) 90%);
}
.s-triangle-grid li::after {
	content: "";
	position: absolute;
	margin-top: 77.8%;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	display: block;
	background-color: var(--color-secondary);
	clip-path: polygon(0 0, 0% 100%, 100% 0);
}
.s-triangle-grid li img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	z-index: 2;
}
.s-triangle-grid__text {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: calc(77.8% + 0.6em) 1em 0.9em;
	height: 100%;
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.651rem + 0.4232804233vw, 1rem); /* 12px @375px - 16px @1320px */
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.05em;
	background-color: #fff;
}
.s-triangle-grid__text--01 {
	padding-left: 0;
	padding-right: 0;
	white-space: nowrap;
}
@media screen and (max-width: 1250px) {
	.s-triangle-grid__text--01 {
		padding-left: 1em;
		padding-right: 1em;
		white-space: normal;
	}
}
.s-triangle-grid__text--01 br {
	display: none;
}
@media screen and (max-width: 1250px) {
	.s-triangle-grid__text--01 br {
		display: inline;
	}
}
.s-triangle-grid--blue li::after {
	background-color: var(--color-primary);
}
.s-triangle-grid--only-text {
	margin-top: min(5vw, 55px);
	gap: min(2vw, 19px) min(3vw, 30px);
}
.s-triangle-grid--only-text li {
	border-style: solid;
	border-width: 1px;
	border-image: linear-gradient(180deg, var(--color-secondary) 0%, var(--color-primary) 100%);
	border-image-slice: 1;
	max-width: none;
}
.s-triangle-grid--only-text li::after {
	content: none;
}
.s-triangle-grid--only-text li.s-triangle-grid__etc {
	border-width: 0;
	display: flex;
	justify-content: start;
	align-items: end;
	font-size: 1rem;
	font-size: clamp(1rem, 0.802rem + 0.8465608466vw, 1.5rem); /* 16px @375px - 24px @1320px */
	font-weight: 500;
	letter-spacing: 0.05em;
	font-family: var(--font-en);
}
.s-triangle-grid--only-text li.s-triangle-grid__etc::before {
	content: none;
}
.s-triangle-grid--only-text .s-triangle-grid__text {
	justify-content: start;
	padding: 1.263em 0 1.263em 1.526em;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.664rem + 0.6349206349vw, 1.188rem); /* 13px @375px - 19px @1320px */
	letter-spacing: 0;
	text-align: left;
}
@media screen and (max-width: 1320px) {
	.s-triangle-grid--only-text .s-triangle-grid__text {
		padding-left: 1em;
		padding-right: 1em;
		justify-content: center;
		text-align: center;
	}
}

.s-twotone-list {
	margin-top: min(4vw, 42px);
	padding: min(5vw, 38px) min(5vw, 36px);
	list-style-type: none;
	background-color: #fff;
}
.s-twotone-list li {
	padding: 37px 0 35px;
	display: flex;
	flex-wrap: nowrap;
	gap: 3vw 30px;
	justify-content: space-between;
	border-top: 1px solid #ccc;
}
@media screen and (max-width: 1320px) {
	.s-twotone-list li {
		flex-direction: column;
	}
}
.s-twotone-list li:first-child {
	padding-top: 0;
	border-top-width: 0;
}
.s-twotone-list li:last-child {
	padding-bottom: 0;
}
.s-twotone-list__texts {
	flex-grow: 1;
}
.s-twotone-list__headline {
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 1.026rem + 0.4232804233vw, 1.375rem); /* 18px @375px - 22px @1320px */
	font-weight: bold;
	letter-spacing: 0.05em;
}
.s-twotone-list .c-headline-twotone::before, .s-twotone-list .c-headline-twotone::after {
	top: 0.3em;
	transform: skew(-18deg, 0);
}
.s-twotone-list .c-headline-twotone::after {
	left: calc(0.364em + 2px + 4px);
}
.s-twotone-list__desc {
	margin-top: 0.75em;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.05em;
	line-height: 1.875;
}
.s-twotone-list__link {
	margin-top: 2.375em;
	text-align: right;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
}
.s-twotone-list__link a {
	color: #000;
	text-decoration: none;
	transition: color 0.2s;
}
.s-twotone-list__link a:hover {
	color: var(--color-primary);
}
.s-twotone-list__img img {
	display: block;
	width: 200px;
	min-width: 200px;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 767px) {
	.s-twotone-list__img img {
		min-width: 0;
	}
}
.s-twotone-list--240w .s-twotone-list__img img {
	width: 240px;
	min-width: 240px;
}
@media screen and (max-width: 767px) {
	.s-twotone-list--240w .s-twotone-list__img img {
		min-width: 0;
	}
}

.s-capability {
	position: relative;
	padding-bottom: min(var(--section-row-gap-vw), 130px);
}
@media screen and (max-width: 767px) {
	.s-capability {
		padding-bottom: 24vw;
	}
}
.s-capability.c-triangle-bottom-left--noize {
	padding-bottom: min(19vw, 290px);
}
@media screen and (max-width: 767px) {
	.s-capability.c-triangle-bottom-left--noize {
		padding-bottom: 33vw;
	}
}
.s-capability .c-slanting-lines.c-slanting-lines--01 {
	top: 27.6%;
}
@media screen and (max-width: 767px) {
	.s-capability .c-slanting-lines.c-slanting-lines--01 {
		display: none;
	}
}
.s-capability .s-grad-box {
	margin-top: min(6vw, 62px);
}
.s-capability .s-triangle-grid {
	margin-top: min(5vw, 50px);
}
.s-capability__etc {
	font-size: 1rem;
	font-size: clamp(1rem, 0.802rem + 0.8465608466vw, 1.5rem); /* 16px @375px - 24px @1320px */
	letter-spacing: 0.05em;
	font-family: var(--font-en);
	font-weight: 500;
	text-align: right;
	padding-right: 0.5em;
}
.s-capability__button {
	margin-top: min(5vw, 37px);
}
.s-capability__button .c-button-round {
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 767px) {
	.s-capability__button .c-button-round {
		width: 285px;
	}
}
.s-capability .c-slanting-lines.c-slanting-lines--03 {
	left: calc(50% + 723px);
	bottom: 40%;
}
@media screen and (max-width: 767px) {
	.s-capability .c-slanting-lines.c-slanting-lines--03 {
		display: none;
	}
}
.s-capability .c-slanting-lines.c-slanting-lines--04 {
	right: calc(50% + 529px);
	bottom: 8.8%;
}
@media screen and (max-width: 767px) {
	.s-capability .c-slanting-lines.c-slanting-lines--04 {
		right: 4vw;
		bottom: 19vw;
	}
}

.s-slanting-card {
	margin-top: 45px;
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	background-color: #fff;
}
@media screen and (max-width: 767px) {
	.s-slanting-card {
		flex-direction: column;
	}
}
.s-slanting-card__texts {
	flex-grow: 1;
}
.s-slanting-card__headline {
	position: relative;
	padding: 0.5em 1.5em 0.7em 1.8em;
	display: inline-block;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.639rem + 0.7407407407vw, 1.25rem); /* 13px @375px - 20px @1320px */
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.05em;
	background: var(--color-secondary);
}
.s-slanting-card__headline::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(100% - 1px);
	width: 0.8em;
	height: 100%;
	background: var(--color-secondary);
	clip-path: polygon(0 0, 100% 0, 1px 100%, 0% 100%);
}
.s-slanting-card .c-green-check-list {
	padding: 2.111em 0 2.111em 3.3vw;
}
@media screen and (max-width: 767px) {
	.s-slanting-card .c-green-check-list {
		padding-top: 4vw;
		padding-right: 3.3vw;
	}
}
.s-slanting-card__img {
	padding: 3.7% 5.8% 3.7% 3.7%;
}
@media screen and (max-width: 767px) {
	.s-slanting-card__img {
		padding-top: 0;
	}
}
.s-slanting-card__img img {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.s-slanting-card + .s-slanting-card {
	margin-top: min(4vw, 32px);
}

.s-link-overlap {
	margin: min(5vw, 38px) -20px 0 0;
	padding-left: 0;
	list-style-type: none;
	display: flex;
	justify-content: space-between;
	gap: 4vw 40px;
	flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
	.s-link-overlap {
		flex-direction: column;
		width: 350px;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}
.s-link-overlap .c-link-overlap {
	max-width: 420px;
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.726rem + 0.6349206349vw, 1.25rem); /* 14px @375px - 20px @1320px */
}
.s-link-overlap .c-link-overlap__img::after {
	z-index: 0;
	top: 20px;
	left: 20px;
}
.s-link-overlap .c-link-overlap__text {
	margin-left: 20px;
}
.s-link-overlap .c-link-overlap:hover .c-link-overlap__img::after {
	top: 22px;
}

.s-gray-box {
	font-size: 1.063rem;
	font-size: clamp(1.063rem, 0.591rem + 2.0105820106vw, 2.25rem); /* 17px @375px - 36px @1320px */
	margin-top: min(6vw, 66px);
	padding: 1.556em 1.833em 1.389em;
	border: 5px solid #eee;
}
@media screen and (max-width: 767px) {
	.s-gray-box {
		padding: 5vw;
	}
}
.s-gray-box__title {
	padding-bottom: min(4vw, 0.972em);
	line-height: 1.667;
	letter-spacing: 0.05em;
	font-weight: bold;
	text-align: center;
	border-bottom: 1px solid #ccc;
}
.s-gray-box__desc {
	margin-top: min(4vw, 2.875em);
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 2.375;
	letter-spacing: 0.08em;
}
.s-gray-box .c-twotone-list {
	margin-top: min(4vw, 26px);
	padding: 2.063em 1.875em;
	background-color: #f6f6f6;
}
@media screen and (max-width: 767px) {
	.s-gray-box .c-twotone-list {
		padding: 4vw;
	}
}
.s-gray-box__button {
	margin-top: min(7vw, 40px);
}
.s-gray-box__button .c-button-round {
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 767px) {
	.s-gray-box__button .c-button-round {
		width: 21em;
	}
}

.s-triangle-list {
	margin-top: min(4vw, 60px);
	padding-left: 0;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: stretch;
	gap: 4vw 38px;
}
@media screen and (max-width: 1320px) {
	.s-triangle-list {
		grid-template-columns: none;
	}
}
.s-triangle-list li {
	padding: 29px 31px 33px;
	position: relative;
	background-color: #fff;
}
.s-triangle-list li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	clip-path: polygon(0 0, 0% 100%, 100% 0);
	width: 60px;
	height: 60px;
	background-color: var(--color-primary);
}
.s-triangle-list__title {
	position: relative;
	margin-right: -31px;
	padding-left: 3.042em;
	padding-top: 0.5em;
	font-size: 1rem;
	font-size: clamp(1rem, 0.802rem + 0.8465608466vw, 1.5rem); /* 16px @375px - 24px @1320px */
	letter-spacing: 0.05em;
	font-weight: bold;
}
.s-triangle-list__title::before {
	content: "";
	position: absolute;
	display: block;
	top: 0.417em;
	left: 2.167em;
	height: 100%;
	width: 1px;
	background-color: #000;
}
.s-triangle-list__number {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 0.579rem + 2.328042328vw, 2.5rem); /* 18px @375px - 40px @1320px */
	font-weight: 500;
	font-family: var(--font-en);
	color: var(--color-primary);
}
.s-triangle-list__small {
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.718rem + 0.4021164021vw, 1.05rem); /* 13px @375px - 16.8px @1320px */
}
.s-triangle-list__img {
	margin-top: 20px;
}
.s-triangle-list__img img {
	display: block;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.s-triangle-list__desc {
	margin-top: 18px;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 1.875;
	letter-spacing: 0.08em;
}

.s-model-list {
	padding-left: 0;
	list-style-type: none;
}
.s-model-list > li {
	margin-top: min(4vw, 30px);
	position: relative;
	padding: min(4vw, 30px) min(4vw, 30px) min(4vw, 30px) min(4vw, 48px);
	border: 5px solid #eee;
	display: flex;
	justify-content: space-between;
	gap: 4vw 5%;
}
@media screen and (max-width: 1320px) {
	.s-model-list > li {
		flex-direction: column;
	}
}
.s-model-list > li::before {
	content: "";
	position: absolute;
	top: -5px;
	left: -5px;
	display: block;
	clip-path: polygon(0 0, 0% 100%, 100% 0);
	width: min(7vw, 60px);
	height: min(7vw, 60px);
	background-color: var(--color-primary);
}
.s-model-list > li:first-child {
	margin-top: 0;
}
.s-model-list__texts {
	flex: 1;
}
.s-model-list__headline {
	padding: 0 0 0.769em;
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 0.927rem + 0.8465608466vw, 1.625rem); /* 18px @375px - 26px @1320px */
	font-weight: bold;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #ccc;
	line-height: 1.2;
}
.s-model-list__small {
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.688rem + 0.5291005291vw, 1.125rem); /* 13px @375px - 18px @1320px */
	letter-spacing: 0.05em;
}
.s-model-list__desc {
	margin-top: 1em;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 1.875;
	letter-spacing: 0.08em;
}
.s-model-list__img img {
	display: block;
	margin-left: auto;
	margin-right: auto;
	min-width: min(39.6%, 360px);
	width: 360px;
}

.s-model {
	padding-bottom: min(var(--section-row-gap-vw), 330px);
}
.s-model__desc {
	margin-top: min(5vw, 50px);
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 2.375;
	letter-spacing: 0.08em;
}
.s-model .s-model-list {
	margin-top: min(4vw, 40px);
}
.s-model__closing {
	margin-top: 1.1em;
	text-align: center;
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.726rem + 0.6349206349vw, 1.25rem); /* 14px @375px - 20px @1320px */
	letter-spacing: 0.05em;
	font-weight: bold;
}
.s-model__closing strong {
	font-size: 1rem;
	font-size: clamp(1rem, 0.702rem + 1.2698412698vw, 1.75rem); /* 16px @375px - 28px @1320px */
	color: var(--color-primary);
}

.s-before-after__top {
	position: relative;
	margin-top: min(4vw, 40px);
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(2, 1fr);
	gap: 12vw min(7.5%, 62px);
}
@media screen and (max-width: 767px) {
	.s-before-after__top {
		grid-template-columns: none;
		justify-content: center;
	}
}
.s-before-after__top::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: linear-gradient(90deg, rgba(4, 100, 188, 0) 20%, rgb(4, 100, 188) 55%);
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	width: min(4.2%, 35px);
	padding-bottom: min(14.1%, 117px);
}
@media screen and (max-width: 767px) {
	.s-before-after__top::before {
		background: linear-gradient(180deg, rgba(4, 100, 188, 0) 20%, rgb(4, 100, 188) 55%);
		clip-path: polygon(0 0, 50% 100%, 100% 0);
		width: 31.2vw;
		padding-bottom: 9.3vw;
	}
}
.s-before-after__list {
	margin-top: min(4vw, 40px);
	padding-left: 0;
	list-style-type: none;
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
	gap: 4vw 11px;
}
@media screen and (max-width: 767px) {
	.s-before-after__list {
		flex-wrap: wrap;
		justify-content: center;
	}
}
@media screen and (max-width: 767px) {
	.s-before-after__list .s-before-after__item {
		width: calc(50% - 6px);
	}
}
@media screen and (max-width: 1320px) {
	.s-before-after__list .s-before-after__item {
		width: auto;
	}
}
.s-before-after__item {
	position: relative;
	flex-grow: 1;
}
@media screen and (max-width: 767px) {
	.s-before-after__item {
		flex-grow: 0;
	}
}
.s-before-after__item img {
	display: block;
	width: 100%;
}
.s-before-after__before, .s-before-after__after {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	display: block;
	font-family: var(--font-en);
	color: #fff;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.589rem + 0.9523809524vw, 1.375rem); /* 13px @375px - 22px @1320px */
	letter-spacing: 0.05em;
	text-align: center;
	width: 5em;
	line-height: 1.818em;
	font-weight: 500;
}
.s-before-after__before::before, .s-before-after__after::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(100% - 1px);
	width: 0.8em;
	height: 100%;
	clip-path: polygon(0 0, 100% 0, 1px 100%, 0% 100%);
}
.s-before-after__before, .s-before-after__before::before {
	background: var(--color-secondary);
}
.s-before-after__after, .s-before-after__after::before {
	background: var(--color-primary);
}

.s-flow-step {
	margin-top: min(5vw, 34px);
	padding-left: 0;
	list-style-type: none;
	background-color: #fff;
	padding: 26px 21px;
	display: flex;
	align-items: stretch;
}
@media screen and (max-width: 767px) {
	.s-flow-step {
		padding: 3vw;
		display: block;
	}
}
.s-flow-step li {
	flex: 1;
	position: relative;
}
@media screen and (max-width: 767px) {
	.s-flow-step li {
		flex: none !important;
		padding-bottom: 30px;
	}
}
.s-flow-step li::before {
	content: "";
	position: absolute;
	top: 88px;
	left: 0;
	bottom: 0;
	display: block;
	width: 1px;
	background-color: #ccc;
}
@media screen and (max-width: 767px) {
	.s-flow-step li::before {
		content: none;
	}
}
@media screen and (max-width: 767px) {
	.s-flow-step li::after {
		content: "";
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: 5px;
		width: 30px;
		height: 13px;
		clip-path: polygon(0 0, 50% 100%, 100% 0);
	}
}
.s-flow-step li:first-child {
	flex: 0.95;
}
.s-flow-step li:first-child::before {
	content: none;
}
.s-flow-step__title {
	padding: 0.409em 0;
	position: absolute;
	left: 13px;
	right: 0;
	top: 0;
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.677rem + 0.8465608466vw, 1.375rem); /* 14px @375px - 22px @1320px */
	letter-spacing: 0.05em;
	font-weight: bold;
	color: #fff;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.s-flow-step__title {
		position: relative;
		left: auto;
		right: auto;
	}
}
.s-flow-step__title, .s-flow-step__title::before {
	background-color: var(--color-secondary);
}
.s-flow-step__title::before {
	content: "";
	position: absolute;
	left: calc(100% - 1px);
	top: 0;
	display: block;
	width: 14px;
	height: 100%;
	clip-path: polygon(0 0, 1px 0, 100% 50%, 1px 100%, 0 100%);
}
@media screen and (max-width: 767px) {
	.s-flow-step__title::before {
		content: none;
	}
}
.s-flow-step__icon {
	margin-top: 88px;
}
@media screen and (max-width: 767px) {
	.s-flow-step__icon {
		margin-top: 3vw;
	}
}
.s-flow-step__icon img {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 1320px) {
	.s-flow-step__icon img {
		width: min(39.4%, 104px);
	}
}
.s-flow-step__link {
	margin: 1.875em 0 0.75em;
	text-align: center;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.738rem + 0.3174603175vw, 1rem); /* 13px @375px - 16px @1320px */
}
@media screen and (max-width: 767px) {
	.s-flow-step__link {
		margin-top: 0;
	}
}
.s-flow-step__link .c-link-after-arrow {
	color: #000;
	transition: color 0.2s;
	text-decoration: none;
}
@media screen and (max-width: 1320px) {
	.s-flow-step__link .c-link-after-arrow {
		display: block;
		padding-right: 0;
		padding-bottom: 2.5em;
	}
}
@media screen and (max-width: 767px) {
	.s-flow-step__link .c-link-after-arrow {
		display: inline-block;
		padding-right: 2.5em;
		padding-bottom: 0;
	}
}
@media screen and (max-width: 1320px) {
	.s-flow-step__link .c-link-after-arrow::before, .s-flow-step__link .c-link-after-arrow::after {
		top: auto;
		bottom: 0;
		left: 50%;
		right: auto;
		transform: translateX(-50%);
	}
}
@media screen and (max-width: 767px) {
	.s-flow-step__link .c-link-after-arrow::before, .s-flow-step__link .c-link-after-arrow::after {
		top: 50%;
		transform: translateY(-50%);
		bottom: auto;
		left: auto;
		right: 0;
	}
}
@media screen and (max-width: 1320px) {
	.s-flow-step__link .c-link-after-arrow::after {
		bottom: 0.8em;
	}
}
@media screen and (max-width: 767px) {
	.s-flow-step__link .c-link-after-arrow::after {
		bottom: auto;
		right: 0.4em;
	}
}
.s-flow-step__link .c-link-after-arrow:hover {
	color: var(--color-primary);
}
.s-flow-step li:first-child::after {
	background-color: #7fd6ca;
}
.s-flow-step li:first-child .s-flow-step__title {
	left: 0;
}
.s-flow-step li:first-child .s-flow-step__title, .s-flow-step li:first-child .s-flow-step__title::before {
	background-color: #7fd6ca;
}
.s-flow-step li:nth-child(2)::after {
	background-color: #33beaa;
}
.s-flow-step li:nth-child(2) .s-flow-step__title, .s-flow-step li:nth-child(2) .s-flow-step__title::before {
	background-color: #33beaa;
}
@media screen and (max-width: 767px) {
	.s-flow-step li:last-child {
		padding-bottom: 0;
	}
}
@media screen and (max-width: 767px) {
	.s-flow-step li:last-child::after {
		content: none;
	}
}
.s-flow-step li:last-child .s-flow-step__icon,
.s-flow-step li:last-child .s-flow-step__link {
	margin-right: -15px;
}

.s-support {
	position: relative;
	padding-bottom: min(24vw, 390px);
}
.s-support .c-slanting-lines.c-slanting-lines--04 {
	right: calc(50% + 529px);
	top: 43%;
}
@media screen and (max-width: 767px) {
	.s-support .c-slanting-lines.c-slanting-lines--04 {
		top: -15vw;
		right: 4vw;
	}
}

.s-round-list {
	position: relative;
}
.s-round-list::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	margin-top: 15.1%;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(190deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 50%);
}
.s-round-list__list {
	margin-top: min(5vw, 63px);
	padding-left: 0;
	list-style-type: none;
	display: flex;
	justify-content: space-between;
	gap: 4vw 0;
}
@media screen and (max-width: 767px) {
	.s-round-list__list {
		justify-content: center;
		column-gap: 4vw;
		flex-wrap: wrap;
	}
}
.s-round-list__list > li {
	position: relative;
	width: 30.3%;
	padding-bottom: 30.3%;
	border-radius: 50%;
	background-color: #fff;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, -0.141rem + 1.9891500904vw, 1.5rem); /* 13px @767px - 24px @1320px */
}
@media screen and (max-width: 767px) {
	.s-round-list__list > li {
		width: 11.538em;
		padding-bottom: 11.538em;
		font-size: 0.813rem;
		font-size: clamp(0.813rem, 0.394rem + 1.393728223vw, 1.063rem); /* 13px @480px - 17px @767px */
	}
}
.s-round-list__list > li::before, .s-round-list__list > li::after {
	content: "";
	position: absolute;
	display: block;
	border-radius: 50%;
}
.s-round-list__list > li::before {
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: linear-gradient(225deg, var(--color-secondary), var(--color-primary));
}
.s-round-list__list > li::after {
	top: 4px;
	left: 4px;
	bottom: 4px;
	right: 4px;
	background-color: #fff;
	z-index: 1;
}
.s-round-list__list > li img {
	display: block;
	position: absolute;
	top: 0;
	margin-top: 9.2%;
	left: 50%;
	transform: translateX(-50%);
	width: 38.3%;
	z-index: 2;
}
.s-round-list__list > li p {
	position: absolute;
	top: 0;
	margin-top: 47.5%;
	left: 0;
	right: 0;
	text-align: center;
	font-weight: 900;
	line-height: 1.417;
	color: var(--color-primary);
	z-index: 2;
}
.s-round-list__box {
	position: relative;
	padding: 1.25em 1em 2.9em;
	line-height: 1.4;
	text-align: center;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	font-weight: bold;
	letter-spacing: 0.05em;
}
.s-round-list__box strong {
	color: var(--color-primary);
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 0.877rem + 1.0582010582vw, 1.75rem); /* 18px @375px - 28px @1320px */
}

.s-grad-closing {
	margin-top: -30px;
}
@media screen and (max-width: 767px) {
	.s-grad-closing {
		margin-top: 0;
	}
}
.s-grad-closing .c-grad-triangle {
	margin-left: auto;
	margin-right: auto;
}
.s-grad-closing__text {
	margin-top: 26px;
	padding: 0.75em 2em 1.5em;
	border-width: 4px;
	border-style: solid;
	border-image: linear-gradient(90deg, var(--color-primary), var(--color-secondary)) 1;
	background-color: #fff;
	font-weight: bold;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 2;
	text-align: center;
}
@media screen and (max-width: 767px) {
	body.slug-hotel-management .s-capability .s-grad-closing__text {
		text-align: left;
	}
}
.s-grad-closing__text strong {
	color: var(--color-primary);
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 0.877rem + 1.0582010582vw, 1.75rem); /* 18px @375px - 28px @1320px */
}

.s-mini-gallery {
	position: relative;
	margin: -4% -2.9% 0 -1.8%;
	padding-bottom: 39.3%;
}
.s-mini-gallery img {
	position: absolute;
	display: block;
}
.s-mini-gallery img:nth-child(1) {
	left: 0;
	top: 0;
	width: min(43%, 450px);
}
.s-mini-gallery img:nth-child(2) {
	right: 0;
	top: 0;
	margin-top: 5%;
	width: min(32%, 335px);
}
.s-mini-gallery img:nth-child(3) {
	left: 53.1%;
	bottom: 0;
	margin-bottom: -3.5%;
	width: min(25.8%, 270px);
}

.s-rate-round {
	position: relative;
	padding-top: 64px;
}
.s-rate-round__img {
	display: flex;
	justify-content: center;
}
@media screen and (max-width: 767px) {
	.s-rate-round__img {
		flex-direction: column;
		align-items: center;
	}
}
.s-rate-round__img img {
	display: block;
	width: min(33.333%, 286px);
}
@media screen and (max-width: 767px) {
	.s-rate-round__img img {
		width: 286px;
		max-width: 100%;
	}
}
.s-rate-round .c-rate-round {
	position: absolute;
	right: -0.6em;
	top: 0;
}
@media screen and (max-width: 767px) {
	.s-rate-round .c-rate-round {
		right: auto;
		left: calc(50% + 40px);
	}
}
@media screen and (max-width: 480px) {
	.s-rate-round .c-rate-round {
		right: 0;
		left: auto;
	}
}
.s-rate-round__notice {
	margin-top: 0.3em;
	text-align: right;
	font-size: 0.625rem;
	font-size: clamp(0.625rem, 0.526rem + 0.4232804233vw, 0.875rem); /* 10px @375px - 14px @1320px */
	letter-spacing: 0.08em;
}
.s-rate-round__button {
	margin-top: min(4vw, 28px);
}
.s-rate-round__button .c-button-round {
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 767px) {
	.s-rate-round__button .c-button-round {
		width: 21.5em;
		max-width: 100%;
	}
}

.s-compatible-list {
	margin-top: min(4vw, 50px);
}
.s-compatible-list__list {
	padding-left: 0;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(4vw, 50px) min(4.6%, 40px);
	text-align: center;
}
@media screen and (max-width: 1320px) {
	.s-compatible-list__list {
		grid-template-columns: none;
	}
}
.s-compatible-list__list > li {
	position: relative;
	padding: min(4vw, 40px) min(4vw, 30px) min(4vw, 30px);
	background-color: #fff;
}
.s-compatible-list__title {
	padding-left: 3.083em;
	text-align: left;
	font-size: 1.063rem;
	font-size: clamp(1.063rem, 0.889rem + 0.7407407407vw, 1.5rem); /* 17px @375px - 24px @1320px */
	letter-spacing: 0.05em;
	font-weight: bold;
}
.s-compatible-list__img {
	margin-top: 17px;
}
.s-compatible-list__img img {
	display: block;
	margin: 0 auto;
	width: 350px;
}
.s-compatible-list__place {
	margin-top: 1em;
	display: inline-block;
	padding: 0 1.25em;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.08em;
	line-height: 2.375em;
	border: 1px solid var(--color-primary);
	border-radius: 9999px;
	color: var(--color-primary);
}
.s-compatible-list__before {
	margin-top: 0.313em;
	font-weight: bold;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.05em;
}
.s-compatible-list .c-grad-triangle {
	margin: 4px auto 0;
	width: 77px;
	padding-bottom: 23px;
}
.s-compatible-list__after {
	font-weight: bold;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.05em;
	color: var(--color-primary);
}
.s-compatible-list .c-rate-round {
	position: absolute;
	top: -0.294em;
	left: -1.029em;
	font-size: 1.25rem;
	font-size: clamp(1.25rem, 0.903rem + 1.4814814815vw, 2.125rem); /* 20px @375px - 34px @1320px */
	width: 3.853em;
	height: 3.853em;
}
.s-compatible-list .c-rate-round__title {
	font-size: 0.688rem;
	font-size: clamp(0.688rem, 0.563rem + 0.5291005291vw, 1rem); /* 11px @375px - 16px @1320px */
}
@media screen and (max-width: 767px) {
	.s-compatible-list .c-rate-round__title {
		margin-top: 1em;
	}
}
.s-compatible-list .c-rate-round__percentage {
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
}
.s-compatible-list .c-rate-round__en {
	font-size: 1.25rem;
	font-size: clamp(1.25rem, 0.903rem + 1.4814814815vw, 2.125rem); /* 20px @375px - 34px @1320px */
}
.s-compatible-list__notice {
	margin-top: 1.063em;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 1.875;
	letter-spacing: 0.08em;
}

.s-icon-list {
	margin-top: min(4vw, 38px);
	padding-left: 0;
	list-style-type: none;
	display: flex;
	flex-direction: column;
	gap: min(4vw, 30px) 0;
	counter-reset: s-icon-list;
}
.s-icon-list > li {
	position: relative;
	padding: 0 min(6vw, 26px) min(6vw, 40px) 0;
	background-color: #fff;
	width: 100%;
	display: flex;
	overflow: hidden;
	gap: 0 min(4vw, 15px);
}
@media screen and (max-width: 767px) {
	.s-icon-list > li {
		flex-direction: column;
		padding-left: min(6vw, 40px);
	}
}
.s-icon-list > li::before {
	counter-increment: s-icon-list;
	content: "0" counter(s-icon-list);
	position: absolute;
	top: -0.188em;
	left: -0.05em;
	font-weight: 500;
	font-family: var(--font-en);
	color: var(--color-primary);
	font-size: 2.5rem;
	font-size: clamp(2.5rem, 1.508rem + 4.2328042328vw, 5rem); /* 40px @375px - 80px @1320px */
	line-height: 1;
	opacity: 0.2;
}
.s-icon-list__icon {
	position: relative;
	margin: 20px 0 0 20px;
	width: min(15.1%, 130px);
}
@media screen and (max-width: 767px) {
	.s-icon-list__icon {
		margin-left: auto;
		margin-right: auto;
		width: 80px;
	}
}
.s-icon-list__texts {
	flex: 1;
}
.s-icon-list__title {
	margin-top: min(4vw, 38px);
	color: var(--color-primary);
	font-weight: bold;
	letter-spacing: 0.05em;
	font-size: 1.063rem;
	font-size: clamp(1.063rem, 0.938rem + 0.5291005291vw, 1.375rem); /* 17px @375px - 22px @1320px */
}
.s-icon-list__desc {
	margin-top: 0.875em;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.08em;
	line-height: 1.875;
}

.s-management-figure {
	margin: min(5vw, 44px) 0 0;
	padding-left: 0;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 min(4vw, 40px);
	align-items: stretch;
}
.s-management-figure li {
	padding: min(4vw, 24px) 0;
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.s-management-figure li img {
	width: min(53.8%, 221px);
}
@media screen and (max-width: 767px) {
	.s-management-figure li img {
		width: min(70%, 221px);
	}
}

.s-partnership {
	padding-bottom: min(var(--section-row-gap-vw), 330px);
}
.s-partnership__list {
	margin: min(5vw, 44px) 0 0;
	list-style-type: none;
	padding-left: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0;
	background: linear-gradient(30deg, var(--color-primary) 30%, var(--color-secondary) 70%);
}
@media screen and (max-width: 1320px) {
	.s-partnership__list {
		grid-template-columns: none;
	}
}
.s-partnership__list > li {
	padding: min(4vw, 24px) min(4vw, 34px) min(4vw, 33px);
	border-top: 1px solid #fff;
}
.s-partnership__list > li:nth-child(even) {
	border-left: 1px solid #fff;
}
.s-partnership__list > li:nth-child(1), .s-partnership__list > li:nth-child(2) {
	border-top-width: 0;
}
@media screen and (max-width: 1320px) {
	.s-partnership__list > li:nth-child(2) {
		border-top-width: 1px;
	}
}
.s-partnership__list > li > ul {
	margin-top: 10px;
	list-style-type: none;
	padding-left: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px 10px;
	align-items: stretch;
}
.s-partnership__list > li > ul > li {
	padding: 3px 0 15px;
	background-color: #fff;
}
.s-partnership__list > li > ul > li img {
	display: block;
	margin: 0 auto;
}
.s-partnership__list > li > ul > li p {
	margin-top: 5px;
	text-align: center;
	font-weight: bold;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.738rem + 0.3174603175vw, 1rem); /* 13px @375px - 16px @1320px */
}
.s-partnership__title {
	text-align: center;
	color: #fff;
	letter-spacing: 0.05em;
	font-weight: bold;
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 0.927rem + 0.8465608466vw, 1.625rem); /* 18px @375px - 26px @1320px */
}

.s-achievement-figure {
	margin: 36px 0 0;
}
.s-achievement-figure img {
	display: block;
	margin: 0 auto;
}

.s-tab__nav {
	position: relative;
	display: flex;
	justify-content: end;
	align-items: end;
	padding-left: 0;
	list-style-type: none;
	gap: 0 10px;
	padding-right: 20px;
	z-index: 3;
}
.s-tab__item {
	position: relative;
	margin-top: 0.15em;
	width: 10em;
	height: 3.6em;
	font-family: var(--font-en);
	letter-spacing: 0.05em;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.639rem + 0.7407407407vw, 1.25rem); /* 13px @375px - 20px @1320px */
	background-color: #e8ebf0;
	text-align: center;
	font-weight: 500;
	transition: all 0.2s;
}
.s-tab__item span {
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #76a7d6;
}
.s-tab__item--active {
	color: var(--color-primary);
	background-color: #fff;
	box-shadow: inset 0 0 0 1px #ccc;
}
.s-tab__item--active::after {
	content: "";
	display: block;
	position: absolute;
	height: 5px;
	bottom: -2px;
	left: 1px;
	right: 1px;
	background-color: #fff;
}
.s-tab__item--active span {
	color: var(--color-primary);
}
.s-tab__item--active:hover span {
	cursor: auto;
}
.s-tab__item:not(.s-tab__item--active):hover {
	margin-top: 0;
	height: 3.75em;
}
.s-tab__item:not(.s-tab__item--active):hover span {
	color: var(--color-primary);
}
.s-tab__box {
	padding: 11px min(5vw, 70px) min(5vw, 64px);
	position: relative;
	background-color: #fff;
	box-shadow: inset 0 0 0 1px #ccc;
	z-index: 2;
	display: none;
}
.s-tab__box--active {
	display: block;
}
.s-tab__number {
	margin-left: -0.12em;
	font-size: 3.75rem;
	font-size: clamp(3.75rem, 2.758rem + 4.2328042328vw, 6.25rem); /* 60px @375px - 100px @1320px */
	font-weight: 500;
	letter-spacing: 0.05em;
	font-family: var(--font-en);
	color: #eef2f9;
}
.s-tab__title {
	margin: -1.6em 0 0 0.286em;
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 0.703rem + 1.7989417989vw, 2.188rem); /* 18px @375px - 35px @1320px */
	font-weight: bold;
	letter-spacing: 0.05em;
}
.s-tab__top {
	display: flex;
	margin: 24px 0 0;
	gap: 4vw min(3vw, 60px);
	align-items: start;
}
@media screen and (max-width: 767px) {
	.s-tab__top {
		flex-direction: column;
		align-items: stretch;
	}
}
.s-tab__img {
	position: relative;
	overflow: hidden;
	width: 450px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 1920px) {
	.s-tab__img {
		width: 52.3%;
	}
}
@media screen and (max-width: 767px) {
	.s-tab__img {
		width: 450px;
	}
}
.s-tab__img::before {
	content: "";
	display: block;
	padding-bottom: 66.7%;
}
.s-tab__img img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.s-tab__list {
	flex-grow: 1;
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.676rem + 0.3174603175vw, 0.938rem); /* 12px @375px - 15px @1320px */
	letter-spacing: 0.08em;
	font-weight: bold;
}
.s-tab__line {
	padding: 6px 0;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #ccc;
}
.s-tab__line:first-child {
	padding-top: 0;
}
.s-tab__line:last-child {
	padding-bottom: 0;
	border-bottom-width: 0;
}
@media screen and (max-width: 767px) {
	.s-tab__line:last-child {
		padding-bottom: 6px;
	}
}
.s-tab__name, .s-tab__info {
	padding-top: 0.333em;
	padding-bottom: 0.333em;
}
.s-tab__name {
	width: 8em;
	min-width: 8em;
	background-color: var(--color-primary);
	white-space: nowrap;
	text-align: center;
	color: #fff;
}
.s-tab__info {
	padding-left: 1.2em;
	flex-grow: 1;
}
.s-tab__desc {
	margin-top: 40px;
	border-top: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
	.s-tab__desc {
		margin-top: 0;
	}
}
.s-tab__desc h4 {
	position: relative;
	padding-left: 2.182em;
	margin: min(6vw, 36px) 0 10px;
	font-size: 1rem;
	font-size: clamp(1rem, 0.851rem + 0.6349206349vw, 1.375rem); /* 16px @375px - 22px @1320px */
	letter-spacing: 0.05em;
	font-weight: bold;
}
.s-tab__desc h4::before, .s-tab__desc h4::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%) skew(-18deg, 0);
	display: block;
	height: 0.955em;
}
.s-tab__desc h4::before {
	left: 4px;
	width: 0.364em;
	background-color: var(--color-secondary);
}
.s-tab__desc h4::after {
	left: calc(0.364em + 1px + 4px);
	width: 0.682em;
	background-color: var(--color-primary);
}
.s-tab__desc h4 + p,
.s-tab__desc h4 + ul,
.s-tab__desc h4 + ol {
	margin-top: 0;
}
.s-tab__desc p,
.s-tab__desc ul,
.s-tab__desc ol {
	margin-top: 0.8em;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 2.375;
	letter-spacing: 0.08em;
}
.s-tab__no-posts {
	text-align: center;
	margin-top: 20px;
}

.s-works {
	position: relative;
	padding-bottom: min(12vw, 174px);
	margin-bottom: min(6vw, 88px);
}
@media screen and (max-width: 767px) {
	.s-works {
		padding-bottom: 38vw;
	}
}
.s-works .s-tab__nav {
	margin-top: 43px;
}
.s-works__button {
	margin-top: min(6vw, 60px);
}
.s-works__button .c-button-round {
	margin-left: auto;
	margin-right: auto;
}
.s-works .c-slanting-lines.c-slanting-lines--02 {
	bottom: 15%;
}
@media screen and (max-width: 767px) {
	.s-works .c-slanting-lines.c-slanting-lines--02 {
		bottom: 32vw;
		left: 47vw;
	}
}

.s-flow-list {
	padding-left: 0;
	list-style-type: none;
}
.s-flow-list__item {
	margin-top: 16px;
	position: relative;
	padding: min(2.9vw, 35px) var(--s-flow-padding-side) min(3.8vw, 46px) 0;
	background-color: #f6f6f6;
}
@media screen and (max-width: 767px) {
	.s-flow-list__item {
		padding: 5vw 5vw 5vw 0;
	}
}
.s-flow-list__item:first-child {
	margin-top: 0;
}
.s-flow-list__item:nth-child(1) .s-flow-list__number {
	top: -0.2em;
	z-index: 10;
}
.s-flow-list__item:nth-child(1) .s-flow-list__number, .s-flow-list__item:nth-child(1) .s-flow-list__number::before {
	background-color: #7fd6ca;
}
.s-flow-list__item:nth-child(2) .s-flow-list__number {
	z-index: 9;
}
.s-flow-list__item:nth-child(2) .s-flow-list__number, .s-flow-list__item:nth-child(2) .s-flow-list__number::before {
	background-color: #33beaa;
}
.s-flow-list__item:nth-child(3) .s-flow-list__number {
	z-index: 8;
}
.s-flow-list__item:nth-child(4) .s-flow-list__number {
	z-index: 7;
}
.s-flow-list__item:last-child .s-flow-list__number {
	z-index: 5;
	max-height: 3em;
}
.s-flow-list__number {
	position: absolute;
	top: 0;
	left: var(--s-flow-padding-side);
	bottom: 8px;
	font-family: var(--font-en);
	color: #fff;
	font-size: 1.875rem;
	font-size: clamp(1.875rem, 1.379rem + 2.1164021164vw, 3.125rem); /* 30px @375px - 50px @1320px */
	font-weight: 500;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0.6em 0 1em;
}
@media screen and (max-width: 767px) {
	.s-flow-list__number {
		left: 2vw;
		padding-left: 5.5vw;
		padding-right: 2.4vw;
		height: 13vw;
		top: -0.2em;
	}
}
.s-flow-list__number::before {
	content: "";
	position: absolute;
	top: calc(100% - 1px);
	left: 0;
	right: 0;
	height: 0.8em;
	clip-path: polygon(0 0, 100% 0, 100% 1px, 0% 100%);
}
.s-flow-list__number, .s-flow-list__number::before {
	background-color: var(--color-secondary);
}
.s-flow-list__number span {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -7%;
	margin-left: -33%;
	text-align: center;
	font-size: 0.32em;
	letter-spacing: 0.05em;
	transform: rotate(90deg);
	transform-origin: center center;
}
@media screen and (max-width: 767px) {
	.s-flow-list__number span {
		margin-left: -42%;
	}
}
@media screen and (max-width: 374px) {
	.s-flow-list__number span {
		margin-left: -50%;
	}
}
.s-flow-list__headline, .s-flow-list__text {
	padding-left: min(19vw, 198px);
}
@media screen and (max-width: 767px) {
	.s-flow-list__headline, .s-flow-list__text {
		padding-left: 23vw;
	}
}
.s-flow-list__headline {
	font-size: 1.063rem;
	font-size: clamp(1.063rem, 0.839rem + 0.9523809524vw, 1.625rem); /* 17px @375px - 26px @1320px */
	font-weight: bold;
	letter-spacing: 0.05em;
}
.s-flow-list__text {
	margin-top: 0.625em;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.08em;
	line-height: 1.875;
}
@media screen and (max-width: 767px) {
	.s-flow-list__text {
		margin-top: 8vw;
		padding-left: 5vw;
	}
}
.s-flow-list.s-flow-list--row-5 .s-flow-list__item:nth-child(2) .s-flow-list__number, .s-flow-list.s-flow-list--row-5 .s-flow-list__item:nth-child(2) .s-flow-list__number::before {
	background-color: #6accbc;
}
.s-flow-list.s-flow-list--row-5 .s-flow-list__item:nth-child(3) .s-flow-list__number, .s-flow-list.s-flow-list--row-5 .s-flow-list__item:nth-child(3) .s-flow-list__number::before {
	background-color: #54c2af;
}
.s-flow-list.s-flow-list--row-5 .s-flow-list__item:nth-child(4) .s-flow-list__number, .s-flow-list.s-flow-list--row-5 .s-flow-list__item:nth-child(4) .s-flow-list__number::before {
	background-color: #38b8a2;
}
.s-flow-list.s-flow-list--blue .s-flow-list__item:nth-child(1) .s-flow-list__number, .s-flow-list.s-flow-list--blue .s-flow-list__item:nth-child(1) .s-flow-list__number::before {
	background-color: #9bc1e4;
}
.s-flow-list.s-flow-list--blue .s-flow-list__item:nth-child(2) .s-flow-list__number, .s-flow-list.s-flow-list--blue .s-flow-list__item:nth-child(2) .s-flow-list__number::before {
	background-color: #548fcf;
}
.s-flow-list.s-flow-list--blue .s-flow-list__item:last-child .s-flow-list__number, .s-flow-list.s-flow-list--blue .s-flow-list__item:last-child .s-flow-list__number::before {
	background-color: var(--color-primary);
}
.s-flow-list.s-flow-list--blue.s-flow-list--row-4 .s-flow-list__item:nth-child(2) .s-flow-list__number, .s-flow-list.s-flow-list--blue.s-flow-list--row-4 .s-flow-list__item:nth-child(2) .s-flow-list__number::before {
	background-color: #68a2d7;
}
.s-flow-list.s-flow-list--blue.s-flow-list--row-4 .s-flow-list__item:nth-child(3) .s-flow-list__number, .s-flow-list.s-flow-list--blue.s-flow-list--row-4 .s-flow-list__item:nth-child(3) .s-flow-list__number::before {
	background-color: #3683c9;
}

.s-flow {
	padding-bottom: min(24vw, 310px);
}
@media screen and (max-width: 767px) {
	.s-flow {
		padding-bottom: 40vw;
	}
}
.s-flow .s-flow-list {
	margin-top: min(5vw, 56px);
}
.s-flow .s-flow__headline-twotone + .s-flow-list {
	margin-top: min(6vw, 38px);
}
.s-flow__headline-twotone {
	margin-top: 1.944em;
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 0.679rem + 1.9047619048vw, 2.25rem); /* 18px @375px - 36px @1320px */
	font-weight: bold;
	letter-spacing: 0.05em;
	padding-left: max(26px, 1.194em);
}
.s-flow__headline-twotone::before, .s-flow__headline-twotone::after {
	height: 0.583em;
	top: 0.5em;
	transform: skew(-18deg, 0);
}
.s-flow__headline-twotone::before {
	width: 0.222em;
}
.s-flow__headline-twotone::after {
	left: calc(0.222em + 2px + 4px);
	width: 0.444em;
}
.s-flow__box {
	margin: max(38px, min(5.3vw, 64px)) var(--s-flow-padding-side) 0;
	padding: 1.148em 0;
	text-align: center;
	position: relative;
	border-width: 4px;
	border-style: solid;
	border-image: linear-gradient(90deg, var(--color-primary), var(--color-secondary)) 1;
	font-weight: bold;
	font-size: 1rem;
	font-size: clamp(1rem, 0.727rem + 1.164021164vw, 1.688rem); /* 16px @375px - 27px @1320px */
	letter-spacing: 0.05em;
	background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
	color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
}
@media screen and (max-width: 374px) {
	.s-flow__box {
		padding-left: 1em;
		padding-right: 1em;
	}
}
.s-flow__box::after {
	content: "";
	display: block;
	background: linear-gradient(180deg, rgba(4, 100, 188, 0) 20%, rgb(4, 100, 188) 55%);
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	width: max(171px, 26.9%);
	padding-bottom: max(49px, 7.8%);
	position: absolute;
	top: 0;
	margin-top: min(-32px, -5%);
	left: 50%;
	transform: translateX(-50%);
}

.s-qanda {
	padding-bottom: min(23vw, 240px);
}
.s-qanda__desc {
	margin-top: min(5vw, 44px);
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 2.375;
	letter-spacing: 0.08em;
}
.s-qanda__list {
	margin-top: min(6vw, 60px);
	border-bottom: 1px solid #ccc;
}
.s-qanda__list dt,
.s-qanda__list dd {
	position: relative;
	padding: 1.5em 2.5em 1.5em 83px;
}
@media screen and (max-width: 767px) {
	.s-qanda__list dt,
	.s-qanda__list dd {
		padding-left: 55px;
	}
}
.s-qanda__list dt span,
.s-qanda__list dd span {
	position: absolute;
	display: block;
	left: 1em;
	top: 1em;
	width: 2.4em;
	height: 2.4em;
	border-radius: 50%;
	text-align: center;
	line-height: 2.4em;
	font-family: var(--font-en);
	font-size: 0.938rem;
	font-size: clamp(0.938rem, 0.813rem + 0.5291005291vw, 1.25rem); /* 15px @375px - 20px @1320px */
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.s-qanda__list dt span,
	.s-qanda__list dd span {
		left: 0.5em;
	}
}
.s-qanda__list dt {
	border-top: 1px solid #ccc;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	font-weight: bold;
	letter-spacing: 0.05em;
	transition: color 0.2s;
	cursor: pointer;
}
.s-qanda__list dt::before, .s-qanda__list dt::after {
	content: "";
	display: block;
	background-color: var(--color-primary);
	width: 1.111em;
	height: 0.167em;
	position: absolute;
	top: 50%;
	right: 5px;
	transform: translateY(-50%);
	transition: all 0.3s;
}
@media screen and (max-width: 767px) {
	.s-qanda__list dt::before, .s-qanda__list dt::after {
		right: 0;
	}
}
.s-qanda__list dt::after {
	transform: translateY(-50%) rotate(90deg);
}
.s-qanda__list dt:hover {
	color: var(--color-primary);
}
.s-qanda__list dt.s-qanda__list--active::before {
	transform: translateY(-50%) rotate(90deg);
	opacity: 0;
}
.s-qanda__list dt.s-qanda__list--active::after {
	transform: translateY(-50%) rotate(180deg);
}
.s-qanda__list dt span {
	background-color: var(--color-primary);
	color: #fff;
}
.s-qanda__list dd {
	margin-bottom: 20px;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.08em;
	background-color: #e8ebf0;
	line-height: 1.875;
	display: none;
}
@media screen and (max-width: 767px) {
	.s-qanda__list dd {
		padding-right: 1em;
	}
}
.s-qanda__list dd:last-child {
	margin-bottom: 0;
}
.s-qanda__list dd span {
	background-color: #fff;
	color: var(--color-primary);
}
.s-qanda__list dd p {
	margin-top: 1em;
}
.s-qanda__list dd p:first-child {
	margin-top: 0;
}
.s-qanda .c-slanting-lines.c-slanting-lines--06 {
	top: -187px;
}
@media screen and (max-width: 767px) {
	.s-qanda .c-slanting-lines.c-slanting-lines--06 {
		right: 30vw;
		top: -24vw;
	}
}

.s-suitable-cards {
	padding-left: 0;
	list-style-type: none;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 4vw min(5%, 50px);
}
@media screen and (max-width: 1320px) {
	.s-suitable-cards {
		flex-wrap: wrap;
		justify-content: center;
	}
}
.s-suitable-cards__item {
	flex: 1;
	padding: 2.8% 0 4%;
	background: var(--color-primary);
}
@media screen and (max-width: 1320px) {
	.s-suitable-cards__item {
		flex: none;
		width: 47.5%;
	}
}
@media screen and (max-width: 767px) {
	.s-suitable-cards__item {
		padding-top: 4vw;
		padding-bottom: 4vw;
		width: 100%;
	}
}
.s-suitable-cards__img {
	position: relative;
	margin: 0 auto;
	width: min(53.3%, 160px);
	padding-bottom: min(53.3%, 160px);
	background-color: #fff;
	border-radius: 50%;
}
.s-suitable-cards__img img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: min(68.8%, 110px);
	display: block;
}
.s-suitable-cards__text {
	margin: 7.3% 0 0;
	font-size: 0.938rem;
	font-size: clamp(0.938rem, 0.764rem + 0.7407407407vw, 1.375rem); /* 15px @375px - 22px @1320px */
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.05em;
	line-height: 1.818;
	color: #fff;
}
.s-suitable-cards__text.c-disc-list {
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.688rem + 0.5291005291vw, 1.125rem); /* 13px @375px - 18px @1320px */
	line-height: 1.444;
	text-align: left;
	width: max-content;
	margin-left: auto;
	margin-right: auto;
}

.s-suitable {
	position: relative;
	padding-bottom: 240px;
}
@media screen and (max-width: 767px) {
	.s-suitable {
		padding-bottom: 40vw;
	}
}
.s-suitable .c-slanting-lines.c-slanting-lines--04 {
	right: calc(50% + 529px);
	bottom: 0;
}
@media screen and (max-width: 767px) {
	.s-suitable .c-slanting-lines.c-slanting-lines--04 {
		right: 4vw;
	}
}
.s-suitable .s-suitable-cards {
	margin-top: min(5vw, 60px);
}
.s-suitable__box {
	padding: 20px 66px 38px;
	margin-top: min(4vw, 37px);
	border-style: solid;
	border-width: 4px;
	border-image: linear-gradient(90deg, var(--color-primary) 0%, var(--color-secondary) 100%);
	border-image-slice: 1;
}
@media screen and (max-width: 767px) {
	.s-suitable__box {
		padding-left: 4vw;
		padding-right: 4vw;
	}
}
.s-suitable__box .c-green-check-list {
	margin-top: 1.111em;
	font-weight: 500;
	display: flex;
	gap: 1.167em 2.778em;
	flex-wrap: wrap;
}
.s-suitable__box .c-green-check-list > li {
	margin-top: 0;
}
.s-suitable__example {
	text-align: center;
	font-size: 0.938rem;
	font-size: clamp(0.938rem, 0.813rem + 0.5291005291vw, 1.25rem); /* 15px @375px - 20px @1320px */
	letter-spacing: 0.05em;
	font-weight: 500;
}
.s-suitable__desc {
	margin-top: min(4vw, 38px);
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 2.375;
	letter-spacing: 0.08em;
}
.s-suitable__button {
	margin-top: min(4vw, 40px);
}
.s-suitable__button .c-button-round {
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 767px) {
	.s-suitable__button .c-button-round {
		width: 300px;
		max-width: 100%;
	}
}

.s-pages {
	position: relative;
	padding-top: min(10vw, 70px);
	padding-bottom: 190px;
}
.s-pages:last-child {
	padding-bottom: min(20vw, 190px);
}
.s-pages .c-slanting-lines.c-slanting-lines--03 {
	top: 107px;
}
@media screen and (max-width: 767px) {
	.s-pages .c-slanting-lines.c-slanting-lines--03 {
		top: -10vw;
		left: 50vw;
	}
}
.s-pages .c-slanting-lines.c-slanting-lines--01 {
	display: none;
	right: calc(50% + 309px);
	top: -17px;
}
@media screen and (max-width: 1320px) {
	.s-pages .c-slanting-lines.c-slanting-lines--01 {
		right: 71vw;
		top: 10px;
	}
}
.s-pages.c-use-slanting-01 .c-slanting-lines.c-slanting-lines--03 {
	display: none;
}
.s-pages.c-use-slanting-01 .c-slanting-lines.c-slanting-lines--01 {
	display: block;
}
.s-pages__headline {
	position: relative;
}
.s-pages__list {
	margin-top: min(14vw, 101px);
	padding-left: 0;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-items: start;
}
@media screen and (max-width: 767px) {
	.s-pages__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
.s-pages__item {
	position: relative;
	margin-bottom: 1px;
}
.s-pages__item:nth-child(3n-1) {
	margin-top: -10%;
}
.s-pages__item:nth-child(3n) {
	margin-top: -20%;
}
@media screen and (max-width: 767px) {
	.s-pages__item:nth-child(even) {
		margin-top: -10%;
	}
}
@media screen and (max-width: 767px) {
	.s-pages__item:nth-child(odd) {
		margin-top: 0;
	}
}
.s-pages__item::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(180deg, rgba(4, 100, 188, 0) 50%, rgb(4, 100, 188) 90%);
	pointer-events: none;
}
.s-pages__item a {
	position: relative;
	display: block;
	color: #fff;
	text-decoration: none;
}
.s-pages__item .c-arrow-black-bottom-right::before {
	content: none;
}
.s-pages__item .c-arrow-black-bottom-right::after {
	border-color: #fff;
	z-index: 3;
	bottom: 0;
	margin-bottom: 7.3%;
	right: 5.8%;
	width: 9.5%;
	padding-bottom: 4.3%;
	background: url("./assets/img/common/common_icon_arrow_white_01.svg") center center no-repeat;
	background-size: contain;
	border-width: 0;
	transform: none;
}
.s-pages__item img {
	display: block;
	width: 100%;
}
.s-pages__text {
	position: absolute;
	bottom: 0;
	margin-bottom: 5.5%;
	left: 7.3%;
	font-size: 0.875rem;
	font-size: clamp(0.875rem, 0.677rem + 0.8465608466vw, 1.375rem); /* 14px @375px - 22px @1320px */
	letter-spacing: 0.05em;
	font-weight: bold;
	z-index: 3;
}

.s-pages-02 {
	position: relative;
	padding-top: min(var(--section-row-gap-vw), 150px);
}
@media screen and (max-width: 1320px) {
	.s-pages-02 {
		padding-top: 0;
	}
}
@media screen and (max-width: 767px) {
	.s-pages-02 {
		padding-top: 12vw;
	}
}
.s-pages-02 .c-slanting-lines.c-slanting-lines--02 {
	top: 25%;
	left: calc(50% + 647px);
}
@media screen and (max-width: 767px) {
	.s-pages-02 .c-slanting-lines.c-slanting-lines--02 {
		top: -10vw;
		left: 50vw;
	}
}
.s-pages-02__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	justify-content: space-between;
	align-items: stretch;
	gap: 63px 45px;
	margin-top: min(5vw, 80px);
	padding-left: 0;
	list-style-type: none;
}
@media screen and (max-width: 1320px) {
	.s-pages-02__list {
		row-gap: 4.8vw;
		column-gap: 3.8%;
	}
}
@media screen and (max-width: 960px) {
	.s-pages-02__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 480px) {
	.s-pages-02__list {
		grid-template-columns: none;
	}
}
.s-pages-02__item {
	background-color: #fff;
}
.s-pages-02 a {
	display: block;
	height: 100%;
	color: #000;
	text-decoration: none;
}
.s-pages-02__img {
	overflow: hidden;
}
.s-pages-02__img img {
	display: block;
	width: 100%;
	transition: transform 0.5s ease-out;
}
.s-pages-02__title {
	margin: 1.4em 33px 1.3em;
	position: relative;
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 0.976rem + 0.6349206349vw, 1.5rem); /* 18px @375px - 24px @1320px */
	letter-spacing: 0.05em;
	font-weight: bold;
}
@media screen and (max-width: 1320px) {
	.s-pages-02__title {
		margin-left: 2.5vw;
		margin-right: 2.5vw;
	}
}
@media screen and (max-width: 480px) {
	.s-pages-02__title {
		margin-left: 6vw;
		margin-right: 6vw;
	}
}
.s-pages-02__title::before {
	content: "";
	position: absolute;
	bottom: -0.8em;
	left: 0.2em;
	display: block;
	width: 30px;
	height: 3px;
	background-color: var(--color-primary);
}
@media screen and (max-width: 480px) {
	.s-pages-02__title br {
		display: none !important;
	}
}
.s-pages-02__desc {
	margin: 0 37px;
	padding-bottom: min(6vw, 3.125em);
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.08em;
	line-height: 1.875;
}
@media screen and (max-width: 1320px) {
	.s-pages-02__desc {
		margin-left: 2.8vw;
		margin-right: 2.8vw;
	}
}
@media screen and (max-width: 480px) {
	.s-pages-02__desc {
		margin-left: 6vw;
		margin-right: 6vw;
	}
}
.s-pages-02 a:hover .s-pages-02__img img {
	transform: scale(1.08);
	opacity: 1;
}

.s-column {
	padding: min(var(--section-row-gap-vw), 80px) 0 min(20vw, 250px);
}
@media screen and (max-width: 767px) {
	.s-column {
		padding-top: 0;
	}
}
.s-column .news-related__list {
	margin-top: 80px;
}
@media screen and (max-width: 767px) {
	.s-column .news-related__list {
		margin-top: 40px;
	}
}
.s-column__button {
	margin-top: 80px;
}
@media screen and (max-width: 767px) {
	.s-column__button {
		margin-top: 30px;
	}
}
.s-column__button .c-button-round {
	margin-left: auto;
	margin-right: auto;
}

.slug-service .footer-re-banner {
	margin-top: 0;
	padding-top: 200px;
}
@media screen and (max-width: 767px) {
	.slug-service .footer-re-banner {
		padding-top: min(14vw, 128px);
	}
}

.slug-rental-management:has(.s-column) .s-qanda.c-triangle-bottom-right--dent::before,
.slug-hotel-management:has(.s-column) .s-qanda.c-triangle-bottom-right--dent::before {
	content: none;
}

#root.realestate {
	font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
	#root.realestate .totop {
		bottom: 70px;
	}
}

.re-wrap {
	width: 1200px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-left: min(3.3vw, 40px);
	padding-right: min(3.3vw, 40px);
}
.re-wrap--full {
	padding-left: 0;
	padding-right: 0;
}

.re-title-line {
	position: relative;
	width: max(604.8px, min(84vw, 1008px));
	max-width: 100%;
	margin: 0 auto;
	padding: max(7.2px, min(1vw, 12px)) 0;
	font-size: max(19.5px, min(3.3vw, 39px));
	font-weight: 900;
	text-align: center;
	line-height: 1.2;
	color: #fff67f;
	letter-spacing: 0.17em;
	background: linear-gradient(90deg, #1ba68e 0%, #1360ad 100%);
}
@media screen and (max-width: 767px) {
	.re-title-line {
		max-width: 84%;
	}
}
.re-title-line::before, .re-title-line::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	width: max(24.6px, min(3.4vw, 41px));
	clip-path: polygon(0 0, 100% 0, 1px 100%, 0% 100%);
}
.re-title-line::before {
	right: calc(100% - 1px);
	transform: scale(-1, -1);
	background-color: #1ba68e;
}
.re-title-line::after {
	left: calc(100% - 1px);
	background-color: #1360ad;
}

.re-title-tag {
	text-align: center;
}
.re-title-tag span {
	display: inline-block;
	position: relative;
	color: #fff67f;
	font-size: max(25px, min(4.2vw, 50px));
	font-weight: 800;
	width: max(240px, min(33.3vw, 400px));
	padding: max(8.4px, min(1.2vw, 14px)) 0;
	letter-spacing: 0.1em;
	text-align: center;
	background: linear-gradient(90deg, #1ba68e 0%, #1360ad 100%);
}
.re-title-tag span::after {
	content: "";
	display: block;
	position: absolute;
	width: max(16.8px, min(2.3vw, 28px));
	height: max(16.8px, min(2.3vw, 28px));
	top: -1px;
	right: -1px;
	background-color: #fff;
	clip-path: polygon(0 0, 100% 100%, 100% 0);
}

.re-title-slash {
	text-align: center;
}
.re-title-slash span {
	position: relative;
	display: inline-block;
	padding: 0 0.1em 0 0.2em;
	font-size: max(26px, min(4.3vw, 52px));
	font-family: "Jost", sans-serif;
	color: #0057a5;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1;
	background: linear-gradient(180deg, rgba(255, 246, 127, 0) 75%, rgb(255, 246, 127) 75%);
}
.re-title-slash span::before, .re-title-slash span::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: max(1.5px, min(0.2vw, 2.5px));
	height: max(27.9px, min(3.9vw, 46.5px));
	background-color: #0057a5;
}
.re-title-slash span::before {
	left: -0.3em;
	transform: rotate(-31deg) translateY(-60%);
}
.re-title-slash span::after {
	right: -0.2em;
	transform: rotate(31deg) translateY(-60%);
}
.re-title-slash--jp span {
	font-size: max(17.5px, min(2.9vw, 35px));
	font-family: var(--font-jp);
	font-weight: 900;
}

.re-title-bottom {
	margin: max(9px, min(1.3vw, 15px)) 0 0;
	font-size: max(16.8px, min(2vw, 24px));
	line-height: 1.75;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
	.re-title-bottom {
		text-align: left;
	}
}
.re-title-bottom__strong {
	color: #0057a5;
}

.re-flow-figure {
	margin: max(12px, min(1.7vw, 20px)) 0 max(18px, min(2.5vw, 30px));
}
@media screen and (max-width: 480px) {
	.re-flow-figure {
		margin-top: 8vw;
		margin-bottom: 10.7vw;
	}
}
.re-flow-figure img {
	width: max(399.2px, min(41.6vw, 499px));
	height: auto;
	max-width: 100%;
	display: block;
	margin: 0 auto;
}

.re-mv img {
	display: block;
}

.re-mv-btm {
	margin-top: min(-12.6px, max(-1.8vw, -21px));
}
@media screen and (max-width: 480px) {
	.re-mv-btm {
		margin-top: 20px;
	}
}
.re-mv-btm .re-wrap {
	display: flex;
	padding-left: 0;
	padding-right: 0;
}
@media screen and (max-width: 480px) {
	.re-mv-btm .re-wrap {
		flex-direction: column-reverse;
		padding-left: min(3.3vw, 40px);
		padding-right: min(3.3vw, 40px);
	}
}
.re-mv-btm__map {
	width: 37.3%;
	max-width: 447px;
}
@media screen and (max-width: 480px) {
	.re-mv-btm__map {
		margin-top: max(18px, min(2.5vw, 30px));
		width: 70vw;
		margin-left: auto;
		margin-right: auto;
	}
}
.re-mv-btm__map img {
	display: block;
	width: 100%;
}

.re-mv-btm-02 {
	padding-top: 6px;
	position: relative;
}
@media screen and (max-width: 480px) {
	.re-mv-btm-02 {
		padding-top: 0;
	}
}
.re-mv-btm-02__img {
	margin: 0 auto;
	width: 1396px;
	padding-right: 80px;
	max-width: 100%;
}
@media screen and (max-width: 1396px) {
	.re-mv-btm-02__img {
		width: 1316px;
		padding-right: 0;
	}
}
.re-mv-btm-02__img img {
	display: block;
	width: 100%;
}
.re-mv-btm-02__img-no-woman {
	margin: 0 auto;
	width: 1200px;
	max-width: 100%;
	position: relative;
}
.re-mv-btm-02__img-no-woman img {
	display: block;
	width: 100%;
}
.re-mv-btm-02 .re-wrap {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	justify-content: end;
}
@media screen and (max-width: 480px) {
	.re-mv-btm-02 .re-wrap {
		position: relative;
		left: auto;
		transform: none;
		display: block;
	}
}
.re-mv-btm-02 .re-mv-list {
	width: 739px;
	flex: 0 0 auto;
	margin: 0 1.7% 21px 0;
}
@media screen and (max-width: 1396px) {
	.re-mv-btm-02 .re-mv-list {
		width: 52.9vw;
		margin-top: -1px;
		margin-right: 1.4vw;
		margin-bottom: 1.5vw;
	}
}
@media screen and (max-width: 480px) {
	.re-mv-btm-02 .re-mv-list {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
}
.re-mv-btm-02 .re-mv-list__list p {
	font-weight: normal;
	font-size: min(1.9vw, 23px);
}
@media screen and (max-width: 1396px) {
	.re-mv-btm-02 .re-mv-list__list p {
		font-size: 1.6vw;
	}
}
@media screen and (max-width: 480px) {
	.re-mv-btm-02 .re-mv-list__list p {
		font-size: 2.9vw;
	}
}
.re-mv-btm-02 .re-mv-list__list p span {
	font-size: min(2.2vw, 26px);
}
@media screen and (max-width: 1396px) {
	.re-mv-btm-02 .re-mv-list__list p span {
		font-size: 1.9vw;
	}
}
@media screen and (max-width: 480px) {
	.re-mv-btm-02 .re-mv-list__list p span {
		font-size: 3.5vw;
	}
}
@media screen and (max-width: 1396px) {
	.re-mv-btm-02 .re-mv-list__list img {
		width: 7.8vw;
	}
}
@media screen and (max-width: 480px) {
	.re-mv-btm-02 .re-mv-list__list img {
		width: 11.7vw;
	}
}
.re-mv-btm-02 + .re-cv {
	margin-top: 0;
}
.re-mv-btm-02:has(.re-mv-btm-02__img-no-woman)::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: block;
	width: 100%;
	aspect-ratio: 3794/428;
	opacity: 0.1;
	background: center bottom/100% auto no-repeat url("./assets/img/realestate/re-mv_img_03_town.svg");
}
.re-mv-btm-02:has(.re-mv-btm-02__img-no-woman) .re-mv-list__list p {
	border-radius: 10px;
	border: 2px solid #fff;
}
@media screen and (max-width: 480px) {
	.re-mv-btm-02:has(.re-mv-btm-02__img-no-woman) .re-mv-list__list p {
		border-radius: 5px;
	}
}

.re-mv-list {
	flex: 1;
	margin: 0 3.1% 0 -5.4%;
}
@media screen and (max-width: 480px) {
	.re-mv-list {
		margin-left: 0;
		margin-right: 0;
	}
}
.re-mv-list__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: min(0.7vw, 8px) min(1.5vw, 18px);
	padding-left: 0;
	list-style-type: none;
}
@media screen and (max-width: 480px) {
	.re-mv-list__list {
		row-gap: 8px;
	}
}
.re-mv-list__list li {
	position: relative;
	display: flex;
	align-items: center;
}
.re-mv-list__list img {
	display: block;
	position: relative;
	z-index: 2;
	width: min(9.1vw, 109px);
}
@media screen and (max-width: 480px) {
	.re-mv-list__list img {
		width: 11.7vw;
	}
}
.re-mv-list__list p {
	position: relative;
	flex: 1;
	background-color: #c7e8fa;
	margin: 0 0 0 max(-4.4vw, -53px);
	padding: min(1.1vw, 13px) 0 min(1.2vw, 14px) min(5.3vw, 64px);
	font-weight: bold;
	font-size: min(2vw, 24px);
	line-height: 1.2;
	z-index: 1;
}
@media screen and (max-width: 480px) {
	.re-mv-list__list p {
		font-size: 2.9vw;
		margin-left: -7.5vw;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		padding-left: 9.3vw;
		letter-spacing: -0.04em;
	}
}
.re-mv-list__list p span {
	font-size: min(2.3vw, 28px);
}
@media screen and (max-width: 480px) {
	.re-mv-list__list p span {
		font-size: 3.5vw;
	}
}

.re-cv {
	position: relative;
	margin-top: max(9.6px, min(1.3vw, 16px));
	padding: 20px 0;
	background: #0058a1;
}
@media screen and (max-width: 767px) {
	.re-cv {
		display: none;
	}
}
.re-cv .re-wrap {
	position: relative;
}
.re-cv__catch {
	padding-right: max(5.4px, min(0.8vw, 9px));
}
.re-cv__catch img {
	display: block;
	margin: 0 auto;
	width: max(507.6px, min(70.5vw, 846px));
}
.re-cv__flex {
	margin: max(12.6px, min(1.8vw, 21px)) 0 0 max(7.8px, min(1.1vw, 13px));
	display: flex;
	gap: max(6px, min(0.8vw, 10px)) max(12px, min(1.7vw, 20px));
}
@media screen and (max-width: 767px) {
	.re-cv__flex {
		flex-direction: column;
	}
}
.re-cv__title img {
	width: max(232.4px, min(48.4vw, 581px));
}
.re-cv__list {
	margin: max(4.8px, min(0.7vw, 8px)) 0 0;
	padding-left: 0;
	list-style-type: none;
	color: #fff;
	font-size: max(14.1px, min(2vw, 23.5px));
	font-weight: bold;
	line-height: 1.106;
}
.re-cv__list li {
	margin: max(5.4px, min(0.8vw, 9px)) 0 0;
	background: 0 0/max(15.6px, min(2.2vw, 26px)) auto no-repeat url("./assets/img/realestate/re-cv_check_01.svg");
	padding-left: max(18px, min(2.5vw, 30px));
	letter-spacing: 0.07em;
}
.re-cv__list li:first-child {
	margin-top: 0;
}
@media screen and (max-width: 767px) {
	.re-cv__list li br {
		display: none;
	}
}
@media screen and (max-width: 374px) {
	.re-cv__list li br {
		display: inline;
	}
}
.re-cv__illust {
	position: absolute;
	right: max(12px, min(1.7vw, 20px));
	bottom: max(66px, min(9.2vw, 110px));
	margin-top: 10px;
}
@media screen and (max-width: 767px) {
	.re-cv__illust {
		right: 2.7vw;
		top: 13.3vw;
		margin-top: 0;
	}
}
.re-cv__illust img {
	width: max(66.8px, min(13.9vw, 167px));
}
.re-cv__headline {
	margin: max(12px, min(1.7vw, 20px)) 0 0;
	text-align: center;
}
.re-cv__headline span {
	position: relative;
	display: inline-block;
	font-size: max(14.4px, min(2vw, 24px));
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.25em;
}
@media screen and (max-width: 767px) {
	.re-cv__headline span {
		letter-spacing: 0.05em;
	}
}
.re-cv__headline span::before, .re-cv__headline span::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: 2px;
	height: 1em;
	background-color: #fff;
}
.re-cv__headline span::before {
	left: -1.2em;
	transform: skew(27deg) translateY(-50%);
}
.re-cv__headline span::after {
	right: -1.2em;
	transform: skew(-27deg) translateY(-50%);
}
.re-cv__address {
	padding-left: 0;
	list-style-type: none;
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: max(13.2px, min(1.8vw, 22px)) max(13.2px, min(1.8vw, 22px));
}
@media screen and (max-width: 767px) {
	.re-cv__address {
		flex-direction: column;
		width: max(300px, 58.7vw);
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}
.re-cv__address li {
	border: max(2.64px, min(0.4vw, 4.4px)) solid #fff;
	background-color: #0058a1;
}
.re-cv__address li a {
	position: relative;
	display: flex;
	width: 100%;
	align-items: center;
	padding: max(4.8px, min(0.7vw, 8px)) 0 max(1.2px, min(0.2vw, 2px)) max(7.8px, min(1.1vw, 13px));
	color: #fff;
	text-decoration: none;
	height: 100%;
}
@media screen and (max-width: 767px) {
	.re-cv__address li a {
		justify-content: center;
		padding-right: 50px;
		line-height: min(13.3vw, 70px);
	}
}
.re-cv__address li a::before, .re-cv__address li a::after {
	content: "";
	display: block;
	position: absolute;
	pointer-events: none;
}
.re-cv__address li a::before {
	bottom: 0;
	margin-bottom: max(7.8px, min(1.1vw, 13px));
	right: max(13.2px, min(1.8vw, 22px));
	width: max(26.1px, min(3.6vw, 43.5px));
	padding-bottom: max(26.1px, min(3.6vw, 43.5px));
	background-color: var(--color-secondary);
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.re-cv__address li a::after {
	bottom: 0;
	margin-bottom: max(16.8px, min(2.3vw, 28px));
	right: max(24px, min(3.3vw, 40px));
	width: max(21.6px, min(3vw, 36px));
	padding-bottom: max(8.4px, min(1.2vw, 14px));
	border-bottom: 1.5px solid #fff;
	border-right: 2px solid #fff;
	transform: skew(50deg);
	animation: anim-arrow-move var(--anim-arrow-move-duration) infinite;
}
.re-cv__address li img {
	width: max(35px, min(5.8vw, 70px));
}
.re-cv__address li.re-cv__tel {
	font-size: max(25.6px, min(5.3vw, 64px));
	font-family: "Jost", sans-serif;
	font-weight: 500;
	letter-spacing: 0.01em;
}
.re-cv__address li.re-cv__tel a {
	width: max(287px, min(47.8vw, 574px));
}
@media screen and (max-width: 767px) {
	.re-cv__address li.re-cv__tel a {
		width: auto;
	}
}
.re-cv__address li.re-cv__form {
	font-size: max(20px, min(3.3vw, 40px));
	font-weight: bold;
	letter-spacing: 0.05em;
}
.re-cv__address li.re-cv__form a {
	padding-left: max(22.8px, min(3.2vw, 38px));
	width: max(236.5px, min(39.4vw, 473px));
}
@media screen and (max-width: 767px) {
	.re-cv__address li.re-cv__form a {
		width: auto;
	}
}
.re-cv__address li.re-cv__form img {
	margin-right: max(10.8px, min(1.5vw, 18px));
}
.re-cv--02 {
	margin-top: max(48px, min(6.7vw, 80px));
	padding-bottom: max(20.4px, min(2.8vw, 34px));
}
@media screen and (max-width: 767px) {
	.re-cv--02 {
		display: block;
		padding-bottom: 30px;
	}
}
.re-cv--02 .re-cv__headline {
	margin-bottom: max(9.6px, min(1.3vw, 16px));
}
.re-cv--02 .re-cv__address {
	column-gap: 0;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
	.re-cv--02 .re-cv__address {
		flex-wrap: wrap;
		width: 100%;
	}
}
.re-cv--02 .re-cv__address li {
	width: 49%;
}
@media screen and (max-width: 767px) {
	.re-cv--02 .re-cv__address li {
		width: 100%;
	}
}
.re-cv--02 .re-cv__address li.re-cv__tel, .re-cv--02 .re-cv__address li.re-cv__line {
	font-family: var(--font-jp);
	font-size: max(18.5px, min(3.1vw, 37px));
	font-weight: bold;
}
.re-cv--02 .re-cv__address li.re-cv__tel a, .re-cv--02 .re-cv__address li.re-cv__line a {
	padding: max(10.2px, min(1.4vw, 17px)) 0;
	width: 100%;
}
@media screen and (max-width: 767px) {
	.re-cv--02 .re-cv__address li.re-cv__tel a, .re-cv--02 .re-cv__address li.re-cv__line a {
		padding: 0 max(12px, min(1.7vw, 20px)) 0 0;
	}
}
.re-cv--02 .re-cv__address li.re-cv__line a {
	padding-left: max(8.4px, min(1.2vw, 14px));
	color: #3aae36;
}
@media screen and (max-width: 767px) {
	.re-cv--02 .re-cv__address li.re-cv__line a {
		padding-left: 0;
		column-gap: 6px;
	}
}
.re-cv--02 .re-cv__address li a::before {
	right: max(6px, min(0.8vw, 10px));
}
.re-cv--02 .re-cv__address li a::after {
	right: max(16.8px, min(2.3vw, 28px));
}

.re-about {
	margin-top: max(45px, min(6.3vw, 75px));
}
@media screen and (max-width: 480px) {
	.re-about {
		margin-top: 6.7vw;
	}
}
.re-about__inner {
	position: relative;
	margin: max(27.6px, min(3.8vw, 46px)) 0 0;
}
.re-about__text {
	position: absolute;
	top: calc(50% + min(-6px, max(-0.8vw, -10px)));
	transform: translateY(-50%);
	left: max(40.2px, min(5.6vw, 67px));
	font-size: max(14.5px, min(2.4vw, 29px));
	line-height: 1.486;
	font-weight: bold;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
	.re-about__text {
		position: relative;
		top: auto;
		transform: none;
		left: auto;
		text-align: center;
		margin-bottom: 13.3vw;
		padding-left: min(3.3vw, 40px);
		padding-right: min(3.3vw, 40px);
	}
}
.re-about__text p {
	margin-top: max(8.4px, min(1.2vw, 14px));
}
.re-about__text p:first-child {
	margin-top: 0;
}
@media screen and (max-width: 767px) {
	.re-about__text p:last-child {
		margin-top: 0;
	}
}
.re-about__text strong {
	color: #0057a5;
	font-weight: 900;
	font-size: max(16px, min(2.7vw, 32px));
	margin-left: max(7.8px, min(1.1vw, 13px));
}
.re-about__text br + strong {
	margin-left: 0;
}
.re-about__img img {
	margin: 0 0 0 auto;
	width: max(370.8px, min(51.5vw, 618px));
	display: block;
}
@media screen and (max-width: 767px) {
	.re-about__img img {
		margin-right: auto;
	}
}
.re-about__bar {
	margin: max(36px, min(5vw, 60px)) 0 0;
	background-color: #d3edfb;
}
.re-about__bar p {
	padding: max(10.8px, min(1.5vw, 18px)) 0 max(4.8px, min(0.7vw, 8px));
	font-size: max(24px, min(3.3vw, 40px));
	text-align: center;
	vertical-align: middle;
	font-weight: 900;
	letter-spacing: 0.05em;
}
.re-about__bar p strong {
	margin-right: max(13.2px, min(1.8vw, 22px));
	color: #0057a5;
	font-weight: 900;
}
.re-about__bar p img {
	margin: 0 max(7.8px, min(1.1vw, 13px));
	vertical-align: middle;
	width: max(177.6px, min(24.7vw, 296px));
}
@media screen and (max-width: 767px) {
	.re-about__bar p img {
		margin-left: 0;
	}
}

.re-reason {
	margin-top: max(27px, min(3.8vw, 45px));
}
.re-reason__list {
	margin: max(13.8px, min(1.9vw, 23px)) 0 0;
	padding-left: 0;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	justify-content: space-between;
	gap: max(24px, min(3.3vw, 40px)) max(34.8px, min(4.8vw, 58px));
}
@media screen and (max-width: 480px) {
	.re-reason__list {
		column-gap: 8vw;
	}
}
.re-reason__icon {
	background: #d3edfb;
	margin: 0 auto min(-22.8px, max(-3.2vw, -38px));
	padding-bottom: max(18px, min(2.5vw, 30px));
	width: max(144px, min(20vw, 240px));
	height: max(72px, min(10vw, 120px));
	display: flex;
	justify-content: center;
	align-items: end;
	border-radius: 50% 50% 100% 0%/100% 100% 0% 0%;
}
@media screen and (max-width: 375px) {
	.re-reason__icon {
		width: 38.4vw;
		height: 19.2vw;
	}
}
.re-reason__icon img {
	width: max(87.6px, min(12.2vw, 146px));
	display: block;
}
@media screen and (max-width: 375px) {
	.re-reason__icon img {
		width: 23.2vw;
	}
}
.re-reason__num {
	background: #d3edfb;
	margin: 0 auto min(-22.8px, max(-3.2vw, -38px));
	padding-bottom: max(18px, min(2.5vw, 30px));
	width: max(125.4px, min(17.4vw, 209px));
	height: max(66.6px, min(9.3vw, 111px));
	display: flex;
	justify-content: center;
	align-items: end;
	border-radius: 50% 50% 100% 0%/100% 100% 0% 0%;
}
@media screen and (max-width: 375px) {
	.re-reason__num {
		width: 38.4vw;
		height: 19.2vw;
	}
}
.re-reason__num span {
	font-family: "Roboto", sans-serif;
	font-size: max(36px, min(5vw, 60px));
	line-height: 1;
	letter-spacing: 0.01em;
	font-feature-settings: "palt";
	font-weight: bold;
	text-align: center;
	background: linear-gradient(180deg, #1ba68e 0%, #1360ad 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.re-reason__headline {
	padding: max(3px, min(0.4vw, 5px)) 0 max(7.8px, min(1.1vw, 13px));
	border-bottom: 3px solid #000;
	border-image: linear-gradient(to right, #1ba68e, #1360ad) 1;
	background: #d3edfb;
	font-size: max(15px, min(2.5vw, 30px));
	font-weight: 900;
	color: #0057a5;
	text-align: center;
	letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
	.re-reason__headline {
		padding: 1.3vw;
	}
}
@media screen and (max-width: 374px) {
	.re-reason__headline {
		font-size: 3.7vw;
	}
}
.re-reason__item--05 .re-reason__headline {
	letter-spacing: 0;
}
.re-reason__photo img {
	width: 100%;
}
.re-reason__desc {
	margin: max(3px, min(0.4vw, 5px)) max(10.2px, min(1.4vw, 17px)) 0;
	font-size: max(16px, min(1.8vw, 22px));
	line-height: 1.591;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.re-reason__desc {
		line-height: 1.75 !important;
		margin-top: 2.7vw !important;
		font-size: max(16px, min(1.8vw, 22px)) !important;
	}
}

.re-case {
	margin: max(36px, min(5vw, 60px)) 0 0;
}
.re-case__catch {
	font-size: max(14.4px, min(2vw, 24px));
	text-align: center;
	color: #0057a5;
	font-weight: 800;
	letter-spacing: 0.2em;
}
.re-case__catch span {
	position: relative;
}
.re-case__catch span::before, .re-case__catch span::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: max(1.2px, min(0.2vw, 2px));
	height: 1.6em;
	background-color: #0057a5;
}
.re-case__catch span::before {
	left: -0.9em;
	transform: rotate(-37deg) translateY(-60%);
}
.re-case__catch span::after {
	right: -0.2em;
	transform: rotate(37deg) translateY(-60%);
}
.re-case .re-title-line {
	margin-top: max(13.2px, min(1.8vw, 22px));
	letter-spacing: 0.1em;
}
.re-case__lead {
	margin: max(6px, min(0.8vw, 10px)) 0 0;
	letter-spacing: 0.18em;
	color: #0057a5;
	text-align: center;
	font-size: max(18.5px, min(3.1vw, 37px));
	font-style: italic;
	font-weight: bold;
}
.re-case__case {
	margin: max(69px, min(9.6vw, 115px)) 0 0;
}
.re-case__case:first-of-type {
	margin-top: max(54px, min(7.5vw, 90px));
}
.re-case__top {
	position: relative;
	background: #c7e8fa;
}
.re-case__head {
	display: flex;
	padding: max(13.2px, min(1.8vw, 22px)) 0;
}
@media screen and (max-width: 767px) {
	.re-case__head {
		justify-content: center;
	}
}
@media screen and (max-width: 480px) {
	.re-case__head {
		justify-content: start;
	}
}
.re-case__num {
	padding: max(1.2px, min(0.2vw, 2px)) max(16.8px, min(2.3vw, 28px)) 0 max(42px, min(5.8vw, 70px));
	letter-spacing: 0.04em;
	font-weight: 450;
	font-size: max(15px, min(2.1vw, 25px));
	text-align: center;
	font-family: "Jost", sans-serif;
	color: #0057a5;
}
@media screen and (max-width: 767px) {
	.re-case__num {
		padding-left: 5.3vw;
	}
}
.re-case__num span {
	display: block;
	font-weight: 600;
	font-style: italic;
	font-size: max(42.6px, min(5.9vw, 71px));
	line-height: 1;
}
.re-case__title-area {
	padding: 0 0 0 max(12px, min(1.7vw, 20px));
	border-left: max(1.2px, min(0.2vw, 2px)) solid #fff;
}
.re-case__subtitle {
	font-weight: 800;
	color: #0057a5;
	font-size: max(13.5px, min(2.3vw, 27px));
	letter-spacing: 0.05em;
}
.re-case__title {
	margin: min(-1.8px, max(-0.3vw, -3px)) 0 max(1.8px, min(0.3vw, 3px));
	font-size: max(18.5px, min(3.1vw, 37px));
	font-weight: 800;
	line-height: 1.297;
	letter-spacing: 0.09em;
}
.re-case__img {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: max(30px, min(4.2vw, 50px));
	padding-bottom: max(12px, min(1.7vw, 20px));
}
@media screen and (max-width: 767px) {
	.re-case__img {
		position: relative;
		top: auto;
		transform: none;
		right: auto;
	}
}
.re-case__img img:nth-child(1) {
	width: max(128.4px, min(17.8vw, 214px));
	position: absolute;
	right: max(230.4px, min(32vw, 384px));
	bottom: max(13.2px, min(1.8vw, 22px));
}
@media screen and (max-width: 767px) {
	.re-case__img img:nth-child(1) {
		right: auto;
		left: 2.7vw;
	}
}
.re-case__img img:nth-child(2) {
	width: max(258px, min(35.8vw, 430px));
}
@media screen and (max-width: 767px) {
	.re-case__img img:nth-child(2) {
		display: block;
		margin: 0 auto;
	}
}
.re-case__text {
	margin-top: max(24px, min(3.3vw, 40px));
	padding: 0 max(27.6px, min(3.8vw, 46px));
	display: grid;
	grid-template-columns: max(334.2px, min(46.4vw, 557px)) auto;
	gap: max(54px, min(7.5vw, 90px)) max(20.4px, min(2.8vw, 34px));
}
@media screen and (max-width: 767px) {
	.re-case__text {
		grid-template-columns: none;
	}
}
.re-case__text > div {
	padding: 0 0 0 max(4.8px, min(0.7vw, 8px));
	border-left: max(2.4px, min(0.3vw, 4px)) solid #0057a5;
}
.re-case__headline {
	padding: max(6px, min(0.8vw, 10px)) 0 0 max(3px, min(0.4vw, 5px));
	font-size: max(17.4px, min(2.4vw, 29px));
	font-weight: 900;
	border-bottom: max(1.8px, min(0.3vw, 3px)) solid #0057a5;
	color: #0057a5;
	letter-spacing: 0.05em;
}
.re-case__headline span {
	padding: 0 max(3px, min(0.4vw, 5px));
	margin-left: min(-3px, max(-0.4vw, -5px));
	display: inline-block;
	background-color: #fff67f;
}
.re-case__desc {
	padding: max(1.2px, min(0.2vw, 2px)) max(3.6px, min(0.5vw, 6px)) 0 max(1.2px, min(0.2vw, 2px));
	font-size: max(15.4px, min(1.8vw, 22px));
	font-weight: bold;
	line-height: 1.727;
	text-align: justify;
	text-align-last: left;
	letter-spacing: 0.02em;
}
.re-case__before {
	position: relative;
}
.re-case__before::before {
	content: url("./assets/img/realestate/re-case_arrow_01.svg");
	position: absolute;
	top: max(6px, min(0.8vw, 10px));
	right: min(-7.8px, max(-1.1vw, -13px));
	display: block;
	width: max(26.4px, min(3.7vw, 44px));
	height: max(51px, min(7.1vw, 85px));
}
@media screen and (max-width: 767px) {
	.re-case__before::before {
		top: 100%;
		right: auto;
		left: 50%;
		transform: translateX(-50%) rotate(90deg);
	}
}
.re-case__before .re-case__desc {
	padding-right: max(36px, min(5vw, 60px));
}
.re-case__after .re-case__desc {
	padding-left: max(7.8px, min(1.1vw, 13px));
}

.re-case2__box {
	width: 1050px;
	max-width: 100%;
	margin: 40px auto 0;
	border: 3px solid #0057a5;
	padding: 28px 0 28px 28px;
	display: flex;
	gap: 14px 30px;
}
@media screen and (max-width: 767px) {
	.re-case2__box {
		flex-direction: column;
		align-items: center;
		padding: 14px 0 14px 14px;
	}
}
.re-case2__img-area {
	width: 39.4%;
	max-width: 400px;
}
@media screen and (max-width: 767px) {
	.re-case2__img-area {
		max-width: 100%;
		width: 400px;
		padding-right: 14px;
	}
}
.re-case2__img-area img {
	width: 100%;
	display: block;
}
.re-case2__txt-area {
	flex: 1;
	max-width: 100%;
}
.re-case2__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px 0;
}
@media screen and (max-width: 1000px) {
	.re-case2__head {
		flex-direction: column;
		align-items: start;
	}
}
@media screen and (max-width: 767px) {
	.re-case2__head {
		flex-direction: row;
	}
}
@media screen and (max-width: 480px) {
	.re-case2__head {
		flex-direction: column;
	}
}
.re-case2__place {
	font-weight: 700;
	letter-spacing: 0.05em;
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 0.877rem + 1.0582010582vw, 1.75rem); /* 18px @375px - 28px @1320px */
	display: flex;
	align-items: center;
	justify-content: start;
	gap: 0 0.286em;
}
.re-case2__place img {
	width: 1.143em;
	vertical-align: middle;
}
.re-case2__type {
	border-radius: 9999px;
	border-top-right-radius: 0px;
	border-bottom-right-radius: 0px;
	background: linear-gradient(90deg, #C7E8FA 0%, #8FD1F5 100%);
	color: #0058a1;
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 0.976rem + 0.6349206349vw, 1.5rem); /* 18px @375px - 24px @1320px */
	font-weight: 700;
	text-align: center;
	width: 11.25em;
	height: 2em;
	display: flex;
	align-items: center;
	justify-content: center;
}
@media screen and (max-width: 1000px) {
	.re-case2__type {
		align-self: end;
	}
}
.re-case2__price, .re-case2__desc {
	margin-right: 26px;
}
@media screen and (max-width: 767px) {
	.re-case2__price, .re-case2__desc {
		margin-right: 14px;
	}
}
.re-case2__price {
	font-size: 1rem;
	font-size: clamp(1rem, 0.702rem + 1.2698412698vw, 1.75rem); /* 16px @375px - 28px @1320px */
	font-weight: 700;
	vertical-align: baseline;
	text-align: center;
	background: linear-gradient(transparent 70%, #fff67f 70%, #fff67f 90%, transparent 90%);
	color: #0057a5;
}
@media screen and (max-width: 767px) {
	.re-case2__price {
		width: 400px;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}
@media screen and (max-width: 480px) {
	.re-case2__price {
		width: auto;
		margin-right: 14px;
	}
}
.re-case2__price-kaitori {
	margin-right: 0.786em;
}
.re-case2__price-num {
	vertical-align: -0.07em;
	font-size: 1.875rem;
	font-size: clamp(1.875rem, 1.131rem + 3.1746031746vw, 3.75rem); /* 30px @375px - 60px @1320px */
}
.re-case2__price-yen {
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 0.679rem + 1.9047619048vw, 2.25rem); /* 18px @375px - 36px @1320px */
}
.re-case2__desc {
	margin-top: 7px;
	font-size: 1rem;
	font-size: clamp(1rem, 0.95rem + 0.2116402116vw, 1.125rem); /* 16px @375px - 18px @1320px */
	line-height: 1.778;
}
.re-case2__desc strong {
	font-weight: 700;
	background: linear-gradient(transparent 70%, #fff67f 70%);
}

.re-diagnosis {
	margin: max(48px, min(6.7vw, 80px)) 0 0;
	text-align: center;
}
.re-diagnosis__title {
	position: relative;
	display: inline-block;
	padding: max(9px, min(1.3vw, 15px)) max(73.6px, min(15.3vw, 184px)) max(9px, min(1.3vw, 15px)) max(42px, min(5.8vw, 70px));
	letter-spacing: 0.05em;
	font-weight: 800;
	font-size: max(22.2px, min(3.1vw, 37px));
	color: #fff67f;
	background: linear-gradient(90deg, #1ba68e 0%, #1360ad 100%);
	border-radius: 9999px;
}
.re-diagnosis__title::after {
	content: url("./assets/img/realestate/re-diagnosis_arrow_01.svg");
	display: block;
	position: absolute;
	top: -1px;
	right: max(24px, min(5vw, 60px));
	width: max(32px, min(6.7vw, 80px));
	height: max(28.4px, min(5.9vw, 71px));
}
.re-diagnosis__lead {
	text-align: center;
	vertical-align: middle;
	font-weight: 800;
	font-size: max(19.2px, min(2.7vw, 32px));
	font-style: italic;
	color: #0057a5;
	letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
	.re-diagnosis__lead {
		margin-top: 5.3vw;
		margin-bottom: 70px;
		line-height: 1;
		vertical-align: baseline;
	}
}
.re-diagnosis__lead span {
	margin: 0 max(6px, min(0.8vw, 10px));
	vertical-align: middle;
	font-weight: bold;
	font-size: max(42px, min(5.8vw, 70px));
	font-family: "Jost", sans-serif;
}
@media screen and (max-width: 767px) {
	.re-diagnosis__lead span {
		vertical-align: baseline;
		margin: 0;
	}
}
.re-diagnosis__figure {
	margin-top: min(-37.8px, max(-5.3vw, -63px));
}
.re-diagnosis__figure img {
	display: block;
}
.re-diagnosis__list {
	padding-left: 0;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0 min(1.5vw, 18px);
}
.re-diagnosis__list li {
	position: relative;
	background: linear-gradient(90deg, #1ba68e 0%, #1360ad 100%);
}
.re-diagnosis__list li::after {
	content: "";
	display: block;
	position: absolute;
	width: min(2.3vw, 28px);
	height: min(2.3vw, 28px);
	top: -1px;
	right: -1px;
	background-color: #fff;
	clip-path: polygon(0 0, 100% 100%, 100% 0);
}
.re-diagnosis__list a {
	position: relative;
	padding: min(1vw, 12px) 0 min(1.4vw, 17px);
	text-decoration: none;
	display: block;
	font-size: min(2.8vw, 33px);
	text-align: center;
	color: #fff;
	font-weight: 800;
	letter-spacing: 0.08em;
}
.re-diagnosis__list a::before, .re-diagnosis__list a::after {
	content: "";
	display: block;
	position: absolute;
	pointer-events: none;
}
.re-diagnosis__list a::before {
	bottom: 0;
	margin-bottom: min(1.1vw, 13px);
	right: min(0.8vw, 10px);
	margin-bottom: min(0.8vw, 10px);
	width: min(3.6vw, 43.5px);
	padding-bottom: min(3.6vw, 43.5px);
	background-color: var(--color-secondary);
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.re-diagnosis__list a::after {
	bottom: 0;
	margin-bottom: min(2.3vw, 28px);
	right: min(2.5vw, 30px);
	width: min(3vw, 36px);
	padding-bottom: min(1.2vw, 14px);
	border-bottom: 1.5px solid #fff;
	border-right: 2px solid #fff;
	transform: skew(50deg);
	animation: anim-arrow-move var(--anim-arrow-move-duration) infinite;
}
.re-diagnosis__list span {
	display: block;
	font-size: max(8px, min(1.5vw, 18px));
	font-weight: bold;
}

.re-general {
	margin-top: max(52.2px, min(7.3vw, 87px));
}
.re-general .re-title-bottom {
	font-size: max(15.6px, min(2.2vw, 26px));
	letter-spacing: 0.09em;
	margin-top: max(15px, min(2.1vw, 25px));
}

.re-merit-list {
	width: max-content;
	max-width: 100%;
	margin: max(13.2px, min(1.8vw, 22px)) auto 0;
}
.re-merit-list__row {
	display: flex;
	font-size: max(15px, min(2.5vw, 30px));
	gap: 0 0.567em;
}
.re-merit-list__row--demerit .re-merit-list__dt {
	background-color: #1ba58e;
}
.re-merit-list__row + .re-merit-list__row {
	margin-top: max(10.2px, min(1.4vw, 17px));
}
.re-merit-list__dt {
	width: 5.7em;
	height: 1.767em;
	font-size: inherit;
	text-align: center;
	color: #fff;
	line-height: 1.767;
	background-color: #0057a5;
	font-weight: 900;
}
.re-merit-list__dd {
	flex: 1;
	font-size: max(16px, min(2.7vw, 32px));
	line-height: 1.656;
	font-weight: 900;
}
.re-merit-list .re-step-list {
	margin-top: max(24px, min(3.3vw, 40px));
}

.re-step-list {
	margin: max(28.2px, min(3.9vw, 47px)) auto min(-33.6px, max(-4.7vw, -56px));
	padding-left: 0;
	list-style-type: none;
	display: grid;
	grid-template-columns: max(144px, min(20vw, 240px)) max(169.8px, min(23.6vw, 283px)) max(159px, min(22.1vw, 265px)) max(157.2px, min(21.8vw, 262px));
	justify-content: center;
	align-items: stretch;
}
@media screen and (max-width: 767px) {
	.re-step-list {
		grid-template-columns: none;
	}
}
.re-step-list > li {
	margin: 0 0 max(33.6px, min(4.7vw, 56px));
	display: flex;
	flex-direction: column;
	position: relative;
	text-align: center;
	border-right: max(1.2px, min(0.2vw, 2px)) solid #0057a5;
}
@media screen and (max-width: 767px) {
	.re-step-list > li {
		width: 300px;
		max-width: 100%;
		border-right-width: 0;
		border-bottom: max(1.2px, min(0.2vw, 2px)) solid #0057a5;
	}
}
.re-step-list > li::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	width: max(9.6px, min(1.3vw, 16px));
	height: max(18px, min(2.5vw, 30px));
	background-color: #0057a5;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	z-index: 2;
}
@media screen and (max-width: 767px) {
	.re-step-list > li::after {
		top: 100%;
		left: 50%;
		transform: translateX(-50%);
		width: max(18px, min(2.5vw, 30px));
		height: max(9.6px, min(1.3vw, 16px));
		clip-path: polygon(0 0, 50% 100%, 100% 0);
	}
}
.re-step-list > li:last-child::after {
	content: none;
}
.re-step-list__num {
	margin-top: min(-6px, max(-0.8vw, -10px));
	padding-bottom: max(7.2px, min(1vw, 12px));
	vertical-align: baseline;
	font-size: max(16.2px, min(2.3vw, 27px));
	font-family: "Jost", sans-serif;
	color: #0057a5;
	font-weight: 500;
	line-height: 1;
}
.re-step-list__num span {
	vertical-align: baseline;
	font-size: max(31.2px, min(4.3vw, 52px));
	font-style: italic;
	font-weight: 600;
}
.re-step-list__text {
	flex: 1;
	flex-direction: column;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: max(6px, min(0.8vw, 10px)) 0;
	padding: max(12.6px, min(1.8vw, 21px)) 0;
	background-color: #c7e8fa;
}
.re-step-list__text p {
	font-size: max(18.2px, min(2.2vw, 26px));
	line-height: 1.308;
	font-weight: bold;
	letter-spacing: 0.04em;
}
.re-step-list__icon {
	text-align: center;
}
.re-step-list__icon--01 {
	width: max(42.6px, min(5.9vw, 71px));
}
.re-step-list__icon--02 {
	width: max(53.4px, min(7.4vw, 89px));
}

.re-point-list {
	margin: max(19.8px, min(2.8vw, 33px)) 0 0;
	padding-left: 0;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	justify-content: center;
	align-items: stretch;
	gap: 8vw 0;
}
@media screen and (max-width: 767px) {
	.re-point-list {
		grid-template-columns: repeat(2, 1fr);
	}
}
.re-point-list li {
	margin-left: min(-12px, max(-1.7vw, -20px));
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}
@media screen and (max-width: 767px) {
	.re-point-list li {
		margin-left: 0;
	}
}
.re-point-list li:first-child {
	margin-left: 0;
}
.re-point-list__text {
	padding: max(2.4px, min(0.3vw, 4px)) 0;
	margin: 0 max(24.6px, min(3.4vw, 41px));
	width: calc(100% - max(49.2px, min(6.8vw, 82px)));
	position: relative;
	font-size: max(14.4px, min(3vw, 36px));
	color: #fff;
	text-align: center;
	background-color: #0057a5;
	font-weight: 900;
	letter-spacing: 0.05em;
	white-space: nowrap;
}
.re-point-list__text::before, .re-point-list__text::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	width: max(24.6px, min(3.4vw, 41px));
	clip-path: polygon(0 0, 100% 0, 1px 100%, 0% 100%);
	z-index: -1;
}
.re-point-list__text::before {
	right: calc(100% - 1px);
	transform: scale(-1, -1);
	background-color: #0057a5;
}
.re-point-list__text::after {
	left: calc(100% - 1px);
	background-color: #0057a5;
}
.re-point-list__text--lts0 {
	letter-spacing: 0;
}
.re-point-list__icon {
	margin: max(10.8px, min(1.5vw, 18px)) 0 0;
}
.re-point-list__icon img {
	width: max(109.8px, min(15.3vw, 183px));
}

.re-guarantee {
	margin: max(73.2px, min(10.2vw, 122px)) 0 0;
}
.re-guarantee__wrap {
	width: max(636px, min(88.3vw, 1060px));
	max-width: 100%;
	margin: max(37.2px, min(5.2vw, 62px)) auto 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: stretch;
	gap: 10.7vw 0;
}
@media screen and (max-width: 767px) {
	.re-guarantee__wrap {
		grid-template-columns: none;
	}
}
.re-guarantee__item {
	padding: 0 max(22.8px, min(3.2vw, 38px));
	border-left: max(10.8px, min(1.5vw, 18px)) solid #c7e8fa;
}
.re-guarantee__headline {
	margin: min(-1.2px, max(-0.2vw, -2px)) 0 0;
	text-align: center;
	font-size: max(19.8px, min(2.8vw, 33px));
	color: #0057a5;
	font-weight: 900;
	letter-spacing: 0.13em;
	line-height: 1;
}
.re-guarantee__headline span {
	font-size: max(29.7px, min(4.1vw, 49.5px));
}
.re-guarantee__text {
	margin: max(13.8px, min(1.9vw, 23px)) 0 0;
	font-size: max(16.8px, min(2vw, 24px));
	line-height: 1.75;
	text-align: justify;
	text-align-last: left;
	font-weight: 600;
	letter-spacing: 0.1em;
}
.re-guarantee__img {
	margin: max(17.4px, min(2.4vw, 29px)) 0 0;
}
.re-guarantee__img img {
	display: block;
	margin: 0 auto;
	width: max(198px, min(27.5vw, 330px));
}
.re-guarantee__point {
	margin-top: max(39.6px, min(5.5vw, 66px));
}
.re-guarantee__flow {
	margin: max(38.4px, min(5.3vw, 64px)) max(3.6px, min(0.5vw, 6px)) 0 0;
}
.re-guarantee__flow .re-step-list {
	grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
	.re-guarantee__flow .re-step-list {
		grid-template-columns: none;
	}
}
.re-guarantee__flow .re-step-list > li:first-child {
	border-left: max(1.2px, min(0.2vw, 2px)) solid #0057a5;
}
@media screen and (max-width: 767px) {
	.re-guarantee__flow .re-step-list > li:first-child {
		border-left-width: 0;
	}
}
.re-guarantee__box {
	position: relative;
	margin: max(26.4px, min(3.7vw, 44px)) 0 0 0;
	padding: 0 max(3.6px, min(0.5vw, 6px)) max(3.6px, min(0.5vw, 6px)) 0;
	background-color: #fff;
}
.re-guarantee__box::before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	top: max(3.6px, min(0.5vw, 6px));
	left: max(3.6px, min(0.5vw, 6px));
	background-color: #c7e8fa;
	z-index: 0;
}
.re-guarantee__box-inner {
	padding: max(25.8px, min(3.6vw, 43px)) max(13.8px, min(1.9vw, 23px)) max(12px, min(1.7vw, 20px));
	border: max(1.2px, min(0.2vw, 2px)) solid #0057a5;
	background-color: #fff;
	z-index: 3;
	position: relative;
}
.re-guarantee__box-title {
	padding: 0 max(9px, min(1.3vw, 15px));
	position: absolute;
	top: min(-12px, max(-1.7vw, -20px));
	left: max(14.4px, min(2vw, 24px));
	display: inline-block;
	letter-spacing: 0.1em;
	font-weight: 800;
	font-size: max(18px, min(2.5vw, 30px));
	background-color: #fff;
}
.re-guarantee__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: max(16.8px, min(2.3vw, 28px)) max(42px, min(5.8vw, 70px));
}
@media screen and (max-width: 767px) {
	.re-guarantee__list {
		grid-template-columns: none;
	}
}
.re-guarantee__list dt {
	display: inline-block;
	margin: max(16.8px, min(2.3vw, 28px)) 0 0;
	padding: max(6px, min(0.8vw, 10px)) 0;
	width: max(103.2px, min(14.3vw, 172px));
	text-align: center;
	font-size: max(16.1px, min(1.9vw, 23px));
	font-weight: 800;
	color: #0057a5;
	background-color: #c7e8fa;
}
.re-guarantee__list dt:first-child {
	margin-top: 0;
}
.re-guarantee__list dd {
	margin: max(4.2px, min(0.6vw, 7px)) 0 0;
	font-size: max(16.1px, min(1.9vw, 23px));
	line-height: 1.652;
	font-weight: bold;
}
.re-guarantee__list dd ul {
	padding-left: 0;
	list-style-type: none;
}
.re-guarantee__list dd li {
	position: relative;
	padding-left: 0.8em;
}
.re-guarantee__list dd li::before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

.re-realestate {
	margin: max(68.4px, min(9.5vw, 114px)) 0 0;
}
.re-realestate__point {
	margin: max(30px, min(4.2vw, 50px)) 0 0;
}
.re-realestate__point .re-point-list {
	grid-template-columns: repeat(2, 1fr) max(186.6px, min(25.9vw, 311px)) max(183.6px, min(25.5vw, 306px));
}
@media screen and (max-width: 767px) {
	.re-realestate__point .re-point-list {
		grid-template-columns: repeat(2, 1fr);
	}
}
.re-realestate__point .re-point-list__text {
	padding-top: max(9.6px, min(1.3vw, 16px));
	padding-bottom: max(9.6px, min(1.3vw, 16px));
	font-size: max(13.4px, min(2.8vw, 33.5px));
	line-height: 1.09;
}
.re-realestate__flow {
	margin: max(30px, min(4.2vw, 50px)) 0 0;
}
.re-realestate__flow .re-step-list {
	grid-template-columns: repeat(5, 1fr);
}
@media screen and (max-width: 767px) {
	.re-realestate__flow .re-step-list {
		grid-template-columns: none;
	}
}
.re-realestate__flow .re-step-list > li:first-child {
	border-left: max(1.2px, min(0.2vw, 2px)) solid #0057a5;
}
@media screen and (max-width: 767px) {
	.re-realestate__flow .re-step-list > li:first-child {
		border-left-width: 0;
	}
}
.re-realestate__flow .re-step-list__text {
	padding-top: max(6px, min(0.8vw, 10px));
	padding-bottom: max(6px, min(0.8vw, 10px));
}

.re-lease {
	margin: max(72px, min(10vw, 120px)) 0 0;
}
.re-lease__num {
	margin: max(6px, min(0.8vw, 10px)) 0 0;
	text-align: center;
	font-size: max(28.5px, min(4vw, 47.5px));
	font-weight: 500;
	vertical-align: baseline;
	color: #0057a5;
	font-family: "Jost", sans-serif;
}
.re-lease__num span {
	font-size: max(55.2px, min(7.7vw, 92px));
	vertical-align: baseline;
	font-style: italic;
}
.re-lease__title {
	margin: min(-12px, max(-1.7vw, -20px)) 0 0;
	padding: max(2.4px, min(0.3vw, 4px)) 0;
	font-size: max(21px, min(3.5vw, 42px));
	color: #0057a5;
	text-align: center;
	font-weight: 900;
	background: #fff67f;
	letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
	.re-lease__title {
		padding-left: 5.3vw;
		padding-right: 5.3vw;
	}
}
.re-lease__figure {
	margin: max(18px, min(2.5vw, 30px)) 0 0;
	position: relative;
}
.re-lease__figure img {
	display: block;
	margin: 0 auto;
	width: max(633px, min(87.9vw, 1055px));
}
.re-lease__text {
	border-left: max(5.1px, min(0.7vw, 8.5px)) solid #c7e8fa;
	padding: 0 0 max(6.6px, min(0.9vw, 11px)) max(12px, min(1.7vw, 20px));
	margin: min(-18px, max(-2.5vw, -30px)) 0 0 max(37.8px, min(5.3vw, 63px));
}
@media screen and (max-width: 767px) {
	.re-lease__text {
		margin: 8vw auto 0;
		width: max-content;
	}
}
.re-lease__headline {
	font-weight: bold;
	font-size: max(20px, min(3.3vw, 40px));
	color: #0057a5;
	letter-spacing: 0.05em;
}
.re-lease__desc {
	font-size: max(13.75px, min(2.3vw, 27.5px));
	line-height: 1.491;
	letter-spacing: 0.05em;
	font-weight: 500;
}
.re-lease__after {
	margin: max(18px, min(2.5vw, 30px)) max(37.8px, min(5.3vw, 63px)) 0;
	padding: max(6px, min(0.8vw, 10px)) 0 max(10.8px, min(1.5vw, 18px));
	font-size: max(22.25px, min(3.7vw, 44.5px));
	color: #fff;
	font-weight: 800;
	text-align: center;
	clip-path: polygon(0 0, 100% 0, 100% 50%, 50% 100%, 0% 50%);
	background: linear-gradient(90deg, #1ba68e 0%, #1360ad 100%);
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.re-lease__after {
		margin-left: 0;
		margin-right: 0;
	}
}
.re-lease__change {
	margin: max(19.8px, min(2.8vw, 33px)) 0 0;
	text-align: center;
}
.re-lease__change span {
	position: relative;
	padding: 0 max(15.6px, min(2.2vw, 26px)) max(18px, min(2.5vw, 30px));
	display: inline-block;
	font-size: max(21px, min(3.5vw, 42px));
	color: #0057a5;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.25em;
}
.re-lease__change span::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: max(6px, min(0.8vw, 10px));
	display: block;
	background-color: #c7e8fa;
}
.re-lease__sec--02 .re-lease__text {
	position: absolute;
	bottom: max(56.4px, min(7.8vw, 94px));
	left: max(129.6px, min(18vw, 216px));
}
@media screen and (max-width: 767px) {
	.re-lease__sec--02 .re-lease__text {
		position: relative;
		bottom: auto;
		left: auto;
	}
}
.re-lease__merit-wrap {
	margin: max(24px, min(3.3vw, 40px)) 0 0;
	padding: max(8.4px, min(1.2vw, 14px)) 0 max(20.4px, min(2.8vw, 34px));
	background: linear-gradient(90deg, #1ba68e 0%, #1360ad 100%);
}
.re-lease__merit-title {
	text-align: center;
	font-weight: 900;
	font-size: max(24.6px, min(3.4vw, 41px));
	color: #fff67f;
	vertical-align: middle;
	font-style: italic;
	letter-spacing: 0.23em;
}
.re-lease__merit-title img {
	margin: min(-5.4px, max(-0.8vw, -9px)) max(10.8px, min(1.5vw, 18px)) 0 0;
	width: max(35.4px, min(4.9vw, 59px));
	vertical-align: middle;
}
.re-lease__merit-list {
	margin: max(15px, min(2.1vw, 25px)) 0 0;
	padding-left: 0;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: max(14.4px, min(2vw, 24px)) max(18px, min(2.5vw, 30px));
}
@media screen and (max-width: 767px) {
	.re-lease__merit-list {
		grid-template-columns: none;
	}
}
.re-lease__merit-list li {
	padding: max(6.6px, min(0.9vw, 11px)) 0;
	background-color: #fff;
	text-align: center;
	font-weight: 800;
	font-size: max(14.5px, min(2.4vw, 29px));
	color: #0057a5;
	letter-spacing: 0.1em;
	border-radius: 9999px;
	box-shadow: max(1.8px, min(0.3vw, 3px)) max(2.4px, min(0.3vw, 4px)) 0px #003985;
}
.re-lease__merit-list li sup {
	vertical-align: top;
	font-size: max(10.2px, min(1.4vw, 17px));
}
.re-lease__small {
	margin-top: max(3px, min(0.4vw, 5px));
	text-align: right;
	font-weight: bold;
	font-size: max(10.2px, min(1.4vw, 17px));
	letter-spacing: 0.05em;
}
.re-lease__flow {
	margin: max(26.4px, min(3.7vw, 44px)) 0 0;
}
.re-lease__flow .re-step-list {
	grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
	.re-lease__flow .re-step-list {
		grid-template-columns: none;
	}
}
.re-lease__flow .re-step-list > li:first-child {
	border-left: max(1.2px, min(0.2vw, 2px)) solid #0057a5;
}
@media screen and (max-width: 767px) {
	.re-lease__flow .re-step-list > li:first-child {
		border-left-width: 0;
	}
}

.re-company {
	margin: max(54px, min(7.5vw, 90px)) 0 0;
}
.re-company__catch {
	padding-left: max(7.2px, min(1vw, 12px));
	font-size: max(15.9px, min(2.2vw, 26.5px));
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
	.re-company__catch {
		padding-left: 13.3vw;
	}
}
.re-company__head {
	margin: max(1.8px, min(0.3vw, 3px)) 0 0;
	background-color: #fff67f;
}
.re-company__head .re-wrap {
	position: relative;
}
.re-company__title {
	padding: max(9px, min(1.3vw, 15px)) 0 max(9px, min(1.3vw, 15px)) max(38.4px, min(5.3vw, 64px));
	text-align: center;
	font-size: max(19.5px, min(3.3vw, 39px));
	color: #0057a5;
	font-weight: 900;
	letter-spacing: 0.07em;
}
@media screen and (max-width: 767px) {
	.re-company__title {
		padding-left: 21.3vw;
	}
}
.re-company__illust {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: max(25.8px, min(3.6vw, 43px));
	width: max(95.4px, min(13.3vw, 159px));
}
@media screen and (max-width: 767px) {
	.re-company__illust {
		left: auto;
		right: 74vw;
	}
}
@media screen and (max-width: 480px) {
	.re-company__illust {
		right: auto;
		left: 2.7vw;
	}
}
.re-company__box {
	position: relative;
	margin: max(51.6px, min(7.2vw, 86px)) 0 0;
	padding: max(26.4px, min(3.7vw, 44px)) 0 max(14.4px, min(2vw, 24px)) max(33.6px, min(4.7vw, 56px));
	border: max(1.8px, min(0.3vw, 3px)) solid #0057a5;
}
@media screen and (max-width: 767px) {
	.re-company__box {
		padding-left: max(18px, min(2.5vw, 30px));
		padding-right: max(18px, min(2.5vw, 30px));
	}
}
.re-company__box dt,
.re-company__box dd {
	font-size: max(15px, min(2.1vw, 25px));
	font-weight: 500;
	letter-spacing: 0.05em;
}
.re-company__box dt.re-company__small,
.re-company__box dd.re-company__small {
	font-size: max(13.2px, min(1.8vw, 22px));
	line-height: 1.273;
}
@media screen and (max-width: 767px) {
	.re-company__box dt.re-company__small,
	.re-company__box dd.re-company__small {
		font-size: max(15px, min(2.1vw, 25px));
	}
}
@media screen and (max-width: 767px) {
	.re-company__box dt.re-company__small br,
	.re-company__box dd.re-company__small br {
		display: none;
	}
}
.re-company__box dt {
	float: left;
	clear: left;
}
@media screen and (max-width: 767px) {
	.re-company__box dt {
		float: none;
	}
}
.re-company__box dd {
	margin: 0 0 0 max(127.2px, min(17.7vw, 212px));
	padding: 0 0 max(18px, min(2.5vw, 30px)) max(27.6px, min(3.8vw, 46px));
	border-left: max(1.2px, min(0.2vw, 2px)) solid #0057a5;
}
@media screen and (max-width: 767px) {
	.re-company__box dd {
		margin-left: 0;
		margin-top: 0.8vw;
		padding-left: 0;
		border-left-width: 0;
	}
}
.re-company__about {
	padding: 0 max(24px, min(3.3vw, 40px));
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: min(-21px, max(-2.9vw, -35px));
	display: inline-block;
	font-size: max(20.4px, min(2.8vw, 34px));
	font-weight: 800;
	color: #1360ad;
	background: #fff;
	letter-spacing: 0.3em;
	white-space: nowrap;
}

.re-faq {
	margin: max(54px, min(7.5vw, 90px)) 0 0;
}
.re-faq__title {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 max(18px, min(2.5vw, 30px));
	font-size: max(20.4px, min(2.8vw, 34px));
	color: #1360ad;
	letter-spacing: 0.25em;
	font-weight: 800;
}
.re-faq__icon--01 {
	margin-right: max(9px, min(1.3vw, 15px));
	width: max(9px, min(1.3vw, 15px));
}
.re-faq__icon--02 {
	width: max(37.2px, min(5.2vw, 62px));
}
.re-faq__list {
	margin: max(10.2px, min(1.4vw, 17px)) 0 0;
}
.re-faq__q, .re-faq__a {
	position: relative;
	margin-top: max(8.4px, min(1.2vw, 14px));
	font-size: max(18px, min(2.5vw, 30px));
	letter-spacing: 0.05em;
	padding: max(7.2px, min(1vw, 12px)) max(42px, min(5.8vw, 70px)) max(7.2px, min(1vw, 12px)) max(60px, min(8.3vw, 100px));
	text-align: justify;
	text-align-last: left;
}
.re-faq__q:first-child, .re-faq__a:first-child {
	margin-top: 0;
}
.re-faq__q span, .re-faq__a span {
	position: absolute;
	left: max(15px, min(2.1vw, 25px));
	font-weight: 600;
	font-family: "Jost", sans-serif;
}
.re-faq__q {
	color: #fff;
	background: #0057a5;
	cursor: pointer;
	transition: opacity 0.2s;
}
.re-faq__q:hover {
	opacity: 0.9;
}
.re-faq__q::after {
	content: url("./assets/img/realestate/re-faq_icon_03.svg");
	width: max(26.4px, min(3.7vw, 44px));
	height: max(28.2px, min(3.9vw, 47px));
	position: absolute;
	right: max(9px, min(1.3vw, 15px));
	bottom: max(6px, min(0.8vw, 10px));
}
.re-faq__q:nth-of-type(even) {
	background: #1ba68e;
}
.re-faq__q:nth-of-type(even)::after {
	content: url("./assets/img/realestate/re-faq_icon_04.svg");
}
.re-faq__a {
	display: none;
	border: max(1.8px, min(0.3vw, 3px)) solid #0057a5;
	padding-right: max(18px, min(2.5vw, 30px));
}
.re-faq__a > *:not(span) {
	font-size: max(12px, min(1.7vw, 20px));
}
.re-faq__a p {
	margin-top: 1em;
}
.re-faq__a p:first-of-type {
	margin-top: 0;
}
.re-faq__mt1 {
	margin-top: 1em;
}

.re-form {
	margin: max(45.6px, min(6.3vw, 76px)) 0 0;
}
.re-form:first-child {
	margin-top: 0;
}
.re-form__head {
	position: relative;
	background-color: #fff67f;
}
@media screen and (max-width: 767px) {
	.re-form__head {
		margin-top: 8vw;
		margin-bottom: 60px;
	}
}
.re-form__head::before, .re-form__head::after {
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: max(94.4px, min(19.7vw, 236px));
	height: max(58px, min(12.1vw, 145px));
}
.re-form__head::before {
	content: url("./assets/img/realestate/re-form_img_01.svg");
	left: 0;
}
@media screen and (max-width: 767px) {
	.re-form__head::before {
		left: 0;
		top: auto;
		transform: none;
		bottom: 50%;
	}
}
.re-form__head::after {
	content: url("./assets/img/realestate/re-form_img_02.svg");
	right: 0;
}
@media screen and (max-width: 767px) {
	.re-form__head::after {
		transform: none;
		top: 80%;
	}
}
.re-form__title {
	padding-top: max(10.2px, min(1.4vw, 17px));
	padding-bottom: max(10.2px, min(1.4vw, 17px));
	font-size: max(20.4px, min(2.8vw, 34px));
	text-align: center;
	font-weight: 800;
	letter-spacing: 0.3em;
	color: #1360ad;
}
@media screen and (max-width: 767px) {
	.re-form__title {
		letter-spacing: 0.1em;
	}
}
.re-form input:not([type=submit]),
.re-form select,
.re-form textarea, .re-form__list {
	font-size: max(17.4px, min(2.4vw, 29px));
}
.re-form input:not([type=submit]),
.re-form select,
.re-form textarea {
	padding: max(7.8px, min(1.1vw, 13px)) max(16.8px, min(2.3vw, 28px));
	border: 1px solid #727171;
	background: #fcfbfa;
	border-radius: 0;
	width: 100%;
}
.re-form input[type=checkbox],
.re-form input[type=radio] {
	border: 2px solid #231815;
	width: max(14.4px, min(2vw, 24px));
	height: max(14.4px, min(2vw, 24px));
	padding: 0;
}
.re-form input[type=checkbox]::before,
.re-form input[type=radio]::before {
	width: max(12px, min(1.7vw, 20px));
	height: max(9px, min(1.3vw, 15px));
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.re-form textarea {
	height: 10em;
	font-size: max(14px, 0.7em);
}
.re-form__select {
	position: relative;
	display: block;
}
.re-form__select::after {
	content: "";
	background: #231815;
	display: block;
	width: max(13.8px, min(1.9vw, 23px));
	height: max(11.4px, min(1.6vw, 19px));
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: max(15.6px, min(2.2vw, 26px));
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	pointer-events: none;
}
.re-form__select br {
	display: none;
}
.re-form__list {
	margin: max(24px, min(3.3vw, 40px)) 0 0;
	display: grid;
	grid-template-columns: max(219.6px, min(30.5vw, 366px)) auto;
}
@media screen and (max-width: 767px) {
	.re-form__list {
		grid-template-columns: none;
	}
}
.re-form dt,
.re-form dd {
	margin-top: max(10.8px, min(1.5vw, 18px));
}
.re-form dt {
	margin-bottom: max(11.4px, min(1.6vw, 19px));
	padding-top: max(6px, min(0.8vw, 10px));
	vertical-align: middle;
}
@media screen and (max-width: 767px) {
	.re-form dt {
		margin-bottom: 0;
	}
}
.re-form dt.re-form__item--line {
	min-width: max-content;
}
.re-form dt.re-form__item--line + dd {
	margin-top: max(55.2px, min(7.7vw, 92px));
}
@media screen and (max-width: 767px) {
	.re-form dt.re-form__item--line + dd {
		margin-top: max(10.8px, min(1.5vw, 18px));
	}
}
.re-form dd .wpcf7-checkbox {
	display: block;
	margin-left: -1em;
}
.re-form__required {
	margin-left: max(12px, min(1.7vw, 20px));
	padding: max(1.8px, min(0.3vw, 3px)) max(7.8px, min(1.1vw, 13px));
	display: inline-block;
	vertical-align: middle;
	background-color: #c7e8fa;
	font-size: max(12.9px, min(1.8vw, 21.5px));
}
.re-form__recaptcha {
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.676rem + 0.3174603175vw, 0.938rem); /* 12px @375px - 15px @1320px */
	text-align: center;
	margin-top: max(25.2px, min(3.5vw, 42px));
}
.re-form__submit {
	margin: max(25.2px, min(3.5vw, 42px)) 0 0;
	text-align: right;
}
.re-form__submit > p > span {
	position: relative;
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: end;
	gap: 0 max(6px, min(0.8vw, 10px));
}
.re-form__submit > p > span::before, .re-form__submit > p > span::after {
	content: "";
	display: block;
	position: absolute;
	pointer-events: none;
	z-index: 3;
}
.re-form__submit > p > span::before {
	bottom: 0;
	margin-bottom: max(7.8px, min(1.1vw, 13px));
	right: max(8.4px, min(1.2vw, 14px));
	width: max(26.1px, min(3.6vw, 43.5px));
	padding-bottom: max(26.1px, min(3.6vw, 43.5px));
	background-color: var(--color-secondary);
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.re-form__submit > p > span::after {
	bottom: 0;
	margin-bottom: max(16.8px, min(2.3vw, 28px));
	right: max(18px, min(2.5vw, 30px));
	width: max(21.6px, min(3vw, 36px));
	padding-bottom: max(8.4px, min(1.2vw, 14px));
	border-bottom: 1.5px solid #fff;
	border-right: 2px solid #fff;
	transform: skew(50deg);
	animation: anim-arrow-move var(--anim-arrow-move-duration) infinite;
}
.re-form input[type=submit] {
	position: relative;
	font-size: max(17.4px, min(2.4vw, 29px));
	font-weight: bold;
	background: #0057a5;
	color: #fff;
	border-radius: 0;
	cursor: pointer;
	transition: opacity 0.2s;
	padding: max(13.2px, min(1.8vw, 22px)) max(45.6px, min(6.3vw, 76px)) max(13.2px, min(1.8vw, 22px)) max(21.6px, min(3vw, 36px));
	letter-spacing: 0.05em;
	z-index: 1;
}
.re-form input[type=submit]:hover {
	opacity: 0.9;
}
.re-form__complete {
	margin: max(60px, min(8.3vw, 100px)) 0 0;
	font-size: max(14.4px, min(2vw, 24px));
	line-height: 1.75;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.04em;
}
.re-form__totop {
	margin: max(48px, min(6.7vw, 80px)) auto 0;
}
.re-form__totop .c-button-round {
	margin-left: auto;
	margin-right: auto;
}
.re-form--confirm .re-form__list {
	gap: max(18px, min(2.5vw, 30px)) max(30px, min(4.2vw, 50px));
	grid-template-columns: max-content auto;
}
.re-form--confirm dt,
.re-form--confirm dd {
	margin: 0;
	padding: 0;
}
.re-form--confirm .re-form__submit {
	position: relative;
}
.re-form--confirm .re-form__submit > p > span {
	gap: 0 max(18px, min(2.5vw, 30px));
	flex-direction: row;
}
.re-form--confirm .re-form__submit .re-form__back {
	width: max-content;
}
.re-form--confirm .re-form__submit .wpcf7-spinner {
	position: absolute;
	top: 100%;
	margin-top: max(12px, min(1.7vw, 20px));
	right: 0;
}

.re-totop {
	position: fixed;
	bottom: max(12px, min(1.7vw, 20px));
	right: max(12px, min(1.7vw, 20px));
	z-index: 42;
}
@media screen and (max-width: 767px) {
	.re-totop {
		bottom: 10px;
		right: 10px;
	}
}
.re-totop a {
	position: relative;
	display: block;
	z-index: 42;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s;
}
.re-totop img {
	display: block;
	width: max(71.4px, min(9.9vw, 119px));
	height: max(71.4px, min(9.9vw, 119px));
}
@media screen and (max-width: 767px) {
	.re-totop img {
		width: 13.3vw;
		height: 13.3vw;
	}
}
.re-totop.totop--active a {
	opacity: 1;
	pointer-events: auto;
}
.re-totop.totop--active a:hover {
	opacity: 0.8;
}

.re-sp-accordion__btn {
	display: none;
}
@media screen and (max-width: 767px) {
	.re-sp-accordion__btn {
		display: block;
		text-align: center;
		padding-top: 8vw;
	}
}
.re-sp-accordion__btn a {
	position: relative;
	color: #0057a5;
	text-decoration: none;
	font-family: "Jost", sans-serif;
	font-weight: 500;
	font-size: max(21px, min(3.5vw, 42px));
	letter-spacing: 0.04em;
	border: 2px solid #0057a5;
	padding: 0.3em 0;
	display: block;
	width: max(240px, min(33.3vw, 400px));
	margin: 0 auto;
}
.re-sp-accordion__btn a::after {
	content: url("./assets/img/realestate/re-sp-accordion_icon_01.svg");
	width: max(26.4px, min(3.7vw, 44px));
	height: max(28.2px, min(3.9vw, 47px));
	position: absolute;
	right: max(9px, min(1.3vw, 15px));
	bottom: max(6px, min(0.8vw, 10px));
}
@media screen and (max-width: 767px) {
	.re-sp-accordion__ctt {
		display: none;
	}
}

.re-doc__wrap {
	width: 1050px;
	max-width: 100%;
	margin: max(45.6px, min(6.3vw, 76px)) auto max(30px, min(4.2vw, 50px));
	padding: max(22.2px, min(3.1vw, 37px)) max(12px, min(1.7vw, 20px)) max(24px, min(3.3vw, 40px)) max(25.8px, min(3.6vw, 43px));
	border-width: 7px;
	border-style: solid;
	border-image: linear-gradient(90deg, var(--color-secondary), var(--color-primary)) 1;
	display: flex;
	align-items: center;
	gap: 30px 0;
}
@media screen and (max-width: 1000px) {
	.re-doc__wrap {
		flex-direction: column;
		width: max-content;
		padding-left: max(12px, min(1.7vw, 20px));
	}
}
.re-doc__txt-area {
	width: 57.1%;
	max-width: 556px;
}
@media screen and (max-width: 1000px) {
	.re-doc__txt-area {
		width: auto;
		max-width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.re-doc__hl {
		text-align: center;
	}
}
.re-doc__hl span {
	font-size: 1rem;
	font-size: clamp(1rem, 0.702rem + 1.2698412698vw, 1.75rem); /* 16px @375px - 28px @1320px */
	font-weight: 700;
	color: #0057a5;
	background: linear-gradient(transparent 70%, #d7e8e7 70%);
}
.re-doc__ttl {
	font-size: 1.75rem;
	font-size: clamp(1.75rem, 1.353rem + 1.6931216931vw, 2.75rem); /* 28px @375px - 44px @1320px */
	color: #0058a1;
	font-weight: 700;
}
@media screen and (max-width: 767px) {
	.re-doc__ttl {
		text-align: center;
	}
}
.re-doc__desc {
	margin-top: 7px;
	font-size: 1rem;
	font-size: clamp(1rem, 0.95rem + 0.2116402116vw, 1.125rem); /* 16px @375px - 18px @1320px */
	line-height: 1.556;
}
.re-doc__box {
	margin-top: 2.056em;
	border: 1px solid #0057a5;
	width: 93.5%;
	font-size: 1rem;
	font-size: clamp(1rem, 0.95rem + 0.2116402116vw, 1.125rem); /* 16px @375px - 18px @1320px */
}
@media screen and (max-width: 1000px) {
	.re-doc__box {
		width: auto;
	}
}
.re-doc__box-ttl {
	color: #fff;
	background-color: #0057a5;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	border-radius: 9999px;
	width: 7.778em;
	max-width: 100%;
	height: 2.222em;
	margin-top: -1.111em;
	margin-left: 0.556em;
}
@media screen and (max-width: 1000px) {
	.re-doc__box-ttl {
		margin-left: auto;
		margin-right: auto;
	}
}
.re-doc__box-list {
	padding: 0.722em 0 1.5em 1.667em;
	width: 520px;
	max-width: 100%;
	line-height: 1.556;
}
@media screen and (max-width: 1000px) {
	.re-doc__box-list {
		width: max-content;
		margin-left: auto;
		margin-right: auto;
		padding-left: 1.111em;
		padding-right: 1.111em;
	}
}
.re-doc__box-list ul {
	list-style-type: none;
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(5, 1fr);
	gap: 0 20px;
	padding-left: 0;
}
@media screen and (max-width: 767px) {
	.re-doc__box-list ul {
		grid-auto-flow: row;
		grid-template-rows: none;
		grid-template-columns: 1fr;
	}
}
.re-doc__box-list ul > li {
	position: relative;
	padding-left: 0.7em;
}
.re-doc__box-list ul > li::before {
	position: absolute;
	left: 0;
	content: "・";
}
.re-doc__box-etc {
	line-height: 1.556;
	text-align: right;
	margin-right: 1em;
}
@media screen and (max-width: 767px) {
	.re-doc__box-etc {
		margin-right: 0;
	}
}
.re-doc__img-area {
	width: 42.9%;
	max-width: 417px;
}
@media screen and (max-width: 1000px) {
	.re-doc__img-area {
		width: 417px;
		max-width: 70%;
	}
}
@media screen and (max-width: 480px) {
	.re-doc__img-area {
		max-width: 80%;
	}
}
.re-doc__img-area img {
	width: 100%;
	display: block;
	height: auto;
}

/* ==============================================
 * Page - news
 */
.news-archive {
	padding-top: min(29vw, 148px);
	padding-bottom: min(18vw, 240px);
	position: relative;
}
@media screen and (max-width: 767px) {
	.news-archive {
		padding-bottom: min(40vw, 240px);
	}
}
.news-archive .c-slanting-lines.c-slanting-lines--02 {
	top: 47%;
	left: calc(50% + 646px);
}
.news-archive__wrap {
	display: flex;
	justify-content: space-between;
	gap: 16vw 50px;
}
@media screen and (max-width: 960px) {
	.news-archive__wrap {
		flex-direction: column;
	}
}
.news-archive__wrap .news-related {
	flex: 1;
}
.news-archive__no-posts {
	text-align: center;
}
.news-archive__list {
	flex-grow: 1;
}
.news-archive__article {
	margin-top: 35px;
	transition: padding 0.3s;
}
.news-archive__article:first-child {
	margin-top: 0;
}
.news-archive__article > a {
	display: block;
	position: relative;
	color: #000;
	text-decoration: none;
	background-color: #fff;
	box-shadow: var(--box-shadow);
	transition: all 0.3s;
	padding: 2.25em 1em 2.25em;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
}
@media screen and (max-width: 1320px) {
	.news-archive__article > a {
		padding: 3.3em 2em 1.65em;
	}
}
.news-archive__article .c-tag-list {
	margin-top: 0.5em;
	margin-bottom: 0.7em;
	row-gap: 0.2em;
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.7rem + 0.2116402116vw, 0.875rem); /* 12px @375px - 14px @1320px */
	color: var(--color-primary);
}
.news-archive__inner {
	display: flex;
	padding-left: 8.75em;
}
@media screen and (max-width: 960px) {
	.news-archive__inner {
		padding-left: 0;
	}
}
.news-archive__category {
	position: absolute;
	top: 0;
	left: 0;
	padding: 0.4em 0 0.6em;
	display: inline-block;
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.7rem + 0.2116402116vw, 0.875rem); /* 12px @375px - 14px @1320px */
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.05em;
	background: var(--color-primary);
	min-width: 8.857em;
	text-align: center;
}
.news-archive__category::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(100% - 1px);
	width: 0.8em;
	height: 100%;
	background: var(--color-primary);
	clip-path: polygon(0 0, 100% 0, 1px 100%, 0% 100%);
}
.news-archive__article time {
	color: var(--color-primary);
	font-family: var(--font-en);
	font-weight: 600;
	min-width: 5em;
}
@media screen and (max-width: 480px) {
	.news-archive__article time {
		position: absolute;
		top: 8px;
		right: 0;
	}
}
.news-archive__title {
	flex-grow: 1;
	letter-spacing: 0.08em;
}
.news-archive__article:hover {
	padding: 0 2px 2px 0;
}
.news-archive__article:hover a {
	margin: -2px 0 0 -2px;
	color: var(--color-primary);
}
.news-archive__sidebar {
	width: 250px;
	min-width: 250px;
	padding-top: 5px;
}
@media screen and (max-width: 1320px) {
	.news-archive__sidebar {
		width: 20.8%;
		min-width: 150px;
	}
}
@media screen and (max-width: 960px) {
	.news-archive__sidebar {
		width: auto;
		min-width: 0;
	}
}
.news-archive__sidebar .c-headline-only-en {
	margin-top: 4em;
}
.news-archive__sidebar .c-headline-only-en:first-child {
	margin-top: 0;
}
.news-archive__sidebar .c-category-list {
	margin-top: min(4vw, 47px);
}
.news-archive__sidebar .c-tag-list {
	margin-top: min(4vw, 20px);
}

.pagination .nav-links {
	margin: 108px 0 0;
	padding: 38px 0 0;
	border-top: 1px solid #ccc;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 14px;
}
@media screen and (max-width: 767px) {
	.pagination .nav-links {
		margin-top: 50px;
		padding-top: 20px;
		column-gap: 0;
	}
}
.pagination .page-numbers {
	font-family: var(--font-en);
	font-size: clamp(0.75rem, 0.651rem + 0.4232804233vw, 1rem);
	width: 3.125em;
	height: 3.125em;
	line-height: 3.125em;
	text-align: center;
	border-radius: 50%;
	color: #000;
	text-decoration: none;
	font-weight: 500;
}
.pagination .page-numbers.current {
	background-color: #fff;
}
.pagination .page-numbers.prev, .pagination .page-numbers.next {
	background-color: var(--color-primary);
	position: relative;
}
.pagination .page-numbers.prev::after, .pagination .page-numbers.next::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 1.313em;
	height: 0.563em;
	background: center center/contain no-repeat url("./assets/img/common/common_icon_arrow_white_03.svg");
	pointer-events: none;
}
.pagination .page-numbers.prev::after {
	transform: translate(-50%, -50%) scale(-1, 1);
}

div#toc_container {
	width: 100% !important;
	margin-top: min(5vw, 60px);
	padding-left: 2em;
	padding-right: 2em;
	box-sizing: border-box;
	border-color: #ccc;
	background-color: #f6f6f6;
}

#toc_container.no_bullets li, #toc_container.no_bullets ul, #toc_container.no_bullets ul li, .toc_widget_list.no_bullets, .toc_widget_list.no_bullets li {
	line-height: 2;
}

#toc_container li {
	font-weight: bold;
	font-size: 1rem;
	font-size: clamp(1rem, 1.025rem + -0.1058201058vw, 0.938rem); /* 16px @375px - 15px @1320px */
}
#toc_container li a {
	color: #000;
}

#toc_container li .toc_number {
	margin-right: 0.3em;
	color: var(--color-primary);
	font-size: 1rem;
	font-size: clamp(1rem, 1.025rem + -0.1058201058vw, 0.938rem); /* 16px @375px - 15px @1320px */
	font-family: var(--font-en);
}

.news-related--yarpp {
	margin-top: min(16vw, 100px);
}
.news-related--yarpp .c-headline-side-en {
	font-size: 1rem;
	font-size: clamp(1rem, 0.603rem + 1.6931216931vw, 2rem); /* 16px @375px - 32px @1320px */
	padding-bottom: 0.5em;
}
.news-related--yarpp .c-headline-side-en__en {
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.7rem + 0.2116402116vw, 0.875rem); /* 12px @375px - 14px @1320px */
}
.news-related--yarpp .yarpp-related {
	margin-top: min(5vw, 30px);
	margin-bottom: 0;
}
.news-related .c-headline-simple {
	padding-bottom: min(5vw, 50px);
}
.news-related__list {
	padding-left: 0;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px 20px;
	align-items: stretch;
}
@media screen and (max-width: 767px) {
	.news-related__list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 480px) {
	.news-related__list {
		row-gap: 20px;
		grid-template-columns: none;
	}
}
.news-related__item {
	background-color: #fff;
}
.news-related__item > a {
	position: relative;
	display: flex;
	height: 100%;
	flex-direction: column;
	color: #000;
	text-decoration: none;
}
.news-related__thumbnail {
	aspect-ratio: 1200/630;
	overflow: hidden;
}
.news-related__thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.news-related__category {
	position: absolute;
	top: 0;
	left: 0;
	padding: 0.3em 0.7em 0.4em 1em;
	display: inline-block;
	font-size: 0.688rem;
	font-size: clamp(0.688rem, 0.638rem + 0.2116402116vw, 0.813rem); /* 11px @375px - 13px @1320px */
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.05em;
	background: var(--color-primary);
	text-align: center;
}
.news-related__category::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(100% - 1px);
	width: 0.8em;
	height: 100%;
	background: var(--color-primary);
	clip-path: polygon(0 0, 100% 0, 1px 100%, 0% 100%);
}
.news-related__title,
.news-related .c-tag-list,
.news-related time {
	margin-left: 20px;
	margin-right: 20px;
}
.news-related__title {
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	margin-top: 16px;
}
.news-related .c-tag-list {
	margin-top: 14px;
	font-size: 0.688rem;
	font-size: clamp(0.688rem, 0.638rem + 0.2116402116vw, 0.813rem); /* 11px @375px - 13px @1320px */
	color: var(--color-primary);
	font-weight: normal;
}
.news-related time {
	margin-top: 10px;
	display: flex;
	flex: 1 1 auto;
	align-items: end;
	justify-content: end;
	margin-bottom: 16px;
	color: var(--color-primary);
	font-family: var(--font-en);
	font-weight: 600;
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.651rem + 0.4232804233vw, 1rem); /* 12px @375px - 16px @1320px */
}

.single-column .news-archive__wrap {
	width: 1420px;
}
.single-column .c-single__content {
	line-height: 2;
}
.single-column #toc_container li {
	line-height: 1.7 !important;
}

.works-category-list {
	display: grid;
	gap: 16px 27px;
	grid-template-columns: repeat(4, 1fr);
	padding-left: 0;
	list-style-type: none;
}
@media screen and (max-width: 1320px) {
	.works-category-list {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media screen and (max-width: 767px) {
	.works-category-list {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px 18px;
	}
}
@media screen and (max-width: 374px) {
	.works-category-list {
		grid-template-columns: 1fr;
	}
}
.works-category-list a {
	display: block;
	padding: 1.5em 0 1.5em 1.3em;
	position: relative;
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.601rem + 0.6349206349vw, 1.125rem); /* 12px @375px - 18px @1320px */
	color: #fff;
	background-color: var(--color-primary);
	font-weight: bold;
	letter-spacing: 0;
	text-decoration: none;
	transition: opacity 0.3s;
}
.works-category-list a::before, .works-category-list a::after {
	content: "";
	display: block;
	position: absolute;
	pointer-events: none;
}
.works-category-list a::before {
	bottom: 0;
	margin-bottom: 1.9%;
	right: 1.9%;
	width: max(9.2%, 32px);
	padding-bottom: max(9.2%, 32px);
	background-color: var(--color-secondary);
	clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
@media screen and (max-width: 767px) {
	.works-category-list a::before {
		width: 10%;
		padding-bottom: 10%;
	}
}
.works-category-list a::after {
	bottom: 0;
	margin-bottom: 5.1%;
	right: 3.6%;
	width: 9.6%;
	padding-bottom: 4.3%;
	background: center center/contain no-repeat url("./assets/img/common/common_icon_arrow_white_01.svg");
	animation: anim-arrow-move var(--anim-arrow-move-duration) infinite;
}
.works-category-list a:hover {
	opacity: 0.9;
}

.works-tag-list__wrap {
	margin-top: min(4vw, 50px);
	overflow: hidden;
}
.works-tag-list .c-category-list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 14px;
}
@media screen and (max-width: 767px) {
	.works-tag-list .c-category-list {
		gap: 7px 7px;
	}
}
.works-tag-list .c-category-list .cat-item {
	margin-top: 0;
	margin-right: 0;
}
.works-tag-list__button {
	text-align: right;
	margin-top: 20px;
}
.works-tag-list__button a {
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	position: relative;
	padding-right: 3.5em;
	color: #000;
	text-decoration: none;
	transition: color 0.2s;
}
.works-tag-list__button a::before, .works-tag-list__button a::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}
.works-tag-list__button a::before {
	background-color: var(--color-primary);
	width: 2.5em;
	height: 2.5em;
	right: 0;
	border-radius: 50%;
	transition: background-color 0.2s;
}
.works-tag-list__button a::after {
	right: 0.688em;
	width: 1.063em;
	height: 0.563em;
	background: url("./assets/img/common/common_icon_chevron_white_01.svg") center center no-repeat;
	background-size: contain;
}
.works-tag-list__button a:hover {
	color: var(--color-primary-hover);
}
.works-tag-list__button a:hover::before {
	background-color: var(--color-primary-hover);
}
.works-tag-list__button--active a::after {
	transform: scale(1, -1) translateY(0.2em);
}

.works-archive {
	position: relative;
	padding-top: min(10vw, 100px);
	padding-bottom: min(20vw, 136px);
}
.works-archive .c-headline-simple {
	margin-bottom: min(4vw, 40px);
}
.works-archive .c-headline-side-en {
	margin-top: min(10vw, 76px);
	padding-bottom: min(4vw, 30px);
}
.works-archive .c-headline-side-en__ja {
	font-size: 0.938rem;
	font-size: clamp(0.938rem, 0.565rem + 1.5873015873vw, 1.875rem); /* 15px @375px - 30px @1320px */
	color: #000;
}
.works-archive .c-headline-side-en__en {
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.552rem + 0.8465608466vw, 1.25rem); /* 12px @375px - 20px @1320px */
	color: var(--color-primary);
}
.works-archive .pagination .nav-links {
	border-top-width: 0;
	padding-top: 0;
}
.works-archive__no-posts {
	text-align: center;
	margin-top: min(10vw, 100px);
}

.works-archive-list {
	margin-top: min(8vw, 60px);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	justify-content: space-between;
	align-items: stretch;
	gap: min(5vw, 54px) min(5vw, 45px);
}
@media screen and (max-width: 960px) {
	.works-archive-list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 480px) {
	.works-archive-list {
		grid-template-columns: 1fr;
	}
}
.works-archive-list__article {
	position: relative;
	background-color: #fff;
	box-shadow: var(--box-shadow);
}
.works-archive-list__article a {
	text-decoration: none;
	color: #000;
	display: block;
	height: 100%;
}
.works-archive-list__img {
	position: relative;
	padding-bottom: 67.6%;
	overflow: hidden;
}
.works-archive-list__img img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.works-archive-list__category {
	position: absolute;
	top: 0;
	left: 0;
	padding: 0.7em 0.7em 0.7em 1em;
	display: inline-block;
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.651rem + 0.4232804233vw, 1rem); /* 12px @375px - 16px @1320px */
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.05em;
	background: var(--color-primary);
	text-align: center;
}
.works-archive-list__category::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(100% - 1px);
	width: 0.8em;
	height: 100%;
	background: var(--color-primary);
	clip-path: polygon(0 0, 100% 0, 1px 100%, 0% 100%);
}
.works-archive-list__texts {
	padding: min(5vw, 28px) min(5vw, 24px) min(8vw, 50px);
}
.works-archive-list__time {
	margin-left: 0.2em;
	color: #aaaaaa;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	font-family: var(--font-en);
	font-weight: 600;
	letter-spacing: 0;
}
.works-archive-list__title {
	margin-top: 0.364em;
	font-size: 1rem;
	font-size: clamp(1rem, 0.851rem + 0.6349206349vw, 1.375rem); /* 16px @375px - 22px @1320px */
	line-height: 1.364;
	font-weight: bold;
}
.works-archive-list__fields {
	margin-top: 1.267em;
	display: flex;
	gap: 10px 6px;
	flex-wrap: wrap;
	padding-left: 0;
	list-style-type: none;
	font-size: 0.688rem;
	font-size: clamp(0.688rem, 0.588rem + 0.4232804233vw, 0.938rem); /* 11px @375px - 15px @1320px */
}
.works-archive-list__fields li {
	padding: 0.3em 0.8em;
	color: #00ae95;
	background-color: #e5f7f4;
	border-radius: 9999px;
	letter-spacing: 0;
}
.works-archive-list__tag {
	margin-top: 0.933em;
	display: flex;
	gap: 10px 6px;
	flex-wrap: wrap;
	padding-left: 0;
	list-style-type: none;
	font-size: 0.688rem;
	font-size: clamp(0.688rem, 0.638rem + 0.2116402116vw, 0.813rem); /* 11px @375px - 13px @1320px */
}
.works-archive-list__tag li {
	padding: 0.3em 0.8em;
	background-color: #fff;
	border: 1px solid var(--color-primary);
	color: var(--color-primary);
	border-radius: 9999px;
	letter-spacing: 0;
}

.works-article {
	position: relative;
}
.works-article__info {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	border-style: solid;
	border-width: 10px 0 0 0;
	border-image: linear-gradient(45deg, var(--color-primary) 30%, var(--color-secondary) 70%);
	border-image-slice: 1;
}
.works-article__category {
	display: block;
	position: absolute;
	top: -10px;
	left: 0;
	background: linear-gradient(45deg, var(--color-primary) 30%, var(--color-secondary) 70%);
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.589rem + 0.9523809524vw, 1.375rem); /* 13px @375px - 22px @1320px */
	font-weight: bold;
}
.works-article__category::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(100% - 1px);
	width: 0.8em;
	height: 100%;
	background: var(--color-secondary);
	clip-path: polygon(0 0, 100% 0, 1px 100%, 0% 100%);
}
.works-article__category a {
	padding: 0.7em 0.9em 0.7em 1.1em;
	display: block;
	text-decoration: none;
	color: #fff;
}
.works-article .c-single__title {
	padding-bottom: 0;
	border-bottom-width: 0;
	margin-bottom: 0.9em;
}
.works-article__list {
	margin-top: min(5vw, 60px);
	padding-left: 0;
	list-style-type: none;
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(4, 1fr);
	align-items: stretch;
	gap: 0 16px;
}
@media screen and (max-width: 767px) {
	.works-article__list {
		grid-auto-flow: row;
		grid-template-rows: none;
		align-items: start;
		justify-content: stretch;
	}
}
.works-article__list li {
	display: flex;
	align-items: stretch;
	padding-bottom: 8px;
	margin-bottom: 8px;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	border-bottom: 1px solid #cccccc;
	line-height: 1.25;
	letter-spacing: 0;
}
.works-article__dt {
	padding: 0.9em 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-primary);
	color: #fff;
	width: 8.125em;
}
@media screen and (max-width: 767px) {
	.works-article__dt {
		padding-top: 0.4em;
		padding-bottom: 0.4em;
	}
}
.works-article__dd {
	display: flex;
	align-self: center;
	flex: 1;
	padding: 0.9em 1em;
}
@media screen and (max-width: 767px) {
	.works-article__dd {
		padding-top: 0.4em;
		padding-bottom: 0.4em;
	}
}
.works-article__gallery {
	margin-top: min(5vw, 64px);
	display: flex;
	gap: 20px 4.3%;
}
@media screen and (max-width: 767px) {
	.works-article__gallery {
		flex-direction: column;
	}
}
.works-article__gallery img {
	display: block;
}
.works-article__slider {
	width: min(60%, 600px);
}
@media screen and (max-width: 767px) {
	.works-article__slider {
		width: auto;
	}
}
.works-article__slider ul {
	padding-left: 0;
	list-style-type: none;
}
.works-article__slider li {
	position: relative;
}
.works-article__slider img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.works-article__thumbnails {
	flex: 1;
}
.works-article__thumbnails ul {
	padding-left: 0;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px 15px;
}
.works-article__thumbnails li {
	overflow: hidden;
	position: relative;
	display: block;
	padding-bottom: 60%;
	cursor: pointer;
}
.works-article__thumbnails li:hover img {
	opacity: 0.8;
}
.works-article__thumbnails img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: opacity 0.3s;
}

.company-movie {
	padding-top: min(4vw, 90px);
	padding-bottom: min(28vw, 390px);
}
.company-movie video {
	display: block;
	margin: 0 auto;
	width: 1000px;
	height: auto;
	max-width: 100%;
}

.company-company {
	padding-bottom: min(var(--section-row-gap-vw), 140px);
}
.company-company__table {
	margin-top: min(5vw, 50px);
	width: 100%;
	max-width: 100%;
}

.company-access {
	padding-bottom: min(var(--section-row-gap-vw), 128px);
	position: relative;
}
@media screen and (max-width: 767px) {
	.company-access {
		padding-top: 30vw;
	}
}
.company-access .c-slanting-lines.c-slanting-lines--01 {
	top: 55%;
}
@media screen and (max-width: 767px) {
	.company-access .c-slanting-lines.c-slanting-lines--01 {
		top: 0;
		right: -7vw;
	}
}
.company-access__map {
	margin-top: min(5vw, 60px);
}
.company-access__map iframe {
	max-width: 100%;
}
@media screen and (max-width: 1320px) {
	.company-access__map iframe {
		height: 400px;
	}
}
@media screen and (max-width: 767px) {
	.company-access__map iframe {
		height: 60vw;
	}
}
.company-access__address {
	margin-top: 0.625em;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.08em;
	line-height: 2.375;
}

.company-group {
	padding-bottom: min(22vw, 380px);
}
.company-group__desc {
	margin-top: min(5vw, 35px);
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.08em;
	line-height: 2.375;
}
.company-group__img {
	margin-top: min(4vw, 60px);
}
.company-group__img img {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.company-group .c-slanting-lines.c-slanting-lines--03 {
	left: calc(50% + 723px);
	bottom: 17%;
}
@media screen and (max-width: 767px) {
	.company-group .c-slanting-lines.c-slanting-lines--03 {
		display: none;
	}
}

.company-message {
	padding-bottom: min(var(--section-row-gap-vw), 190px);
	max-width: 100%;
	position: relative;
}
@media screen and (max-width: 767px) {
	.company-message {
		padding-bottom: 26vw;
	}
}
.company-message__texts {
	padding-top: 53px;
}
.company-message__title {
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 0.679rem + 1.9047619048vw, 2.25rem); /* 18px @375px - 36px @1320px */
	font-weight: bold;
	letter-spacing: 0;
	line-height: 1.667;
	white-space: nowrap;
}
.company-message__desc {
	margin-top: 1.375em;
	width: 33.75em;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.08em;
	line-height: 2.375;
}
@media screen and (max-width: 1920px) {
	.company-message__desc {
		width: auto;
	}
}
.company-message__from {
	margin-top: min(5vw, 70px);
}
.company-message__company {
	font-size: 0.75rem;
	font-size: clamp(0.75rem, 0.7rem + 0.2116402116vw, 0.875rem); /* 12px @375px - 14px @1320px */
	letter-spacing: 0.08em;
}
.company-message__name {
	font-size: 0.938rem;
	font-size: clamp(0.938rem, 0.764rem + 0.7407407407vw, 1.375rem); /* 15px @375px - 22px @1320px */
	letter-spacing: 0.08em;
}
.company-message__name span {
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
}
.company-message__img {
	position: absolute;
	top: 220px;
	left: calc(50vw + 238px);
	width: 907px;
	height: 668px;
}
@media screen and (max-width: 1920px) {
	.company-message__img {
		position: relative;
		top: auto;
		left: auto;
		margin-top: 50px;
		margin-left: calc((100vw - 1320px) / 2 + 250px);
	}
}
@media screen and (max-width: 1320px) {
	.company-message__img {
		margin-left: auto;
		margin-right: 10px;
		width: 68.7vw;
		height: 50.6vw;
	}
}
@media screen and (max-width: 767px) {
	.company-message__img {
		margin-right: auto;
	}
}
.company-message__img img {
	display: block;
	position: absolute;
}
.company-message__img-01 {
	top: 0;
	left: 0;
	width: min(60.5%, 549px);
}
.company-message__img-02 {
	bottom: 0;
	right: 0;
	width: min(60.5%, 549px);
}
.company-message__photo {
	bottom: 0;
	left: min(5.2%, 47px);
	width: min(62.1%, 563px);
}

.company-history {
	padding-bottom: min(15vw, 200px);
}
.company-history .c-slanting-lines.c-slanting-lines--04 {
	right: calc(50% + 529px);
	top: 37%;
}
@media screen and (max-width: 767px) {
	.company-history .c-slanting-lines.c-slanting-lines--04 {
		right: 4vw;
		top: -14vw;
	}
}
.company-history__list {
	margin-top: min(5vw, 58px);
	padding-left: 0;
	list-style-type: none;
}
.company-history__list li {
	position: relative;
	padding: 26px 0 26px 92px;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}
@media screen and (max-width: 767px) {
	.company-history__list li {
		padding: 4vw 4vw 4vw 50px;
		flex-direction: column;
		align-items: start;
	}
}
.company-history__list li::before, .company-history__list li::after {
	content: "";
	position: absolute;
	left: 66px;
	display: block;
	background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
	.company-history__list li::before, .company-history__list li::after {
		left: 20px;
	}
}
.company-history__list li::before {
	top: 0;
	width: 1px;
	bottom: -1px;
}
.company-history__list li::after {
	top: 50%;
	transform: translate(-50%, -50%);
	width: 18px;
	height: 18px;
	border-radius: 50%;
}
.company-history__list li:nth-child(odd) {
	background-color: #fff;
}
.company-history__list li:first-child::before {
	top: 50%;
}
.company-history__list li:last-child::before {
	bottom: 50%;
}
.company-history__list li.company-history__small-round::after {
	width: 10px;
	height: 10px;
}
.company-history__when {
	white-space: nowrap;
	display: flex;
	align-items: center;
}
.company-history__year {
	font-weight: bold;
	font-family: var(--font-en);
	font-size: 1rem;
	font-size: clamp(1rem, 0.653rem + 1.4814814815vw, 1.875rem); /* 16px @375px - 30px @1320px */
	letter-spacing: 0.05em;
	width: 3.5em;
	color: var(--color-primary);
}
@media screen and (max-width: 767px) {
	.company-history__year {
		width: 60px;
	}
}
.company-history__month {
	font-weight: bold;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.08em;
	width: 5.25em;
	color: var(--color-primary);
}
.company-history__text {
	flex-grow: 1;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.08em;
	line-height: 1.875;
}
@media screen and (max-width: 767px) {
	.company-history__text {
		margin-left: 60px;
	}
}

.company-logo {
	padding-top: min(5vw, 100px);
	padding-bottom: 110px;
}
.company-logo__desc {
	margin-top: 1.875em;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	letter-spacing: 0.08em;
	line-height: 2.375;
}
.company-logo__desc strong {
	font-weight: bold;
}
.company-logo__logo {
	margin: 45px auto 0;
	padding: 84px 90px;
	width: max-content;
	border: 1px solid #ccc;
	max-width: 100%;
}
@media screen and (max-width: 767px) {
	.company-logo__logo {
		padding: 9vw;
	}
}

/* ==============================================
 * Page - contact
 */
.contact-tel {
	padding-top: min(5vw, 62px);
	padding-bottom: min(5vw, 74px);
}
.contact-tel dl {
	display: flex;
	align-items: center;
	border: 2px solid var(--color-primary);
}
@media screen and (max-width: 767px) {
	.contact-tel dl {
		flex-direction: column;
	}
}
.contact-tel dt {
	width: max(15em, 39%);
	text-align: center;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.49rem + 1.3756613757vw, 1.625rem); /* 13px @375px - 26px @1320px */
	letter-spacing: 0.05em;
	color: var(--color-primary);
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.contact-tel dt {
		width: auto;
	}
}
.contact-tel dd {
	position: relative;
	padding: 0.2em 0;
	flex-grow: 1;
	text-align: center;
	font-size: 1.125rem;
	font-size: clamp(1.125rem, 0.331rem + 3.3862433862vw, 3.125rem); /* 18px @375px - 50px @1320px */
	letter-spacing: 0.05em;
	font-family: var(--font-en);
}
@media screen and (max-width: 767px) {
	.contact-tel dd {
		padding-top: 0;
	}
}
.contact-tel dd::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	width: 2px;
	height: 60%;
	background-color: var(--color-primary);
}
@media screen and (max-width: 767px) {
	.contact-tel dd::before {
		content: none;
	}
}
.contact-tel dd a {
	display: inline-block;
	position: relative;
	padding-left: 1.28em;
	color: var(--color-primary);
	text-decoration: none;
}
.contact-tel dd a:hover img {
	opacity: 1;
}
.contact-tel dd img {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	vertical-align: middle;
	width: 0.82em;
}

.contact-form {
	position: relative;
	padding-top: min(8vw, 126px);
	padding-bottom: min(8vw, 130px);
}
@media screen and (max-width: 767px) {
	.contact-form {
		padding-top: 21vw;
	}
}
.contact-form .c-slanting-lines.c-slanting-lines--02 {
	top: 47%;
	left: calc(50% + 646px);
}
@media screen and (max-width: 1320px) {
	.contact-form .c-slanting-lines.c-slanting-lines--02 {
		display: none;
	}
}
@media screen and (max-width: 480px) {
	.contact-form .c-wrap {
		padding-left: 0;
		padding-right: 0;
	}
}
.contact-form__box {
	padding: min(8vw, 105px) min(8vw, 100px) min(8vw, 50px);
	background-color: #fff;
	font-size: 0.813rem;
	font-size: clamp(0.813rem, 0.738rem + 0.3174603175vw, 1rem); /* 13px @375px - 16px @1320px */
	letter-spacing: 0.05em;
	line-height: 2;
}
@media screen and (max-width: 480px) {
	.contact-form__box {
		padding-left: var(--padding-wrap);
		padding-right: var(--padding-wrap);
	}
}
.contact-form__box > dl > dt {
	position: relative;
	clear: left;
	float: left;
	padding-top: 40px;
	vertical-align: middle;
	border-top: 1px solid #0464bc;
	width: 21em;
	font-weight: bold;
}
@media screen and (max-width: 1320px) {
	.contact-form__box > dl > dt {
		float: none;
		padding-top: 16px;
		border-top: 1px solid #ccc;
		width: auto;
	}
}
@media screen and (max-width: 1320px) {
	.contact-form__box > dl > dt::before {
		content: "";
		display: block;
		position: absolute;
		top: -1px;
		left: 0;
		width: 32%;
		height: 1px;
		background-color: var(--color-primary);
	}
}
.contact-form__box > dl > dd {
	margin-left: 21em;
	padding: 27px 0 23px 104px;
	border-top: 1px solid #ccc;
}
@media screen and (max-width: 1320px) {
	.contact-form__box > dl > dd {
		margin-left: 0;
		padding-top: 15px;
		padding-left: 0;
		padding-bottom: 40px;
		border-top-width: 0;
	}
}
.contact-form__box > dl > dd input:not([type=checkbox]):not([type=radio]),
.contact-form__box > dl > dd textarea {
	width: 100%;
}
.contact-form__box > dl > dd textarea {
	height: 308px;
}
.contact-form__box dd.contact-form__privacy {
	margin-left: 0;
	padding-left: 0;
	padding-top: 6.25em;
}
@media screen and (max-width: 1320px) {
	.contact-form__box dd.contact-form__privacy {
		padding-top: 15px;
		padding-bottom: 0;
	}
}
.contact-form__box--confirm dt {
	padding-top: 27px;
}
.contact-form .wpcf7-list-item {
	margin-left: 0;
}
.contact-form .wpcf7-list-item-label {
	vertical-align: middle;
}
.contact-form .wpcf7-not-valid {
	box-shadow: 0px 0px 0px 1px #dc3232;
}
.contact-form .contact-form__elem-about {
	display: flex;
	padding-top: 8px;
	padding-bottom: 17px;
	gap: 14px 2px;
	flex-wrap: wrap;
}
.contact-form .contact-form__elem-about .wpcf7-list-item:nth-child(odd) {
	width: 14.75em;
}
.contact-form__required {
	display: inline-block;
	margin-left: 0.923em;
	padding: 0 0.4em;
	vertical-align: middle;
	background-color: var(--color-primary);
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.08em;
	font-size: 0.688rem;
	font-size: clamp(0.688rem, 0.638rem + 0.2116402116vw, 0.813rem); /* 11px @375px - 13px @1320px */
	line-height: 1.923;
}
.contact-form__privacy-box {
	width: 850px;
	max-width: 100%;
	margin: 3.438em auto 0;
	border: 1px solid #ccc;
	padding: 2em 3.125em 2em 4.375em;
}
@media screen and (max-width: 1320px) {
	.contact-form__privacy-box {
		margin-top: 25px;
		padding: 2vw 2vw 2vw 4vw;
	}
}
.contact-form__privacy-inner {
	overflow-y: scroll;
	height: 14em;
	padding-right: 3.125em;
	scrollbar-width: 5px;
	scrollbar-color: var(--color-secondary) #f2f2f2;
}
@media screen and (max-width: 767px) {
	.contact-form__privacy-inner {
		padding-right: 1.2em;
	}
}
.contact-form__privacy-inner::-webkit-scrollbar {
	width: 5px;
}
.contact-form__privacy-inner::-webkit-scrollbar-track {
	background-color: #f2f2f2;
	border-radius: 2.5px;
}
.contact-form__privacy-inner::-webkit-scrollbar-thumb {
	background-color: var(--color-secondary);
	border-radius: 2.5px;
}
.contact-form__privacy-inner p {
	margin-top: 1em;
}
.contact-form__privacy-inner p:first-child {
	margin-top: 0;
}
.contact-form__privacy-title {
	text-align: center;
	margin-bottom: 1.875em;
}
.contact-form__privacy-checkbox {
	margin-top: 1.875em;
	text-align: center;
}
.contact-form__recaptcha {
	text-align: center;
	margin-top: min(5vw, 44px);
	padding: 0 var(--padding-wrap);
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
}
.contact-form__button {
	margin-top: min(5vw, 44px);
}
.contact-form__button .c-button-round {
	margin-left: auto;
	margin-right: auto;
}
.contact-form__back input {
	display: block;
	margin-left: auto;
	margin-right: auto;
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 9999px;
}
.contact-form__back + .c-button-round {
	margin-top: 1em;
	margin-left: auto;
	margin-right: auto;
}

.slug-privacy .header--re + * {
	margin-top: 0;
}

.privacy {
	padding-top: min(var(--section-row-gap-vw), 200px);
	padding-bottom: min(var(--section-row-gap-vw), 150px);
	font-size: 1rem;
	font-size: clamp(1rem, 0.901rem + 0.4232804233vw, 1.25rem); /* 16px @375px - 20px @1320px */
	line-height: 2.375;
	letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
	.privacy {
		padding-bottom: min(40vw, 200px);
	}
}
.privacy .c-headline-simple {
	font-size: 1.25rem;
	font-size: clamp(1.25rem, 1.002rem + 1.0582010582vw, 1.875rem); /* 20px @375px - 30px @1320px */
}
.privacy dt {
	font-weight: bold;
	font-size: 0.938rem;
	font-size: clamp(0.938rem, 0.863rem + 0.3174603175vw, 1.125rem); /* 15px @375px - 18px @1320px */
}

.privacy-content p,
.privacy-content dl,
.privacy-content dt,
.privacy-content dd > ol,
.privacy-content dd > ul {
	margin-top: 1.5em;
}
.privacy-content p:first-child,
.privacy-content dl:first-child,
.privacy-content dt:first-child,
.privacy-content dd > ol:first-child,
.privacy-content dd > ul:first-child {
	margin-top: 0;
}
.privacy-content ol,
.privacy-content ul {
	list-style-type: none;
	padding-left: 0;
}
.privacy-content ol li,
.privacy-content ul li {
	position: relative;
	padding-left: 1.5em;
}
.privacy-content ol li::before,
.privacy-content ul li::before {
	position: absolute;
	left: 0;
}
.privacy-content dd > ol {
	counter-reset: ol-lv1;
}
.privacy-content dd > ol > li {
	counter-increment: ol-lv1;
}
.privacy-content dd > ol > li::before {
	content: counter(ol-lv1) ".";
}
.privacy-content dd > ol > li > ol {
	counter-reset: ol-lv2;
}
.privacy-content dd > ol > li > ol > li {
	counter-increment: ol-lv2;
}
.privacy-content dd > ol > li > ol > li::before {
	content: counter(ol-lv2) ".";
}
.privacy-content dd > ol > li > ol > li > ol {
	counter-reset: ol-lv3;
}
.privacy-content dd > ol > li > ol > li > ol > li {
	counter-increment: ol-lv3;
}
.privacy-content dd > ol > li > ol > li > ol > li::before {
	content: counter(ol-lv3) ".";
}