@charset "UTF-8";
/*
Theme Name:  株式会社WEGDIH
Template: twentynineteen
Author:  株式会社WEGDIH
Author URI:
Description:
Version: 1.0.0
Updated: 2025-11-19
*/

/* Color Scheme
-----------------------------------------------------

	=THEME COLOR = #000

-----------------------------------------------------
*/

@import url(reset.css);
@import url(wp-customize.css);

/* CSS Variable
----------------------------------------------------- */
:root {
	--color-text-basic: #000;
	--color-primary: #000;
	--color-secondary: #000;
}

/*
-----------------------------------------------------

	=GLOBAL LAYOUT

-----------------------------------------------------
*/
* {
	margin: 0;
	padding: 0;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic,
		"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ",
		sans-serif, serif;
	-webkit-font-smoothing: antialiased !important;
	-webkit-text-stroke: 1px transparent;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
	color: var(--color-text-basic);
	font-size: 10px;
	font-weight: normal;
	line-height: 2;
	word-wrap: break-word;
	letter-spacing: 0em;

}

body {
	font-size: 1.8rem;
	background: url(assets/images/bg.webp) fixed center;
	background-size: 1440px auto;
}

body::before {
	content: "";
	position: fixed;
	z-index: -99;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
pre,
dt,
dd,
li {
	line-height: 2;
}

p,
ul,
ol,
dl,
table {
	margin-bottom: 2em;
}

p:last-child,
ul:last-child,
ol:last-child,
dl:last-child,
table:last-child {
	margin-bottom: 0;
}

table {
	width: 100%;
	border-collapse: collapse;
	line-height: 1.8;
	text-align: left;
}

th,
td {
	padding: 1em 1.5em;
	vertical-align: top;
	border: none;
}

th {
	text-align: justify;
	font-weight: bold;
	padding-left: 0;
}

tr {
	border-bottom: solid 1px rgba(0, 0, 0, 0.1);
}

tr:last-child {}

hr {
	clear: both;
	border: none;
}

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

a img {
	border: none;
}

a {
	color: var(--color-primary);
	text-decoration: underline;
}

a {
	cursor: pointer;
	-webkit-transition: all ease-out 0.2s;
	-moz-transition: all ease-out 0.2s;
	-ms-transition: all ease-out 0.2s;
	transition: all ease-out 0.2s;
}

a:hover {
	opacity: 0.5;
	text-decoration: none;
}

/*::selection {
	background-color: rgba(0,0,0,0.25);
}*/
em {}

ol {
	counter-reset: number;
	list-style: none;
}

ol li {
	position: relative;
	padding-left: 2.5em;
}

ol li:not(:last-child) {
	margin-bottom: 1.5em;
}

ol li::before {
	position: absolute;
	left: 0;
	counter-increment: number;
	content: "("counter(number) ")";
	margin: 0 1em 0 0;
}

ol li ol:last-child {
	margin-bottom: 2em;
}

ol li ol li::before {
	content: "("counter(number, lower-roman) ")";
}

ol li ol li:not(:last-child) {
	margin-bottom: 0.5em;
}

strong {
	font-weight: bold;
}

iframe {
	display: block;
	max-width: 100%;
}

form {}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea,
select {
	padding: 5px;
	font-size: 16px;
	font-weight: inherit;
	color: inherit;
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
textarea,
select {
	background-color: #eee;
	border: 1px solid #eee;
	line-height: 1;
	vertical-align: middle;
	max-width: 100%;
	border-radius: 5px;
}

textarea {}

input[type="text"] {
	margin-bottom: 0.5em;
}

input[type="text"]:last-child {
	margin-bottom: 0;
}

input[type="email"] {}

input[type="submit"] {
	cursor: pointer;
}

input[type="text"]:focus,
textarea:focus {}

form ul {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

form ul li {
	display: inline-block !important;
}

form label {
	margin-right: 1.4em;
}

form input[type*="submit"] {
	display: block;
	width: 100%;
	max-width: 300px;
	margin: 0 auto 20px;
	padding: 1em 2em;
	border: none;
	background-color: #e45539;
	color: #fff;
	font-size: 1em;
	font-weight: bold;
	text-align: center;
	border-radius: 5px;
	cursor: pointer;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-transition: all ease-out 0.1s;
	-moz-transition: all ease-out 0.1s;
	-ms-transition: all ease-out 0.1s;
	transition: all ease-out 0.1s;
}

form input[type*="submit"]:hover {
	opacity: 0.7;
}

::placeholder {
	color: #ddd;
}

/*
-----------------------------------------------------

	=GLOBAL STYLE

-----------------------------------------------------
*/
#container {}

#main {
	position: relative;
	z-index: 2;
}

.c-wrapper {
	width: 1120px;
	max-width: 100%;
	margin: auto;
}

.u-wrapper-1120 {
	width: 1120px;
}

.u-wrapper-1080 {
	width: 1080px;
}

.u-wrapper-1000 {
	width: 1000px;
}

.u-wrapper-960 {
	width: 960px;
}

.u-wrapper-900 {
	width: 900px;
}

.u-wrapper-840 {
	width: 840px;
}

.u-wrapper-800 {
	width: 800px;
}

.u-wrapper-780 {
	width: 780px;
}

.u-wrapper-720 {
	width: 720px;
}

@media screen and (min-width: 0px) and (max-width: 1119px) {
	.c-wrapper {
		padding: 0 6.25vw;
	}
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	#container {}

	.c-wrapper {
		width: auto;
		padding: 0 6.25vw;
		margin: auto;
	}
}

/*
-----------------------------------------------------

	=MEDIA QUERIES RESPONSIVE STRUCTURE

-----------------------------------------------------
*/

/* DESKTOP
----------------------------------------------------- */
@media screen and (min-width: 800px) {
	.sp {
		display: none !important;
	}

	body {
		min-width: 1120px;
	}
}

/* SMARTPHONE
----------------------------------------------------- */
@media screen and (min-width: 0px) and (max-width: 799px) {
	.pc {
		display: none !important;
	}

	html {
		font-size: 10px;
	}

	body {
		font-size: 1.2rem;
		letter-spacing: 0;
	}

	/* APPERANCE
	--------------------------------------------------*/
	input[type="button"],
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="submit"],
	select {
		-webkit-appearance: none;
		border-radius: 0;
	}

	iframe {
		width: 100%;
		max-height: 240px;
	}

	th,
	td {
		font-size: 1.2rem;
		padding: 1em 0.5em;
	}
}

/* =ANIMATION - BACKGROUND
----------------------------------------------------- */
/* スクロールで背景色を変更 (script.jsに記述あり) */
.js-bg-magic {
	position: relative;
}

.js-bg-magic::before {
	content: "";
	position: fixed;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	opacity: 0;
	transition: all 0.5s ease 0s;
	pointer-events: none;
	-webkit-transition: all 1.6s ease 0s;
	-moz-transition: all 1.6s ease 0s;
	-ms-transition: all 1.6s ease 0s;
	transition: all 1.6s ease 0s;
}

.js-bg-magic.show::before {
	opacity: 0.7;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* =ANIMATION - INVIEW.JS (jquery.inview.js)
----------------------------------------------------- */
.js-inview {
	transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
	-webkit-transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
	-moz-transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
	-ms-transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
	-o-transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
}

.js-inview.inview-with-delay {
	transition: 1.2s cubic-bezier(0.19, 1, 0.22, 1) 0.6s;
	-webkit-transition: 1.2s cubic-bezier(0.19, 1, 0.22, 1) 0.6s;
	-moz-transition: 1.2s cubic-bezier(0.19, 1, 0.22, 1) 0.6s;
	-ms-transition: 1.2s cubic-bezier(0.19, 1, 0.22, 1) 0.6s;
	-o-transition: 1.2s cubic-bezier(0.19, 1, 0.22, 1) 0.6s;
}

.js-inview.inview-fadein {
	opacity: 0;
}

.js-inview.inview-fadein.is-show {
	opacity: 1;
}

.js-inview.inview-zoomin {
	opacity: 0;
	transform: scale(1.3);
	-webkit-transform: scale(1.3);
	-moz-transform: scale(1.3);
	-ms-transform: scale(1.3);
	-o-transform: scale(1.3);
	filter: blur(5px);
	-webkit-filter: blur(5px);
	-moz-filter: blur(5px);
	-ms-filter: blur(5px);
	-o-filter: blur(5px);
}

.js-inview.inview-zoomin.is-show {
	opacity: 1;
	filter: blur(0);
	-webkit-filter: blur(0);
	-moz-filter: blur(0);
	-ms-filter: blur(0);
	-o-filter: blur(0);
	transform: scale(1);
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
}

.js-inview.inview-zoom {
	opacity: 0;
	transform: scale(0.9);
	-webkit-transform: scale(0.9);
	-moz-transform: scale(0.9);
	-ms-transform: scale(0.9);
	-o-transform: scale(0.9);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	-o-backface-visibility: hidden;
}

.js-inview.inview-zoom.is-show {
	opacity: 1;
	transform: scale(1);
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
}

.js-inview.inview-zoom-slowly {
	transition: 12s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-webkit-transition: 12s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-moz-transition: 12s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-ms-transition: 12s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-o-transition: 12s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	transform: scale(1);
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	-o-backface-visibility: hidden;
}

.js-inview.inview-zoom-slowly.is-show {
	transform: scale(1.025);
	-webkit-transform: scale(1.025);
	-moz-transform: scale(1.025);
	-ms-transform: scale(1.025);
	-o-transform: scale(1.025);
}

.js-inview.inview-blur {
	opacity: 0;
	filter: blur(100px);
	-webkit-filter: blur(100px);
	-moz-filter: blur(100px);
	-ms-filter: blur(100px);
	-o-filter: blur(100px);
}

.js-inview.inview-blur.is-show {
	opacity: 1;
	filter: blur(0);
	-webkit-filter: blur(0);
	-moz-filter: blur(0);
	-ms-filter: blur(0);
	-o-filter: blur(0);
}

.js-inview.inview-floatup {
	transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
	-webkit-transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
	-moz-transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
	-ms-transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;
	-o-transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1) 0.2s;

	opacity: 0;
	transform: translate3d(0px, 200px, 0px);
	-webkit-transform: translate3d(0px, 200px, 0px);
	-moz-transform: translate3d(0px, 200px, 0px);
	-ms-transform: translate3d(0px, 200px, 0px);
	-o-transform: translate3d(0px, 200px, 0px);
}

.js-inview.inview-floatup.is-show {
	opacity: 1;
	transform: translate3d(0px, 0, 0px);
	-webkit-transform: translate3d(0px, 0, 0px);
	-moz-transform: translate3d(0px, 0, 0px);
	-ms-transform: translate3d(0px, 0, 0px);
	-o-transform: translate3d(0px, 0, 0px);
}

.js-inview.inview-floatintoright {
	opacity: 0;
	transform: translate3d(-40px, 0px, 0px);
	-webkit-transform: translate3d(-40px, 0px, 0px);
	-moz-transform: translate3d(-40px, 0px, 0px);
	-ms-transform: translate3d(-40px, 0px, 0px);
	-o-transform: translate3d(-40px, 0px, 0px);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	-o-backface-visibility: hidden;
}

.js-inview.inview-floatintoright.is-show {
	opacity: 1;
	transform: translate3d(0px, 0, 0px);
	-webkit-transform: translate3d(0px, 0, 0px);
	-moz-transform: translate3d(0px, 0, 0px);
	-ms-transform: translate3d(0px, 0, 0px);
	-o-transform: translate3d(0px, 0, 0px);
}

.js-inview.inview-floatintoleft {
	opacity: 0;
	transform: translate3d(40px, 0px, 0px);
	-webkit-transform: translate3d(40px, 0px, 0px);
	-moz-transform: translate3d(40px, 0px, 0px);
	-ms-transform: translate3d(40px, 0px, 0px);
	-o-transform: translate3d(40px, 0px, 0px);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	-o-backface-visibility: hidden;
}

.js-inview.inview-floatintoleft.is-show {
	opacity: 1;
	transform: translate3d(0px, 0, 0px);
	-webkit-transform: translate3d(0px, 0, 0px);
	-moz-transform: translate3d(0px, 0, 0px);
	-ms-transform: translate3d(0px, 0, 0px);
	-o-transform: translate3d(0px, 0, 0px);
}

.js-reveal {}

.js-reveal>*,
.js-reveal>*::after {
	animation-delay: 0.2s;
	animation-iteration-count: 1;
	animation-duration: 600ms;
	animation-fill-mode: both;
}

.js-reveal>* {
	position: relative;
	white-space: nowrap;
	cursor: default;
	display: inline-block;
	opacity: 0;
}

.js-reveal>*:not(:last-child) {
	margin-bottom: 5px;
}

.js-reveal.is-show>* {
	animation-name: clip-text;
}

.js-reveal>*::after {
	content: "";
	position: absolute;
	z-index: 999;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-primary);
	transform: scaleX(0);
	transform-origin: 0 50%;
	pointer-events: none;
}

.js-reveal.is-show>*::after {
	animation-name: text-revealer;
}

@keyframes clip-text {
	0% {
		opacity: 0;
		clip-path: inset(0 100% 0 0);
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 1;
		clip-path: inset(0 0 0 0);
	}
}

@keyframes text-revealer {

	0%,
	50% {
		transform-origin: 0 50%;
	}

	60%,
	100% {
		transform-origin: 100% 50%;
	}

	60% {
		transform: scaleX(1);
	}

	100% {
		transform: scaleX(0);
	}
}

@media screen and (min-width: 600px) {}

@media screen and (min-width: 0px) and (max-width: 599px) {
	.js-reveal {}

	.js-reveal>* {
		white-space: inherit;
	}
}

/*
-----------------------------------------------------

	=CORPORATE SITE

    PRELOADER
    HEADER
    NAVIGATION
    FOOTER
    COMMON PARTS
    TOP PAGE
    SUB PAGES

-----------------------------------------------------
*/

/*
-----------------------------------------------------

    =PRELOADER (imagesloaded.pkgd.min.js)

-----------------------------------------------------
*/

/* .js-imageloaded {}

.js-imageloaded.loaded {}

#progress,
#progress * {}

#progress {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: 0;
    display: block;
    overflow: hidden;
    z-index: 999999;
}

#progress .progress-start {
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 999999;
    opacity: 0;
    -webkit-transition: all cubic-bezier(0.230, 1.34494c, 0.320, 1.34494c) 1.2s;
    -moz-transition: all cubic-bezier(0.230, 1.34494c, 0.320, 1.34494c) 1.2s;
    -ms-transition: all cubic-bezier(0.230, 1.34494c, 0.320, 1.34494c) 1.2s;
    transition: all cubic-bezier(0.230, 1.34494c, 0.320, 1.34494c) 1.2s;
    display: none;
}

#progress.complete10 .progress-start {
    left: -100%;
}

#progress .progress-loading {
    background-color: #fff;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 999999;
}

#progress .progress-loading .l-logo {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#progress .progress-loading .l-logo svg,
#progress .progress-loading .l-logo img {
    width: 240px;
    -webkit-transition: all cubic-bezier(0.190, 1.34494c, 0.220, 1.34494c) 0.8s;
    -moz-transition: all cubic-bezier(0.190, 1.34494c, 0.220, 1.34494c) 0.8s;
    -ms-transition: all cubic-bezier(0.190, 1.34494c, 0.220, 1.34494c) 0.8s;
    transition: all cubic-bezier(0.190, 1.34494c, 0.220, 1.34494c) 0.8s;
}

#progress,
#progress .progress-loading {
    -webkit-transition: all cubic-bezier(0.550, 0.055, 0.675, 0.190) 0.6s;
    -moz-transition: all cubic-bezier(0.550, 0.055, 0.675, 0.190) 0.6s;
    -ms-transition: all cubic-bezier(0.550, 0.055, 0.675, 0.190) 0.6s;
    transition: all cubic-bezier(0.550, 0.055, 0.675, 0.190) 0.6s;
}

#progress.complete100,
#progress.complete100 .progress-loading {
    left: 0%;
}

#progress.complete100 {
    opacity: 0;
    z-index: -9999;
}

@media screen and (min-width: 0px) and (max-width: 799px) {
    #progress {
        height: 100dvh;
    }

    #progress .progress-loading .l-logo img {
        width: 180px;
    }
} */

/*
-----------------------------------------------------

	=HEADER (CORPORATE SITE)

-----------------------------------------------------
*/

/* 全ページ共通 - ヘッダー初期位置 */
.header-global {
	position: fixed;
	z-index: 9991;
	top: inherit;
	left: 0;
	right: 0;
	margin: 0 auto;
	padding: 0;
	width: 100%;
	background-color: transparent;
}

.header-global,
.header-global * {
	-webkit-transition: all ease-out 0.2s;
	-moz-transition: all ease-out 0.2s;
	-ms-transition: all ease-out 0.2s;
	transition: all ease-out 0.2s;
}

.header-global>.l-inner {
	padding: 0px 40px;
	align-items: flex-start;
	-webkit-transition: all ease-out 0.2s;
	-moz-transition: all ease-out 0.2s;
	-ms-transition: all ease-out 0.2s;
	transition: all ease-out 0.2s;
}

.header-global>.l-inner .l-header-left,
.header-global>.l-inner .l-header-right {
	display: flex;
	align-items: center;
}

.header-global>.l-inner .l-header-left {}

.header-global>.l-inner .l-header-right {}

.header-global>.l-inner .nav-pc {}

.header-global>.l-inner .nav-sp {}

.l-logo-corporatesite {
	position: relative;
	width: 200px;
}

.l-logo-corporatesite a::after {}

.l-logo-corporatesite a:hover {
	opacity: 1;
}

/* .header-global>.l-inner .l-header-left>.l-logo {
    position: relative;
    display: inline-block;
    vertical-align: top;
    max-width: 100%;
    background: url(assets/images/logo-white.webp) no-repeat;
    background-size: contain;
    margin: 0 0 0 0;
} */

.header-global>.l-inner .l-header-left>.l-logo img {
	display: block;
	opacity: 1;
}

/* 画面スクロール時 - 全ページ共通 */
.js-status-scrolled .header-global {
	background-color: rgba(241, 244, 246, 0.5);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

@media screen and (min-width: 800px) {
	#main {}

	.js-header-indent #main {
		padding-top: 100px;
	}

	.header-global>.l-inner {
		min-width: 1320px;
	}

	.header-global>.l-inner .l-header-left,
	.header-global>.l-inner .l-header-right {
		height: 100px;
	}

	.header-global>.l-inner .l-header-right {}

	/* ヘッダー初期位置 - 全ページ共通 */
	.js-status-before-main .header-global {}

	.js-status-before-main .header-global>.l-inner {}

	/* 画面スクロール時 - 全ページ共通 */
	.js-status-scrolled .header-global>.l-inner {}

	/* ヘッダー初期位置 - 背景透過ver.*/
	.js-header-transparent.js-status-before-scroll .header-global>.l-inner {
		padding: 40px 80px;
	}

	/* .js-header-transparent.js-status-before-main .header-global {
        background-color: transparent;
    }

    .js-header-transparent.js-status-before-main .header-global,
    .js-header-transparent.js-status-before-main .header-global a {}

    .js-header-transparent.js-status-before-main .header-global>.l-inner .l-header-left .l-logo img {
        opacity: 0;
    }

    .js-header-transparent.js-status-before-main .header-global>.l-inner .nav-pc ul.nav-main li,
    .js-header-transparent.js-status-before-main .header-global>.l-inner .nav-pc ul.nav-main li a {
        color: #fff;
    }

    .js-header-transparent.js-status-before-main .header-global>.l-inner .nav-pc ul.nav-main li ul {
        background-color: transparent;
    }

    .js-header-transparent.js-status-before-main .header-global>.l-inner .nav-pc ul.nav-main li ul li,
    .js-header-transparent.js-status-before-main .header-global>.l-inner .nav-pc ul.nav-main li ul li a {
        color: #fff;
    }

    .js-header-transparent.js-status-before-main .header-global>.l-inner .nav-pc ul.nav-main li.has-child {}

    .js-header-transparent.js-status-before-main .header-global>.l-inner .nav-pc ul.nav-main>li>a::before {}

    .js-header-transparent.js-status-before-main .header-global>.l-inner .nav-pc ul.nav-main li.has-child::after {
        border-color: #fff;
    } */
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	#main {
		padding-top: 0;
	}

	.js-header-indent #main {
		padding-top: 70px;
	}

	.header-global {
		height: 70px;
	}

	.header-global>.l-inner {
		padding: 0 3.125vw;
		padding: 0 6.25vw;
		height: 100%;
	}

	.header-global>.l-inner {
		align-items: center;
	}

	.header-global>.l-inner .l-header-left {
		width: 100%;
		padding: 15px 0;
		justify-content: flex-start;
	}

	.header-global>.l-inner .l-header-right {}

	.header-global>.l-inner .l-header-left .l-logo {
		margin: 0 0 0;
	}

	.l-logo-corporatesite {
		width: 102px;
	}

	/* ヘッダー初期位置 - 背景透過ver. */
	/* .js-header-transparent.js-status-before-main .header-global {
        background-color: transparent;
        box-shadow: none;
    }

    .js-header-transparent.js-status-before-main .header-global>.l-inner .l-header-left .l-logo {}

    .js-header-transparent.js-status-before-main .header-global>.l-inner .l-header-left .l-logo img {
        opacity: 0;
    }


    .js-header-transparent.js-status-before-main a.trigger-bars span {
        background-color: #fff;
    } */

	/* 画面スクロール時 - 全ページ共通 */
	.js-status-scrolled .header-global {}
}

@media screen and (min-width: 800px) and (max-width: 1399px) {}

/*
-----------------------------------------------------

	=NAVIGATION - PC

-----------------------------------------------------
*/

@media screen and (min-width: 800px) {

	/* =NAVIGATION - PC
	----------------------------------------------------- */
	.nav-pc {
		margin: 0 0 0 0;
	}

	.nav-pc .l-inner {
		line-height: 0;
	}

	.nav-pc * {
		-webkit-transition: all ease-out 0.2s;
		-moz-transition: all ease-out 0.2s;
		-ms-transition: all ease-out 0.2s;
		transition: all ease-out 0.2s;
	}

	.nav-pc ul.nav-main {
		display: flex;
		align-items: center;
		letter-spacing: 0;
		font-size: 0;
	}

	.nav-pc ul.nav-main li {
		font-family: "Poppins", sans-serif;
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1.25;
		letter-spacing: 0em;
	}

	.nav-pc ul.nav-main li:not(:last-child) {
		margin: 0 2em 0 0;
	}

	.nav-pc ul.nav-main li a {
		position: relative;
		display: block;
		color: var(--color-text-basic);
		text-decoration: none;
	}

	.nav-pc ul.nav-main li a:hover {
		opacity: inherit;
	}

	/* 第1階層のみ */
	.nav-pc ul.nav-main>li>a {
		padding: 0.2em 0;
	}

	.nav-pc ul.nav-main>li>a:hover {
		opacity: 0.5;
	}

	.nav-pc ul.nav-main>li>a::before {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 0.0001%;
		height: 1px;
		background-color: var(--color-text-basic);
		-webkit-transition: all ease-out 0.1s;
		-moz-transition: all ease-out 0.1s;
		-ms-transition: all ease-out 0.1s;
		transition: all ease-out 0.1s;
	}

	.nav-pc ul.nav-main>li>a:hover::before {
		width: 100%;
	}

	.nav-pc ul.nav-main>li.u-sep {
		padding-left: calc(2em);
		border-left: solid 1px var(--color-text-basic);
	}

	.nav-pc ul.nav-main>li.u-sep>a {
		margin: 0 -0.5em;
		padding: 0.2em 0.5em;
	}

	.nav-pc ul.nav-main>li.u-sep>a:hover {
		opacity: 1;
		background-color: var(--color-text-basic);
		color: #fff;
	}

	.nav-pc ul.nav-main>li.u-sep>a::before {
		display: none;
	}

	/* 第2階層 (子要素にさらにulがある場合) */
	.nav-pc ul.nav-main li {
		position: relative;
	}

	.nav-pc ul.nav-main li.has-child {
		padding-right: 15px;
	}

	.nav-pc ul.nav-main li.has-child::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto 0;
		border-bottom: solid 1px var(--color-primary);
		border-right: solid 1px var(--color-primary);
		width: 6px;
		height: 6px;
		transform: rotate(45deg);
		-webkit-transition: all ease-out 0.2s;
		-moz-transition: all ease-out 0.2s;
		-ms-transition: all ease-out 0.2s;
		transition: all ease-out 0.2s;
	}

	.nav-pc ul.nav-main li ul {
		display: none;
		position: absolute;
		top: 100%;
		left: -20px;
		width: 14em;
		padding: 20px;
		padding-top: 10px;
		background-color: #fff;
		border-radius: 0 0 5px 5px;
	}

	.nav-pc ul.nav-main li:hover ul {
		display: block;
	}

	.nav-pc ul.nav-main li ul li {
		display: block;
		padding: 0.5em 0em 0;
		font-size: 85%;
		text-align: left;
		text-transform: none;
	}

	.nav-pc ul.nav-main li ul li a {
		padding: 0;
		color: var(--color-text-basic);
	}

	.nav-pc ul.nav-main li ul li a::before {}

	.nav-pc ul.nav-main li ul li a:hover {
		opacity: 0.5;
	}
}

/* =NAVIGATION - ACTION BUTTON
----------------------------------------------------- */
@media screen and (min-width: 800px) {
	.nav-action {
		margin: 0 0 0 30px;
	}

	.nav-action ul.nav-main {
		display: flex;
		align-items: center;
		letter-spacing: 0;
		font-size: 0;
	}

	.nav-action ul.nav-main li {
		font-size: 1.8rem;
		font-weight: bold;
		letter-spacing: 0em;
	}

	.nav-action ul.nav-main li:not(:last-child) {
		margin: 0 0 0 0;
		margin: 0 10px 0 0;
	}
}

/*
-----------------------------------------------------

	=NAVIGATION - SP

-----------------------------------------------------
*/

@media screen and (min-width: 0px) and (max-width: 799px) {

	/* =OVERLAY BACKGROUND
    ----------------------------------------------------- */
	.nav-overlay {
		position: fixed;
		z-index: 9990;
		top: 0;
		left: 0;
		width: 100%;
		height: 100dvh;
		background-color: var(--color-text-basic);
		-webkit-transition: opacity ease-out 0.25s;
		-moz-transition: opacity ease-out 0.25s;
		-ms-transition: opacity ease-out 0.25s;
		transition: opacity ease-out 0.25s;
		opacity: 0;
		pointer-events: none;
	}

	.nav-overlay.active {
		opacity: 0.25;
		pointer-events: inherit;
	}

	/* =NAVIGATION - SP
	----------------------------------------------------- */
	.nav-sp {
		position: fixed;
		z-index: 9992;
		top: 0;
		left: 0;
		bottom: auto;
		width: 100%;
		height: 100vh;
		padding: 0;
		border-radius: 0;
		background-color: var(--color-primary);
		background-color: rgba(255, 255, 255, 1);
		color: var(--color-text-basic);
		box-shadow: 5px 8.66px 20px 0px rgba(0, 0, 0, 0.07);
		box-shadow: 15px 25.981px 50px 0px rgba(126, 126, 126, 0.2);
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		-webkit-transform: translate3d(0, -100%, 0);
		-moz-transform: translate3d(0, -100%, 0);
		-ms-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
		-webkit-transition: opacity ease-out 0.25s;
		-moz-transition: opacity ease-out 0.25s;
		-ms-transition: opacity ease-out 0.25s;
		transition: opacity ease-out 0.25s;
		opacity: 0;
	}

	.nav-sp.on {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		-moz-transform: translate3d(0, 0, 0);
		-ms-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}

	.nav-sp.on .l-inner {}

	.nav-sp .l-inner {
		padding: 0 6.25vw;
		padding-bottom: 20vw;
	}

	.nav-sp .l-inner .l-logo {
		height: 70px;
		display: flex;
		align-items: center;
		margin: 0 0 6.25vw;
	}

	.nav-sp ul.nav-main {
		margin: 0 0 2em 0;
		margin: 0;
	}

	.nav-sp ul.nav-main li {
		display: block;
		color: var(--color-text-basic);
	}

	.nav-sp ul.nav-main li a:not([class]) {
		display: block;
		color: var(--color-text-basic);
		text-decoration: none;
	}

	.nav-sp ul.nav-main li a:not([class]) :hover {
		opacity: 0.25;
	}

	/* .nav-sp .l-nav-footer .l-heading {
        margin: 2em 0 10px;
    }

    .nav-sp .l-nav-footer .l-heading:first-child {
        margin-top: 0;
    } */

	/* ナビゲーション - 第1階層 */
	.nav-sp ul.nav-main>li:not(:last-child) {
		margin: 0 0 5px;
	}

	.nav-sp ul.nav-main>li>a:not([class]) {
		position: relative;
	}

	.nav-sp ul.nav-main>li>a:not([class])::before {}

	/* ナビゲーション - 第2階層 */
	.nav-sp ul.nav-main ul {
		margin: 1em 0 0 0;
	}

	.nav-sp ul.nav-main ul li {
		margin: 1.5em 0;
		position: relative;
		padding-left: 1em;
		font-size: 1.2rem;
	}

	.nav-sp ul.nav-main ul li:before {}

	.nav-sp ul.nav-main ul li a {}

	/* =TOGGLER
	----------------------------------------------------- */
	ul.nav-icon {
		position: fixed;
		z-index: 9999;
		top: 0;
		right: 0;
		margin: 0;
		padding: 0;
		text-align: right;
		font-size: 0;
		letter-spacing: 0;
	}

	ul.nav-icon li {
		display: inline-block;
		vertical-align: top;
		z-index: 9999;
		top: 0;
		right: 0;
		width: 90px;
		height: 70px;
		border-radius: 0;
		background-color: var(--color-text-basic);
		text-align: center;
		-webkit-transition: all ease-out 0.4s;
		-moz-transition: all ease-out 0.4s;
		-ms-transition: all ease-out 0.4s;
		transition: all ease-out 0.4s;
		cursor: pointer;
	}

	ul.nav-icon li:not(:last-child) {
		margin-right: 0;
	}

	ul.nav-icon li a {
		display: block;
		text-decoration: none;
	}

	ul.nav-icon li.toggler {
		padding: 27px 0;
		background-color: transparent;
	}

	.is-scrolled ul.nav-icon li.toggler {}

	ul.nav-icon li.toggler a.trigger-bars {
		display: inline-block;
	}

	a.trigger-bars,
	a.trigger-bars span {
		box-sizing: border-box;
		display: inline-block;
		-webkit-transition: all ease-out 0.4s;
		-moz-transition: all ease-out 0.4s;
		-ms-transition: all ease-out 0.4s;
		transition: all ease-out 0.4s;
	}

	a.trigger-bars {
		position: relative;
		z-index: 9999;
		width: 32px;
		height: 19px;
		color: var(--color-text-basic);
	}

	a.trigger-bars::after {
		position: absolute;
		width: 200%;
		left: -50%;
		top: 27px;
		display: block;
		letter-spacing: 0em;
		font-size: 1rem;
		font-weight: bold;
		text-transform: uppercase;
		line-height: 1;
	}

	a.trigger-bars span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		background-color: var(--color-primary);
		background-color: var(--color-text-basic);
		border-radius: 0;
		-webkit-transition: all ease-out 0.14s;
		-moz-transition: all ease-out 0.14s;
		-ms-transition: all ease-out 0.14s;
		transition: all ease-out 0.14s;
	}

	a.trigger-bars span:nth-of-type(1) {
		top: 0;
	}

	a.trigger-bars span:nth-of-type(2) {
		top: 9px;
	}

	a.trigger-bars span:nth-of-type(3) {
		bottom: 0;
	}

	/*ul.nav-icon li.toggler.active { background-color: #fff;}*/
	.active a.trigger-bars {
		color: var(--color-primary);
		color: var(--color-text-basic);
	}

	.active a.trigger-bars span {}

	.active a.trigger-bars span:nth-of-type(1) {
		-webkit-transform: translateY(9px) rotate(-45deg);
		transform: translateY(9px) rotate(-45deg);
	}

	.active a.trigger-bars span:nth-of-type(2) {
		opacity: 0;
	}

	.active a.trigger-bars span:nth-of-type(3) {
		-webkit-transform: translateY(-9px) rotate(45deg);
		transform: translateY(-9px) rotate(45deg);
	}
}

/*
-----------------------------------------------------

	=FOOTER

-----------------------------------------------------
*/
.footer-global {
	position: relative;
	z-index: 90;
	font-size: 1.2rem;
	font-weight: normal;

	margin: auto;
	padding: 0 40px;
}

.footer-global.u-ver-toppage {
	border-top: none;
	padding-top: 80px;
}

.footer-global::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.footer-global,
.footer-global a {}

.footer-global a {
	text-decoration: none;
}

.footer-global .c-wrapper {
	width: 100%;
	padding: 60px 40px;
}

.footer-global p {
	line-height: 1.8;
}

.footer-global hr:not([class]) {
	height: 2em;
}

.footer-global .c-section {
	padding: 60px 0;
}

@media screen and (min-width: 800px) {
	.footer-global .c-section {}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.footer-global {
		padding: 0 6.25vw;
		font-size: 1rem;
	}

	.footer-global.u-ver-toppage {
		border-top: none;
		padding-top: 6.25vw;
	}

	.footer-global .c-wrapper {
		width: 100%;
		padding: 3.125vw 0;
	}
}

/* フッター - お問い合わせボタン
----------------------------------------------------- */
.footer-global .l-footer-contact-area {
	border-top: solid 1px #000;
}

.footer-global.u-ver-toppage .l-footer-contact-area {
	border-top: 0;
}

.c-button-footer-contact {
	font-family: "Poppins", sans-serif;
	font-size: 16rem;
	font-weight: 500;
	line-height: 1;
}

.c-button-footer-contact {
	-webkit-transition: opacity ease-out 0.2s;
	-moz-transition: opacity ease-out 0.2s;
	-ms-transition: opacity ease-out 0.2s;
	transition: opacity ease-out 0.2s;
}

.c-button-footer-contact .l-english {
	display: inline-block;
	vertical-align: middle;
	position: relative;
}

.c-button-footer-contact .l-arrow {
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
	width: 83px;
	height: 116px;
	background: url(assets/images/icon-arrow-right-button.svg) no-repeat left center;
	background-size: 100% auto;
}

.c-button-footer-contact:hover {
	opacity: 1;
}

.c-button-footer-contact:hover .l-arrow {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-button-footer-contact {
		font-size: 13vw;
	}

	.c-button-footer-contact .l-arrow {
		width: 8vw;
		height: calc(8vw / 3 * 4);
	}
}

/* フッター - ナビゲーションなどのエリア
----------------------------------------------------- */
.footer-global .l-footer-navigation-area {
	border-top: solid 1px #000;
}

.footer-global .l-footer-navigation-area .l-inner {
	position: relative;
}

.footer-global .l-footer-navigation-area .l-logo {}

.footer-global .l-footer-navigation-area .l-address {}

ul.c-list-footer-button {
	margin: 4em 0 0;
}

ul.c-list-footer-button li {
	display: inline-block;
	vertical-align: middle;
	margin: 0 2em 0 0;
	padding: 0 2em 0 0;
	border-right: solid 1px #000;
	font-family: "Poppins", sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1;
}

ul.c-list-footer-button li:last-child {
	margin: 0;
	padding: 0;
	border-right: none;
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	ul.c-list-footer-button {
		margin: 6.25vw 0 6.25vw;
	}

	ul.c-list-footer-button li {
		font-size: 1.2rem;
	}
}

@media screen and (min-width: 800px) {
	.footer-global .l-footer-navigation-area {}

	.footer-global .l-footer-navigation-area .footer-left {
		width: calc(100% - 560px);
		justify-content: flex-start;
	}

	.footer-global .l-footer-navigation-area .l-footer-right {
		width: 560px;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.footer-global .l-footer-navigation-area {
		padding: 6.25vw 0 0;
	}

	.footer-global .l-footer-navigation-area .footer-left,
	.footer-global .l-footer-navigation-area .l-footer-right {
		width: 100%;
		justify-content: flex-start;
	}

	.footer-global .l-footer-navigation-area .l-footer-right {}

	.footer-global .l-footer-navigation-area .c-flex-parent.u-responsive>.c-flex-child {
		margin: 0;
	}

	.footer-global .l-footer-navigation-area .footer-left>*:last-child {
		margin-bottom: 0;
	}

	.footer-global .l-footer-navigation-area .l-logo {}

	.footer-global .l-footer-navigation-area .l-address {
		font-size: 1rem;
	}
}

/* フッター - ナビゲーションなどのエリア - ナビゲーション横並びver.
----------------------------------------------------- */
.l-nav-footer {}

.l-nav-footer>.c-flex-parent {}

.l-nav-footer>.c-flex-parent>.c-flex-child {
	width: 100%;
	margin-left: 80px;
}

.l-nav-footer ul {
	display: block;
}

.l-nav-footer ul li {
	display: block;
	margin-bottom: 0;
	padding: 0.75em 0;
	border-bottom: solid 1px #000;
	font-size: 1.8rem;
	font-family: "Poppins", sans-serif;
	font-weight: 500;
}

.l-nav-footer ul li a {
	position: relative;
	display: block;
	color: inherit;
	text-decoration: none;
	padding: 0.75em 0;
	line-height: 1;
}

.l-nav-footer ul li a::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: -0;
	margin: auto 0;

	width: 11px;
	height: 1em;
	background: url(assets/images/icon-arrow-right-button.svg) no-repeat left center;
	background-size: 100% auto;
}

.l-nav-footer ul li a:hover {
	opacity: 0.25;
}

/* .l-nav-footer ul ul {}

.l-nav-footer ul ul li {
    opacity: 0.6;
    font-weight: normal;
}

.l-nav-footer ul ul li a {
    position: relative;
    padding-left: 1em;
    padding-left: 0;
}

.l-nav-footer ul ul li a::before {
    display: none;
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto 0;
    width: 8px;
    height: 1px;
    background-color: #fff;
}

.l-nav-footer ul ul li a::before {} */

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-nav-footer {}

	.l-nav-footer .l-heading {
		font-size: 1.33em;
	}

	.l-nav-footer ul li {
		font-size: 1.4rem;
	}

	.l-nav-footer ul li a::before {
		width: 9px;
	}

	/* .l-nav-footer ul ul li a::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto 0;
        width: 5px;
    } */
}

/* フッター - コピーライト
----------------------------------------------------- */
.footer-global .l-footer-copyright-area {}

.footer-global .l-footer-copyright-area,
.footer-global .l-footer-copyright-area a {}

.footer-global .l-footer-copyright-area .l-inner {
	align-items: center;
}

.footer-global .l-footer-copyright-area .copyright {
	font-family: "Poppins", sans-serif;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1;
}

.footer-global .l-footer-copyright-area .copyright p {
	margin: 0;
}

.footer-global .l-footer-copyright-area a {}

.footer-global .l-footer-copyright-area a:hover {
	opacity: 0.5;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.footer-global .l-footer-copyright-area {
		padding: 3.125vw 0 0;
		font-size: 0.9rem;
	}

	.footer-global .l-footer-copyright-area .l-inner {
		padding: 3.125vw 0;
	}

	.footer-global .l-footer-copyright-area .copyright {
		font-size: 0.9rem;
	}

	.footer-global .l-footer-copyright-area .c-flex-parent.u-responsive>.c-flex-child {
		margin-bottom: 3.125vw;
	}

	/* .footer-global ul.c-list-sns {
        margin: 0 0 6.25vw;
        text-align: left;
    }

    .footer-global ul.c-list-sns:last-child {
        margin-bottom: 0;
    } */
}

/*
-----------------------------------------------------

	=COMMON PARTS - SECTION

-----------------------------------------------------
*/
.js-anchor {
	visibility: hidden;
	height: 0;
	display: block;
	padding-top: 100px;
	margin-top: -100px;
	pointer-events: none;
}

.c-block:not(:last-child) {
	margin-bottom: 160px;
}

.c-section {
	padding: 160px 0;
}

hr {
	clear: both;
	border: none;
	margin: 40px auto;
	height: 0;
}

hr.hr-border {
	margin: 80px auto;
	height: 1px;
	background-color: #000;
}

.c-section-header {
	text-align: center;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-block:not(:last-child) {
		margin: 0 auto 12.5vw;
	}

	.c-section {
		padding: 12.5vw 0;
	}

	hr {
		margin: 3.125vw auto;
	}

	hr.hr-border {
		margin: 6.25vw auto;
	}
}

.c-flexible-indent {
	padding: 0 40px;
	margin: 0 auto;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-flexible-indent {
		padding: 0 3.125vw;
	}
}

/*
-----------------------------------------------------

	=COMMON PARTS - DECORATION

-----------------------------------------------------
*/

/* フォントカラー、加工など
----------------------------------------------------- */
.u-fc-theme {
	color: var(--color-primary);
}

.u-radius {
	overflow: hidden;
	border-radius: 10px;
}

/* 罫線ラインマーカー */
.u-text-underline {
	position: relative;
	display: inline-block;
}

.u-text-underline::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0.15em;
	background-color: var(--color-primary);
	mix-blend-mode: multiply;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* 汎用の枠・白背景エリア
----------------------------------------------------- */
.c-whitebox {
	padding: 80px;
	background-color: #fff;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-whitebox {
		padding: 6.25vw;
	}
}

/* 汎用のカバー画像エリア
----------------------------------------------------- */
.c-cover-image {
	position: relative;
	width: 100%;
}

.c-cover-image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center;
}

/* 汎用のフレーム
----------------------------------------------------- */
.c-frame-theme {
	position: relative;
	z-index: 2;
	margin: 0 0 2em;
	border-radius: 10px;
	padding: 2em;
	background-color: var(--color-primary);
	color: #fff;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/*
-----------------------------------------------------

	=COMMON PARTS - HEADING

-----------------------------------------------------
*/

/* 見出し - セクション・ページの大見出し 英語のみ  - 108pt
----------------------------------------------------- */
.c-title-english-main {
	margin: 0 0 7rem;
	font-size: 10.2rem;
	font-family: "Poppins", sans-serif;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.035em;
}

.c-title-english-main .l-english {
	display: block;
}

.c-title-english-main .l-english .l-sub {
	font-size: 2.4rem;
	letter-spacing: 0em;
}

.c-title-english-main.u-ver-underline {
	padding-bottom: 0.25em;
	border-bottom: solid 1px rgba(0, 0, 0, 0.15);
}

@media screen and (min-width: 800px) {
	.c-title-english-main.u-ver-medium {
		font-size: 7.2rem;
	}

	.c-title-english-main.u-ver-small {
		font-size: 4.8rem;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-title-english-main {
		margin: 0 0 6.25vw;
		font-size: 4.6rem;
	}

	.c-title-english-main.u-ver-medium {
		font-size: 3.2rem;
	}

	.c-title-english-main.u-ver-small {
		font-size: 2.6rem;
	}
}

/* 見出し - セクション・ページのサブ見出し 英語のみ - 24pt（下層ページのみ）
----------------------------------------------------- */
.c-title-english-sub {
	margin: 0 0 2em;
	font-size: 2.4rem;
	font-family: "Poppins", sans-serif;
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.035em;
}

.c-title-english-sub .l-english {
	display: inline-block;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-title-english-sub {
		margin: 0 0 6.25vw;
		font-size: 1.8rem;
	}
}

/* グラデーション装飾
----------------------------------------------------- */
.c-text-gradient {
	padding-bottom: 0.15em;
	background-image: -moz-linear-gradient(30deg,
			#587f90 0%,
			#171c5e 45%,
			#000 80%);
	background-image: -webkit-linear-gradient(30deg,
			#587f90 0%,
			#171c5e 45%,
			#000 80%);
	background-image: -ms-linear-gradient(30deg,
			#587f90 0%,
			#171c5e 45%,
			#000 80%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: rgba(255, 255, 255, 0);
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* 見出し - 英語24pt + 罫線 - セクション区切り
----------------------------------------------------- */
.c-title-horizontal-line {
	margin: 0;
	padding: 0 0 0.25em;
	border-bottom: solid 1px var(--color-text-basic);
	font-family: "Poppins", sans-serif;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.5;
}

.c-title-horizontal-line>* {
	display: block;
}

.c-title-horizontal-line .l-english {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-title-horizontal-line {
		font-size: 1.6rem;
	}
}

/* 見出し - 日本語42pt + 英語24pt (下層ページのみ)
----------------------------------------------------- */
.c-title-42 {
	margin: 0em 0 1.5em;
	font-size: 4.2rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.05em;
}

.c-title-42>* {
	display: block;
}

.c-title-42 .l-japanese {}

.c-title-42 .l-english {
	display: block;
	margin: 0.75em 0 0;
	font-family: "Poppins", sans-serif;
	font-size: 2.4rem;
	font-weight: normal;
	opacity: 0.5;
	letter-spacing: -0.025em;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-title-42 {
		font-size: 2.4rem;
	}

	.c-title-42 .l-english {
		font-size: 1.4rem;
	}
}

/* 見出し - 日本語28pt
----------------------------------------------------- */
.c-title-28 {
	margin: 0em 0 1.5em;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.75;
	letter-spacing: -0.05em;
}

.c-title-28>* {
	display: block;
}

.c-title-28 .l-japanese {}

.c-title-28 .l-english {
	display: block;
	margin: 0.75em 0 0;
	font-family: "Poppins", sans-serif;
	font-size: 2.4rem;
	font-weight: normal;
	opacity: 0.5;
	letter-spacing: -0.025em;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-title-28 {
		font-size: 1.6rem;
	}

	.c-title-28 .l-english {
		font-size: 1rem;
	}
}

/* 見出し - 解説や小章などのナンバリング+英語見出し
----------------------------------------------------- */
.c-title-description {
	position: relative;
	display: block;
	margin: 0 0 4rem;
	padding-left: 3em;
	padding-bottom: 0.5em;
	border-bottom: solid 1px rgba(0, 0, 0, 0.15);
	font-family: "Poppins", sans-serif;
	font-size: 1em;
	font-weight: normal;
	line-height: 1.25;
}

.c-title-description.u-ver-no-number {
	padding-left: 0;
}

.c-title-description .l-num {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto 0;
	display: inline-block;
	vertical-align: middle;
	font-size: 2.4rem;
	opacity: 0.25;
	line-height: 1;
}

.c-title-description .l-english {
	display: inline-block;
	vertical-align: middle;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-title-description {
		margin: 0 0 6.25vw;
		padding-bottom: 0.75em;
		font-size: 0.9rem;
	}

	.c-title-description .l-num {
		font-size: 1.4rem;
	}
}

/* 見出し - 日本語20pt
----------------------------------------------------- */
.c-title-20 {
	margin: 0em 0 1.5em;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.75;
	letter-spacing: -0.05em;
}

.c-title-20>* {
	display: block;
}

.c-title-20 .l-japanese {}

.c-title-20 .l-english {
	display: block;
	margin: 0.75em 0 0;
	font-family: "Poppins", sans-serif;
	font-size: 1.6rem;
	font-weight: normal;
	opacity: 0.5;
	letter-spacing: -0.025em;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-title-20 {
		font-size: 1em;
	}

	.c-title-20 .l-english {
		font-size: 1rem;
	}
}

/*
-----------------------------------------------------

	=COMMON PARTS - BUTTON

-----------------------------------------------------
*/

/* ボタン - 矢印アイコン付きRead moreボタン
----------------------------------------------------- */
.c-button-readmore {
	position: relative;
	display: inline-block;
	line-height: 1.25;
	color: var(--color-primary);
	font-family: "Poppins", sans-serif;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0;
	text-decoration: none;
}

.c-button-readmore,
.c-button-readmore * {
	-webkit-transition: all ease-out 0.2s;
	-moz-transition: all ease-out 0.2s;
	-ms-transition: all ease-out 0.2s;
	transition: all ease-out 0.2s;
}

.c-button-readmore .l-english,
.c-button-readmore .l-arrow {
	display: inline-block;
	vertical-align: middle;
}

.c-button-readmore .l-english {
	position: relative;
	margin: 0 30px 0 0;
	padding: 0.2em 0;
}

/* 下線：デフォルト（currentColor） */
.c-button-readmore .l-english::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: currentColor;
}

/* 下線：ホバー時に逆色が左→右 */
.c-button-readmore .l-english::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background-color: #fff;
	transition: width 0.3s ease;
}

.c-button-readmore:hover .l-english::after {
	width: 100%;
}

.c-button-readmore:hover {
	transform: scale(1.05);
}

/* 白版：ホバー時の逆色は黒 */
.c-button-readmore.u-ver-white .l-english::after {
	background-color: #000;
}

.c-button-readmore .l-arrow {
	position: relative;
	border: solid 1px #000;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	margin: 0;
}

.c-button-readmore .l-arrow svg {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 9px;
	height: auto;
	-webkit-transition: all ease-out 0.25s;
	-moz-transition: all ease-out 0.25s;
	-ms-transition: all ease-out 0.25s;
	transition: all ease-out 0.25s;
}

.c-button-readmore:hover {
	opacity: 1;
}


.c-button-readmore:hover .l-arrow {
	background-color: rgba(0, 0, 0, 1);
}

.c-button-readmore:hover .l-arrow svg {
	fill: #fff;
}

/* Submit button specific styles */
.submit-button.c-button-readmore {
	cursor: pointer;
	position: relative;
	display: inline-block;
}

.submit-button.c-button-readmore input[type="submit"] {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
	z-index: 10;
	pointer-events: auto;
}

.submit-button.c-button-readmore .l-english {
	pointer-events: none;
	position: relative;
	z-index: 1;
	display: inline-block;
	vertical-align: middle;
}

.submit-button.c-button-readmore .l-arrow {
	pointer-events: none;
	position: relative;
	z-index: 1;
	display: inline-block;
	vertical-align: middle;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-button-readmore {
		font-size: 1.8rem;
	}

	.c-button-readmore .l-english {
		margin: 0 1em 0 0;
	}

	.c-button-readmore .l-arrow {
		width: 60px;
		height: 60px;
	}

	.c-button-readmore .l-arrow svg {
		width: 9px;
	}
}

.u-ta-r .c-button-readmore {
	margin-left: auto;
}

.u-ta-c .c-button-readmore {
	margin-left: auto;
	margin-right: auto;
}

.c-button-readmore.u-ver-white {
	color: #fff;
}

.c-button-readmore.u-ver-white .l-arrow {
	border-color: #fff;
}

.c-button-readmore.u-ver-white:hover .l-arrow {
	background-color: rgba(255, 255, 255, 1);
}

.c-button-readmore.u-ver-white .l-arrow svg {
	fill: #fff;
}

.c-button-readmore.u-ver-white:hover .l-arrow svg {
	fill: #000;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* ボタン - 解説や小章などのナンバリング+英語見出し　（下層ページのみ）
----------------------------------------------------- */
.c-button-description {
	position: relative;
	display: block;
	margin: 0;
	padding-left: 3em;
	padding-bottom: 1em;
	border-bottom: solid 1px rgba(0, 0, 0, 0.15);
	font-size: 1em;
	font-weight: normal;
	line-height: 1.25;
	text-decoration: none;
	background: url(assets/images/icon-arrow-right-button-circle.webp) no-repeat right top;
	background-size: 32px auto;
}

.c-button-description.u-ver-no-number {
	padding-left: 0;
}

.c-button-description .l-num {
	position: absolute;
	top: 0.1em;
	left: 0;
	display: inline-block;
	vertical-align: middle;
	font-family: "Poppins", sans-serif;
	font-size: 2.4rem;
	opacity: 0.25;
	line-height: 1;
}

.c-button-description .l-japanese {
	display: block;
	padding-bottom: 0.25em;
}

.c-button-description .l-english {
	display: block;
	font-family: "Poppins", sans-serif;
	opacity: 0.5;
	font-size: 0.65em;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-button-description {
		background-size: 16px auto;
	}

	.c-button-description .l-num {
		font-size: 1.8rem;
	}

	.c-button-description .l-japanese {
		padding-bottom: 0.5em;
	}

	.c-button-description .l-english {
		font-size: 0.8em;
	}
}

/* ナビゲーション - ページ内コンテンツ （下層ページのみ）
----------------------------------------------------- */
ul.c-nav-sub-contents {}

ul.c-nav-sub-contents li {
	margin: 0 0 1.5em;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* ボタン - 小さなテキストとアロー
----------------------------------------------------- */
/* .c-link-small {
    position: relative;
    display: inline-block;
    padding: 0 1em 0 0;
    font-family: "Poppins", sans-serif;
    color: var(--color-primary);
    font-size: 2.8rem;
    font-weight: bold;
    text-decoration: none;
    line-height: .8;
}

.c-link-small::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3px;
    margin: auto 0;
    border-top: solid 3px var(--color-primary);
    border-right: solid 3px var(--color-primary);
    width: 14px;
    height: 14px;
    transform: rotate(45deg);
    -webkit-transition: all ease-out 0.2s;
    -moz-transition: all ease-out 0.2s;
    -ms-transition: all ease-out 0.2s;
    transition: all ease-out 0.2s;
}

.c-link-small.u-white {
    color: #fff;
}

.c-link-small.u-white::after {
    border-top-color: #fff;
    border-right-color: #fff;
}

.c-link-small:hover {}

.c-link-small:hover::after {
    right: 0;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
    .c-link-small {
        font-size: 1.6rem;
    }

    .c-link-small::after {
        border-top: solid 2px var(--color-primary);
        border-right: solid 2px var(--color-primary);
        width: 7px;
        height: 7px;
    }
} */

/*
-----------------------------------------------------

	=COMMON PARTS - LIST

-----------------------------------------------------
*/
/* 各種SNSアイコン定義
----------------------------------------------------- */
i.icon-twitter {
	display: inline-block;
	background: url(assets/images/icon-sns-twitter.webp) no-repeat center;
	background-size: 100% auto;
	width: 22px;
	height: 22px;
}

i.icon-facebook {
	display: inline-block;
	background: url(assets/images/icon-sns-facebook.webp) no-repeat center;
	background-size: 100% auto;
	width: 24px;
	height: 24px;
}

i.icon-instagram {
	display: inline-block;
	background: url(assets/images/icon-sns-instagram.webp) no-repeat center;
	background-size: 100% auto;
	width: 24px;
	height: 24px;
}

i.icon-tiktok {
	display: inline-block;
	background: url(assets/images/icon-sns-tiktok.webp) no-repeat center;
	background-size: 100% auto;
	width: 19px;
	height: 22px;
}

i.icon-note {
	display: inline-block;
	background: url(assets/images/icon-sns-note.webp) no-repeat center;
	background-size: 100% auto;
	width: 18px;
	height: 18px;
}

i.icon-youtube {
	display: inline-block;
	background: url(assets/images/icon-sns-youtube.webp) no-repeat center;
	background-size: 100% auto;
	width: 26px;
	height: 20px;
}

i.icon-hatena {
	display: inline-block;
	background: url(assets/images/icon-sns-hatena.webp) no-repeat center;
	background-size: 100% auto;
	width: 26px;
	height: 21px;
}

i.icon-linkedin {
	display: inline-block;
	background: url(assets/images/icon-sns-linkedin.webp) no-repeat center;
	background-size: 100% auto;
	width: 21px;
	height: 21px;
}

i.icon-line {
	display: inline-block;
	background: url(assets/images/icon-sns-line.webp) no-repeat center;
	background-size: 100% auto;
	width: 25px;
	height: 24px;
}

@media screen and (min-width: 800px) {
	.u-large i.icon-tiktok {
		width: 29px;
		height: 34px;
	}

	.u-large i.icon-instagram {
		width: 37px;
		height: 37px;
	}

	.u-large i.icon-youtube {
		width: 39px;
		height: 28px;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* リスト - SNSロゴのみ VER.
----------------------------------------------------- */
ul.c-list-sns {
	display: block;
	font-size: 0;
	letter-spacing: 0;
}

ul.c-list-sns:not(:last-child) {
	margin: 0 0 3rem;
}

ul.c-list-sns li {
	display: inline-block;
	vertical-align: middle;
	font-size: 1.2rem;
	line-height: 1;
	width: 40px;
}

ul.c-list-sns li:not(:last-child) {
	margin: 0 10px 0 0;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	ul.c-list-sns {}

	ul.c-list-sns li {
		font-size: 0.9rem;
	}
}

/* リスト - SNS円形アイコン
----------------------------------------------------- */
ul.c-list-sns-circle {
	display: flex;
}

ul.c-list-sns-circle li {}

ul.c-list-sns-circle li:not(:last-child) {
	margin: 0 10px 0 0;
}

ul.c-list-sns-circle li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: var(--color-secondary);
}

@media screen and (min-width: 800px) {
	ul.c-list-sns-circle.u-large li:not(:last-child) {
		margin: 0 20px 0 0;
	}

	ul.c-list-sns-circle.u-large li a {
		width: 80px;
		height: 80px;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* リスト - SNSシェアボタン
----------------------------------------------------- */
ul.c-list-share {
	margin: 0 0 2rem;
	font-size: 0;
	letter-spacing: 0;
}

ul.c-list-share.u-with-heading::before {
	content: "SHARE";
	display: inline-block;
	vertical-align: text-bottom;
	margin: 0 1em 0 0;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.05em;
}

ul.c-list-share li {
	display: inline-block;
	vertical-align: middle;
	margin: 0 20px 0px 0;
	font-size: 1.6rem;
}

ul.c-list-share li a {
	display: block;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	ul.c-list-share li {
		zoom: 0.8;
	}
}

/* リスト - 箇条書きリスト
----------------------------------------------------- */
ul.c-list-simple {}

ul.c-list-simple li {
	margin: 0 0 1.5em;
	position: relative;
	padding-left: 1.2em;
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: 0em;
	opacity: 0.7;
}

ul.c-list-simple li::before {
	content: "ー";
	position: absolute;
	left: 0;
	top: 0.8em;
	display: inline-block;
	vertical-align: middle;
	margin: 0 1.25em 0 0;
	color: var(--color-primary);
	font-size: 0.9rem;
	opacity: 0.5;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	ul.c-list-simple li::before {
		top: 0.1em;
	}
}

.c-list-simple.u-ver-indent-off li {
	margin-left: -1.2em;
}

/* リスト - 箇条書きリスト（丸型）
----------------------------------------------------- */
ul.c-list-circle {}

ul.c-list-circle li {
	margin: 0 0 0.25em;
	position: relative;
	padding-left: 1.2em;
	line-height: 1.8;
	letter-spacing: 0em;
}

ul.c-list-circle li::before {
	content: "● ";
	position: absolute;
	left: 0;
	top: 0.8em;
	display: inline-block;
	vertical-align: middle;
	margin: 0 1.25em 0 0;
	color: var(--color-primary);
	font-size: 0.9rem;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	ul.c-list-circle li::before {
		top: 0.1em;
	}
}

/* リスト - シンプルなインライン
----------------------------------------------------- */
ul.c-list-inline {}

ul.c-list-inline li {
	display: inline-block;
	vertical-align: middle;
	margin: 0 2em 0 0;
}

/* リスト - ボタン横並びリスト
----------------------------------------------------- */
ul.c-list-button {
	font-size: 0;
	letter-spacing: 0;
}

ul.c-list-button li {
	display: inline-block;
	margin: 0 10px 10px 0;
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	ul.c-list-button li {
		display: block;
	}
}

/*
-----------------------------------------------------

	=COMMON PARTS - ARCHIVE LIST

-----------------------------------------------------
*/

/* カテゴリー・年別絞り込みボタン（※TOPページ、お知らせなどで使用）
----------------------------------------------------- */

/* アーカイブリスト - 全体 */
.c-news-archive-header {
	font-family: "Poppins", sans-serif;
	font-weight: 500;
	text-transform: uppercase;
}

.c-news-archive-header .l-inner-block {
	position: relative;
}

.c-news-archive-header .l-title {
	margin: 10px 0;
	font-family: "Poppins", sans-serif;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.05em;
}

@media screen and (min-width: 800px) {
	.c-news-archive-header .l-title {
		width: 200px;
	}

	.c-news-archive-header .l-title+* {
		width: calc(100% - 200px);
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-news-archive-header {
		display: block;
	}

	.c-news-archive-header .l-inner-block {
		display: block;
		margin: 0 0 1em;
	}

	.c-news-archive-header .l-inner-block:last-child {
		margin-bottom: 0;
	}

	.c-news-archive-header .l-title {
		margin: 0 0 0.5em;
		font-size: 1.3rem;
	}
}

/* アーカイブリスト - カテゴリー・年別絞り込みボタン部分 */
ul.c-list-news-archive {
	margin: 0 0 80px;
	font-size: 0;
	letter-spacing: 0;
}

ul.c-list-news-archive:last-child {
	margin-bottom: 0;
}

ul.c-list-news-archive li {
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: -0em;
}

ul.c-list-news-archive li a {
	position: relative;
	display: inline-block;
	color: var(--color-text-basic);
	text-decoration: none;
	margin: 0.5em 2em 0.5em 0;
	padding: 0 0 0em;
}

ul.c-list-news-archive li a,
ul.c-list-news-archive li a::before {
	-webkit-transition: all ease-out 0.2s;
	-moz-transition: all ease-out 0.2s;
	-ms-transition: all ease-out 0.2s;
	transition: all ease-out 0.2s;
}

ul.c-list-news-archive li a::before {
	content: "";
	position: absolute;
	top: 0;
	left: -1.25em;
	bottom: 0;
	margin: auto 0;
	width: 1.25em;
	height: 1em;
	background: url(assets/images/icon-arrow-right-button.svg) no-repeat left center;
	background-size: 11px auto;
	opacity: 0;
}

ul.c-list-news-archive li.active a,
ul.c-list-news-archive li a[aria-current],
ul.c-list-news-archive li a:hover {
	padding-left: 1.25em;
	opacity: 1;
}

ul.c-list-news-archive li.active a::before,
ul.c-list-news-archive li a[aria-current]::before,
ul.c-list-news-archive li a:hover::before {
	opacity: 1;
	left: -0;
}

ul.c-list-news-archive li ul,
ul.c-list-news-archive li ul li {
	display: inline-block;
}

ul.c-list-news-archive li ul li a {
	margin: 0 2em 0 0;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	ul.c-list-news-archive {
		position: relative;
		margin: 0 0 2rem;
		padding-left: 0;
		margin-left: 0;
	}

	ul.c-list-news-archive::before {
		display: none;
	}

	ul.c-list-news-archive li {
		display: inline-block;
		margin: 0 0 0.75em 0;
		font-size: 1.2rem;
	}

	ul.c-list-news-archive li a {
		margin: 0 1.5em 0 0;
	}
}

/* アーカイブリスト - タグ絞り込みボタン部分 */
ul.c-list-news-tag {
	margin: 15px 0 0;
	font-size: 0;
	letter-spacing: 0;
}

ul.c-list-news-tag:last-child {
	margin-bottom: 0;
}

ul.c-list-news-tag li {
	display: inline-block;
	vertical-align: top;
	margin: 0 15px 15px 0;
	font-size: 1.3rem;
}

ul.c-list-news-tag li a {
	display: block;
	padding: 0.75em 1.5em;
	line-height: 1;
	font-weight: normal;
	text-decoration: none;
	background-color: #fff;
	color: var(--color-text-basic);
	border-radius: 1.5em;
}

ul.c-list-news-tag li.active a,
ul.c-list-news-tag li a[aria-current],
ul.c-list-news-tag li a:hover {
	opacity: 1;
	background-color: var(--color-primary);
	color: #fff;
}

ul.c-list-news-tag li.active a,
ul.c-list-news-tag li a[aria-current] {}

ul.c-list-news-tag li a:hover {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	ul.c-list-news-tag {
		margin: 0;
	}

	ul.c-list-news-tag li {
		margin: 0 7px 7px 0;
		font-size: 1rem;
	}
}

/*
-----------------------------------------------------

	=COMMON PARTS - LOOP

-----------------------------------------------------
*/

/* =BASIC [全ループ共通]
----------------------------------------------------- */
/* オウンドメディア配下のループのカスタマイズ -->ownedmedia.css */
.loop {}

.loop .loop-article {
	position: relative;
}

.more-link {
	display: none;
}

.loop,
.loop * {
	-webkit-transition: all cubic-bezier(0.19, 1, 0.22, 1) 0.6s;
	-moz-transition: all cubic-bezier(0.19, 1, 0.22, 1) 0.6s;
	-ms-transition: all cubic-bezier(0.19, 1, 0.22, 1) 0.6s;
	transition: all cubic-bezier(0.19, 1, 0.22, 1) 0.6s;
}

/* 画像部分 */
.loop .loop-image {
	position: relative;
	height: 0;
	padding-bottom: 66.66%;
	border-radius: 10px;
	overflow: hidden;
}

.loop .loop-image img {
	position: absolute;
	overflow: hidden;
	object-fit: cover;
	width: 100%;
	height: 100%;
	-webkit-transition: all cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
	-moz-transition: all cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
	-ms-transition: all cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
	transition: all cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
}

.loop .loop-image:hover a {
	opacity: 1;
}

.loop .loop-article:hover .loop-image img {
	-webkit-transform: scale(1.025);
	-moz-transform: scale(1.025);
	-ms-transform: scale(1.025);
	transform: scale(1.025);
}

/* ループヘッダー部分 */
.loop .loop-header {}

.loop .loop-header>*:not(:last-child) {
	margin-bottom: 20px;
}

.loop .loop-title {
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1.75;
	letter-spacing: -0.05em;
}

.loop .loop-title a {
	color: inherit;
	text-decoration: none;
}

.loop .loop-title a:hover {
	opacity: 0.3;
	color: inherit;
}

.loop .loop-meta {
	font-size: 1.4rem;
}

/* インライン配置ver.
.loop .loop-meta>* {
    display: inline-block;
}

.loop .loop-meta>*:not( :last-child) {
    margin-right: 2em;
} */

.loop .loop-date {
	opacity: 0.5;
	font-size: 1.2rem;
	font-family: "Poppins", sans-serif;
}

.loop .loop-modified_date {}

.loop .loop-category,
.loop .loop-category a {}

.loop .loop-category {
	font-weight: 500;
	text-transform: uppercase;
}

.loop .loop-category a {
	display: block;
}

.loop .loop-category a:hover {
	opacity: 0.5;
	text-decoration: none;
}

ul.list-tag {
	font-size: 0;
	letter-spacing: 0;
}

/* ハッシュタグver. */
ul.list-tag li {
	display: inline-block;
	margin: 0 10px 10px 0;
	font-size: 1.4rem;
	line-height: 1.5;
}

ul.list-tag li a {
	display: block;
	line-height: 1;
	font-weight: normal;
	text-decoration: none;
	color: var(--color-text-basic);
	opacity: 0.75;
}

ul.list-tag li a:before {
	content: "#";
}

ul.list-tag li a:hover {
	color: var(--color-primary);
}

.loop .loop-content {
	display: none;
	margin: 1em 0 0;
	font-size: 0.9em;
}

.loop .loop-content p {
	line-height: 1.8;
}

.loop .loop-content p:not(:last-child) {
	margin-bottom: 0.75em;
}

.loop .loop-more {
	display: none;
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.loop .loop-article:nth-child(1)::before {
		top: -7px;
		left: -7px;
		width: 48px;
		height: 48px;
		font-size: 10px;
	}

	.loop .loop-meta {
		font-size: 1.2rem;
	}

	.loop .loop-meta>*:not(:last-child) {
		margin-right: 1.5em;
	}

	.loop .loop-image .loop-meta .loop-category,
	.loop .loop-image .loop-meta .loop-date {
		height: 24px;
		font-size: 0.9rem;
	}

	.loop .loop-title {
		font-size: 1.25em;
	}

	ul.list-tag li {
		font-size: 0.9rem;
	}

	ul.list-tag li {
		margin: 0 10px 5px 0;
	}

	ul.list-tag li a {}

	.loop .loop-content {
		font-size: 1em;
	}
}

/* =LOOP TYPE - MAIN [メインでよく使う基本的なループ]
----------------------------------------------------- */
.loop.loop-type-main {}

.loop.loop-type-main .loop-article {
	width: 100%;
	margin: 0 0 80px;

	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.loop.loop-type-main .loop-article:last-child {
	margin-bottom: 0;
}

.loop.loop-type-main .loop-image {
	width: 280px;
	padding-bottom: 147px;
}

.loop.loop-type-main .loop-header {
	width: calc(100% - 280px - 40px);
	padding: 0;
}

.loop.loop-type-main .loop-header>*:not(:last-child) {
	margin-bottom: 20px;
}

.loop.loop-type-main .loop-title {
	position: absolute;
	bottom: 0;
}

.loop.loop-type-main .loop-date {}

.loop.loop-type-main .loop-category {}

.loop.loop-type-main .loop-content {
	display: none;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.loop.loop-type-main .loop-article {
		width: 100%;
		margin: 0 0 6.25vw;
	}

	.loop.loop-type-main .loop-image {
		width: 48%;
		padding-bottom: calc(48% * 0.525);
	}

	.loop.loop-type-main .loop-header {
		width: calc(100% - 48% - 2em);
		padding: 0;
	}

	.loop.loop-type-main .loop-header>*:not(:last-child) {
		margin-bottom: 10px;
	}

	.loop.loop-type-main .loop-date {
		font-size: 1.2rem;
	}

	.loop.loop-type-main .loop-title {
		position: static;
		font-size: 1.2rem;
	}
}

/* =TYPE : FOCUS  [優劣を付けたループ(PC ONLY)]
----------------------------------------------------- */
/* @media screen and (min-width: 800px) {
    .loop.loop-type-focus {
        position: relative;
        margin: 0 -25px -25px 0;
        width: calc(100% + 25px);
        padding-left: 540px;
        min-height: 590px;
    }

    .loop.loop-type-focus .loop-article {
        margin: 0 25px 25px 0;
        width: calc(50% - 25px);
    }

    .loop.loop-type-focus .loop-article .loop-title {}

    .loop.loop-type-focus .loop-article:nth-child(1) {
        position: absolute;
        top: 0;
        left: 0%;
        width: 480px;
    }

    .loop.loop-type-focus .loop-article:nth-child(1):last-child {
        position: relative;
        top: 0;
        left: -540px;
    }

    .loop.loop-type-focus .loop-article:nth-child(1) .loop-image {
        padding-bottom: 100%;
    }

    .loop.loop-type-focus .loop-article:nth-child(1) .loop-title {}

    .loop.loop-type-focus .loop-article:nth-child(n+2) .loop-header {}

    .loop.loop-type-focus .loop-article:nth-child(n+2) .loop-tag,
    .loop.loop-type-focus .loop-article:nth-child(n+2) .loop-content {
        display: none;
    }

    .loop.loop-type-focus .loop-article:nth-child(n+2) .loop-title {
        margin-bottom: 0;
        font-size: 1.6rem;
    }
} */

/*
-----------------------------------------------------

	=COMMON PARTS - ARTICLE
    ※ 募集要項などでも一部共通

-----------------------------------------------------
*/

/* 記事本文中のスタイル
----------------------------------------------------- */
.article {}

/* ARTICLE - HEADER
----------------------------------------------------- */
.article .article-header {
	margin-bottom: 40px;
}

.article .article-header>*:not(:last-child) {
	margin-bottom: 25px;
}

.article .article-header>*:last-child {
	margin-bottom: 0;
}

.article .article-header:after {
	content: ".";
	display: block;
	height: 0px;
	font-size: 0;
	clear: both;
	visibility: hidden;
}

.article .article-title {
	margin: 0 0 0.75em;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.6;
}

.article .article-meta {
	font-size: 1.4rem;
}

.article .article-meta:not(:last-child) {
	margin-bottom: 25px;
}

.article .article-meta>* {
	display: inline-block;
}

.article .article-meta>*:not(:last-child) {
	margin-right: 2em;
	padding-right: 0;
	border-right: solid 0 rgba(68, 68, 68, 0.5);
}

.article .article-date {
	font-family: "Poppins", sans-serif;
	font-weight: 500;
	opacity: 0.5;
}

.article .article-modified_date {
	color: #aaa;
	font-size: 1.2rem;
}

.article .article-category {
	display: inline-block;
	font-family: "Poppins", sans-serif;
	font-weight: 500;
	text-transform: uppercase;
}

.article .article-category a {
	display: block;
	text-decoration: underline;
}

.article .article-category a:hover {
	opacity: 0.5;
	text-decoration: none;
}

.article .article-meta ul.list-tag li {}

.article .article-meta ul.list-tag li a {}

.article .article-meta ul.list-tag li a:hover {}

.article .article-header ul.c-list-share {
	margin-top: 60px;
}

.article .article-summary {}

.article .article-summary p {
	font-size: 1.2rem;
	line-height: 1.75;
	letter-spacing: 0;
}

.article .article-readingtime {
	background-color: rgba(0, 0, 0, 0.05);
	padding: 1em 1.5em;
	font-size: 90%;
	font-weight: bold;
	color: #aaa;
}

.article .article-readingtime strong {
	display: inline-block;
	color: #333;
}

@media screen and (min-width: 800px) {
	.article .article-header .c-image-content {
		align-items: flex-start;
	}

	.article .article-header .c-image-content>.c-image {
		width: 300px;
	}

	.article .article-header .c-image-content>.c-content {
		width: calc(100% - 300px - 40px);
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.article {
		box-shadow: none;
	}

	.article .article-image {
		float: none;
		width: 100%;
		height: auto;
		margin: 0 0 2em;
	}

	.article .article-header {
		margin-bottom: 4vw;
	}

	.article .article-header>*:not(:last-child) {
		margin-bottom: 4vw;
	}

	.article .article-meta {
		font-size: 1.2rem;
	}

	.article .article-title {
		margin-bottom: 4vw;
		font-size: 1.8em;
	}

	.article .article-content {
		font-size: 1.4rem;
	}
}

/* ARTICLE - CONTENT
----------------------------------------------------- */
.article .article-content {
	font-size: 1em;
	letter-spacing: 0em;
}

.article .article-content p {
	line-height: 2;
}

.article .article-content p:not(:last-child) {
	margin-bottom: 2em;
}

.article .article-content h1,
.article .article-content h2,
.article .article-content h3,
.article .article-content h4,
.article .article-content h5,
.article .article-content h6 {
	margin: 0 0 1em;
	font-weight: bold;
	line-height: 1.8;
}

.article .article-content h2:not(:first-child),
.article .article-content h3:not(:first-child),
.article .article-content h4:not(:first-child),
.article .article-content h5:not(:first-child),
.article .article-content h6:not(:first-child) {
	margin-top: 2em;
}

.article .article-content h1 {}

.article .article-content h2 {
	position: relative;
	margin: 0 0 1em;
	font-size: 170%;
	line-height: 1.6;
	padding-bottom: 0em;
	border-bottom: solid 0 #dcdcdc;
}

/* .article .article-content h2::before {
    content: "";
    position: absolute;
    top: 0.5em;
    left: -50px;
    width: 37px;
    height: 28px;
} */

.article .article-content h3 {
	position: relative;
	padding-bottom: 0.35em;
	border-bottom: solid 2px rgba(0, 0, 0, 0.15);
	font-size: 160%;
}

/* .article .article-content h3::before {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100px;
    height: 2px;
    background-color: var(--color-primary);
} */

.article .article-content h4 {
	font-size: 120%;
}

.article .article-content h5 {
	font-size: 110%;
}

.article .article-content h6 {
	font-size: 100%;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.article .article-content h2 {}

	/* .article .article-content h2::before {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 37px;
        height: 28px;
        background-position: center top;
        background-size: 100% auto;
    } */
}

/* =Image */
.article .article-content img {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* =Horizontal Rule */
.article .article-content hr {
	border: none;
	height: 1px;
	background-color: #dcdcdc;
	margin: 5vw auto;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* =Table */
/* .article .article-content table {
    margin-bottom: 30px;
    border: solid 1px #dcdcdc;
}

.article .article-content tr {
    border: 0;
}

.article .article-content th,
.article .article-content td {
    padding: 0.5em 1.0em;
    border: solid 1px #dcdcdc;
    background-color: rgba(0, 0, 0, 0.025);
}

.article .article-content th {
    background-color: rgba(0, 0, 0, 0.05);
} */

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.article .article-content th {
		min-width: 6em;
	}
}

/* =blockquote */
.article .article-content blockquote:not(:last-child) {
	margin-bottom: 3em;
}

.article .article-content blockquote {
	padding: 1.25em 2em;
	background-color: #f9f9f9;
	border: solid 1px #ececec;
	font-size: 0.91em;
}

.article .article-content blockquote::before {}

.article .article-content blockquote::after {}

.article .article-content blockquote p:not(:last-child) {
	margin-bottom: 1em;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* Definition List */
.article .article-content dl {
	padding: 1.4em;
	border: solid 3px #000;
}

.article .article-content dl dt,
.article .article-content dl dd {
	margin: 0 auto 0.7125em;
}

.article .article-content dl dt {
	font-weight: bold;
	font-size: 108%;
}

.article .article-content dl dd {
	padding-left: 1.3125em;
	font-size: 90%;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* Unordered List */
.article .article-content ul:not([class]) {
	margin-bottom: 3em;
}

.article .article-content ul:not([class]):last-child {
	margin-bottom: 0;
}

.article .article-content ul:not([class]) li {
	margin: 0 0 0.25em;
	position: relative;
	padding-left: 1.25em;
}

.article .article-content ul:not([class]) li::before {
	content: "● ";
	position: absolute;
	left: 0;
	top: 1em;
	color: var(--color-primary);
	font-size: 0.9rem;
}

.article .article-content ul:not([class]) li:last-child {
	margin-bottom: 0;
}

.article .article-content ul:not([class]) li a {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.article .article-content ul:not([class]) li::before {
		content: "● ";
		position: absolute;
		left: 0;
		top: 0.5em;
	}
}

/* Ordered List */
.article .article-content ol {
	counter-reset: section;
}

.article .article-content ol:not(:last-child) {
	margin-bottom: 3em;
}

.article .article-content ol {}

.article .article-content ol li {
	margin: 0 0 0.25em;
	display: list-item;
	list-style: decimal-leading-zero;
	/*margin-left: 2.1em; */
	padding-left: 1.25em;
	list-style: none;
}

.article .article-content ol>li:before {
	content: counters(section, "-", decimal) ". ";
	counter-increment: section;
	color: var(--color-primary);
}

.article .article-content ol:not([class]) li a {
	text-decoration: none;
}

.article .article-content ol ol {
	margin-left: 1em;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* Markdown */
.article .article-content mark {
	background-color: inherit;
}

.article .article-content strong {
	font-weight: bold;
}

.article .article-content em {
	font-style: italic;
}

.article .article-content code {
	display: inline-block;
	padding: 0.1em 0.5em;
	color: #e7edf3;
	background-color: #333;
	border-radius: 3px;
	border: solid 1px #d6dde4;
}

.article .article-content kbd {
	display: inline-block;
	margin: 0 0.2em;
	padding: 0.4em 0.6em;
	background-color: #f1f1f1;
	border-bottom: 3px solid #b4b4b4;
	border-radius: 3px;
	vertical-align: middle;
	font-size: 0.9em;
	line-height: 1.1;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* sup, sub */
.article .article-content sup {
	font-size: 60%;
	vertical-align: top;
	position: relative;
	top: -0.5em;
}

.article .article-content sub {
	font-size: 60%;
	vertical-align: bottom;
	position: relative;
	bottom: -0.5em;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* ARTICLE - FOOTER
----------------------------------------------------- */
.article-footer {}

.article-footer .article-sns {
	text-align: right;
}

.article-author {
	margin-bottom: 2em;
	border: solid 0 #dcdcdc;
	background-color: #f1f1f1;
	padding: 2em;
}

.article-author .pic {
	float: right;
	width: 150px;
	max-width: 28%;
	margin: 0 0 0 2em;
}

.article-author .pic img.avatar {
	border-radius: 0;
}

.article-author .tit,
.article-author .txt {
	overflow: inherit;
	margin-bottom: 5px;
}

.article-author .tit {
	margin-bottom: 20px;
	font-size: 150%;
	font-weight: bold;
	line-height: 1.25;
}

.article-author .tit span {
	display: block;
	margin-right: 1em;
	margin-bottom: 1em;
	color: #666;
	font-size: 1.2rem;
	font-weight: normal;
}

.article-author .txt,
.article-author .link {
	color: #666;
	font-size: 1.2rem;
}

.article-author .link {
	text-align: right;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/*
-----------------------------------------------------

	=FRONTPAGE (TOP)

-----------------------------------------------------
*/

/* TOPページのメインコンテンツ背景 */
#container.u-ver-toppage {}

#main.u-ver-toppage {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 1600px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/*
-----------------------------------------------------

    =TOP - FIRSTVIEW

-----------------------------------------------------
*/
/* TOPページのファーストビュー */
.l-top-fv {
	position: relative;
	z-index: 9;
	width: 100%;
	height: 100vh;
	min-height: 500px;
	background-color: transparent;
}

.l-top-fv::before {
	content: "";
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 800px) {
	.l-top-fv .c-wrapper {
		padding: 6.25vw;
	}
}

@media screen and (min-width: 1200px) {
	.l-top-fv .c-wrapper {
		padding: 0;
	}
}

@media screen and (min-width: 1600px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-top-fv {
		height: 100dvh;
		margin-bottom: 0;
		min-height: auto;
	}
}

/* FIRSTVIEW - CONTENT */
/* .l-top-fv .l-tagline {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Poppins", sans-serif;
}

.l-top-fv .l-tagline .l-text {
    font-weight: 500;
    font-size: calc(100vw / 8);
    letter-spacing: -0.025em;
    line-height: 0;
}

.l-top-fv .l-logo {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.l-top-fv .l-logo img.l-mask-image {
    clip-path: url(#mask01);
    transform: scale(calc(0.3));
} */

.l-top-fv .l-other {
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 100%;
	right: 0;
	top: 0;
}

.l-top-fv .l-other .l-vertical-text {
	position: absolute;
	top: 180px;
	right: 70px;
	writing-mode: vertical-rl;
	font-family: "Poppins", sans-serif;
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-top-fv .l-other .l-vertical-text {
		top: 84px;
		right: 24px;
		font-size: 0.9rem;
	}
}

/* FIRSTVIEW - SCROLL ANIMATION */
.l-top-fv .l-tagline .l-text {
	color: #e0e0e0;
}

/* FV タグライン - FVセクション内で中央に配置 */
.l-fv-tagline {
	position: absolute;
	bottom: 50%;
	left: 50%;
	transform: translate(-50%, 50%);
	z-index: 50;
	font-family: "Poppins", sans-serif;
	font-size: calc(100vw / 10);
	font-weight: 500;
	color: #e0e0e0;
	letter-spacing: -0.025em;
	white-space: nowrap;
	pointer-events: none;
	margin: 0;
}

/* FVロゴコンテナ - FVセクション内で中央に配置 */
.l-fv-logo-container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 500px;
	aspect-ratio: 1;
	z-index: 100;
	pointer-events: none;
}

.l-fv-logo-container .l-mask-image {
	clip-path: url(#mask01);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.l-fv-logo-container .l-mask-image-02 {
	opacity: 0;
}

/* スマホ時のFVスタイル（GSAPアニメーション対応） */
@media screen and (min-width: 0px) and (max-width: 799px) {

	/* タグラインの初期位置（PC同様に中央配置） */
	.l-fv-tagline {
		/* GSAPで制御するためpositionとtransformは !important なし */
		position: absolute;
		z-index: 1 !important;
		bottom: 50%;
		left: 50%;
		transform: translate(-50%, 50%);
		width: auto !important;
		height: auto !important;
		display: block !important;
		font-size: calc(100vw / 10) !important;
		/* color はGSAPでアニメーション */
		color: #e0e0e0;
		margin: 0 !important;
		white-space: nowrap !important;
	}

	/* ロゴコンテナの初期位置（中央配置、GSAPで移動可能） */
	.l-fv-logo-container {
		position: absolute;
		z-index: 2 !important;
		top: 50%;
		left: 50%;
		/* transformはGSAPで制御 */
		width: 50vw;
		height: auto;
		aspect-ratio: 1;
		display: block !important;
	}

	/* マスク画像（PC同様の構造） */
	.l-fv-logo-container .l-mask-image {
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		transform-origin: center center !important;
	}

	/* 画像2は初期状態で非表示（GSAPでフェードイン） */
	.l-fv-logo-container .l-mask-image-02 {
		opacity: 0;
	}
}

/*
-----------------------------------------------------

    =TOP - COMMON PARTS

-----------------------------------------------------
*/

/* 角丸 */
.c-radius {
	border-radius: 15px;
	overflow: hidden;
}

.c-radius25 {
	border-radius: 25px;
	overflow: hidden;
}

.c-radius30 {
	border-radius: 30px;
	overflow: hidden;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-radius25 {
		border-radius: 10px;
		overflow: hidden;
	}
}

/* ループする背景 */
.loop-animation-background {
	width: 100%;
	overflow: hidden;
	-webkit-user-select: none;
	user-select: none;
	background-repeat: repeat-x;
	animation-duration: 56s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	will-change: background-position-x;
}

/* フル幅のセクション設定 */
.c-flexible-container {
	border-radius: 20px;
	width: calc(100% - 20px * 2);
	margin: 0 auto 20px;
	padding: 0 20px;
	max-width: 1600px;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-flexible-container {
		border-radius: 10px;
		width: calc(100% - 6.25vw * 2);
		margin: 0 auto 6.25vw;
		padding: 0;
	}
}

/*
-----------------------------------------------------

    =TOP - VALUE

-----------------------------------------------------
*/
.l-top-value {
	position: relative;
	z-index: 10;
	/* FVセクション(z-index:9)より上にして、ロゴがValueの後ろに来るようにする */
	overflow: hidden;
}

.l-top-value::before {}

.l-top-value .l-main-content {
	padding-top: 400px;
	padding-left: 600px;
}

.l-top-value .c-featured-text p {
	line-height: 2.5;
}

.l-top-value .main-content {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-top-value .l-main-content {
		padding-top: 6.25vw;
		padding-left: 0;
	}
}

/*
-----------------------------------------------------

    =TOP - MESSAGE

-----------------------------------------------------
*/
.l-top-message {
	position: relative;
	z-index: 1;
}

.l-top-message::before {}

.l-top-message .c-section {
	overflow: hidden;
}

@media screen and (min-width: 800px) {
	.l-top-message .l-main-content .c-image-content {
		align-items: flex-start;
	}

	.l-top-message .l-main-content .c-image-content>.c-image {
		width: 540px;
		margin-top: calc(-160px + 40px);
	}

	.l-top-message .l-main-content .c-image-content>.c-content {
		width: 520px;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-top-message::before {
		background-position: right 0 top 25%;
		background-size: 90vw auto;
	}

	.l-top-message .main-content .c-image-content>.c-image {
		width: calc(100% - 10vw);
		max-width: 100%;
		margin: 0 10vw 0 auto;
		height: 80vw;
	}

	.l-top-message .main-content .c-image-content>.c-content {
		width: 100%;
		margin: 6.25vw 0 12.5vw;
	}
}

/* 共通パーツ - 署名（※下層ページでも共通）
----------------------------------------------------- */
.c-name-sign {
	margin: 0 0 4em;
	font-weight: 500;
}

.c-name-sign .u-ver-subpages {
	opacity: 0.5;
}

.c-name-sign .l-main {
	font-size: 2.8rem;
}

.c-name-sign .l-main .l-japanese {}

.c-name-sign .l-main .l-english {
	display: inline-block;
	vertical-align: middle;
	margin-left: 1em;
	font-family: "Poppins", sans-serif;
	font-size: 1.6rem;
	font-weight: normal;
	opacity: 0.5;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-name-sign .l-main img {
		zoom: 0.25;
	}

	.c-name-sign .l-main {
		font-size: 1.5em;
	}
}

.c-name-sign.u-vertical>* {
	display: block;
}

.c-name-sign.u-vertical .l-main {
	margin: 0.35em 0 0;
	line-height: 0.9;

	padding-top: 0 !important;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/*
-----------------------------------------------------

    =TOP - SERVICES

-----------------------------------------------------
*/
.l-top-services {
	position: relative;
	z-index: 1;
}

.l-top-services .l-bg {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(assets/images/logo-symbol-twisted.webp) no-repeat center center fixed;
	background-size: 40% auto;
	opacity: 0;
}

.l-top-services .l-bg.is-show {
	opacity: 1;
}

.l-top-services .l-main-content {}

@media screen and (min-width: 800px) {
	.l-top-services .c-image-content {
		align-items: flex-start;
	}

	.l-top-services .c-image-content>.c-image {
		position: sticky;
		top: calc(100px + 50px);
	}

	.l-top-services .c-image-content>.c-content {
		width: 560px;
		padding-right: 40px;
		border-right: solid 1px #000;
	}

	.l-top-services .u-position-sticky {
		position: sticky;
		top: 130px;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-top-services {
		overflow: hidden;
	}

	.l-top-services .c-image-content>.c-image {
		margin-bottom: 12.5vw;
	}
}

/* 事業内容ラインナップ一覧
----------------------------------------------------- */
.l-top-services-lineup {}

.l-top-services-lineup .lineup {}

.l-top-services-lineup .lineup .l-inner {}

.l-top-services-lineup .lineup .l-inner .l-thumbnail {
	width: 220px;
}

.l-top-services-lineup .lineup .l-inner .l-header {
	width: calc(100% - 220px - 2em);
	font-size: 1.2rem;
}

.l-top-services-lineup .lineup .l-inner .l-thumbnail .c-radius {
	border-radius: 5px;
}

.l-top-services-lineup .lineup .l-inner .l-header .l-text {
	margin-bottom: 3em;
}

@media screen and (min-width: 800px) {
	.l-top-services-lineup .lineup:not(:last-child) {
		margin-bottom: 120px;
	}

	.l-top-services-lineup .lineup .l-inner .l-header .c-title-28 {
		font-size: 2.4rem;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-top-services-lineup .lineup .l-inner .l-thumbnail {
		width: 48%;
	}

	.l-top-services-lineup .lineup .l-inner .l-header {
		width: calc(100% - 48% - 2em);
		font-size: 1.2rem;
	}

	.l-top-services-lineup .lineup .l-inner .c-button-readmore {
		font-size: 1.4rem;
	}
}

/*
-----------------------------------------------------

    =TOP - TOPICS (NEWS)

-----------------------------------------------------
*/
.l-top-topics {
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.l-top-topics::before {}

.l-top-topics .l-main-content {}

@media screen and (min-width: 800px) {
	.l-top-topics .c-image-content {
		align-items: flex-start;
	}

	.l-top-topics .c-image-content>.c-image {
		width: 280px;
	}

	.l-top-topics .c-image-content>.c-content {
		width: calc(100% - 280px - 80px);
		padding-left: 80px;
		border-left: solid 1px #000;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/*
-----------------------------------------------------

    =TOP - COLUMN

-----------------------------------------------------
*/
.l-top-column {
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.l-top-column::before {}

.l-top-column .l-main-content {}

@media screen and (min-width: 800px) {
	.l-top-column .c-image-content {
		align-items: flex-start;
	}

	.l-top-column .c-image-content>.c-image {}

	.l-top-column .c-image-content>.c-content {}
}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* =LOOP TYPE - column [採用コラム用のループ]
----------------------------------------------------- */
.loop.loop-type-column {}

.loop.loop-type-column .loop-article {
	width: 100%;
	margin: 0 0 80px;

	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.loop.loop-type-column .loop-article:last-child {
	margin-bottom: 0;
}

.loop.loop-type-column .loop-image {
	width: 280px;
	padding-bottom: 280px;
}

.loop.loop-type-column .loop-header {
	width: calc(100% - 280px - 40px);
	padding: 0;
}

.loop.loop-type-column .loop-header>*:not(:last-child) {
	margin-bottom: 20px;
}

.loop.loop-type-column .loop-title {
	position: absolute;
	bottom: 0;
}

.loop.loop-type-column .loop-date {}

.loop.loop-type-column .loop-category {}

.loop.loop-type-column .loop-content {
	display: none;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.loop.loop-type-column .loop-image {
		width: 48%;
		padding-bottom: 48%;
	}

	.loop.loop-type-column .loop-header {
		width: calc(100% - 48% - 2em);
		padding: 0;
	}

	.loop.loop-type-column .loop-header>*:not(:last-child) {
		margin-bottom: 10px;
	}

	.loop.loop-type-column .loop-date {
		font-size: 1.2rem;
	}

	.loop.loop-type-column .loop-title {
		font-size: 1.2rem;
	}
}

/* SWIPER.JS
-------------------------------------------------- */
.l-top-column-slider {
	position: relative;
}

.l-top-column-slider .swiper-grandparent {
	position: relative;
}

.l-top-column-slider .swiper-grandparent .swiper-parent {
	overflow: hidden;
	max-width: 100%;
}

.l-top-column-slider .swiper-grandparent .swiper-parent .swiper-container {}

@media screen and (min-width: 800px) {
	.l-top-column-slider .swiper-grandparent {
		margin-left: calc((100vw - 1120px) / 2);
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-top-column-slider .swiper-grandparent {
		width: 100%;
		margin: 0 6.25vw;
	}
}

/* SLIDE
-------------------------------------------------- */
.l-top-column-slider .swiper-wrapper {
	flex-wrap: inherit !important;
	margin-bottom: 0px !important;
}

.l-top-column-slider .swiper-slide {
	width: calc(1120px / 2);
	margin: 0 80px 0 0;
}

.l-top-column-slider .swiper-slide-active {
	opacity: 1;
}

@media screen and (min-width: 0px) and (max-width: 799px) {

	/* SP: widthとmarginはSwiperのslidesPerViewとspaceBetweenで制御 */
	.l-top-column-slider .swiper-slide {
		/* width: calc(100vw - 6.25vw * 3); */
		/* margin: 0 6.25vw 0 0; */
	}
}

/* PREV & NEXT
-------------------------------------------------- */
.l-top-column-slider .swiper-button-prev,
.l-top-column-slider .swiper-container-rtl .swiper-button-next,
.l-top-column-slider .swiper-button-next,
.l-top-column-slider .swiper-container-rtl .swiper-button-prev {
	background-size: 100% auto !important;
	top: auto !important;
	bottom: -150px !important;
	margin: 0 !important;
	width: 15px !important;
	height: 70px !important;
}

.l-top-column-slider .swiper-button-prev,
.l-top-column-slider .swiper-container-rtl .swiper-button-next {
	left: 0 !important;
	background-image: url(assets/images/icon-arrow-slider-left.webp) !important;
}

.l-top-column-slider .swiper-button-next,
.l-top-column-slider .swiper-container-rtl .swiper-button-prev {
	right: inherit !important;
	left: 60px !important;
	background-image: url(assets/images/icon-arrow-slider-right.webp) !important;
}

@media screen and (min-width: 0px) and (max-width: 799px) {

	/* PREV & NEXT */
	.l-top-column-slider .swiper-button-prev,
	.l-top-column-slider .swiper-container-rtl .swiper-button-next,
	.l-top-column-slider .swiper-button-next,
	.l-top-column-slider .swiper-container-rtl .swiper-button-prev {
		bottom: -94px !important;
		width: 12px !important;
		height: 60px !important;
	}

	.l-top-column-slider .swiper-button-prev,
	.l-top-column-slider .swiper-container-rtl .swiper-button-next {}

	.l-top-column-slider .swiper-button-next,
	.l-top-column-slider .swiper-container-rtl .swiper-button-prev {
		left: 40px !important;
	}
}

/* PAGINATION
-------------------------------------------------- */
.l-top-column-slider .swiper-container .swiper-pagination {
	left: auto;
	right: 0;
	bottom: 0;
	width: auto;
	text-align: right;
	margin: 30px;
}

.l-top-column-slider .swiper-container .swiper-pagination-bullet {
	background-color: #fff;
}

.l-top-column-slider .swiper-container .swiper-pagination-bullet-active {
	background-color: #fff;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/*
-----------------------------------------------------

    =COMMON PARTS - ACTION - CAREER

-----------------------------------------------------
*/

/* アクション - お問い合わせ */
.l-action-career {
	position: relative;
	z-index: 4;
	margin-bottom: 0;
	color: #fff;
	overflow: hidden;
}

.l-action-career::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(assets/images/action-career-bg.webp) no-repeat center center;
	background-size: cover;
	transition: transform 0.3s ease;
	z-index: -1;
}

.l-action-career:hover::before {
	transform: scale(1.05);
}

.l-action-career .main-content {}

@media screen and (min-width: 800px) {
	.l-action-career .c-image-content {
		align-items: center;
	}

	.l-action-career .c-image-content>.c-image {
		width: 50%;
	}

	.l-action-career .c-image-content>.c-content {
		width: 50%;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-action-career {
		background-position: center top;
	}
}

/*
-----------------------------------------------------

	=SUBPAGES
		FIRSTVIEW
        COMMON PARTS - LAYOUT & BACKGROUND
        COMMON PARTS - HEADING
        COMMON PARTS - BUTTON

-----------------------------------------------------
*/

/*
-----------------------------------------------------

    =SUBPAGES - COMMON PARTS

-----------------------------------------------------
*/
/* =SUBPAGES - COMMON PARTS - LAYOUT & BACKGROUND
----------------------------------------------------- */
#container.u-ver-subpages {}

#main.u-ver-subpages {
	position: relative;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	#container.u-ver-subpages {
		overflow: hidden;
	}
}

/* =SUBPAGES - COMMON PARTS - BREADCRUMBS
----------------------------------------------------- */
/* パンくずリスト */
#breadcrumbs {
	margin: 0;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0em;
}

#breadcrumbs,
#breadcrumbs a {
	color: inherit;
}

#breadcrumbs a {
	display: inline-block;
	text-decoration: none;
	color: var(--color-primary);
}

#breadcrumbs a:hover {
	opacity: 1;
	color: #777;
}

#breadcrumbs .l-inner {
	padding-bottom: 0.5em;
	border-bottom: solid 1px var(--color-primary);
}

#breadcrumbs p {
	line-height: 2;
}

#breadcrumbs a {
	line-height: 2;
}

#breadcrumbs p>span>span:first-child {
	position: relative;
	display: inline-block;
	visibility: visible;
}

#breadcrumbs p>span>span:first-child::before {}

#breadcrumbs p>span {
	font-family: serif;

	position: relative;
	visibility: hidden;
}

#breadcrumbs p>span>span {}

#breadcrumbs p>span a {}

#breadcrumbs p>span a,
#breadcrumbs p>span span.breadcrumb_last {
	display: inline-block;
	position: relative;
	visibility: visible;

	font-family: "Poppins", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic,
		"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ",
		sans-serif, serif;
}

#breadcrumbs p>span a::before {
	content: "";
	pointer-events: none;
	position: absolute;
	top: 0;
	right: -2em;
	bottom: 0;
	width: 8px;
	height: 100%;
	margin: auto;
	background: url(assets/images/icon-arrow-right-button.svg) no-repeat center center;
	background-size: 100% auto;
}

#breadcrumbs p>span span.breadcrumb_last {}

#breadcrumbs p>span a:first-child {}

@media screen and (min-width: 800px) {
	#breadcrumbs {}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	#breadcrumbs {
		padding: 0 6.25vw;
		font-size: 1em;
	}

	#breadcrumbs .l-inner {}

	#breadcrumbs p>span>span:first-child {}

	#breadcrumbs p>span a::before {
		width: 7px;
	}
}

/* =SUBPAGES - COMMON PARTS - FIRSTVIEW
----------------------------------------------------- */
.c-sub-header {
	position: relative;
	z-index: 1;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* NEWS - ARTICLE のみ */
.c-sub-header .l-inner {
	position: relative;
}

.c-sub-header .l-inner .l-thumbnail {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto 0;
	width: 540px;
	height: calc(540px / 3 * 2);
}

.c-sub-header .l-inner .l-thumbnail img {
	overflow: hidden;
	object-fit: cover;
	width: 100%;
	height: 100%;
	-webkit-transition: all cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
	-moz-transition: all cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
	-ms-transition: all cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
	transition: all cubic-bezier(0.19, 1, 0.22, 1) 0.8s;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-sub-header .l-inner .l-thumbnail {
		position: static;
		width: 100%;
		height: calc(100% / 3 * 2);
		margin: 6.25vw 0 0;
	}
}

/* =SUBPAGES - COMMON PARTS - OTHER
----------------------------------------------------- */
.c-sub-cover {
	border-radius: 15px 0 0 15px;
	overflow: hidden;
}

.c-sub-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (min-width: 800px) {
	.c-sub-cover {
		margin-left: calc((100vw - 1120px) / 2);
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-sub-cover {
		margin-left: 6.25vw;
		border-radius: 10px 0 0 10px;
	}
}

.c-sub-cover.u-page-message .l-content {}

.c-sub-cover.u-page-message .l-content .c-name-sign {
	color: #fff;
}

.c-sub-cover.u-page-message .l-content .c-name-sign .l-english {
	font-size: 4.8rem;
	font-family: "Poppins", sans-serif;
}

.c-sub-cover.u-page-message .l-content .c-name-sign .l-sub {
	margin-right: 1em;
	font-size: 1.6rem;
	color: #ddd;
}

@media screen and (min-width: 800px) {
	.c-sub-cover.u-page-message .l-content {
		position: absolute;
		bottom: 80px;
		left: 80px;
		margin: 0;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-sub-cover.u-page-message .c-name-sign {
		margin-top: 6.25vw;
	}
}

/*
-----------------------------------------------------

    =SUBPAGES - value

-----------------------------------------------------
*/

/* = VALUE - MISSION
----------------------------------------------------- */
.l-sub-value-mission {
	position: relative;
	z-index: 2;
	overflow: hidden;
}

.l-sub-value-mission::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.l-sub-value-mission .c-wrapper {
	position: relative;
}

.l-sub-value-mission .l-logo {
	position: absolute;
	z-index: 2;
	width: 749px;
	height: calc(749px * 1.01);
	left: calc(600px + 90px);
	bottom: 0;
}

.l-sub-value-mission .l-logo img.l-mask-image {
	clip-path: url(#mask01);
}

@media screen and (min-width: 800px) {
	.l-sub-value-mission .l-main-content {
		width: 600px;
		padding-bottom: 160px;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-sub-value-mission .l-logo {
		margin-top: 6.25vw;
		position: static;
		width: 110vw;
		height: calc(110vw * 1.01);
		left: 6.25vw;
	}
}

/* = VALUE - VALUE
----------------------------------------------------- */
.l-sub-value-value {
	position: relative;
	z-index: 2;
	overflow: hidden;
}

.l-sub-value-value::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 800px) {
	.l-sub-value-value .l-header {
		width: 600px;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* = VALUE - 私たちの4つのコアバリュー
----------------------------------------------------- */
.l-sub-corevalue-lineup {}

.l-sub-corevalue-lineup .lineup {
	position: relative;
}

.l-sub-corevalue-lineup .lineup::before {
	content: none;
	/* JSでボーダー要素を追加するため非表示 */
}

/* コアバリュー - ドット・画像の初期状態（GSAP用） */
.l-sub-corevalue-lineup .lineup:not(.lineup-finally) .l-image .l-core {
	opacity: 0;
	transform: scale(0);
}

.l-sub-corevalue-lineup .lineup .l-image {
	display: flex;
	align-items: center;
}

.l-sub-corevalue-lineup .lineup .l-image .l-core {
	display: block;
	margin: 0 30px 0 0;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background-color: #1b273f;
}

.l-sub-corevalue-lineup .lineup .l-image .l-core.active {
	width: 240px;
	height: 240px;
}

.l-sub-corevalue-lineup .lineup .l-image .l-core img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.l-sub-corevalue-lineup .lineup .l-content {
	position: relative;
	margin: 0 0 0 auto;
	padding: 0 0 0 50px;
	width: 700px;
}

.l-sub-corevalue-lineup .lineup .l-content .c-title-english-sub {}

.l-sub-corevalue-lineup .lineup .l-content .c-title-english-sub::before {
	content: "1.";
	position: absolute;
	left: 0;
	font-weight: 400;
}

.l-sub-corevalue-lineup .lineup01 .l-content .c-title-english-sub::before {
	content: "1.";
}

.l-sub-corevalue-lineup .lineup02 .l-content .c-title-english-sub::before {
	content: "2.";
}

.l-sub-corevalue-lineup .lineup03 .l-content .c-title-english-sub::before {
	content: "3.";
}

.l-sub-corevalue-lineup .lineup04 .l-content .c-title-english-sub::before {
	content: "4.";
}

.l-sub-corevalue-lineup .lineup.lineup-finally {
	padding-bottom: 0;
}

.l-sub-corevalue-lineup .lineup.lineup-finally::before {}

.l-sub-corevalue-lineup .lineup.lineup-finally .l-quote {
	position: relative;
	text-align: center;
}

.l-sub-corevalue-lineup .lineup.lineup-finally .l-quote::before,
.l-sub-corevalue-lineup .lineup.lineup-finally .l-quote::after {
	content: "“";
	position: absolute;
	font-size: 9.6rem;
	color: #ccc;
}

.l-sub-corevalue-lineup .lineup.lineup-finally .l-quote::before {
	content: "”";
	top: 0;
	right: 0;
}

.l-sub-corevalue-lineup .lineup.lineup-finally .l-quote::after {
	content: "“";
	bottom: 0;
	left: 0;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-sub-corevalue-lineup .lineup .l-image .l-core {
		margin: 0 15px 0 0;
		width: 9px;
		height: 9px;
	}

	.l-sub-corevalue-lineup .lineup .l-image .l-core.active {
		width: 120px;
		height: 120px;
	}

	.l-sub-corevalue-lineup .lineup .l-content {
		margin: 6.25vw 0 0 auto;
		padding: 0 0 0 50px;
		width: 100%;
	}

	.l-sub-corevalue-lineup .lineup.lineup-finally .l-quote {
		padding: 20vw 0;
	}

	.l-sub-corevalue-lineup .lineup.lineup-finally .l-quote::before,
	.l-sub-corevalue-lineup .lineup.lineup-finally .l-quote::after {
		font-size: 6.4rem;
	}

	.l-sub-corevalue-lineup .lineup.lineup-finally .l-quote::before {
		top: 6.25vw;
	}

	.l-sub-corevalue-lineup .lineup.lineup-finally .l-quote::after {
		bottom: 6.25vw;
	}
}

/*
-----------------------------------------------------

    =SUBPAGES - SERVICES

-----------------------------------------------------
*/

#main.u-page-services {
	background-position: center top 480px;
	background: url(assets/images/logo-symbol-twisted.webp) no-repeat center center fixed;
	background-size: 44% auto;
}

/* = SERVICES - 目次リンク (c-sub-header 内)
----------------------------------------------------- */
.c-sub-header .l-sub-services-index-area {}

@media screen and (min-width: 800px) {
	.c-sub-header .l-sub-services-index-area {
		position: absolute;
		top: 0;
		right: 0;
		width: 360px;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.c-sub-header .l-sub-services-index-area {
		margin-top: 12.5vw;
	}
}

/* = SERVICES - 冒頭メッセージ
----------------------------------------------------- */
.l-sub-services-intro {
	position: relative;
	z-index: 2;
	overflow: hidden;
}

@media screen and (min-width: 800px) {
	.l-sub-services-intro .l-main-content {
		width: 680px;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* = SERVICES - 4つの強み
----------------------------------------------------- */
.l-sub-services-strength {
	position: relative;
	z-index: 2;
	overflow: hidden;
}

.l-services-strength-lineup {}

.l-services-strength-lineup .lineup {
	border-radius: 10px;
	overflow: hidden;
	background-color: #fff;
}

.l-services-strength-lineup .lineup .l-image {}

.l-services-strength-lineup .lineup .l-inner {
	padding: 1.8em;
}

.l-services-strength-lineup .lineup .l-inner .l-content {
	padding: 1.8em;
}

.l-services-strength-lineup .lineup .l-inner .l-content>*:last-child {
	margin-bottom: 0;
}

@media screen and (min-width: 800px) {
	.l-sub-services-strength .c-title-28 .l-english {
		margin: 0.5em 0 0;
		font-size: 1.6rem;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* = SERVICES - 事業内容 - ナビゲーション〜見出し
----------------------------------------------------- */
.l-sub-services-overview {
	position: relative;
	z-index: 2;
}

.l-sub-services-overview .c-section {
	padding-bottom: 0;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* = SERVICES - 事業内容ラインナップ 01 ~ 06
----------------------------------------------------- */
.l-sub-services-main {
	position: relative;
	z-index: 2;
	background: url(assets/images/bg.webp) fixed center;
	background-size: 1440px auto;
	padding-bottom: 160px;
}

.l-sub-services-main.u-part-last {
	padding-bottom: 0;
}

.l-sub-services-main .l-cover {
	max-width: 2400px;
	margin: 0 auto;
}

.l-sub-services-main .l-cover img {
	width: 100%;
}

.l-sub-services-main .l-numbering .l-english {
	display: inline-block;
	font-weight: normal;
}

.l-services-feature-lineup {
	align-items: flex-start;
}

.l-services-feature-lineup .lineup {
	margin-bottom: 2em;
	padding-bottom: 2em;
	border-bottom: solid 1px rgba(0, 0, 0, 0.15);
}

.l-services-feature-lineup .lineup .l-header {}

.l-services-feature-lineup .lineup .l-header .l-title {
	font-weight: 500;
}

.l-services-feature-lineup .lineup .l-text {
	font-size: 1.4rem;
	opacity: 0.7;
}

@media screen and (min-width: 800px) {
	.l-sub-services-main .c-image-content {
		align-items: flex-start;
	}

	.l-sub-services-main .c-image-content>.c-image {
		width: calc(100% - 600px - 60px);
	}

	.l-sub-services-main .c-image-content>.c-content {
		width: 600px;
	}

	.l-services-feature-lineup .lineup {
		align-items: flex-start;
	}

	.l-services-feature-lineup .lineup .l-header {
		width: calc(100% - 55% - 2em);
	}

	.l-services-feature-lineup .lineup .l-text {
		width: 55%;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-sub-services-main {
		padding-bottom: 12.5vw;
	}

	.l-sub-services-main .c-section {
		padding-bottom: 6.25vw;
	}

	.l-sub-services-main .l-cover img {
		border-radius: 5px;
	}

	.l-services-feature-lineup .lineup .l-header {
		margin-bottom: 1em;
	}

	.l-services-feature-lineup .lineup .l-header .l-title br {
		display: none;
	}

	.l-services-feature-lineup .lineup .l-text {
		font-size: 0.9em;
	}
}

/* = SERVICES - アクション - お問い合わせ （事業内容ページのみ）
----------------------------------------------------- */
.l-action-contact {
	position: relative;
	z-index: 4;
	margin-bottom: 0;
	color: #fff;
	overflow: hidden;
}

.l-action-contact::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(assets/images/action-contact-services-bg.webp) no-repeat left top;
	background-size: cover;
	transition: transform 0.3s ease;
	z-index: -1;
}

.l-action-contact:hover::before {
	transform: scale(1.05);
}

@media screen and (min-width: 800px) {
	.l-action-contact .c-image-content {
		align-items: center;
	}

	.l-action-contact .c-image-content>.c-image {
		width: 50%;
	}

	.l-action-contact .c-image-content>.c-content {
		width: 50%;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-action-contact::before {
		background-position: left top;
	}
}

/* = SERVICES - CASE STUDIES 事例紹介
----------------------------------------------------- */
.l-sub-services-casestudies {
	position: relative;
	z-index: 2;
	overflow: hidden;
}

.l-casestudies-lineup {}

.l-casestudies-lineup .lineup {
	margin-bottom: 40px;
	padding: 3em;
	border-radius: 20px;
	background-color: #fff;
}

.l-casestudies-lineup .lineup .l-frame-casestudies-before {
	border-radius: 15px;
	background-color: #f5f5f5;
	padding: 2em;
}

.c-title-casestudies-before,
.c-title-casestudies-after {
	margin: 0 0 0.5em;
	font-family: "Poppins", sans-serif;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.5;
}

.c-title-casestudies-before {
	opacity: 0.5;
}

.c-title-casestudies-after {
	padding-left: 24px;
	background: url(assets/images/icon-arrow-right-button.svg) no-repeat left center;
	background-size: 16px auto;
}

@media screen and (min-width: 800px) {
	.l-sub-services-casestudies .c-image-content {
		align-items: flex-start;
	}

	.l-sub-services-casestudies .c-image-content>.c-image {
		width: 500px;
	}

	.l-sub-services-casestudies .c-image-content>.c-content {
		width: calc(100% - 500px - 3em);
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-casestudies-lineup .lineup {
		padding: 6.25vw;
	}

	.c-title-casestudies-before,
	.c-title-casestudies-after {
		font-size: 1.1em;
	}

	.c-title-casestudies-after {
		padding-left: 18px;
		background-size: 11px auto;
	}

}

/*
-----------------------------------------------------

	=SUBPAGES - MESSAGE

-----------------------------------------------------
*/

/* = MESSAGE - メインコンテンツ
----------------------------------------------------- */
.l-sub-message-main {}

.l-hand-signature {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-hand-signature img {
		zoom: 0.25;
	}
}

/* = MESSAGE - プロフィール
----------------------------------------------------- */
.l-sub-message-profile {
	position: relative;
	z-index: 2;
}

.l-sub-message-profile .c-title-english-main {
	margin: 90px 0 0.5em;
}

.l-sub-message-profile .l-text {}

@media screen and (min-width: 800px) {
	.l-sub-message-profile .c-image-content {
		align-items: flex-start;
	}

	.l-sub-message-profile .c-image-content>.c-image {
		width: 400px;
	}

	.l-sub-message-profile .c-image-content>.c-content {
		width: calc(100% - 400px - 60px);
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-sub-message-profile .c-title-english-main {
		margin: 0 0 0.5em;
	}
}

/*
-----------------------------------------------------

    =SUBPAGES - COMPANY

-----------------------------------------------------
*/

/* = COMPANY - メインコンテンツ
----------------------------------------------------- */
.l-sub-company-main {
	position: relative;
	z-index: 2;
	overflow: hidden;
}

.l-sub-company-main::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/* = COMPANY - メインコンテンツ
----------------------------------------------------- */
.l-sub-company-access {
	position: relative;
	z-index: 2;
	overflow: hidden;
}

.l-sub-company-access::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.l-sub-company-access #map {
	filter: grayscale(100%);
	transition: filter 0.5s ease;
}

.l-sub-company-access #map:hover {
	filter: none;
}


.l-sub-company-access .c-section {
	padding-top: 40px;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-sub-company-access .c-section {
		padding-top: 6.25vw;
	}
}

/*
-----------------------------------------------------

    =SUBPAGES - NEWS

-----------------------------------------------------
*/
@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/*
-----------------------------------------------------

    =SUBPAGES - NEWS - ARTICLE

-----------------------------------------------------
*/
.l-sub-news-single {}

@media screen and (min-width: 800px) {
	.l-sub-news-single .l-main-content {
		width: 720px;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/*
-----------------------------------------------------

	=SUBPAGES - PRIVACY

-----------------------------------------------------
*/
.l-sub-privacy-navigation {}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

.l-sub-privacy-main {}

.l-sub-privacy-main .hr-border {
	background-color: rgba(0, 0, 0, 0.15);
}

@media screen and (min-width: 800px) {
	.l-sub-privacy-main .c-section {
		padding-top: 80px;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.l-sub-privacy-main hr {
		height: 7.5vw;
	}
}

/*
-----------------------------------------------------

	=SUBPAGES - CONTACT

-----------------------------------------------------
*/

.l-sub-contact-main {
	position: relative;
	z-index: 2;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/*
-----------------------------------------------------

	=SUBPAGES - CONTACT - THAMKS

-----------------------------------------------------
*/
.l-sub-thanks-main {
	position: relative;
	z-index: 2;
	overflow: hidden;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {}

/*
-----------------------------------------------------

	=SUBPAGES - FORM (PLUG-IN)

-----------------------------------------------------
*/
/* フォーム（WPプラグイン「Contact Form 7」を使用） */

/* フォーム本体 - 基礎
----------------------------------------------------- */
.form-main {
	max-width: 100%;
}

.form-main .table-form {
	width: 100%;
	border-collapse: collapse;
	line-height: 1.75;
	text-align: left;
}

.form-main .table-form a {}

.form-main .table-form .table-form-tr,
.form-main .table-form .table-form-tr .table-form-th,
.form-main .table-form .table-form-tr .table-form-td {
	display: block;
	width: 100%;
	text-align: left;
	border: none;
	font-size: 1em;
}

.form-main .table-form .table-form-tr {
	margin: 0 0 2em;
}

.form-main .table-form .table-form-tr .table-form-th,
.form-main .table-form .table-form-tr .table-form-td {
	padding: 0.5em 0;
	font-weight: normal;
}

.form-main .table-form .table-form-tr .table-form-th {}

.form-main .l-title {
	font-family: "Poppins", sans-serif;
	font-size: 2.4rem;
	font-weight: 500;
}

.form-main em {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 0 0.25em;
}

.form-main .error {
	display: block;
	margin: 0.5em 0 0;
	padding: 0.5em 1em;
	border: solid 1px #f00;
	background-color: #fbf1f1;
	color: #f00;
	border-radius: 0;
}

.form-main .wpcf7-not-valid-tip {
	color: f00;
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {

	.form-main .table-form,
	.form-main .table-form .table-form-tr,
	.form-main .table-form .table-form-tr .table-form-th,
	.form-main .table-form .table-form-tr .table-form-td {
		display: block;
		width: 100%;
		background-color: transparent;
		border: none;
	}

	.form-main .table-form {}

	.form-main .table-form .table-form-tr {}

	.form-main .table-form .table-form-tr .table-form-th,
	.form-main .table-form .table-form-tr .table-form-td {
		padding: 5px 0;
		font-size: 1em;
	}

	.form-main .l-title {
		font-size: 1.8rem;
	}
}

/* フォーム本体 - 入力項目
----------------------------------------------------- */
.form-main input[type="text"],
.form-main input[type="email"],
.form-main input[type="tel"],
.form-main select,
.form-main textarea {
	width: 100%;
	padding: 1.5em 0;
	border-radius: 0;
	background-color: transparent;
	border: none;
	border-bottom: solid 3px var(--color-text-basic);
	color: var(--color-text-basic);
	font-family: inherit;
	font-size: 1.8rem;
}

.mwform-tel-field input[type="text"],
.mwform-zip-field input[type="text"] {
	display: inline-block;
	vertical-align: unset;
}

.form-main textarea {
	width: 100%;
}

/* .form-main select {
    appearance: none;
    -webkit-appearance: none;
    max-width: 100%;
    background: url(assets/images/icon-arrow-down-select.webp) no-repeat right 1em center;
    background-color: transparent;
    background-size: 9px auto;
} */

.form-main select option.placeholder {
	color: rgba(51, 51, 51, 0.5);
}

.form-main ::placeholder {
	color: rgba(51, 51, 51, 0.5);
}

@media screen and (min-width: 800px) {}

@media screen and (min-width: 0px) and (max-width: 799px) {

	.form-main input,
	.form-main input[type="text"],
	.form-main input[type="tel"],
	.form-main input[type="email"],
	.form-main textarea,
	.form-main select,
	.form-main input[type*="submit"] {
		font-size: 14px;
		border-width: 2px;
	}

	.form-main input[type="text"],
	.form-main input[type="tel"],
	.form-main input[type="email"],
	.form-main textarea {
		width: 100%;
		padding: 0.75em 0;
	}

	.form-main select {
		padding: 0.5em;
		width: 100%;
	}

	.form-main input[type="radio"] {
		padding: 0;
		vertical-align: middle;
		position: relative;
		top: -1px;
	}

	.form-main input[type="checkbox"] {
		padding: 0;
		vertical-align: middle;
		position: relative;
		top: -1px;
	}

	.form-main input[type="file"] {
		width: 100%;
		padding: 0;
		font-size: 12px;
	}

	.form-main input[type*="submit"] {
		width: 100%;
	}
}

/* フォーム本体 - CF7専用レイアウト調整
----------------------------------------------------- */
.form-main .l-horizontal-parent>br {
	display: none;
}

.form-main .l-horizontal-parent label {
	display: block;
	padding: 1.5em;
	line-height: 1;
	width: 100%;
	max-width: 100%;
	border-radius: 0;
	background-color: transparent;
	border: solid 3px var(--color-text-basic);
	color: var(--color-text-basic);
}

.form-main .l-horizontal-parent label:hover {
	border-color: #aaa;
}

@media screen and (min-width: 800px) {
	.form-main .l-horizontal-parent {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.form-main .l-horizontal-parent.u-ver-flex-off {
		display: block;
	}

	.form-main .l-horizontal-parent p {
		width: 100%;
	}

	.form-main .l-horizontal-parent .wpcf7-form-control {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.form-main .l-horizontal-parent .wpcf7-list-item {
		display: block;
		margin: 0 0 40px;
	}

	.form-main .l-horizontal-parent>.wpcf7-list-item {
		margin-bottom: 0;
	}

	.form-main .l-horizontal-parent.u-col-1 .wpcf7-list-item {
		width: 100%;
		margin: 0 0 40px;
	}

	.form-main .l-horizontal-parent.u-col-2 .wpcf7-list-item {
		width: calc(100% / 2 - 40px / 2);
	}

	.form-main .l-horizontal-parent.u-col-3 .wpcf7-list-item {
		width: calc(100% / 3 - 40px / 2);
	}

	.form-main .l-horizontal-parent label {
		padding: 1.5em;
	}
}

@media screen and (min-width: 0px) and (max-width: 799px) {
	.form-main .l-horizontal-parent .wpcf7-list-item {
		display: inline-block;
		vertical-align: middle;
		width: 100%;
		margin: 0 0 10px;
	}

	.form-main .l-horizontal-parent label {
		border-width: 2px;
	}
}

/* フォーム本体 - 送信ボタン
----------------------------------------------------- */
/* 送信ボタン - ボタンの全領域をクリック可能に変更 */
.form-main .submit-button {
	position: relative;
}

.form-main .submit-button p {
	line-height: 1.25;
}

.form-main input[type*="submit"] {
	display: inline;
	font-size: inherit;
	font-weight: inherit;
	width: auto;
	text-align: inherit;
	margin: auto 0;
	padding: 0;
	background-color: transparent;
}

.form-main .submit-button input[type*="submit"] {
	display: block;
	position: absolute;
	z-index: 99;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width: 100%;
	padding: 1em 2em;
	cursor: pointer;
	opacity: 0;
}

/* 送信ボタン - ボタンのデザイン装飾 */
/* ベースCSS --> .c-button-readmore */

/*
-----------------------------------------------------

	=共通アニメーションコンポーネント

-----------------------------------------------------
*/

/* =写真ホバー拡大 (scale 1.05)
----------------------------------------------------- */
.js-hover-zoom {
	overflow: hidden;
}

.js-hover-zoom img,
.js-hover-zoom .l-thumbnail {
	transition: transform 0.3s ease;
	will-change: transform;
}

.js-hover-zoom:hover img,
.js-hover-zoom:hover .l-thumbnail {
	transform: scale(1.05);
}

/* サービスセクション用 - lineup全体がホバー対象 */
.l-top-services .lineup {
	cursor: pointer;
}

.l-top-services .lineup .l-thumbnail {
	overflow: hidden;
	border-radius: 5px;
}

.l-top-services .lineup .l-thumbnail img {
	transition: transform 0.3s ease;
	will-change: transform;
}

.l-top-services .lineup:hover .l-thumbnail img {
	transform: scale(1.05);
}

/* ニュースセクション用 */
.loop-type-main .loop-item {
	cursor: pointer;
}

.loop-type-main .loop-item .l-thumbnail {
	overflow: hidden;
}

.loop-type-main .loop-item .l-thumbnail img {
	transition: transform 0.3s ease;
	will-change: transform;
}

.loop-type-main .loop-item:hover .l-thumbnail img {
	transform: scale(1.05);
}

/* コラムセクション用 */
.swiper-slide {
	overflow: hidden;
}

.swiper-slide .l-thumbnail {
	overflow: hidden;
}

.swiper-slide .l-thumbnail img {
	transition: transform 0.3s ease;
	will-change: transform;
}

.swiper-slide:hover .l-thumbnail img {
	transform: scale(1.05);
}


/* =border-bottom 左→右アニメーション
----------------------------------------------------- */
/* 白版 (サービスセクション Read More用) */
.js-hover-border-white {
	position: relative;
	display: inline-block;
}

.js-hover-border-white::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background-color: #fff;
	transition: width 0.3s ease;
}

.js-hover-border-white:hover::after {
	width: 100%;
}

/* 黒版 (ニュースカテゴリー用) */
.js-hover-border-black {
	position: relative;
	display: inline-block;
}

.js-hover-border-black::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background-color: #000;
	transition: width 0.3s ease;
}

.js-hover-border-black:hover::after {
	width: 100%;
}

/* ニュースカテゴリー - 既存スタイル拡張 */
.c-list-news-archive li a {
	position: relative;
	display: inline-block;
}

.c-list-news-archive li a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background-color: #000;
	transition: width 0.3s ease;
}

.c-list-news-archive li a:hover::after {
	width: 100%;
}

/* アクティブ状態でもホバーでボーダー出現 */
.c-list-news-archive li.active a::after {
	width: 0;
}

.c-list-news-archive li.active a:hover::after {
	width: 100%;
}

/* 他のカテゴリーがホバーされたらALLの矢印を非表示 */
.c-list-news-archive:has(li:not(.active):hover) li.active a {
	padding-left: 0;
}

.c-list-news-archive:has(li:not(.active):hover) li.active a::before {
	opacity: 0;
}

/* =Contact Us CTA オーロラアニメーション
----------------------------------------------------- */
/* コンテナ */
.c-button-footer-contact .l-english {
	position: relative;
	display: inline-block;
}

/* テキスト要素にグラデーション（ホバー前の表示） */
.c-button-footer-contact .l-text {
	position: relative;
	z-index: 1;
	background-image: -moz-linear-gradient(30deg,
			#587f90 0%,
			#171c5e 45%,
			#000 80%);
	background-image: -webkit-linear-gradient(30deg,
			#587f90 0%,
			#171c5e 45%,
			#000 80%);
	background-image: -ms-linear-gradient(30deg,
			#587f90 0%,
			#171c5e 45%,
			#000 80%);
	background-image: linear-gradient(30deg,
			#587f90 0%,
			#171c5e 45%,
			#000 80%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: rgba(255, 255, 255, 0);
	background-clip: text;
}

/* Canvasで常にテキストを描画 */
.c-button-footer-contact .aurora-canvas {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: 2;
}

/* アローのホバー移動 */
.c-button-footer-contact .l-arrow {
	transition: transform 0.3s ease;
}

.c-button-footer-contact:hover .l-arrow {
	transform: translateX(5px);
}

/* 03 不動産買取再販事業 - シャッフルアニメーション時の行数ガタつき防止 */
.l-sub-services-main.u-part03 .c-title-42 .l-english {
	white-space: nowrap;
}

/* Servicesページ ナビゲーション - ホバーエフェクト */
.l-sub-services-index-area .c-button-description,
.l-sub-services-overview .c-button-description {
	background: none;
}

.l-sub-services-index-area .c-button-description:hover,
.l-sub-services-overview .c-button-description:hover {
	opacity: 1;
}

/* 黒丸の背景 */
.l-sub-services-index-area .c-button-description::before,
.l-sub-services-overview .c-button-description::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 32px;
	height: 32px;
	background: #000;
	border-radius: 50%;
	transform: scale(0);
	transition: transform 0.3s ease;
}

.l-sub-services-index-area .c-button-description:hover::before,
.l-sub-services-overview .c-button-description:hover::before {
	transform: scale(1) translateX(3px);
}

/* 矢印アイコン */
.l-sub-services-index-area .c-button-description::after,
.l-sub-services-overview .c-button-description::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 32px;
	height: 32px;
	background: url(assets/images/icon-arrow-right-button-circle.webp) no-repeat center;
	background-size: contain;
	transition: filter 0.3s ease, transform 0.3s ease;
}

.l-sub-services-index-area .c-button-description:hover::after,
.l-sub-services-overview .c-button-description:hover::after {
	background-image: url(assets/images/icon-arrow-right-button-white.webp);
	background-size: 35%;
	transform: translateX(3px);
}