/* Auto-generated index.scss for layout */

/* Auto-generated index.scss for global */

@font-face {
	font-family: "LINESeedJP_OTF_Rg";
	font-style: normal;
	font-weight: 400;
	src: url("../font/LINESeedJP_OTF_Rg.woff") format("woff"), url("../font/LINESeedJP_OTF_Rg.woff2") format("woff2");
}

@font-face {
	font-family: "LINESeedJP_OTF_Bd";
	font-style: normal;
	font-weight: 700;
	src: url("../font/LINESeedJP_OTF_Bd.woff") format("woff"), url("../font/LINESeedJP_OTF_Bd.woff2") format("woff2");
}

:root {
	--accent-primary: #F0813B;
	--accent-secondary: #DC5959;
	--accent-tertiary: #CFE6F6;
	--bg-primary: #FDFAF5;
	--bg-secondary: #FFF6E5;
	--bg-inverse: #FFFFFF;
	--text-primary: #3F342D;
	--text-secondary: #9D9D9D;
	--text-tertiary: #5C4639;
	--text-inverse: #FFFFFF;
	--text-link: #0054E5;
	--text-caution: #E50012;
	--border-primary: #CBCBCB;
	--border-secondary: #9D9D9D;
	--border-tertiary: #E6E6E6;
	--font-base-regular: "LINESeedJP_OTF_Rg", sans-serif;
	--font-base-bold: "LINESeedJP_OTF_Bd", sans-serif;
	--font-sub: "Zen Maru Gothic", sans-serif;
	--font-en: "Quicksand", sans-serif;
	--font-material: "Material Icons Round";
	--font-normal: 400;
	--font-medium: 500;
	--font-bold: 700;
	--container: calc(1920px + (var(--container-side) * 2));
	--container-side: 3.4722222222%;
	--container-side-sm: 20px;
	--container-l: 1256px;
	--container-m: 1100px;
	--container-s: 840px;
	--container-ss: 650px;
	--shadow-main: 15px 15px 15px -8px rgba(0, 0, 0, 0.25);
	--shadow-sub: 5px 5px 15px -4px rgba(0, 0, 0, 0.15);
	--shadow-light: 2px 2px 9px -4px rgba(0, 0, 0, 0.1);
	--transition-duration: 0.3s;
	--header-height-sm: 6rem;
	--header-height-lg: 13rem;
}

html {
	-moz-tab-size: 4;
	-o-tab-size: 4;
	box-sizing: border-box;
	font-size: clamp(10px, 2.66vw, 11px);
	tab-size: 4;
	word-break: normal;
}

body {
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	background-color: var(--bg-primary);
	color: var(--text-primary);
	font-family: var(--font-base-regular);
	font-size: max(1.6rem, 14px);
	font-style: normal;
	font-weight: var(--font-regular);
	letter-spacing: 0.03em;
	line-height: 1.8;
	overflow-x: clip;
	position: relative;
}

section {
	position: relative;
	width: 100%;
}

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

img {
	border: none;
	height: auto;
	line-height: 0;
	vertical-align: bottom;
}

ol,
ul {
	margin: 0;
	padding: 0;
}

li {
	list-style: none;
}

dl,
dt,
dd {
	margin: 0;
}

hr {
	padding: 50px 0;
}

button {
	transition: all 0.3s;
}

address {
	display: inline-block;
	font-style: normal;
	pointer-events: none;
}

.center {
	text-align: center;
}

.center > * {
	margin-left: auto;
	margin-right: auto;
}

.left {
	text-align: left;
}

.right {
	text-align: right;
}

.margin-1 {
	margin-bottom: 24rem;
}

.margin-2 {
	margin-bottom: 20rem;
}

.margin-3 {
	margin-bottom: 16rem;
}

.margin-4 {
	margin-bottom: 14rem;
}

.margin-5 {
	margin-bottom: 12rem;
}

.margin-6 {
	margin-bottom: 10rem;
}

.margin-7 {
	margin-bottom: 7rem;
}

.margin-8 {
	margin-bottom: 5rem;
}

.margin-9 {
	margin-bottom: 3.2rem;
}

.margin-10 {
	margin-bottom: 2rem;
}

.mb-0 {
	margin-bottom: 0 !important;
}

.img-circle {
	border-radius: 50%;
}

.img-aspect {
	aspect-ratio: 3/2;
}

.img-radius-ss {
	border-radius: 1rem;
	overflow: hidden;
}

.img-radius-s {
	border-radius: 1.5rem;
	overflow: hidden;
}

.img-radius-m {
	border-radius: 2rem;
	overflow: hidden;
}

.img-radius-l {
	border-radius: 3rem;
	overflow: hidden;
}

.box-radius-m {
	border-radius: 1.5rem;
}

.box-radius-l {
	border-radius: 3rem;
}

.box-radius-full {
	border-radius: 100vmax;
}

.color-bg-primary {
	background-color: var(--bg-primary);
}

.color-bg-secondary {
	background-color: var(--bg-secondary);
}

.color-bg-inverse {
	background: var(--bg-inverse);
}

.color-text-primary {
	color: var(--text-primary);
}

.color-text-secondary {
	color: var(--text-secondary);
}

.color-text-accent {
	color: var(--accent-primary);
}

.font-en {
	font-family: var(--font-en);
}

.font-small {
	font-size: 0.75em;
}

.font-smaller {
	font-size: 1.5rem;
	line-height: 1.6;
}

.font-large {
	font-size: 1.125em;
}

.font-strong {
	font-weight: var(--font-bold);
}

.font-base.font-strong {
	font-family: var(--font-base-bold);
}

.font-uppercase {
	text-transform: uppercase;
}

.relative {
	position: relative;
}

.block {
	display: block;
}

.hidden {
	overflow: hidden;
}

.shadow {
	box-shadow: var(--shadow-main);
}

.marker {
	background: linear-gradient(transparent 60%, rgba(255, 191, 0, 0.2) 60%);
}

.box {
	background-color: var(--bg-inverse);
	border-radius: 1.5rem;
	padding: 5rem;
}

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

.line-heighter,
.line-heighter * {
	line-height: 2.1;
}

.line-heighter p {
	margin: 0 0 3.2rem;
}

.map-wrap {
	aspect-ratio: 16/9;
}

.map-wrap iframe {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.img-wrap {
	overflow: hidden;
}

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

.has-flame {
	align-items: center;
	display: inline-flex;
	gap: 0.6rem;
}

.has-flame::before {
	aspect-ratio: 8/10;
	background: url(../img/common/icon-flame-accent.svg) no-repeat center center/contain;
	content: "";
	display: block;
	flex-shrink: 0;
	width: 7px;
}

.has-wave {
	position: relative;
}

.has-wave.--wave-top::before {
	aspect-ratio: 1440/246;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
	left: 0;
	position: absolute;
	top: -1.5rem;
	width: 100%;
	z-index: 2;
}

.has-wave.--wave-bottom::after {
	aspect-ratio: 1440/246;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	bottom: -1.5rem;
	content: "";
	display: block;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 2;
}

.has-wave.--wave-top.--wave-inverse::before {
	background-image: url(../img/common/wave-top-inverse_lg.webp);
}

.has-wave.--wave-top.--wave-primary::before {
	background-image: url(../img/common/wave-top-primary_lg.webp);
}

.has-wave.--wave-top.--wave-secondary::before {
	background-image: url(../img/common/wave-top-secondary_lg.webp);
}

.has-wave.--wave-bottom.--wave-inverse::after {
	background-image: url(../img/common/wave-bottom-inverse_lg.webp);
}

.has-wave.--wave-bottom.--wave-primary::after {
	background-image: url(../img/common/wave-bottom-primary_lg.webp);
}

.has-wave.--wave-bottom.--wave-secondary::after {
	background-image: url(../img/common/wave-bottom-secondary_lg.webp);
}

.has-wave > * {
	position: relative;
	z-index: 3;
}

.bg-cloud {
	clip-path: inset(0);
	position: relative;
}

.bg-cloud::before {
	background-color: var(--accent-tertiary);
	background-image: url(../img/common/bg-cloud_lg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
}

.illust-ek.--shake {
	animation-delay: 0.1s;
	animation-duration: 2.5s;
	animation-iteration-count: infinite;
	animation-name: tilt;
	animation-timing-function: step-end;
}

.illust-ek.--shake.--delay2 {
	animation-delay: 0.4s;
}

.illust-ek.--shake.--delay3 {
	animation-delay: 0.7s;
}

.img-inBorder {
	position: relative;
}

.img-inBorder::after {
	border: 1.5px solid #F8F4EE;
	border-radius: 1.8rem;
	content: "";
	display: block;
	height: 97%;
	left: 1.5%;
	position: absolute;
	top: 1.5%;
	width: 97%;
}

.img-inBorder.img-radius-l::after {
	border-radius: 2.8rem;
}

.sr-only {
	clip: rect(0, 0, 0, 0);
	border-width: 0;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	white-space: nowrap;
	width: 1px;
}

.container {
	margin-inline: auto;
	max-width: var(--container);
	padding: 0 var(--container-side);
	position: relative;
	width: 100%;
}

.container-l {
	margin-inline: auto;
	max-width: var(--container-l);
}

.container-m {
	margin-inline: auto;
	max-width: var(--container-m);
}

.container-s {
	margin-inline: auto;
	max-width: var(--container-s);
}

.container-ss {
	margin-inline: auto;
	max-width: var(--container-ss);
}

.section-wrap {
	padding-block: 8rem;
	position: relative;
}

.drawer {
	background-color: var(--bg-inverse);
	height: calc(100dvh - var(--header-height-sm));
	opacity: 0;
	position: fixed;
	right: 0;
	top: var(--header-height-sm);
	visibility: hidden;
	width: 100%;
	z-index: 100;
}

.drawer,
.drawer.is-visible {
	transition: opacity 0.3s, visibility 0.3s;
}

.drawer.is-visible {
	opacity: 1;
	visibility: visible;
}

.drawer__inner {
	height: 100%;
	max-height: 100%;
	overflow-y: scroll;
	padding-bottom: 1.6rem;
	position: relative;
	width: 100%;
}

.drawer__search {
	background-color: var(--bg-secondary);
	padding: 1.4rem 1.75rem;
}

.drawer__search .searchForm .searchForm__field {
	background-color: var(--bg-inverse);
}

.drawer__nav {
	padding-inline: 1.7rem;
}

.drawer__navList > li {
	border-bottom: 1px dashed var(--border-primary);
}

.drawer__navList > li > a {
	align-content: center;
	display: grid;
	font-size: 1.5rem;
	gap: 0.7rem;
	grid-template-columns: auto 1.7rem;
	letter-spacing: 0.0075em;
	padding: 2rem 0.5rem;
}

.drawer__navList > li > a::after {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 1.6rem;
	place-self: center;
	width: 1.6rem;
}

.drawer__navList li:not(.menu-item-has-children) > a::after {
	background-image: url(../img/common/icon-chevron-default.svg);
}

.drawer__navList li:not(.menu-item-has-children).link-target > a::after {
	background-image: url(../img/common/icon-link-target02-accent.svg);
	height: 1.2rem;
	width: 1.2rem;
}

.drawer__navList > li.menu-item-has-children > a::after {
	background-image: url(../img/common/icon-plus.svg);
	transition: background-image var(--transition-duration);
}

.drawer__navList > li.menu-item-has-children > a.is-subMenu-open::after {
	background-image: url(../img/common/icon-minus.svg);
}

.drawer__navList .sub-menu {
	background-color: var(--bg-primary);
	display: none;
	margin-bottom: 2.6rem;
	padding: 2.5rem 3rem;
}

.drawer__navList .sub-menu li + li {
	margin-top: 1.2rem;
}

.drawer__navList .sub-menu li a {
	align-content: center;
	background-color: var(--bg-inverse);
	border-radius: 0.8rem;
	box-shadow: var(--shadow-light);
	display: grid;
	font-size: 1.4rem;
	gap: 0.7rem;
	grid-template-columns: auto 1.7rem;
	padding: 1.35rem 1.8rem;
	transition: color var(--transition-duration), background-color var(--transition-duration);
}

.drawer__navList .sub-menu li a::after {
	background: url(../img/common/icon-circleArrow-accent.svg) no-repeat center center/contain;
	content: "";
	display: block;
	height: 1.7rem;
	place-self: center;
	transition: background-image var(--transition-duration);
	width: 1.7rem;
}

.flex {
	display: flex;
}

.flex.--space-between {
	justify-content: space-between;
}

.flex.--space-around {
	justify-content: space-around;
}

.flex.--justify-center {
	justify-content: center;
}

.flex.--justify-start {
	justify-content: flex-start;
}

.flex.--justify-end {
	justify-content: flex-end;
}

.flex.--align-center {
	align-items: center;
}

.flex.--align-start {
	align-items: flex-start;
}

.flex.--align-end {
	align-items: flex-end;
}

.flex.--align-base {
	align-items: baseline;
}

.flex.--row-column {
	flex-direction: row;
}

.flex.--row-column-reverse {
	flex-direction: row;
}

.flex.--row-reverse-column {
	flex-direction: row-reverse;
}

.flex.--column,
.flex.--column-row {
	flex-direction: column;
}

.cell {
	position: relative;
}

.cell img {
	display: block;
	width: 100%;
}

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

.cell--1-2 {
	width: 48%;
}

.cell--1-3 {
	width: 30%;
}

.cell--1-4 {
	width: 23%;
}

.cell--2-3 {
	width: 60%;
}

.cell--3-4 {
	width: 73%;
}

.footer {
	background-color: var(--bg-primary);
	overflow-x: clip;
	padding-bottom: 3rem;
	padding-top: 8rem;
	position: relative;
}

.footer__navWrap {
	background-color: var(--bg-inverse);
	border-radius: 2rem;
	padding: 6.5rem 7.8rem 16.3rem;
}

.footer__navList {
	-moz-column-gap: 4.8rem;
	column-gap: 4.8rem;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	row-gap: 6.4rem;
}

.footer__navList > li > a {
	align-items: center;
	display: flex;
	font-family: var(--font-base-bold);
	font-size: 1.8rem;
	gap: 1rem;
	transition: color 0.3s;
}

.footer__navList > li > a::before {
	background: url(../img/common/icon-flame-accent.svg) no-repeat center center/contain;
	content: "";
	display: block;
	flex-shrink: 0;
	flex-shrink: 0;
	height: 1rem;
	width: 0.8rem;
}

.footer__navList > li .sub-menu {
	display: grid;
	gap: 0.5rem;
	margin-top: 1.5rem;
}

.footer__navList > li .sub-menu li a {
	display: block;
	font-size: 1.4rem;
	transition: color 0.15s;
}

.footer__navList > li .sub-menu li.link-target a {
	align-items: center;
	display: flex;
	gap: 5px;
}

.footer__navList > li .sub-menu li.link-target a::after {
	background-image: url(../img/common/icon-link-target02-default.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 1rem;
	margin-top: -2px;
	width: 1rem;
}

.is-en .footer__navList {
	-moz-column-gap: 3rem;
	column-gap: 3rem;
}

.is-en .footer__navList > li > a {
	font-size: 1.6rem;
	line-height: 1.5;
}

.footer__bottom {
	padding-top: 4rem;
}

.footer__info {
	gap: 2.4rem;
	max-width: 50rem;
}

.footer__info p > * {
	display: block;
}

.footer__info p > * span {
	display: inline-block;
}

.footer__info p > span:first-child {
	font-family: var(--font-base-bold);
	font-size: 1.4rem;
}

.footer__info p > span:last-child {
	font-size: max(1.2rem, 10px);
}

.footer__address p {
	font-family: var(--font-base-bold);
	font-size: 1.4rem;
}

.footer__address address {
	display: block;
	font-size: max(1.2rem, 10px);
}

.footer__address address span {
	display: inline-block;
}

.footer__logo {
	width: 8.7rem;
}

.footer__subMenu ul {
	gap: 2.6rem;
}

.footer__subMenu ul a {
	align-items: center;
	display: flex;
	font-size: max(1.3rem, 11px);
	gap: 1.1rem;
}

.footer__subMenu ul a::after {
	background: url(../img/common/icon-chevron-subtle.svg) no-repeat center center/contain;
	content: "";
	display: block;
	height: 1rem;
	width: 0.7rem;
}

.footer__subMenu small {
	display: block;
	font-family: var(--font-en);
	font-size: 10px;
	font-weight: var(--font-medium);
	margin-top: 0.9rem;
	text-align: right;
}

.footer__toTop {
	bottom: 16.5%;
	opacity: 1;
	position: absolute;
	right: 2.3%;
}

.footer__toTop a {
	display: inline-block;
	height: 10.8rem;
	overflow: hidden;
	position: relative;
	transition: none;
	width: 14.7rem;
}

.footer__toTop a img {
	opacity: 0;
	position: absolute;
	right: -40%;
	top: 0;
}

.footer__toTop.is-appear a img {
	animation: jumpIn 0.25s linear forwards;
}

.grid {
	display: grid;
}

.grid.--col-2 {
	grid-template-columns: repeat(2, 1fr);
}

.grid.--col-3 {
	grid-template-columns: repeat(3, 1fr);
}

.grid.--col-4 {
	grid-template-columns: repeat(4, 1fr);
}

.header {
	background-color: var(--bg-inverse);
	box-shadow: var(--shadow-sub);
	left: 0;
	position: fixed;
	top: 0;
	transition: transform 0.5s ease;
	width: 100%;
	z-index: 100;
}

.header.is-hidden {
	transform: translateY(-110%);
}

.header:has(.js-header-mega.is-active) .header__overlay {
	opacity: 1;
	visibility: visible;
}

.header__overlay {
	background-color: rgba(0, 0, 0, 0.5);
	height: 100vh;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	transition: visibility 0.3s, opacity 0.3s;
	visibility: hidden;
	width: 100%;
	z-index: 1;
}

.header__top {
	background-color: var(--bg-inverse);
	border-bottom: 1px solid #D8D8D8;
	position: relative;
	z-index: 2;
}

.header__top-inner {
	padding-block: 0.8rem;
}

.header__logo a {
	display: block;
}

.header__logo a img {
	width: 7.5rem;
}

.header__subList {
	gap: 1.9rem;
}

.header__subLink {
	font-size: 1.4rem;
	letter-spacing: 0.06em;
	padding: 0.5em;
}

.header__lang {
	font-size: max(1.3rem, 11px);
	font-weight: var(--font-medium);
	margin-left: 3.3rem;
	text-transform: uppercase;
}

.header__lang span {
	display: inline-block;
	padding-inline: 0.2em;
}

.header__lang .is-current {
	color: var(--accent-primary);
	font-weight: var(--font-bold);
	text-decoration: underline;
}

.header__search {
	margin-left: 2.7rem;
	width: 26rem;
}

.header__nav-wrap {
	background-color: var(--bg-inverse);
	position: relative;
	z-index: 2;
}

.header__navList {
	display: grid;
	grid-template-columns: auto auto auto auto;
}

.header__navList > li {
	position: relative;
}

.header__navList > li::before {
	left: 0;
}

.header__navList > li::before,
.header__navList > li:last-child::after {
	background-color: var(--border-secondary);
	content: "";
	display: block;
	height: 1.6rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
}

.header__navList > li:last-child::after {
	right: 0;
}

.header__navList > li:first-child > a {
	align-items: center;
	display: flex;
	gap: 0.6rem;
	justify-content: center;
}

.header__navList > li:first-child > a::before {
	background: url(../img/common/icon-caution-accent.svg) no-repeat center center/contain;
	content: "";
	display: block;
	height: 2.6rem;
	margin-top: 0.4rem;
	width: 2.8rem;
}

.header__navList > li:first-child .header__mega ul li:first-child a::before {
	background-image: url(../img/common/icon-emergency.svg);
}

.header__navList > li:nth-child(2) .header__mega ul li:first-child a::before {
	background-image: url(../img/common/icon-paperwork.svg);
}

.header__navList > li:nth-child(3) .header__mega ul li:first-child a::before {
	background-image: url(../img/common/icon-gas.svg);
}

.header__navList > li:nth-child(4) .header__mega ul li:first-child a::before {
	background-image: url(../img/common/icon-company.svg);
}

.header__navList > li > a {
	display: block;
	font-size: 1.7rem;
	padding: 1.9rem;
	position: relative;
	text-align: center;
}

.header__navList > li > a::after {
	background-color: var(--accent-primary);
	bottom: 0;
	content: "";
	display: block;
	height: 0.2rem;
	left: 2px;
	opacity: 0;
	position: absolute;
	transition: opacity var(--transition-duration);
	width: calc(100% - 4px);
}

.header__navList > li > a.is-active {
	color: var(--accent-primary);
}

.header__navList > li > a.is-active::after {
	opacity: 1;
}

.header__mega {
	background-color: var(--bg-primary);
	left: 0;
	opacity: 0;
	position: fixed;
	visibility: hidden;
	width: 100vw;
	z-index: 5;
}

.header__mega,
.header__mega.is-active {
	transition: visibility 0.3s, opacity 0.3s;
}

.header__mega.is-active {
	opacity: 1;
	visibility: visible;
}

.header__mega-close {
	background: url(../img/common/icon-close.svg) no-repeat center center/2rem;
	border: none;
	cursor: pointer;
	height: 4.5rem;
	position: absolute;
	right: 1rem;
	top: 0;
	width: 4.5rem;
	z-index: 2;
}

.header__mega-inner {
	padding-block: 4rem;
}

.header__mega-inner > ul {
	grid-column-gap: 2.4rem;
	grid-row-gap: 2.4rem;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: repeat(2, 1fr);
}

.header__mega-inner > ul li:first-child {
	grid-area: 1/1/3/2;
}

.header__mega-inner > ul li:first-child a {
	justify-content: center;
}

.header__mega-inner > ul li:first-child a::before {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	grid-area: 1/1/2/3;
	height: 5.7rem;
	margin-bottom: 1rem;
	width: 100%;
}

.header__mega-inner > ul li:not(:first-child) a {
	min-height: 7.8rem;
}

.header__mega-inner > ul li a {
	-moz-column-gap: 0.8rem;
	align-content: center;
	background-color: var(--bg-inverse);
	border-radius: 0.8rem;
	box-shadow: var(--shadow-sub);
	column-gap: 0.8rem;
	display: grid;
	font-size: 1.4rem;
	grid-template-columns: auto 1.7rem;
	height: 100%;
	letter-spacing: 0.05em;
	padding: 1.5rem 1.8rem;
	transition: color 0.3s;
}

.header__mega-inner > ul li a::after {
	background: url(../img/common/icon-circleArrow-accent.svg) no-repeat center center/contain;
	content: "";
	height: 1lh;
	place-items: center;
	place-self: center;
	width: 1.7rem;
}

.header__mega-inner > ul li.link-target a::after {
	background-image: url(../img/common/icon-link-target02-accent.svg);
	background-size: 75%;
}

.header__lang-sp {
	display: none;
	height: 100%;
	margin-left: auto;
	position: relative;
}

.header__lang-trigger {
	align-items: center;
	background-color: var(--bg-inverse);
	border: none;
	border-left: 1px solid #EDEBE8;
	color: var(--text-primary);
	display: flex;
	flex-direction: column;
	font-size: 1rem;
	gap: 0.2rem;
	height: 100%;
	justify-content: center;
	letter-spacing: 0;
	padding-inline: 1.1rem;
}

.header__langList {
	background-color: var(--bg-inverse);
	border-radius: 0.5rem;
	box-shadow: var(--shadow-sub);
	left: 0;
	opacity: 0;
	padding: 0.8rem;
	position: absolute;
	top: calc(var(--header-height-sm) + 4px);
	visibility: hidden;
}

.header__langList,
.header__langList.is-visible {
	transition: visibility var(--transition-duration), opacity var(--transition-duration);
}

.header__langList.is-visible {
	opacity: 1;
	visibility: visible;
}

.header__langItem span,
.header__langItem a {
	border-radius: 0.5rem;
	display: inline-block;
	font-size: 1.5rem;
	min-width: 9.7rem;
	padding: 0.6rem 1rem;
}

.header__langItem .is-current {
	background-color: #F6F6F6;
}

.header__hamburger {
	align-items: center;
	background-color: var(--bg-inverse);
	border: none;
	border-left: 1px solid #EDEBE8;
	color: var(--text-primary);
	display: none;
	flex-direction: column;
	font-size: 1rem;
	gap: 0.2rem;
	height: 100%;
	justify-content: center;
	padding-inline: 1.6rem;
	position: relative;
	text-align: center;
}

.header__hamburger.is-active .header__hamburger-line {
	background-color: transparent;
}

.header__hamburger.is-active .header__hamburger-line::before {
	top: 25%;
	transform: rotate(45deg);
	transition: top 0.2s, transform 0.2s 0.2s;
}

.header__hamburger.is-active .header__hamburger-line::after {
	top: 25%;
	transform: rotate(-45deg);
	transition: top 0.2s, transform 0.2s 0.2s;
}

.header__hamburger-lineArea {
	flex-shrink: 0;
	height: max(2rem, 20px);
	overflow: hidden;
	position: relative;
	transition: transform 0.4s;
	width: max(2rem, 20px);
}

.header__hamburger-line {
	left: 1px;
	top: calc(45% + 1px);
	transition: background-color 0s 0.2s;
}

.header__hamburger-line,
.header__hamburger-line::before,
.header__hamburger-line::after {
	background-color: var(--text-primary);
	border-radius: 100vmax;
	display: block;
	height: 2.5px;
	position: absolute;
	width: max(1.8rem, 18px);
}

.header__hamburger-line::before,
.header__hamburger-line::after {
	content: "";
	opacity: 1;
	transition: background-color 0.3s;
}

.header__hamburger-line::before {
	top: -6px;
	transition: top 0.2s 0.2s, transform 0.2s;
}

.header__hamburger-line::after {
	top: 6px;
	transition: top 0.2s 0.2s, transform 0.2s;
}

.sticky-column {
	display: flex;
	gap: 3.4rem;
}

.sticky-column__side {
	flex-shrink: 0;
	width: max(22.6rem, 200px);
}

.sticky-toc__inner {
	position: sticky;
	top: 15rem;
}

.sticky-toc__list {
	display: grid;
	gap: 2rem;
}

.sticky-toc__list.--list {
	background-color: var(--bg-inverse);
	border-radius: 2rem;
	padding: 5rem 3.2rem;
}

.sticky-toc__list.--list li a {
	align-items: center;
	display: flex;
	gap: 1rem;
	letter-spacing: 0;
	transition: color var(--transition-duration);
}

.sticky-toc__list.--list li a::before {
	background: url(../img/common/icon-flame-accent.svg) no-repeat center center/contain;
	content: "";
	display: block;
	height: 1rem;
	opacity: 0;
	transition: opacity var(--transition-duration);
	width: 1rem;
}

.sticky-toc__list.--list li a.is-current {
	color: var(--accent-primary);
	font-weight: var(--font-bold);
}

.sticky-toc__list.--list li a.is-current::before {
	opacity: 1;
}

.sticky-column__main {
	flex-grow: 1;
	flex-shrink: 1;
}

.sticky-main-box {
	background-color: var(--bg-inverse);
	border-radius: 2rem;
	padding: 5rem;
}

/* Auto-generated index.scss for components */

/*********************
ANIMATION
*********************/

.fadein {
	opacity: 0;
}

.fadein.is-active {
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
	animation-name: fadeIn;
}

.scalein {
	opacity: 0;
	transform: scale(0);
}

.scalein.is-active {
	animation-duration: 0.9s;
	animation-fill-mode: forwards;
	animation-name: scaleIn;
	animation-timing-function: ease;
}

.delay--2 {
	animation-delay: 0.3s;
}

.delay--3 {
	animation-delay: 0.6s;
}

.delay--4 {
	animation-delay: 0.9s;
}

.image-wrap {
	border-radius: 10px; /* 角丸を適用 */
	display: inline-block; /* 画像のラップ要素をインラインブロックに設定 */
	overflow: hidden; /* 子要素がはみ出ないようにする */
}

.img-hover {
	border-radius: inherit; /* 親要素と同じ角丸を適用 */
	height: auto;
	width: 100%;
}

.img-hover:hover {
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.3); /* 手前に浮き出るようなシャドウを追加 */
}

/*********************
ARCHIVE
*********************/

.archive-card-wrap {
	-moz-column-gap: 3.2rem;
	column-gap: 3.2rem;
	row-gap: 5.4rem;
}

.archive-card {
	font-family: var(--font-sub);
	font-weight: var(--font-bold);
}

.archive-card.--bg .archive-card__link {
	background-color: var(--bg-inverse);
	border-radius: 1.7rem;
	padding: 2rem 2rem 3rem;
}

.archive-card.--large .archive-card__img {
	aspect-ratio: 391/262;
}

.archive-card.--large .archive-card__title {
	font-size: 2.5rem;
}

.archive-card.--hor .archive-card__link {
	align-items: flex-start;
	display: flex;
	gap: 3.4rem;
	padding: 2rem;
}

.archive-card.--hor .archive-card__img {
	aspect-ratio: 214/149;
	flex-shrink: 0;
	width: 36%;
}

.archive-card.--hor .archive-card__text {
	margin-top: 0;
}

.archive-card.--hor .archive-card__cats {
	left: 0;
	position: relative !important;
}

.archive-card.--hor .archive-card__title {
	-webkit-line-clamp: 3;
}

.archive-card__link {
	display: block;
	height: 100%;
}

.archive-card__img {
	aspect-ratio: 345/198;
	border-radius: 1rem;
	overflow: hidden;
	position: relative;
}

.archive-card__img img {
	transition: transform var(--transition-duration);
}

.archive-card__cats {
	display: flex;
	gap: 4px;
	left: 5px;
	position: absolute !important;
	top: 5px;
	z-index: 2;
}

.archive-card__cat {
	background-color: var(--bg-primary);
	border-radius: 0.5rem;
	color: var(--accent-primary);
	display: inline-block;
	font-size: 1.3rem;
	padding: 0.4rem 1rem;
	position: relative;
}

.archive-card__cat::before {
	border: 0.1rem dashed var(--accent-primary);
	border-radius: 0.3rem;
	content: "";
	display: block;
	height: calc(100% - 0.6rem);
	left: 50%;
	position: absolute;
	top: 49%;
	transform: translate(-50%, -50%);
	width: calc(100% - 0.6rem);
}

.archive-card__text {
	margin-top: 0.8rem;
	overflow: hidden;
}

.archive-card__date {
	color: var(--accent-primary);
	font-size: 1.8rem;
}

.archive-card__title {
	-webkit-line-clamp: 2;
	color: var(--text-tertiary);
	font-size: 2rem;
	line-height: 1.65;
	margin-top: 0.5rem;
}

.archive-card__title,
.archive-card__excerpt {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	overflow: hidden;
}

.archive-card__excerpt {
	-webkit-line-clamp: 3;
	font-weight: var(--font-medium);
	margin-top: 2.4rem;
}

.archive-card__btn {
	margin-top: 2.4rem;
}

.archive-card__btn > span {
	justify-content: center;
	width: 100%;
}

.archive-list-wrap {
	background-color: var(--bg-inverse);
	border-radius: 1.5rem;
	padding: 4.5rem 5.8rem;
}

.archive-list:not(:last-of-type) {
	border-bottom: 1px dashed var(--border-primary);
}

.archive-list__link {
	align-items: center;
	display: flex;
	gap: 2rem;
	padding: 2.5rem 4rem 2.5rem 0.6rem;
	position: relative;
}

.archive-list__link::after {
	background: url("../img/common/icon-arrow-accent.svg") no-repeat center center/1.2rem;
	content: "";
	display: block;
	height: 2.1rem;
	position: absolute;
	right: 0.6rem;
	top: 50%;
	transform: translateY(-50%);
	transition: right var(--transition-duration);
	width: 2.1rem;
}

.archive-list__date {
	color: var(--accent-primary);
	flex-shrink: 0;
	font-family: var(--font-en);
	font-size: 1.5rem;
	font-weight: var(--font-bold);
	width: 7.8em;
}

.archive-list__title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	display: -webkit-box;
	font-family: var(--font-base-bold);
	font-size: 1.6rem;
	overflow: hidden;
}

.archive-list.--top .archive-list__link {
	padding: 3.5rem 9.7rem 3.5rem 0;
}

.archive-list.--top .archive-list__link::after {
	background-image: url(../img/common/icon-circleArrow-default.svg);
	background-size: contain;
}

.archive-list.--top .archive-list__date {
	width: 5.68em;
}

.archive-list.--top .archive-list__title {
	font-family: var(--font-base-regular);
	font-weight: var(--font-normal);
}

/*********************
BOX TITLE
*********************/

.box-title {
	align-items: center;
	color: var(--accent-primary);
	display: flex;
	font-family: var(--font-base-bold);
	font-size: 2rem;
	gap: 1rem;
	justify-content: center;
	line-height: 1.5;
	text-align: center;
}

.box-title::before,
.box-title::after {
	background-color: var(--accent-primary);
	border-radius: 50%;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 0.3em;
	width: 0.3em;
}

.box-title span {
	display: inline-block;
}

#breadcrumb {
	background-color: var(--bg-inverse);
	margin: 0 auto;
	padding-block: 0.8rem;
}

#breadcrumb a {
	color: var(--text-primary);
	font-size: 1.4rem;
	text-decoration: none;
}

.breadcrumb-separator {
	padding: 0 1.5rem;
}

.breadcrumb-list {
	display: flex;
	flex-wrap: wrap;
}

.breadcrumb-item {
	position: relative;
}

.breadcrumb-item:not(:first-child) {
	padding-left: 3.4rem;
}

.breadcrumb-item:not(:first-child)::before {
	background: url(../img/common/icon-chevron-subtle.svg) no-repeat center center/contain;
	content: "";
	height: 1rem;
	left: 1.2rem;
	opacity: 0.5;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1rem;
}

.breadcrumb-item a,
.breadcrumb-item span {
	color: var(--text-primary);
	font-size: 1.4rem;
	font-weight: var(--font-normal);
	line-height: normal;
	text-decoration: none;
}

.breadcrumb-link {
	opacity: 0.5;
}

/*********************
BUTTON
*********************/

.is-en .btn-wrap:has(.btn-main) {
	width: 29.2rem;
}

.btn-wrap:has(.btn-sub) {
	max-width: 19.7rem;
}

.btn-wrap:has(.btn-box),
.btn-wrap:has(.btn-base),
.btn-wrap:has(.btn-ghost) {
	max-width: 29.2rem;
}

.btn-wrap:has(.btn-box),
.btn-wrap:has(.btn-ghost) {
	margin-inline: auto;
}

.btn-wrap-submit {
	margin-inline: auto;
	max-width: 29.2rem;
}

.btn {
	border-radius: 100vmax;
	display: inline-block;
}

.btn:disabled {
	opacity: 0.4;
	pointer-events: none;
}

.btn-main {
	align-items: center;
	background-color: var(--bg-inverse);
	box-shadow: var(--shadow-main);
	display: inline-flex;
	justify-content: center;
	letter-spacing: 0;
	padding: 2rem 4.7rem;
	text-transform: uppercase;
	transition: background-color var(--transition-duration);
}

.btn-main .text-main {
	font-size: max(1.5rem, 13px);
	transition: color var(--transition-duration);
}

.btn-main .text-main::before {
	width: 8px;
}

.btn-main .text-sub {
	font-family: var(--font-en);
	font-size: max(1.3rem, 11px);
	font-weight: var(--font-medium);
	margin-left: 2rem;
	padding-left: 2rem;
	position: relative;
	transition: color var(--transition-duration);
}

.btn-main .text-sub::before {
	background-color: var(--border-secondary);
	content: "";
	display: block;
	height: 1.6rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: background-color var(--transition-duration);
	width: 1px;
}

.btn-main.--color-primary {
	background-color: var(--bg-primary);
}

.btn-main.--color-inverse {
	background-color: var(--bg-inverse);
}

.is-en .btn-main {
	display: block;
	padding: 1.6rem;
	text-align: center;
	text-transform: capitalize;
}

.btn-sub {
	align-content: center;
	background-color: var(--bg-inverse);
	border: 1px solid var(--accent-primary);
	box-shadow: var(--shadow-light);
	display: grid;
	font-size: max(1.5rem, 13px);
	gap: 0.7rem;
	grid-template-columns: auto 2.1rem;
	padding: 1.1rem 2.4rem;
}

.btn-sub::after {
	background: url(../img/common/icon-arrow-accent.svg) no-repeat center center/contain;
	content: "";
	display: block;
	height: 1.2rem;
	place-self: center;
	width: 1.2rem;
}

.btn-sub[target=_blank]::after {
	background: url(../img/common/icon-link-target-accent.svg) no-repeat center center/contain;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 1.6rem;
	width: 1.6rem;
}

.btn-base {
	background-color: var(--accent-primary);
	border: 1px solid var(--accent-primary);
	border-radius: 100vmax;
	color: var(--text-inverse);
	cursor: pointer;
	display: inline-block;
	font-family: var(--font-base-bold);
	font-size: max(1.5rem, 14px);
	padding: 1.2rem;
	text-align: center;
	text-decoration: none;
	transition: all var(--transition-duration);
	width: 100%;
}

.btn-ghost {
	background-color: var(--bg-inverse);
	border: 1px solid var(--border-primary);
	border-radius: 100vmax;
	color: var(--text-primary);
	cursor: pointer;
	display: inline-block;
	font-family: var(--font-base-bold);
	font-size: max(1.5rem, 14px);
	padding: 1.2rem;
	text-align: center;
	text-decoration: none;
	transition: all var(--transition-duration);
	width: 100%;
}

.btn-stitch {
	align-items: center;
	background-color: var(--bg-primary);
	color: var(--text-tertiary);
	display: inline-flex;
	filter: drop-shadow(2px 2px 0px #EEE5D2);
	font-family: var(--font-sub);
	font-size: 1.8rem;
	font-weight: var(--font-bold);
	gap: 1.1rem;
	padding: 1.1rem 3.2rem;
	position: relative;
}

.btn-stitch:not(.--back)::before {
	border: 1.5px dashed var(--accent-primary);
	border-radius: inherit;
	content: "";
	display: block;
	height: 92%;
	left: 2%;
	position: absolute;
	top: 4%;
	width: 96%;
	z-index: 2;
}

.btn-stitch:not(.--back)::after,
.btn-stitch.--back::before {
	background: url(../img/common/icon-arrow-accent.svg) no-repeat center center/contain;
	content: "";
	display: block;
	height: 1rem;
	width: 1rem;
}

.btn-stitch.--back::before {
	transform: scale(-1, 1);
}

.btn-stitch.--back::after {
	border: 1px dashed var(--accent-primary);
	border-radius: inherit;
	content: "";
	display: block;
	height: 92%;
	left: 2%;
	position: absolute;
	top: 4%;
	width: 96%;
	z-index: 2;
}

.btn-box {
	align-items: center;
	background-color: var(--accent-primary);
	border: 1.5px solid var(--accent-primary);
	box-shadow: var(--shadow-main);
	color: var(--text-inverse);
	display: flex;
	font-family: var(--font-base-bold);
	font-size: max(1.5rem, 13px);
	gap: 1rem;
	justify-content: center;
	letter-spacing: 0;
	padding: 1.1rem 2rem;
}

.btn-box::before {
	background: url(../img/common/icon-flame-inverse.svg) no-repeat center center/contain;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 1rem;
	transition: background-image var(--transition-duration);
	width: 1rem;
}

.btn-box[target=_blank]::before {
	display: none;
}

.btn-box[target=_blank]::after {
	background: url(../img/common/icon-link-target-inverse.svg) no-repeat center center/contain;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 1.6rem;
	width: 1.6rem;
}

.btn-anchor {
	align-items: center;
	background-color: var(--bg-inverse);
	border: 1px solid var(--accent-primary);
	color: var(--accent-primary);
	display: flex;
	font-family: var(--font-base-bold);
	font-size: max(1.5rem, 13px);
	gap: 1rem;
	justify-content: center;
	padding: 1rem;
}

.btn-anchor::after {
	background: url(../img/common/icon-arrow-accent.svg) no-repeat center center/contain;
	content: "";
	display: block;
	height: 1.2rem;
	transform: rotate(90deg);
	width: 1.2rem;
}

/*********************
CONTACT BOX
*********************/

.contact-box {
	background-color: var(--bg-inverse);
	border: 0.3rem solid var(--accent-primary);
	border-radius: 2rem;
	padding: 5rem;
	text-align: center;
}

.contact-box__text {
	font-family: var(--font-base-bold);
	font-size: 2.5rem;
	line-height: 1.7;
}

.contact-box__text span {
	display: inline-block;
}

.contact-box__btn {
	margin-top: 4.5rem;
	max-width: -moz-max-content;
	max-width: max-content;
}

/*********************
EDITABLE CONTENT
*********************/

.editable-content h2,
.editable-content h3,
.editable-content h4,
.editable-content h5 {
	font-weight: var(--font-normal);
	line-height: 1.5;
}

.editable-content h2 {
	border-bottom: 1px dashed var(--border-primary);
	display: flex;
	font-size: 3rem;
	gap: 1.2rem;
	margin-bottom: 3rem;
	padding-bottom: 1rem;
}

.editable-content h2:before {
	background: url(../img/common/icon-flame-accent.svg) no-repeat center center/contain;
	content: "";
	display: block;
	flex-shrink: 0;
	height: 1.2rem;
	margin-top: 1.65rem;
	width: 0.9rem;
}

.editable-content * + h2 {
	margin-top: 10rem;
}

.editable-content h3 {
	border-left: 0.3rem solid var(--accent-primary);
	font-family: var(--font-base-bold);
	font-size: 2rem;
	margin-bottom: 2rem;
	margin-top: 3rem;
	padding-left: 1rem;
}

.editable-content h4 {
	font-family: var(--font-base-bold);
	font-size: 1.8rem;
}

.editable-content p {
	margin-bottom: 1.7em;
}

.editable-content ul,
.editable-content ol {
	display: grid;
	gap: 0.8rem;
	margin-bottom: 1.7em;
	padding-left: 1.5em;
}

.editable-content ul li {
	list-style-type: disc;
}

.editable-content ol li {
	list-style-type: decimal;
}

.editable-content a {
	color: var(--text-link);
	text-decoration: underline;
}

.editable-content figure {
	margin-bottom: 1.7em;
}

.editable-content figure figcaption {
	font-size: 90%;
}

.editable-content .wp-block-embed-youtube {
	aspect-ratio: 16/9;
}

.editable-content .wp-block-embed-youtube .wp-block-embed__wrapper {
	height: 100%;
	width: 100%;
}

.editable-content .wp-block-embed-youtube iframe {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.editable-content table {
	border: 1px solid var(--border-tertiary);
	border-collapse: separate;
	border-radius: 1rem;
	border-spacing: 0;
	overflow: hidden;
}

.editable-content table thead {
	border-bottom: 1px solid var(--border-tertiary);
	border-radius: 10px;
}

.editable-content table tbody tr:last-child th,
.editable-content table tbody tr:last-child td {
	border-bottom: none;
}

.editable-content table tr:first-child {
	border-radius: 1rem 1rem 0 0;
}

.editable-content table th,
.editable-content table td {
	border: none;
	border-bottom: 1px solid var(--border-tertiary);
	min-width: 150px;
	padding: 2rem 1.5rem;
}

.editable-content table th {
	background-color: var(--bg-primary);
	font-weight: var(--font-normal);
	text-align: left;
}

.editable-content table th + th,
.editable-content table td + td {
	border-left: 1px solid var(--border-tertiary);
}

/*********************
FAQ
*********************/

.faq-wrap {
	background-color: var(--bg-inverse);
	border-radius: 1.5rem;
	padding: 6rem;
}

.faq-item {
	border-bottom: 1px dashed var(--border-primary);
	padding: 3rem 0.6rem;
}

.faq-item__question {
	cursor: pointer;
	display: flex;
	gap: 1rem;
}

.faq-item__question .letter-q {
	color: var(--accent-primary);
	flex-shrink: 0;
	font-family: var(--font-base-bold);
	font-size: 2.3rem;
	line-height: 1.25;
	margin-top: 0.2rem;
}

.faq-item__question p {
	flex-grow: 1;
	font-family: var(--font-base-bold);
	font-size: 1.8rem;
}

.faq-item__question .toggle {
	display: block;
	flex-shrink: 0;
	height: 1.6rem;
	margin-top: 0.82rem;
	position: relative;
	width: 1.6rem;
}

.faq-item__question .toggle::before,
.faq-item__question .toggle::after {
	background-color: var(--text-secondary);
	border-radius: 100vmax;
	content: "";
	display: block;
	height: 1.6rem;
	left: 0.7rem;
	position: absolute;
	top: 0;
	width: 0.2rem;
}

.faq-item__question .toggle::before {
	transition: transform var(--transition-duration);
}

.faq-item__question .toggle::after {
	transform: rotate(-90deg);
}

.faq-item__question.is-body-open .toggle::before {
	transform: rotate(90deg);
}

.faq-item__question.is-body-open .toggle::after {
	opacity: 0;
}

.faq-item__answer {
	display: none;
}

.faq-item__answer > div {
	line-height: 1.7;
	padding-left: 4rem;
	padding-top: 1.6rem;
}

.faq-item__answer > div p + p {
	margin-top: 1.5em;
}

.faq-item__answer > div a {
	color: var(--text-link);
	text-decoration: underline;
}

/*********************
FLOATING
*********************/

.floating {
	display: none;
	position: fixed;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 5.4rem;
	z-index: 80;
}

.floating__inner {
	display: flex;
	flex-direction: column;
}

.floating__btn {
	align-items: center;
	border-radius: 1rem 0 0 1rem;
	box-shadow: var(--shadow-sub);
	display: flex;
	font-family: var(--font-base-bold);
	font-size: 1.7rem;
	gap: 1.2rem;
	letter-spacing: 0.1em;
	padding: 1.9rem 0.9rem 1.9rem 1.1rem;
	white-space: nowrap;
	writing-mode: vertical-rl;
}

.floating__btn:last-of-type {
	margin-top: 1.8rem;
}

.floating__btn.--emergency {
	background-color: var(--accent-secondary);
	color: var(--text-inverse);
}

.floating__btn.--procedure {
	background-color: var(--bg-secondary);
	color: var(--accent-primary);
}

.heading-h1-page > span {
	font-size: 1.5rem;
	text-transform: capitalize;
}

.heading-h1-page h1 {
	font-size: 4.5rem;
	font-weight: var(--font-normal);
	line-height: 1.5; /* 長い単語でも折り返し可能に */
	overflow-wrap: anywhere; /* CJKテキストでの折り返しを無効化 */
	word-break: keep-all;
}

.heading-h1-page h1 .color-text-caution {
	color: var(--text-caution);
}

.heading-h2-top > span {
	color: var(--accent-primary);
	font-family: var(--font-en);
	font-size: 1.5rem;
	font-weight: var(--font-bold);
}

.heading-h2-top h2 {
	font-size: 3rem;
	font-weight: var(--font-normal);
	line-height: 1.4;
}

.heading-h2-top.--vertical {
	writing-mode: vertical-rl;
}

.heading-h2-page.--primary > span {
	font-size: 1.4rem;
	font-weight: var(--font-bold);
	text-transform: uppercase;
}

.heading-h2-page.--primary > span::before {
	width: 1.2rem;
}

.heading-h2-page.--primary p {
	font-family: var(--font-base-bold);
	font-size: 2rem;
	line-height: 1.5;
	margin-top: 1rem;
}

.heading-h2-page.--primary h2 {
	font-family: var(--font-base-bold);
	font-size: 4rem;
	line-height: 1.5;
	margin-top: 1rem;
}

.is-en .heading-h2-page.--primary h2 {
	font-size: 3.2rem;
}

.heading-h2-page.--secondary {
	border-bottom: 1px dashed var(--border-primary);
	display: flex;
	font-size: 3rem;
	font-weight: var(--font-normal);
	gap: 1.2rem;
	padding-bottom: 1rem;
}

.heading-h2-page.--secondary:before {
	height: 1.2rem;
	width: 0.9rem;
}

.heading-h3-top {
	font-size: 2.5rem;
	font-weight: var(--font-normal);
}

/*********************
INFO BOX
*********************/

.info-box {
	background-color: var(--bg-inverse);
	border-radius: 0.5rem;
	display: grid;
	gap: 1.2rem;
	padding: 3rem 4rem;
}

.info-box .bg-area {
	border-radius: 1.5rem;
	display: grid;
	gap: 1rem;
	padding: 2.4rem;
}

.info-box.--bordered {
	border: 1px solid var(--accent-primary);
}

.link-card {
	overflow: hidden;
	position: relative;
	transform: translate3d(0, 0, 0);
}

.link-card img,
.link-card .text-wrap h3::after {
	transition: transform var(--transition-duration);
}

.list-disc {
	display: grid;
	gap: 0.3rem;
}

.list-disc li {
	letter-spacing: 0.02em;
	padding-left: 1.5em;
	position: relative;
}

.list-disc li::before {
	background: var(--text-primary);
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.2em;
	left: 0.5em;
	position: absolute;
	top: 0.4lh;
	width: 0.2em;
}

.list-disc.--relaxed {
	gap: 1rem;
}

.list-decimal {
	counter-reset: listnum;
	display: grid;
	gap: 0.3rem;
	list-style: none;
}

.list-decimal li {
	letter-spacing: 0.02em;
	padding-left: 1.5em;
	position: relative;
}

.list-decimal li::before {
	content: counter(listnum);
	counter-increment: listnum;
	display: block;
	left: 0;
	position: absolute;
	text-align: center;
	top: 0;
}

.list-description {
	border: 1px solid var(--border-primary);
	border-radius: 1rem;
	overflow: hidden;
}

.list-description > div {
	display: grid;
	grid-template-columns: max(23%, 150px) 1fr;
}

.list-description > div:not(:first-child) {
	border-top: 1px solid var(--border-tertiary);
}

.list-description dt,
.list-description dd {
	align-content: center;
	display: grid;
	padding: 2.4rem 15px;
}

.list-description dt {
	background-color: var(--bg-primary);
}

.list-description.--title-strong dt {
	font-family: var(--font-base-bold);
}

#loading,
#loading_logo {
	display: none;
}

.home #loading,
.page-template-page-en #loading {
	background-color: var(--bg-primary);
	clip-path: inset(0);
	display: block;
	height: 100%;
	left: 0;
	position: fixed;
	text-align: center;
	top: 0;
	width: 100%;
	z-index: 999;
}

.home #loading__logo,
.page-template-page-en #loading__logo {
	animation: clearOut 1.2s forwards;
	display: block;
	filter: blur(5px);
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1000;
}

/*********************
MODAL
*********************/

:where(dialog) {
	background-color: unset;
	border: unset;
	color: unset;
	height: unset;
	max-height: unset;
	max-width: unset;
	overflow: unset;
	padding: unset;
	width: unset;
}

body:has(dialog[open]) {
	overflow: hidden;
}

dialog::backdrop {
	opacity: 0;
	transition: background 0.3s ease-in-out;
}

dialog.is-show .modal__content {
	opacity: 1;
}

dialog.is-show::backdrop {
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	background: rgba(0, 0, 0, 0.5);
	opacity: 1;
}

.modal__inner {
	display: grid;
	height: 100%;
	overflow-y: scroll;
	place-items: center;
	position: relative;
}

.modal__bg {
	inset: 0;
	position: absolute;
	z-index: 1;
}

.modal__body {
	background-color: var(--bg-inverse);
	border-radius: 1.5rem;
	height: -moz-fit-content;
	height: fit-content;
	max-width: 90%;
	padding: 7.2rem;
	position: relative;
	z-index: 2;
}

.modal__content {
	width: min 100%, 480px;
}

.modal__close {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	border: none;
	cursor: pointer;
	display: grid;
	height: 4.5rem;
	padding: 0 !important;
	place-items: center;
	position: absolute;
	right: 2rem;
	top: 2rem;
	width: 4.5rem;
	z-index: 2;
}

.modal__close:focus-visible {
	outline: 3px solid #DDD;
}

.modal__close span {
	color: var(--text-secondary);
	font-size: 3rem;
	line-height: 1;
}

/*********************
NAVIGATION-CARD
*********************/

.navigation-card {
	display: block;
}

.navigation-card.--prev .navigation-card__text::before {
	background: url(../img/common/icon-arrow-inverse.svg) no-repeat center center/1.1rem;
	background-color: var(--accent-primary);
	border-radius: 50%;
	content: "";
	display: block;
	height: 2.6rem;
	transform: scale(-1, 1);
	width: 2.6rem;
}

.navigation-card.--next .navigation-card__text {
	justify-content: flex-end;
}

.navigation-card.--next .navigation-card__text::after {
	background: url(../img/common/icon-arrow-inverse.svg) no-repeat center center/1.1rem;
	background-color: var(--accent-primary);
	border-radius: 50%;
	content: "";
	display: block;
	height: 2.6rem;
	width: 2.6rem;
}

.navigation-card__link {
	display: block;
}

.navigation-card__text {
	align-items: center;
	display: flex;
	gap: 1rem;
}

.navigation-card__img {
	margin-top: 1.2rem;
	position: relative;
}

.navigation-card__img .img-wrap {
	aspect-ratio: 346/236;
	border-radius: 2rem;
}

.navigation-card__img img {
	position: relative;
	transition: transform var(--transition-duration);
	z-index: 1;
}

.navigation-card__time {
	background: url(../img/topics/navigation-card-time.webp) no-repeat center center/contain;
	bottom: -2rem;
	color: var(--accent-primary);
	font-weight: var(--font-bold);
	left: 0;
	padding: 1rem 1.6rem;
	position: absolute;
	z-index: 2;
}

.navigation-card__title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-size: 2rem;
	font-weight: var(--font-bold);
	line-height: 1.65;
	margin-top: 3.2rem;
	overflow: hidden;
}

.page-title {
	background-color: var(--bg-primary);
	margin-top: var(--header-height-lg);
	padding-block: 7rem;
}

.page-title__inner {
	display: grid;
	gap: 2.8rem;
	margin-inline: auto;
}

.page-title__inner.--large {
	max-width: var(--container-m);
}

.page-title__inner.--small {
	max-width: var(--container-s);
}

.page-title__inner.--x-small {
	max-width: var(--container-ss);
}

.page-title__text {
	letter-spacing: 0.02em;
}

.pagination.--archive:has(.nav-links) {
	padding-top: 11rem;
}

.pagination.--archive {
	font-family: var(--font-sub);
}

.pagination.--archive .nav-links {
	align-items: center;
	display: flex;
	justify-content: center;
}

.pagination.--archive .nav-links .page-numbers {
	color: var(--text-tertiary);
	display: inline-block;
	font-size: 2rem;
	font-weight: var(--font-bold);
	height: 3.5rem;
	line-height: 3.5rem;
	text-align: center;
	width: 3.5rem;
}

.pagination.--archive .nav-links .page-numbers.current {
	color: var(--accent-primary);
	position: relative;
}

.pagination.--archive .nav-links .page-numbers.current::after {
	border-bottom: 1px dashed var(--accent-primary);
	bottom: 0;
	content: "";
	display: block;
	height: 1px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0.6em;
}

.pagination.--archive .nav-links .prev,
.pagination.--archive .nav-links .next {
	position: relative;
}

.pagination.--archive .nav-links .prev::before,
.pagination.--archive .nav-links .prev::after,
.pagination.--archive .nav-links .next::before,
.pagination.--archive .nav-links .next::after {
	content: "";
	display: block;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.pagination.--archive .nav-links .prev::before,
.pagination.--archive .nav-links .next::before {
	background-color: var(--accent-primary);
	border-radius: 50%;
	height: 2.7rem;
	width: 2.7rem;
}

.pagination.--archive .nav-links .prev::after,
.pagination.--archive .nav-links .next::after {
	background: url(../img/common/icon-arrow-inverse.svg) no-repeat center center/contain;
	height: 1rem;
	width: 1.4rem;
}

.pagination.--archive .nav-links .prev {
	margin-right: 2.4rem;
}

.pagination.--archive .nav-links .prev::after {
	transform: translate(-50%, -50%) scaleX(-1);
}

.pagination.--archive .nav-links .next {
	margin-left: 2.4rem;
}

/*********************
QUICK MENU
*********************/

.quick-menu {
	padding-top: 17.6rem;
}

.quick-menu__inner {
	margin-inline: auto;
	max-width: 1050px;
	padding-bottom: 9.5rem;
	padding-top: 6rem;
	position: relative;
}

.quick-menu__inner::before {
	background: url(../img/common/bg-quick-menu_lg.webp) no-repeat center top/cover;
	content: "";
	display: block;
	height: 100%;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100vw;
	z-index: -1;
}

.quick-menu__inner::after {
	background: url(../img/common/illust-ek_012.webp) no-repeat center top/contain;
	content: "";
	display: block;
	height: 6.5rem;
	left: 50%;
	position: absolute;
	top: -5.6rem;
	transform: translateX(-50%);
	width: 11rem;
}

.quick-menu__heading {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.quick-menu__heading span {
	color: var(--accent-primary);
	font-size: 1.5rem;
}

.quick-menu__heading h2 {
	font-size: 3rem;
	font-weight: var(--font-normal);
}

.quick-menu__heading.--jp::before {
	background: url(../img/common/icon-flame-accent.svg) no-repeat center center/contain;
	content: "";
	display: block;
	height: 0.9rem;
	width: 0.7rem;
}

.quick-menu__list {
	border-radius: 1rem;
	box-shadow: var(--shadow-sub);
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	margin-top: 5.5rem;
	overflow: hidden;
}

.quick-menu__list li + li {
	position: relative;
}

.quick-menu__list li + li::before {
	background-color: var(--bg-secondary);
	content: "";
	display: block;
	height: calc(100% - 1rem);
	left: 0;
	position: absolute;
	top: 0.5rem;
	width: 0.2rem;
}

.quick-menu__list li a {
	align-items: center;
	background-color: var(--bg-inverse);
	display: flex;
	flex-direction: column;
	gap: 1.3rem;
	height: 100%;
	padding: 2.5rem;
}

.quick-menu__list li a img {
	-o-object-fit: contain;
	height: 4.1rem;
	object-fit: contain;
	width: 4.1rem;
}

/*********************
SEARCH
*********************/

.search-list:not(:last-of-type) {
	border-bottom: 1px dashed var(--border-primary);
}

.search-list__link {
	display: block;
	padding: 2.5rem 5.2rem 2.5rem 0.6rem;
	position: relative;
}

.search-list__link::after {
	background: url("../img/common/icon-arrow-accent.svg") no-repeat center center/1.2rem;
	content: "";
	display: block;
	height: 2.1rem;
	position: absolute;
	right: 0.6rem;
	top: 50%;
	transform: translateY(-50%);
	transition: right var(--transition-duration);
	width: 2.1rem;
}

.search-list__title {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	color: var(--accent-primary);
	display: -webkit-box;
	font-family: var(--font-base-bold);
	font-size: 2rem;
	overflow: hidden;
}

.search-list__description {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	display: -webkit-box;
	font-size: 1.5rem;
	margin-top: 0.5rem;
	overflow: hidden;
}

/*********************
SEARCH FORM
*********************/

.searchForm .searchForm__inner {
	position: relative;
}

.searchForm .searchForm__field {
	background-color: var(--bg-primary);
	border: none;
	border: 1px solid var(--bg-primary);
	border-radius: 100vmax;
	font-size: 1.4rem;
	height: unset;
	letter-spacing: 0;
	padding: 1rem 2rem;
	width: 100%;
}

.searchForm .searchForm__field::-moz-placeholder {
	color: var(--text-secondary);
	font-size: 1.4rem;
	letter-spacing: 0;
}

.searchForm .searchForm__field::placeholder {
	color: var(--text-secondary);
	font-size: 1.4rem;
	letter-spacing: 0;
}

.searchForm .searchForm__btn {
	align-items: center;
	background-color: transparent;
	border: none;
	cursor: pointer;
	display: flex;
	height: 4rem;
	justify-content: center;
	padding: 0;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 4rem;
}

.searchForm .searchForm__btn img {
	-o-object-fit: contain;
	height: 2.1rem;
	object-fit: contain;
	width: 2.1rem;
}

/*********************
SHOP CARD
*********************/

.shop-card {
	background-color: var(--bg-inverse);
	border-radius: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 2rem;
	padding: 3.5rem;
}

.shop-card h3 {
	font-size: 2.5rem;
	font-weight: var(--font-normal);
	gap: 1.2rem;
}

.shop-card h3::before {
	width: 0.9rem;
}

.shop-card .text-wrap {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	justify-content: space-between;
}

.shop-card .text-wrap p span {
	display: block;
	text-transform: uppercase;
}

.shop-card .map-wrap {
	max-width: 100%;
}

.shop-card .btn-wrap {
	display: flex;
	gap: 1rem;
}

.shop-card .btn-wrap a,
.shop-card .btn-wrap button {
	align-items: center;
	background-color: var(--bg-inverse);
	border: 1px solid var(--border-primary);
	border-radius: 100vmax;
	color: var(--text-primary);
	cursor: pointer;
	display: flex;
	font-family: var(--font-base-bold);
	font-size: 1.5rem;
	gap: 0.8rem;
	justify-content: center;
	padding: 0.9rem;
	text-align: center;
	text-transform: uppercase;
	width: 50%;
}

.shop-card .btn-wrap a[target=_blank]::after {
	background: url(../img/common/icon-link-target02-default.svg) no-repeat center center/contain;
	content: "";
	display: block;
	height: 1.2rem;
	width: 1.2rem;
}

/*********************
STEP CARD
*********************/

.step-card {
	background-color: var(--bg-inverse);
	border-radius: 1.5rem;
	display: grid;
	gap: 2.4rem;
	grid-row: span 3;
	grid-template-rows: subgrid;
	padding: 3rem 2rem;
}

.step-card__title {
	border-bottom: 1px dashed var(--text-secondary);
	display: flex;
	font-size: 2.5rem;
	font-weight: var(--font-normal);
	gap: 1.2rem;
	line-height: 1.3;
	padding-bottom: 1.2rem;
}

.step-card__title span {
	background-color: var(--accent-primary);
	border-radius: 50%;
	color: var(--text-inverse);
	display: block;
	flex-shrink: 0;
	font-family: var(--font-en);
	font-size: 2rem;
	font-weight: var(--font-bold);
	height: 3rem;
	line-height: 3rem;
	margin-top: 0.125rem;
	text-align: center;
	width: 3rem;
}

.step-card__desc a {
	color: var(--text-link);
	text-decoration: underline;
}

/*********************
SUB TOP BOX
*********************/

.sub-top-box {
	background-color: var(--bg-primary);
	border-radius: 1.5rem;
	display: grid;
	gap: 3.6rem;
	margin-top: 10rem;
	padding-bottom: 7rem;
	padding-inline: 8rem;
	position: relative;
}

.sub-top-box::before {
	background: url(../img/common/ellipse-subTop-box.webp) no-repeat center center/contain;
	border-radius: 100vmax;
	content: "";
	display: block;
	height: 11.1rem;
	left: 50%;
	position: absolute;
	top: -4.3rem;
	transform: translateX(-50%);
	width: 16.6rem;
	z-index: -1;
}

.sub-top-box__header {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 2.8rem;
	justify-content: center;
}

.sup-top-box__title {
	font-size: 3rem;
	font-weight: var(--font-normal);
	line-height: 1.5;
	text-align: center;
}

.sup-top-box__title span {
	display: inline-block;
}

/*********************
SUB TOP CARD
*********************/

.sub-top-cards {
	gap: 3.5rem;
}

.sub-top-cards.--col3 {
	gap: 3rem;
}

.sub-top-card {
	background-color: var(--bg-inverse);
	border-radius: 1rem;
	box-shadow: var(--shadow-sub);
	display: grid;
	gap: 1.2rem;
	padding: 2.6rem;
	place-items: center;
}

.sub-top-card__icon {
	width: 6rem;
}

.sub-top-card__title {
	font-size: 1.5rem;
	font-weight: var(--font-normal);
	line-height: 1.6;
	text-align: center;
}

/*********************
SYSTEM CARD
*********************/

.system-card .text-wrap {
	position: relative;
}

.system-card .text-wrap > * {
	position: relative;
	z-index: 2;
}

.system-card .text-wrap > span {
	color: var(--accent-primary);
	display: block;
	font-family: var(--font-en);
	font-size: 1.5rem;
	font-weight: var(--font-bold);
	text-align: center;
}

.system-card .text-wrap h3 {
	font-family: var(--font-base-bold);
	font-size: 2.1rem;
	line-height: 1.5;
	margin-top: 1rem;
	text-align: center;
}

.system-card .text-wrap p {
	margin-top: 2rem;
}

.system-card .text-wrap::before {
	background-color: var(--bg-inverse);
	border-radius: 50%;
	content: "";
	display: block;
	height: 7.8rem;
	left: 50%;
	position: absolute;
	top: -1.6rem;
	transform: translateX(-50%);
	width: 11rem;
	z-index: 1;
}

.system-card.--bg {
	background-color: var(--bg-inverse);
	border-radius: 2rem;
	padding: 3.5rem;
}

/*********************
TOPICS CATEGORIES
*********************/

.topics-cats.--btn {
	display: flex;
	flex-wrap: wrap;
	gap: 1.6rem;
	justify-content: center;
}

.topics-cats.--btn .topics-cat {
	align-items: center;
	background-color: var(--bg-primary);
	border-radius: 100vmax;
	color: var(--text-tertiary);
	display: inline-flex;
	filter: drop-shadow(2px 2px 0px #EEE5D2);
	font-family: var(--font-sub);
	font-size: 1.6rem;
	font-weight: var(--font-bold);
	gap: 1.1rem;
	justify-content: center;
	min-width: 13.3rem;
	padding: 0.8rem 2.5rem;
	position: relative;
}

.topics-cats.--btn .topics-cat::before {
	border: 1px dashed var(--accent-primary);
	border-radius: inherit;
	content: "";
	display: block;
	height: 92%;
	left: 2%;
	position: absolute;
	top: 4%;
	width: 96%;
	z-index: 2;
}

.topics-cats.--btn .topics-cat.is-current {
	background-color: var(--accent-primary);
	color: var(--text-inverse);
}

.topics-cats.--select {
	display: none;
	margin-inline: auto;
	max-width: 450px;
	position: relative;
}

.topics-cats.--select::after {
	border-bottom: 2px solid var(--text-tertiary);
	border-right: 2px solid var(--text-tertiary);
	content: "";
	display: block;
	height: 0.9rem;
	pointer-events: none;
	position: absolute;
	right: 1.9rem;
	top: 45%;
	transform: rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	width: 0.9rem;
}

.topics-cats.--select select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: var(--bg-primary);
	border: 1px dashed var(--accent-primary);
	border-radius: 100vmax;
	font-family: var(--font-sub);
	height: unset;
	padding: 1rem 1.7rem;
	width: 100%;
}

/* Auto-generated index.scss for page */

.topics {
	margin-top: var(--header-height-lg);
}

.topics-fv {
	padding-bottom: 7.2rem;
	position: relative;
}

.topics-fv__inner {
	align-items: flex-end;
	display: flex;
}

.topics-fv__title {
	position: relative;
	transform: translateX(-7.8rem);
	z-index: 3;
}

.topics-fv__title-ek {
	bottom: -2.2rem;
	height: 11.4rem;
	position: absolute;
	right: -12.5rem;
	width: 14.2rem;
	z-index: 3;
}

.topics-fv__slide {
	height: min(35.55vw, 512px);
	margin-left: auto;
	max-width: 50%;
}

.topics-fv__slide .swiper {
	height: 100%;
	overflow: visible;
	position: relative;
}

.topics-fv__slide .swiper-wrapper {
	transition-timing-function: linear;
}

.topics-fv__slide .swiper-slide img {
	border: 0.7rem solid var(--bg-inverse);
	border-radius: 3rem;
	display: block;
}

.topics-fv__slide .swiper-slide:nth-child(odd) img {
	transform: translateX(-2%) rotate(-7deg);
}

.topics-fv__slide .swiper-slide:nth-child(even) img {
	transform: translateX(2%) rotate(7deg);
}

.topics-pickup {
	background-color: var(--bg-secondary);
	padding-bottom: 11.7rem;
	padding-top: 5.6rem;
}

.topics-pickup__title {
	margin-left: auto;
	transform: translate(8rem, -1rem) rotate(10deg);
	width: 36.6rem;
}

.topics-pickup__main {
	-moz-column-gap: 4rem;
	column-gap: 4rem;
	display: grid;
	grid-template-columns: 43rem 1fr;
	grid-template-rows: repeat(3, 1fr);
	position: relative;
	row-gap: 2rem;
}

.topics-pickup__main .archive-card:first-child {
	grid-area: 1/1/4/2;
}

.topics-pickup__main-ek {
	bottom: -3rem;
	height: 7rem;
	left: -9.7rem;
	position: absolute;
	width: 12.5rem;
	z-index: 2;
}

.topics-archive .topics-main {
	background: var(--bg-secondary) url(../img/topics/topics-bg_lg.webp) no-repeat center top/cover;
	padding-bottom: 10rem;
	padding-top: 20rem;
}

.topics-archive .topics-main.--paged {
	background-position: center -2%;
}

.topics-archive .topics-main__cats {
	margin-bottom: 10rem;
	margin-top: 16rem;
}

.topics-tax .topics-main {
	background-color: var(--bg-inverse);
	padding-block: 12rem;
}

.topics-main__title {
	margin-inline: auto;
	position: relative;
	width: 26.5rem;
	z-index: 2;
}

.topics-main__title::before {
	background-color: rgba(255, 191, 0, 0.2);
	bottom: -5%;
	content: "";
	display: block;
	height: 35%;
	left: -5%;
	position: absolute;
	width: 110%;
	z-index: -1;
}

.topics-main__cats {
	margin-bottom: 9.2rem;
}

.topics-footer {
	padding-top: 9.6rem;
	position: relative;
}

.topics-footer::before {
	background: url(../img/topics/footer-bg_lg.webp) no-repeat center top/cover;
	bottom: 0;
	content: "";
	height: 115%;
	left: 0;
	position: absolute;
	width: 100%;
}

.topics-footer .building {
	width: 60rem;
}

.topics-footer .ek {
	bottom: -0.6rem;
	left: var(--container-side);
	position: absolute;
	width: 11.5rem;
	z-index: 2;
}

.topics-tax__h1 {
	background-color: var(--bg-secondary);
	padding-bottom: 9.2rem;
	padding-top: 7rem;
}

.topics-tax__h1 span {
	font-size: 1.5rem;
	font-weight: var(--font-bold);
}

.topics-tax__h1 h1 {
	font-family: var(--font-sub);
	font-size: 4.5rem;
	font-weight: var(--font-medium);
	line-height: 1.5;
}

input[type=email],
input[type=text],
input[type=tel],
input[type=file],
input[type=url],
input[type=number],
input[type=date],
select,
textarea {
	color: inherit;
	display: inline-block;
	font-size: 16px;
	width: 100%;
}

input[type=email],
input[type=text],
input[type=tel],
input[type=url],
input[type=number],
input[type=date],
select,
textarea {
	background-color: #f7f7f7;
	border: none;
	border: 1px solid #f7f7f7;
	border-radius: 5px;
	height: 50px;
	line-height: 1.7;
	padding: 0.8rem 1.7rem;
	transition: border-color 0.1s;
}

input[type=email]:focus,
input[type=text]:focus,
input[type=tel]:focus,
input[type=url]:focus,
input[type=number]:focus,
input[type=date]:focus,
select:focus,
textarea:focus {
	border: 1px solid var(--text-secondary);
	outline: none;
}

textarea {
	height: 18.7rem;
	resize: vertical;
}

::-moz-placeholder {
	color: var(--text-secondary);
	font-size: 16px;
	line-height: 1.5;
}

::placeholder {
	color: var(--text-secondary);
	font-size: 16px;
	line-height: 1.5;
}

input[type=number] {
	height: 6rem;
	margin-right: 0.5rem;
	width: 12rem;
}

input input[type=checkbox],
input[type=radio] {
	vertical-align: middle;
}

input[name=your-zip] {
	width: 223px;
}

/* デフォルトのラジオボタン無効化 */

input[type=radio] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input[type=checkbox] {
	height: 2.4rem;
	width: 2.4rem;
}

.js-datepicker {
	cursor: pointer;
}

input[type=submit] {
	background-color: var(--accent-primary);
	border: 1px solid var(--accent-primary);
	border-radius: 100vmax;
	color: var(--text-inverse);
	cursor: pointer;
	display: inline-block;
	font-family: var(--font-base-bold);
	font-size: max(1.5rem, 14px);
	padding: 1.2rem;
	text-align: center;
	text-decoration: none;
	transition: all var(--transition-duration);
	width: 100%;
}

.form-inner {
	background-color: var(--bg-inverse);
	border-radius: 1rem;
	padding: 4rem;
}

.form-block {
	display: grid;
	gap: 5.2rem;
}

.form-block {
	border-top: 1px dashed var(--text-secondary);
	margin-top: 5.2rem;
	padding-top: 5.2rem;
}

.form-inner > .form-block:first-child {
	border-top: none;
	margin-top: 0;
	padding-top: 0;
}

.form-block-title {
	font-family: var(--font-base-bold);
	font-size: 2rem;
}

.form-block-body {
	display: grid;
	gap: 5.6rem;
}

.group-wrap {
	display: grid;
	gap: 2.4rem;
}

.item-form-contact {
	display: grid;
	gap: 0.8rem;
}

.heading-form-contact {
	-moz-column-gap: 1.5rem;
	align-items: center;
	column-gap: 1.5rem;
	display: flex;
	font-family: var(--font-base-bold);
}

.heading-form-contact .contact-label {
	color: var(--accent-primary);
	display: inline-block;
	font-size: 1.2rem;
}

.heading-form-contact .contact-notes {
	display: block;
	font-family: var(--font-base-regular);
	font-size: 90%;
	width: 100%;
}

.heading-form-contact:has(.contact-notes) {
	flex-wrap: wrap;
}

.detail-form-contact:has(.form-select) {
	position: relative;
}

.detail-form-contact:has(.form-select)::after {
	border-bottom: 1.5px solid var(--text-tertiary);
	border-right: 1.5px solid var(--text-tertiary);
	content: "";
	display: block;
	height: 0.9rem;
	pointer-events: none;
	position: absolute;
	right: 1.9rem;
	top: 45%;
	transform: rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	width: 0.9rem;
}

.detail-form-contact:has(.js-datepicker) {
	position: relative;
}

.detail-form-contact:has(.js-datepicker)::after {
	background: url(../img/common/icon-calendar.svg) no-repeat center center/contain;
	content: "";
	display: block;
	height: 1.5rem;
	pointer-events: none;
	position: absolute;
	right: 1.7rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5rem;
}

.form-submit {
	margin-bottom: 1.6rem;
	margin-top: 4rem;
}

.form-radio label {
	display: block;
	position: relative;
}

.form-radio input[type=radio] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
}

.form-radio input[type=radio] + span {
	cursor: pointer;
	display: inline-flex;
	font-family: var(--font-base-bold);
	padding-left: 2.6rem;
	position: relative;
}

.form-radio input[type=radio] + span::before {
	background-color: #F6F6F6;
	border: 1px solid var(--text-secondary);
	border-radius: 50%;
	content: "";
	display: block;
	height: 1.8rem;
	left: 0;
	position: absolute;
	top: calc((1lh - 1.8rem) / 2);
	transition: border-color var(--transition-duration);
	width: 1.8rem;
}

.form-radio input[type=radio] + span::after {
	background-color: var(--accent-primary);
	border-radius: 50%;
	content: "";
	display: block;
	height: 1rem;
	left: 0.4rem;
	opacity: 0;
	position: absolute;
	top: calc((1lh - 1rem) / 2);
	transition: opacity var(--transition-duration);
	width: 1rem;
}

.form-radio input[type=radio]:checked + span::before {
	border-color: var(--accent-primary);
}

.form-radio input[type=radio]:checked + span::after {
	opacity: 1;
}

.form-radio input[type=radio]:focus-visible {
	outline: 1px solid var(--text-primary);
}

.radio-description {
	background-color: var(--bg-primary);
	border-radius: 1.5rem;
	margin-left: 2.6rem;
	margin-right: 1rem;
	margin-top: 0.8rem;
	padding: 1.8rem 1.6rem;
}

[data-class=wpcf7cf_group] > * + * {
	margin-top: 3.2rem;
}

.ui-datepicker {
	top: var(--datepicker-inspection-top) !important;
}

.form-valid-msg {
	color: var(--text-caution);
	display: none;
	font-size: 1.5rem;
}

.form-confirm .form-block {
	gap: 2rem;
}

.form-confirm .form-block-body {
	gap: 1.6rem;
}

.form-confirm .group-wrap {
	gap: 0.6rem;
}

.form-confirm .item-form-contact {
	display: flex;
}

.form-confirm .heading-form-contact {
	align-items: flex-start;
	color: var(--text-secondary);
	font-family: var(--font-base-regular);
	width: 30%;
}

.form-confirm .detail-form-contact {
	width: 70%;
}

.form-confirm [data-class=wpcf7cf_group] > * + * {
	margin-top: 1.2rem;
}

.form-consent {
	background-color: #F6F6F6;
	border-radius: 1.5rem;
	display: grid;
	gap: 1.2rem;
	margin-top: 3rem;
	padding: 3rem 3.2rem;
}

.form-consent a {
	color: var(--text-link);
}

.form-privacy a {
	display: inline-block;
	padding-right: 4px;
}

.form-reCAPTCHA {
	color: var(--text-secondary);
	font-size: max(1.2rem, 11px);
}

.form-back {
	margin-top: 1.5rem;
}

.wpcf7-radio {
	display: grid;
	gap: 1.6rem;
}

.wpcf7-radio .wpcf7-list-item {
	border: 1px solid var(--border-primary);
	border-radius: 0.5rem;
	display: block;
	margin: 0;
	transition: border-color var(--transition-duration);
}

.wpcf7-radio .wpcf7-list-item > label {
	cursor: pointer;
	padding: 1rem;
}

.wpcf7-radio .wpcf7-list-item:has(input[type=radio]:checked) {
	border-color: var(--accent-primary);
}

#radio-payment-or-name .wpcf7-list-item {
	overflow: clip;
	padding: 3.9rem 1rem 1rem;
	position: relative;
}

#radio-payment-or-name .wpcf7-list-item > label {
	align-items: flex-start;
	height: 100%;
	left: 0;
	padding: 0;
	padding-left: 1rem;
	padding-top: 1rem;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 2;
}

#radio-payment .wpcf7-list-item {
	overflow: clip;
	padding: 3.9rem 1rem 1rem;
	position: relative;
}

#radio-payment .wpcf7-list-item > label {
	align-items: flex-start;
	height: 100%;
	left: 0;
	padding: 0;
	padding-left: 1rem;
	padding-top: 1rem;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 2;
}

.wpcf7-list-item label {
	align-items: center;
	display: flex;
	gap: 2rem;
	vertical-align: middle;
}

.wpcf7-list-item-label {
	display: flex;
	width: 100%;
}

.wpcf7-list-item {
	margin: 0 6rem 0 0;
}

.wpcf7-list-item:last-child {
	margin: 0;
}

.wpcf7-checkbox .wpcf7-list-item {
	display: block;
	margin-bottom: 0.5em;
}

.wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}

/*送信完了メッセージ*/

.wpcf7 form.sent .wpcf7-response-output {
	background-color: #fff;
	border-color: #4a84af;
	margin-top: 3em;
	padding: 2em;
}

/*Google reCAPCHA*/

.reCAPTCHA {
	font-size: 1.2rem;
	letter-spacing: 0.05em;
	line-height: 2;
	margin-top: 4.8rem;
}

.reCAPTCHA a {
	color: var(--text-accent);
	text-decoration: underline;
}

.emergency__anchor {
	gap: 4.5rem;
}

.emergency__cards {
	gap: 3rem;
}

.procedure__flowList li h3 {
	display: flex;
	font-size: 1.8rem;
	font-weight: var(--font-regular);
	gap: 1rem;
}

.procedure__flowList li h3 span {
	background-color: var(--accent-primary);
	border-radius: 50%;
	color: var(--text-inverse);
	display: block;
	font-family: var(--font-en);
	font-size: 1.4rem;
	font-weight: var(--font-bold);
	height: 2rem;
	line-height: 2rem;
	margin-top: 0.62rem;
	text-align: center;
	width: 2rem;
}

.procedure__flowList li p {
	font-size: 1.5rem;
	margin-top: 0.6rem;
	padding-left: 2.2rem;
}

.procedure__flowList li + li {
	border-top: 1px dashed var(--text-secondary);
	margin-top: 2.7rem;
	padding-top: 2.7rem;
}

.lpg-2column {
	align-items: center;
	justify-content: space-between;
}

.lpg-2column .img-wrap {
	width: 47%;
}

.lpg-2column .text-wrap {
	display: grid;
	gap: 4.5rem;
	width: 42%;
}

.lpg-2column .text-wrap p + p {
	margin-top: 1.7em;
}

.lpg-2column .text-wrap.w-full {
	width: 100%;
}

.lpg-2column .text-wrap.w-full > div {
	width: 52%;
}

.feature-systems__lead {
	margin-top: 3.2rem;
}

.feature-systems__cards {
	gap: 2.4rem;
	margin-top: 4rem;
}

.safe-inspection__list {
	display: grid;
	gap: 4rem;
}

.safe-inspection__list li {
	align-items: center;
	display: flex;
	gap: 2.4rem;
}

.safe-inspection__list li .img-wrap {
	flex-shrink: 0;
	width: 30%;
}

.safe-inspection__list li .text-wrap > span {
	border: 1px solid var(--accent-primary);
	border-radius: 0.8rem;
	color: var(--accent-primary);
	display: inline-block;
	font-family: var(--font-base-bold);
	font-size: max(1.2rem, 11px);
	padding: 0.3rem 2rem;
}

.safe-inspection__list li .text-wrap h3 {
	font-family: var(--font-base-bold);
	font-size: 2.1rem;
	line-height: 1.5;
	margin-top: 1rem;
}

.safe-inspection__list li .text-wrap p {
	margin-top: 1rem;
}

.safe-device__cards {
	gap: 4rem;
}

.appliance-faq__list {
	margin-top: 4rem;
}

.process__list {
	display: grid;
	gap: 2.4rem;
}

.process__item {
	align-items: center;
	background-color: var(--bg-inverse);
	border-radius: 1.5rem;
	display: flex;
	gap: 6.4rem;
	padding: 3.5rem 6rem;
}

.process__item .icon-wrap {
	background-color: var(--bg-primary);
	border-radius: 50%;
	display: grid;
	flex-shrink: 0;
	height: 11.3rem;
	place-items: center;
	width: 11.3rem;
}

.process__item .text-wrap > span {
	background-color: var(--accent-primary);
	border-radius: 3rem;
	color: var(--text-inverse);
	font-family: var(--font-base-bold);
	font-size: 1.3rem;
	letter-spacing: 0;
	padding: 0rem 1.5rem;
	text-transform: uppercase;
}

.process__item .text-wrap h2 {
	font-family: var(--font-base-bold);
	font-size: 2.5rem;
	line-height: 1.5;
	margin-top: 0.6rem;
}

.process__item .text-wrap p {
	margin-top: 1rem;
}

.process__item .text-wrap p a {
	color: var(--text-link);
	text-decoration: underline;
	text-underline-offset: 0.2rem;
}

.company-index {
	padding-bottom: 12rem;
}

.company-index__list {
	display: grid;
	gap: 5.6rem;
	position: relative;
	z-index: 2;
}

.company-index__item {
	align-items: flex-end;
	gap: 11rem;
	padding-bottom: 6rem;
	position: relative;
}

.company-index__item::before {
	background-color: var(--bg-inverse);
	border-radius: 2.4rem;
	bottom: 0;
	content: "";
	display: block;
	height: 85%;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
}

.company-index__item .img-wrap {
	border: 1.2rem solid var(--bg-inverse);
	border-bottom: none;
	flex-shrink: 0;
	width: 44%;
}

.company-index__item .text-wrap {
	display: grid;
	gap: 2.4rem;
}

.company-index__item .text-wrap h2 {
	font-size: 2.5rem;
	font-weight: var(--font-regular);
}

.company-index__item .text-wrap h2::before {
	width: 9px;
}

.company-index__item .text-wrap p {
	font-size: 1.4rem;
	letter-spacing: 0.06em;
}

.company-index__item:nth-child(odd) .img-wrap {
	margin-right: 3rem;
}

.company-index__item:nth-child(odd) .text-wrap {
	margin-left: 7.2rem;
}

.company-index__item:nth-child(even) .img-wrap {
	margin-left: 3rem;
}

.company-index__item:nth-child(even) .text-wrap {
	margin-right: 7.2rem;
}

.company-topics {
	font-family: var(--font-sub);
	overflow: hidden;
	padding-bottom: 7.2rem;
	padding-top: 6rem;
	position: relative;
}

.company-topics__inner {
	align-items: flex-end;
	display: flex;
	margin-inline: auto;
	padding-bottom: 5rem;
	position: relative;
	width: min(75%, 840px);
}

.company-topics__inner::before {
	background-color: var(--bg-inverse);
	border-radius: 2rem;
	bottom: 0;
	content: "";
	display: block;
	height: 76%;
	left: 0;
	position: absolute;
	width: 100%;
}

.company-topics__header {
	padding-bottom: 2rem;
}

.company-topics__header h2 {
	position: relative;
	width: 44.4rem;
}

.company-topics__header h2 img {
	width: 100%;
}

.company-topics__header p {
	font-size: 1.8rem;
	font-weight: var(--font-medium);
	margin-left: 8rem;
	margin-top: 4rem;
	max-width: 31.7rem;
	position: relative;
}

.company-topics__header .btn-wrap {
	margin-left: 8rem;
	margin-top: 4rem;
}

.company-topics__img {
	flex-shrink: 0;
	margin-left: auto;
	margin-right: 6.4rem;
	transform: rotate(-9deg);
	width: 27rem;
}

.company-section__content {
	display: grid;
	gap: 4rem;
}

.company-section__content .text-wrap p {
	letter-spacing: 0.01em;
	text-align: justify;
}

.company-section__content .text-wrap p + p {
	margin-top: 1.7em;
}

.company-section__content .btn-wrap:has(.btn-sub) {
	margin-inline: auto;
	max-width: -moz-fit-content;
	max-width: fit-content;
}

.company-section__content .flex {
	gap: 2rem;
}

.company-section__content .flex .btn-wrap:has(.btn-sub) {
	margin-inline: 0;
}

.is-en .company-section__content .text-wrap p {
	text-align: left;
}

.overview-message__signature span {
	display: block;
}

.overview-message__signature span,
.overview-message__signature p {
	text-align: right;
}

.overview-message__signature p {
	font-size: 2rem;
}

.overview-commitment__list {
	display: grid;
	gap: 2rem;
}

.overview-commitment__item {
	background-color: var(--bg-primary);
	border-radius: 2rem;
	padding: 3.5rem;
}

.overview-commitment__item > span {
	display: inline-block;
	font-size: 1.5rem;
	text-decoration: underline;
	text-underline-offset: 0.2rem;
}

.overview-commitment__item h3 {
	font-family: var(--font-base-bold);
	font-size: 2rem;
}

.overview-commitment__item ul {
	display: grid;
	gap: 0.3rem;
	margin-top: 1.2rem;
}

.overview-commitment__item ul li {
	align-items: flex-start;
	gap: 1.2rem;
}

.overview-commitment__item ul li::before {
	margin-top: calc((1lh - 8.75px) / 2);
}

.overview-history .list-description > div.is-hidden {
	border: none;
	height: 0;
	margin: 0;
	opacity: 0;
	padding: 0;
	visibility: hidden;
}

.overview-history__toggleBtn {
	margin-top: 3.2rem;
	position: relative;
	text-align: center;
}

.overview-history__toggleBtn::before {
	background-color: var(--border-tertiary);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}

.overview-history__toggleBtn button {
	-webkit-appearance: none;
	-moz-appearance: none;
	align-items: center;
	appearance: none;
	background-color: var(--bg-inverse);
	border: 1px solid var(--border-tertiary);
	border-radius: 100vmax;
	color: var(--text-primary);
	cursor: pointer;
	display: inline-flex;
	font-size: 12px;
	gap: 4px;
	padding: 8px 17px;
	position: relative;
}

.overview-history__toggleBtn button .toggle {
	display: block;
	height: 10px;
	position: relative;
	width: 10px;
}

.overview-history__toggleBtn button .toggle::before,
.overview-history__toggleBtn button .toggle::after {
	background-color: var(--text-primary);
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}

.overview-history__toggleBtn button .toggle::after {
	transform: translateY(-50%) rotate(-90deg);
}

.overview-history__toggleBtn button[data-role=close] .toggle::after {
	transform: translateY(-50%) rotate(0deg);
}

.shop__anchor {
	gap: 2rem;
}

.shop__heading {
	font-size: 3rem;
	font-weight: var(--font-normal);
}

.shop__cards {
	display: flex;
	flex-wrap: wrap;
	gap: 4rem;
}

.shop__cards > * {
	width: calc(50% - 2rem);
}

.forbiz-intro .text-wrap {
	width: 52%;
}

.forbiz-intro .text-wrap p + p {
	margin-top: 1.7em;
}

.forbiz-feature__cards {
	gap: 5rem;
}

.privacy .editable-content h2 {
	border-bottom: none;
	font-size: 2.5rem;
	margin-bottom: 1.6rem;
	padding-bottom: 0;
}

.privacy .editable-content h2::before {
	display: none;
}

.privacy .editable-content * + h2 {
	margin-top: 4.8rem;
}

/*********************
SINGLE-POST
*********************/

.main-single-post {
	margin-top: var(--header-height-lg);
	padding-top: 8rem;
}

.single-post__wrap {
	background-color: var(--bg-inverse);
	border-radius: 1.5rem;
	padding: 8rem;
}

.single-post__header {
	border-bottom: 1px dashed var(--border-primary);
	padding-bottom: 3rem;
}

.single-post__time time {
	color: var(--accent-primary);
	font-size: 1.5rem;
}

.single-post__title {
	font-size: 3rem;
	font-weight: var(--font-normal);
	line-height: 1.5;
}

.single-post__content {
	padding-top: 4rem;
}

.single-post__btn {
	margin-top: 8rem;
}

/*********************
SINGLE-TOPICS
*********************/

.main-single-topics {
	color: var(--text-tertiary);
	font-family: var(--font-sub);
	margin-top: var(--header-height-lg);
	padding-top: 5.8rem;
}

.single-topics__main {
	padding-bottom: 10rem;
}

.single-topics__main .sticky-column__side {
	width: max(29rem, 260px);
}

.single-topics__main .sticky-column__main:has(.single-topics__eyecatch) + .sticky-column__side {
	padding-top: 24rem;
}

.single-topics__wrap {
	background-color: var(--bg-inverse);
	border-radius: 2.6rem;
	padding: 6rem 8rem;
	position: relative;
}

.single-topics__wrap:has(.single-topics__eyecatch) {
	background-color: transparent;
	position: relative;
}

.single-topics__wrap:has(.single-topics__eyecatch)::before {
	background-color: var(--bg-inverse);
	border-radius: 2.6rem;
	bottom: 0;
	content: "";
	height: calc(100% - 24rem);
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 0;
}

.single-topics__wrap:has(.single-topics__eyecatch) > * {
	position: relative;
}

.single-topics__eyecatch {
	border: 0.7rem solid var(--bg-inverse);
	margin-bottom: 2.4rem;
}

.single-topics__header {
	-moz-column-gap: 2rem;
	align-items: center;
	column-gap: 2rem;
	display: flex;
	flex-wrap: wrap;
	row-gap: 0.8rem;
}

.single-topics__time {
	color: var(--accent-primary);
	font-size: 1.8rem;
	font-weight: var(--font-bold);
}

.single-topics__cats {
	display: flex;
	gap: 0.8rem;
}

.single-topics__cat {
	background-color: var(--bg-primary);
	border-radius: 0.5rem;
	color: var(--accent-primary);
	display: inline-block;
	font-size: 1.4rem;
	font-weight: var(--font-bold);
	padding: 0.4rem 1rem;
	position: relative;
}

.single-topics__cat::before {
	border: 0.1rem dashed var(--accent-primary);
	border-radius: 0.3rem;
	content: "";
	display: block;
	height: calc(100% - 0.6rem);
	left: 50%;
	position: absolute;
	top: 49%;
	transform: translate(-50%, -50%);
	width: calc(100% - 0.6rem);
}

.single-topics__title {
	font-size: 3rem;
	line-height: 1.7;
}

.single-topics__content {
	font-size: 1.7rem;
	font-weight: var(--font-medium);
	margin-top: 4.5rem;
}

.single-topics__content * {
	font-weight: var(--font-medium);
}

.single-topics__content h2,
.single-topics__content h3,
.single-topics__content h4,
.single-topics__content h5 {
	font-weight: var(--font-bold);
}

.single-topics__content h2::before {
	display: none;
}

.single-topics__content h3 {
	font-family: var(--font-sub);
}

.single-topics__content .wp-block-image img {
	border-radius: 2rem;
	overflow: hidden;
}

.single-topics__share {
	background-color: var(--bg-inverse);
	border-radius: 2.6rem;
	margin-top: 4.3rem;
	padding: 2.8rem 2.8rem 4.4rem;
	position: relative;
}

.single-topics__share::before {
	border: 1px dashed var(--accent-primary);
	border-radius: 1.8rem;
	content: "";
	height: calc(100% - 2rem);
	left: 1rem;
	position: absolute;
	top: 1rem;
	width: calc(100% - 2rem);
}

.single-topics__share p {
	font-size: 2.5rem;
	font-weight: var(--font-bold);
	margin-inline: auto;
	width: -moz-fit-content;
	width: fit-content;
}

.single-topics__share p::after {
	background: linear-gradient(to bottom, var(--accent-primary) 0%, var(--accent-secondary) 100%);
	content: "";
	display: block;
	height: 100%;
	width: 100%;
}

.single-topics__share ul {
	align-items: center;
	display: flex;
	gap: 4rem;
	justify-content: center;
	margin-top: 4rem;
}

.single-topics__share ul li a {
	background-color: var(--accent-primary);
	border-radius: 50%;
	display: grid;
	filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.25));
	height: 4.9rem;
	place-items: center;
	width: 4.9rem;
}

.single-topics__share ul li .share-fs img {
	height: 2.5rem;
	width: 1.4rem;
}

.single-topics__share ul li .share-x img {
	height: 2.1rem;
	width: 2.3rem;
}

.single-topics__share ul li .share-instagram {
	opacity: 0.2;
}

.single-topics__share ul li .share-instagram img {
	height: 2.5rem;
	width: 2.5rem;
}

.single-topics__share ul li .share-line img {
	height: 3.4rem;
	width: 3.4rem;
}

.single-topics__toc-inner {
	position: sticky;
	top: calc(var(--header-height-lg) + 2rem);
}

.single-topics__toc-content {
	background-color: var(--bg-inverse);
	border-radius: 2.6rem;
	padding: 7.5rem 3.5rem;
	position: relative;
}

.single-topics__toc-content::after {
	background: url(../img/common/illust-ek_012.webp) no-repeat center center/contain;
	bottom: -0.3rem;
	content: "";
	height: 4.8rem;
	position: absolute;
	right: 2.2rem;
	width: 9.5rem;
	z-index: 2;
}

.single-topics__toc-title {
	left: 50%;
	margin-inline: auto;
	position: absolute;
	top: -1.1rem;
	transform: translateX(-50%);
	width: 11.3rem;
	z-index: 2;
}

.single-topics__toc-list li a {
	border-bottom: 1px dashed var(--border-primary);
	display: block;
	font-size: 1.5rem;
	font-weight: var(--font-medium);
	line-height: 1.55;
	padding-block: 1.4rem;
}

.single-topics__toc-list li a.is-current {
	color: var(--accent-primary);
}

.single-topics__navigation {
	background-color: var(--bg-inverse);
	padding-bottom: 8rem;
	padding-top: 9.6rem;
}

.single-topics__navigation-inner {
	margin-inline: auto;
	max-width: 770px;
}

.single-topics__navigation-inner .post-wrap {
	display: flex;
	gap: 7.2rem;
}

.single-topics__navigation-inner .post-wrap > div {
	width: 50%;
}

.single-topics__navigation-inner .btn-wrap {
	margin-top: 6rem;
}

.fv {
	margin-top: 13.1rem;
	padding-bottom: 8rem;
	padding-top: 2.4rem;
	position: relative;
}

.fv__ek {
	display: none;
}

.fv__inner {
	display: flex;
	gap: 4rem;
	margin-inline: auto;
	max-width: 1350px;
}

.fv__main {
	position: relative;
	width: 82.83%;
}

.fv__slider {
	border-radius: 2rem;
	opacity: 0;
	overflow: hidden;
	position: relative;
	transition: opacity 1s;
}

.fv__slider .img-wrap {
	aspect-ratio: 1109/550;
}

.fv__slider .swiper-slide-active .img-wrap,
.fv__slider .swiper-slide-duplicate-active .img-wrap,
.fv__slider .swiper-slide-prev .img-wrap {
	animation: zoomUp 10s linear 0s 1 normal both;
}

.fv__slider .fv__pagination {
	align-items: center;
	bottom: 2.4rem;
	display: flex;
	left: 4.2rem;
	position: absolute;
	z-index: 2;
}

.fv__slider .fv__pagination .swiper-pagination-bullet {
	background-color: transparent;
	border: 1px solid var(--text-inverse);
	height: 5px;
	margin-inline: 6.5px;
	opacity: 1;
	width: 5px;
}

.fv__slider .fv__pagination .swiper-pagination-bullet-active {
	background: url(../img/common/icon-flame-inverse.svg) no-repeat center center/contain;
	border: none;
	height: 11px;
	width: 8px;
}

.fv__slider.is-visible {
	opacity: 1;
}

.fv__copy {
	left: 3.7rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.fv__copy-main {
	color: #FFF9EE;
	font-size: 4.8rem;
	letter-spacing: 0.05em;
	line-height: 1;
	overflow: hidden;
	text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.fv__copy-main span {
	display: inline-block;
	opacity: 0;
	overflow: hidden;
	transition: all 0.6s linear;
}

.fv__copy-main.is-visible span {
	opacity: 1;
}

.fv__copy-sub {
	color: #FFF9EE;
	font-size: 1.8rem;
	margin-top: 1rem;
	opacity: 0;
	padding-left: 1rem;
	transform: translateY(1rem);
	transition: all 0.5s linear;
}

.fv__copy-sub.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.fv__news {
	align-items: center;
	background-color: var(--bg-inverse);
	border-radius: 1.5rem;
	display: flex;
	margin-top: 1.2rem;
	opacity: 0;
	padding: 0.5rem 3rem;
	transform: translateY(1.5rem);
	transition: all 0.6s linear;
	width: 78.19%;
}

.fv__news.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.fv__news-heading {
	flex-shrink: 0;
	font-size: 1.4rem;
	padding-right: 3.7rem;
	position: relative;
}

.fv__news-heading span {
	color: var(--accent-primary);
	font-family: var(--font-en);
	font-weight: var(--font-medium);
	line-height: 1.2;
}

.fv__news-heading p {
	line-height: 1.3;
}

.fv__news-heading::after {
	background-color: #D9D9D9;
	content: "";
	display: block;
	height: 3rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
}

.fv__news-body {
	flex-grow: 1;
	padding-left: 3.7rem;
}

.fv__news-body .archive-list .archive-list__link {
	padding-block: 1.5rem;
}

.fv__main-ek {
	bottom: 0;
	height: 11.4rem;
	opacity: 0;
	position: absolute;
	right: 2rem;
	transform: translateY(50%);
	transition: all 0.6s linear;
	width: 14.2rem;
	z-index: 2;
}

.fv__main-ek.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.fv__menu {
	opacity: 0;
	padding-top: 1rem;
	transform: translateX(1.5rem);
	transition: all 0.6s linear;
	width: min(13.05%, 17.5rem);
}

.fv__menu .quick-menu__list {
	margin-top: 2.5rem;
}

.fv__menu .quick-menu__list li + li::before {
	height: 0.2rem;
	left: 0.5rem;
	top: 0;
	width: calc(100% - 1rem);
}

.fv__menu .quick-menu__list a {
	font-size: 1.4rem;
	gap: 0.7rem;
	padding: 1.8rem 1.2rem;
}

.fv__menu.is-visible {
	opacity: 1;
	transform: translateX(0);
}

.fv__menu-heading {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.fv__menu-heading::before {
	background: url(../img/common/icon-flame-accent.svg) no-repeat center center/contain;
	content: "";
	display: block;
	height: 8px;
	width: 6px;
}

.fv__menu-heading span {
	color: var(--accent-primary);
	font-family: var(--font-en);
	font-size: 1.5rem;
	font-weight: var(--font-medium);
	line-height: 1.4;
}

.fv__menu-heading p {
	font-size: 1.4rem;
}

.top-procedure {
	padding-block: 6rem;
	position: relative;
}

.top-procedure__inner {
	display: grid;
	gap: 15.2rem;
	grid-template-columns: max-content auto;
}

.top-procedure__text {
	font-size: 1.4rem;
	margin-top: 4.8rem;
	max-width: 329px;
}

.top-procedure__btn {
	margin-top: 4.8rem;
}

.top-procedure__cards {
	gap: 2.8rem;
}

.top-procedure__card {
	filter: drop-shadow(5px 5px 15px rgba(0, 0, 0, 0.15));
	position: relative;
}

.top-procedure__card .text-wrap {
	bottom: 1.2rem;
	color: var(--text-inverse);
	font-size: 11px;
	left: 1.2rem;
	position: absolute;
	width: calc(100% - 2.4rem);
}

.top-procedure__card span {
	display: block;
	font-family: var(--font-en);
	line-height: 1.4;
}

.top-procedure__card h3 {
	align-items: center;
	display: flex;
	gap: 1rem;
}

.top-procedure__card h3::after {
	background: url(../img/common/icon-circleArrow-subtle.svg) no-repeat center center/contain;
	content: "";
	display: block;
	height: 2rem;
	width: 2rem;
}

.top-procedure__ek {
	bottom: -4.85rem;
	height: 9.7rem;
	left: var(--container-side);
	position: absolute;
	width: 14.1rem;
	z-index: 2;
}

.top-banner {
	overflow: hidden;
	padding-top: 11.2rem;
}

.top-banner__wrap {
	overflow: visible !important;
}

.top-banner__wrap:not(.swiper-initialized) .top-banner__cards {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(2, 1fr);
}

.top-banner__cards {
	transition-timing-function: linear;
}

.top-banner__card {
	padding: 15px;
}

.top-banner__card a {
	border-radius: 1rem;
	box-shadow: var(--shadow-sub);
	display: block;
	overflow: hidden;
}

.top-news {
	background-color: var(--bg-primary);
	padding-top: 8.4rem;
	position: relative;
}

.top-news__inner {
	background-color: var(--bg-inverse);
	display: flex;
	padding: 8.2rem 8.2rem 10rem;
}

.top-news__text {
	font-size: 1.4rem;
	margin-top: 4.8rem;
	max-width: 290px;
}

.top-news__btn {
	margin-top: 4.8rem;
}

.top-news__lists {
	margin-left: auto;
	width: 61.5%;
}

.top-news__ek {
	bottom: 0;
	height: 6.7rem;
	position: absolute;
	right: calc((100vw - 1256px) / 2 + 8.2rem);
	width: 12rem;
	z-index: 2;
}

.top-lpg {
	padding-block: 10rem;
}

.top-lpg__header {
	display: grid;
	grid-template-columns: auto max-content;
}

.top-lpg__text {
	font-size: 1.4rem;
	margin-top: 4.8rem;
	max-width: 314px;
}

.top-lpg__btn {
	place-self: end;
}

.top-lpg__cards {
	gap: 2rem;
	margin-top: 7rem;
}

.top-lpg__card {
	filter: drop-shadow(5px 5px 15px rgba(0, 0, 0, 0.15));
	position: relative;
}

.top-lpg__card .text-wrap {
	bottom: 1.9rem;
	left: 2rem;
	position: absolute;
	width: calc(100% - 4rem);
}

.top-lpg__card h3 {
	align-items: center;
	color: var(--text-inverse);
	display: flex;
	font-family: var(--font-base-bold);
	font-size: 1.7rem;
	gap: 1.8rem;
}

.top-lpg__card h3::after {
	background: url(../img/common/icon-circleArrow-subtle.svg) no-repeat center center/contain;
	content: "";
	display: block;
	height: 2.1rem;
	width: 2.1rem;
}

.top-company {
	padding-bottom: 16.6rem;
	padding-top: 6.5rem;
}

.top-company__header {
	display: grid;
	grid-template-columns: auto max-content;
}

.top-company__cards {
	gap: 8.8rem;
	margin-top: 7.4rem;
}

.top-company__card {
	display: grid;
	gap: 2rem;
}

.top-company__card .img-wrap {
	aspect-ratio: 506/320;
}

.top-company__card h3 {
	gap: 1rem;
}

.top-company__card h3::before {
	width: 0.8rem;
}

.top-company__card p {
	font-size: 1.4rem;
	letter-spacing: 0.06em;
}

.top-topics {
	font-family: var(--font-sub);
	overflow: hidden;
	padding-bottom: 12.4rem;
	padding-top: 10rem;
	position: relative;
}

.top-topics__inner {
	align-items: flex-end;
	display: flex;
	gap: 4.4rem;
	justify-content: space-between;
	padding: 0 5.8rem 4.3rem 0;
	position: relative;
}

.top-topics__inner::before {
	background-color: var(--bg-inverse);
	border-radius: 2rem;
	bottom: 0;
	content: "";
	display: block;
	height: 75%;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.top-topics__inner * {
	position: relative;
	z-index: 2;
}

.top-topics__ek {
	bottom: -5rem;
	height: 11.3rem;
	left: -5rem;
	position: absolute;
	width: 14rem;
	z-index: 3;
}

.top-topics__header {
	width: 37%;
}

.top-topics__heading {
	transform: translateX(-1.6rem);
	width: 44.4rem;
}

.top-topics__heading img {
	width: 100%;
}

.top-topics__texts {
	padding-bottom: 2.1rem;
	padding-left: 8rem;
}

.top-topics__texts p {
	font-size: 1.8rem;
	font-weight: var(--font-medium);
	letter-spacing: 0.01em;
	margin-top: 4.7rem;
}

.top-topics__texts p span {
	display: inline-block;
}

.top-topics__texts .btn-wrap {
	margin-top: 4rem;
}

.top-topics__cards {
	grid-template-columns: repeat(2, 1fr);
	width: 57.56%;
}

.top-topics__cards .archive-card {
	animation: tiltSmall 2.5s infinite;
}

.top-topics__cards .archive-card:last-child {
	animation: tiltSmall 2s 0.8s infinite;
}

.top-topics__cards .archive-card__img {
	border: 0.5rem solid var(--bg-inverse);
	transition: border var(--transition-duration);
}

.top-topics__btn {
	display: none;
}

.top-others {
	padding-top: 14.3rem;
}

.top-others__inner {
	display: grid;
	gap: 3.2rem;
	grid-template-columns: max-content auto;
}

.top-others__cards {
	display: flex;
	gap: 2.4rem;
	justify-content: flex-end;
}

.top-others__card {
	filter: drop-shadow(5px 5px 15px rgba(0, 0, 0, 0.15));
	position: relative;
	width: 33%;
}

.top-others__card .text-wrap {
	bottom: 2.2rem;
	left: 2.7rem;
	position: absolute;
	width: calc(100% - 5.4rem);
}

.top-others__card h3 {
	align-items: center;
	color: var(--text-inverse);
	display: flex;
	font-family: var(--font-base-bold);
	font-size: 1.8rem;
	gap: 1rem;
	transition: color var(--transition-duration);
}

.top-others__card h3::after {
	background: url(../img/common/icon-circleArrow-inverse.svg) no-repeat center center/cover;
	content: "";
	display: block;
	height: 2.1rem;
	transition: background-image var(--transition-duration);
	width: 2.1rem;
}

.top-others__card[target=_blank] .text-wrap h3::after {
	background-image: url(../img/common/icon-link-target02-inverse.svg);
	height: 1.3rem;
	margin-top: -2px;
	width: 1.3rem;
}

@media (hover: hover) and (pointer: fine) {

a:hover {
	opacity: 0.7;
}

a.hover-color:hover {
	color: var(--accent-primary);
	opacity: 1;
}

button:hover {
	opacity: 0.7;
}

.drawer__navList .sub-menu li a:hover {
	background-color: var(--accent-primary);
	color: var(--text-inverse);
	opacity: 1;
}

.drawer__navList .sub-menu li a:hover::after {
	background-image: url(../img/common/icon-circleArrow-inverse.svg);
}

.footer__navList > li > a:hover {
	color: var(--accent-primary);
	opacity: 1;
}

.footer__navList > li .sub-menu li a:hover {
	color: var(--accent-primary);
	opacity: 1;
}

.footer__navList > li .sub-menu li.link-target a:hover::after {
	background-image: url(../img/common/icon-link-target02-accent.svg);
}

.footer__toTop a:hover {
	opacity: 1;
	transform: translateY(-0.8rem);
}

.header__navList > li > a:hover {
	color: var(--accent-primary);
	opacity: 1;
}

.header__navList > li > a:hover::after {
	opacity: 1;
}

.header__mega-inner > ul li a:hover {
	color: var(--accent-primary);
	opacity: 1;
}

.archive-card__link:hover {
	opacity: 1;
}

.archive-card__link:hover .archive-card__img img {
	transform: scale(1.1);
}

.archive-list__link:hover::after {
	right: 0.2rem;
}

.btn-main:hover .text-main,
.btn-main:hover .text-sub {
	color: var(--text-inverse);
}

.btn-main:hover .text-sub::before {
	background-color: var(--text-inverse);
}

.btn-main:hover .has-flame::before {
	background-image: url(../img/common/icon-flame-inverse.svg);
}

.btn-main.--color-primary:hover {
	background-color: var(--accent-primary);
}

.btn-main.--color-inverse:hover {
	background-color: var(--accent-primary);
}

.btn-sub:hover {
	background-color: var(--accent-primary);
	color: var(--text-inverse);
	opacity: 1;
}

.btn-sub:hover::after {
	background-image: url(../img/common/icon-arrow-inverse.svg);
}

.btn-sub[target=_blank]:hover::after {
	background-image: url(../img/common/icon-link-target-inverse.svg);
}

.btn-base:hover {
	background-color: var(--bg-inverse);
	color: var(--accent-primary);
}

.btn-ghost:hover {
	color: var(--accent-primary);
	opacity: 1;
}

a.btn-stitch:hover {
	color: var(--accent-primary);
	filter: none;
	opacity: 1;
}

.btn-box:hover {
	background-color: var(--bg-inverse);
	box-shadow: none;
	color: var(--accent-primary);
	opacity: 1;
}

.btn-box:hover::before {
	background-image: url(../img/common/icon-flame-accent.svg);
}

.btn-box[target=_blank]:hover::after {
	background-image: url(../img/common/icon-link-target-accent.svg);
}

.btn-anchor:hover {
	background-color: var(--accent-primary);
	color: var(--bg-inverse);
	opacity: 1;
}

.btn-anchor:hover::after {
	background-image: url(../img/common/icon-arrow-inverse.svg);
}

.link-card:hover {
	opacity: 1;
}

.link-card:hover img {
	transform: scale(1.05);
}

.link-card:hover .text-wrap h3::after {
	transform: translateX(0.4rem);
}

.navigation-card__link:hover {
	opacity: 1;
}

.navigation-card__link:hover .navigation-card__img img {
	transform: scale(1.05);
}

.pagination.--archive .nav-links a.page-numbers:hover {
	opacity: 0.7;
}

.pagination.--archive .nav-links .prev:hover,
.pagination.--archive .nav-links .next:hover {
	opacity: 0.7;
}

.search-list__link:hover::after {
	right: 0.2rem;
}

.topics-cats.--btn .topics-cat:hover {
	color: var(--accent-primary);
	filter: none;
	opacity: 1;
}

input[type=submit]:hover {
	background-color: var(--bg-inverse);
	color: var(--accent-primary);
}

.overview-history__toggleBtn button:hover {
	opacity: 0.7;
}

.top-others__card[target=_blank]:hover .text-wrap h3::after {
	transform: translateX(0);
}

}

@media screen and (min-width: 48em) and (max-width: 60em) {

.sm-only {
	display: none !important;
}

}

@media screen and (min-width: 60.0625em) and (max-width: 90em) {

.tab-only {
	display: none !important;
}

.sm-only {
	display: none !important;
}

}

@media screen and (min-width: 90.0625em) {

.tab-only {
	display: none !important;
}

.sm-only {
	display: none !important;
}

.footer__toTop {
	right: calc((100vw - 1440px) / 2 + 7.8rem);
}

.header__mega-close {
	right: calc((100vw - 1440px) / 2 + 1rem);
}

.top-procedure__ek {
	left: calc((100vw - 1440px) / 2 + var(--container-side));
}

}

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

html {
	font-size: clamp(8px, 0.7961783439vw, 9.5px);
}

.fv__menu .quick-menu__list {
	grid-template-columns: 1fr;
}

}

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

html {
	font-size: 10px;
}

}

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

.topics-archive .topics-main {
	padding-top: 13.88vw;
}

.topics-footer {
	padding-top: 6.67vw;
}

}

@media screen and (max-width: 1340px) {

.top-news__ek {
	right: calc(var(--container-side) + 8.2rem);
}

}

@media screen and (max-width: 1300px) {

.topics-fv__title {
	transform: translateX(-3rem);
}

.topics-pickup__title {
	transform: translate(2rem, -1rem) rotate(10deg);
}

.topics-pickup__main-ek {
	left: -4rem;
}

.fv__main {
	width: 78%;
}

.fv__menu {
	width: 18%;
}

}

@media screen and (max-width: 1200px) {

.footer__navWrap {
	padding: 6.5rem 6rem 16.3rem;
}

.footer__navList {
	-moz-column-gap: 4rem;
	column-gap: 4rem;
}

.footer__toTop {
	right: 0%;
}

}

@media screen and (max-width: 767px) {

.editable-content table {
	display: block;
	white-space: nowrap;
	width: -moz-max-content !important;
	width: max-content !important;
}

}

@media screen and (max-width: 60em) {

body {
	font-size: 1.5rem;
}

.pc-only {
	display: none !important;
}

.margin-1 {
	margin-bottom: 12rem;
}

.margin-2 {
	margin-bottom: 12rem;
}

.margin-3 {
	margin-bottom: 12rem;
}

.margin-4 {
	margin-bottom: 10rem;
}

.margin-5 {
	margin-bottom: 8rem;
}

.margin-6 {
	margin-bottom: 7rem;
}

.margin-7 {
	margin-bottom: 5.6rem;
}

.margin-8 {
	margin-bottom: 3.2rem;
}

.margin-9 {
	margin-bottom: 2.4rem;
}

.margin-10 {
	margin-bottom: 1.6rem;
}

.font-smaller {
	font-size: 1.4rem;
}

.box {
	padding: 3rem;
}

.has-wave.--wave-top::before {
	aspect-ratio: 375/200;
	top: -1.5rem;
}

.has-wave.--wave-bottom::after {
	aspect-ratio: 375/200;
	bottom: -1rem;
}

.has-wave.--wave-top.--wave-inverse::before {
	background-image: url(../img/common/wave-top-inverse_sm.webp);
}

.has-wave.--wave-top.--wave-primary::before {
	background-image: url(../img/common/wave-top-primary_sm.webp);
}

.has-wave.--wave-top.--wave-secondary::before {
	background-image: url(../img/common/wave-top-secondary_sm.webp);
}

.has-wave.--wave-bottom.--wave-inverse::after {
	background-image: url(../img/common/wave-bottom-inverse_sm.webp);
}

.has-wave.--wave-bottom.--wave-primary::after {
	background-image: url(../img/common/wave-bottom-primary_sm.webp);
}

.has-wave.--wave-bottom.--wave-secondary::after {
	background-image: url(../img/common/wave-bottom-secondary_sm.webp);
}

.bg-cloud::before {
	background-image: url(../img/common/bg-cloud_sm.webp);
	background-position: top;
	background-size: contain;
}

.container {
	padding: 0 var(--container-side-sm);
}

.section-wrap {
	padding-block: 5.6rem;
}

.flex {
	flex-wrap: wrap;
}

.flex.--row-column {
	flex-direction: column;
}

.flex.--row-column-reverse {
	flex-direction: column-reverse;
}

.flex.--row-reverse-column {
	flex-direction: column;
}

.flex.--column-row {
	flex-direction: row;
}

.footer {
	padding-bottom: 6rem;
	padding-top: 3.2rem;
}

.footer__navWrap {
	padding: 5rem 6.4rem 8rem;
}

.footer__navList {
	grid-template-columns: repeat(2, 1fr);
	row-gap: 2.4rem;
}

.footer__navList > li > a {
	font-size: 1.6rem;
}

.footer__navList > li .sub-menu {
	display: none;
}

.footer__bottom {
	display: block;
}

.footer__subMenu {
	margin-top: 3.8rem;
}

.footer__subMenu ul {
	justify-content: flex-end;
}

.footer__toTop {
	bottom: 30%;
}

.grid.--lg-col-1 {
	grid-template-columns: 1fr;
}

.grid.--lg-col-2 {
	grid-template-columns: repeat(2, 1fr);
}

.grid.--max-w {
	margin-inline: auto;
	max-width: 520px;
}

.header {
	align-items: center;
	display: flex;
	height: var(--header-height-sm);
}

.header__overlay {
	display: none;
}

.header__top {
	border: none;
}

.header__top-inner {
	display: block;
	padding: 0;
}

.header__logo {
	margin-left: 1.6rem;
}

.header__logo a img {
	width: 6.3rem;
}

.header__top-content {
	display: none;
}

.header__nav-wrap {
	display: none;
}

.header__lang-sp {
	display: block;
}

.header__hamburger {
	display: flex;
}

.sticky-column__side {
	display: none;
}

.sticky-column__main {
	width: 100%;
}

.sticky-main-box {
	padding: 2.4rem 2rem;
}

.archive-card-wrap {
	-moz-column-gap: 2.4rem;
	column-gap: 2.4rem;
	row-gap: 4rem;
}

.archive-card.--large .archive-card__title {
	font-size: 2.2rem;
}

.archive-list-wrap {
	padding: 3rem 4rem;
}

.archive-list__link {
	align-items: flex-start;
	flex-direction: column;
	gap: 0;
	padding: 2rem 4rem 2rem 0;
}

.archive-list__title {
	font-size: 1.5rem;
}

.archive-list.--top .archive-list__link {
	padding: 2rem 5rem 2rem 0;
}

.box-title {
	font-size: 1.8rem;
}

#breadcrumb {
	padding-block: 0.6rem;
}

.btn-wrap:has(.btn-main) {
	text-align: center;
}

.is-en .btn-wrap:has(.btn-main) {
	margin-inline: auto;
}

.btn-wrap:has(.btn-sub) {
	max-width: 22rem;
}

.btn-main {
	padding: 1.9rem 4.7rem;
}

.contact-box {
	padding: 3.2rem 2.4rem;
}

.contact-box__text {
	font-size: 1.8rem;
}

.contact-box__btn {
	margin-top: 3.2rem;
}

.editable-content h2 {
	font-size: 2.2rem;
}

.editable-content h2:before {
	margin-top: 1.05rem;
}

.editable-content * + h2 {
	margin-top: 7rem;
}

.editable-content h3 {
	font-size: 1.8rem;
}

.editable-content h4 {
	font-size: 1.6rem;
}

.faq-wrap {
	padding: 2.4rem 2rem;
}

.faq-item__question .letter-q {
	font-size: 2rem;
	margin-top: 0;
}

.faq-item__question p {
	font-size: 1.7rem;
	line-height: 1.5;
}

.faq-item__question .toggle {
	margin-top: 0.475rem;
}

.faq-item__answer > div {
	padding-left: 2rem;
}

.floating {
	bottom: 0;
	left: 0;
	top: unset;
	transform: translateY(0);
	width: 100%;
}

.floating__inner {
	background-color: var(--bg-secondary);
	box-shadow: 2px -3px 9px -4px rgba(0, 0, 0, 0.08);
	flex-direction: row;
}

.floating__btn {
	background-color: var(--bg-inverse);
	border-radius: 0;
	box-shadow: none;
	color: var(--text-primary);
	font-family: var(--font-base-regular);
	font-size: 1.4rem;
	gap: 0.8rem;
	justify-content: center;
	letter-spacing: 0.03em;
	padding: 1.1rem;
	width: calc(50% - 1.5px);
	writing-mode: horizontal-tb;
}

.floating__btn:last-of-type {
	margin-left: 3px;
	margin-top: 0;
}

.floating__btn.--emergency {
	background-color: var(--bg-inverse);
	color: var(--text-primary);
}

.floating__btn.--procedure {
	background-color: var(--bg-inverse);
	color: var(--text-primary);
}

.heading-h1-page h1 {
	font-size: 3.2rem;
}

.heading-h2-top > span {
	font-size: 1.3rem;
}

.heading-h2-top h2 {
	font-size: 2.4rem;
}

.heading-h2-top.--vertical {
	writing-mode: unset;
}

.heading-h2-page.--primary p {
	font-size: 1.7rem;
}

.heading-h2-page.--primary h2 {
	font-size: 2.8rem;
	margin-top: 0.6rem;
}

.is-en .heading-h2-page.--primary h2 {
	font-size: 2.6rem;
}

.heading-h2-page.--secondary {
	font-size: 2.4rem;
}

.info-box {
	padding: 2rem 1.6rem;
}

.info-box .bg-area {
	padding: 2.4rem 1.6rem;
}

.modal__body {
	padding: 6.4rem 3rem 4rem;
}

.modal__close {
	top: 1rem;
}

.navigation-card__img .img-wrap {
	aspect-ratio: 346/200;
	border-radius: 1.5rem;
}

.navigation-card__title {
	font-size: 1.8rem;
	margin-top: 2rem;
}

.page-title {
	margin-top: var(--header-height-sm);
	padding-bottom: 5.6rem;
	padding-top: 4rem;
}

.page-title__img {
	aspect-ratio: 16/9;
}

.pagination.--archive:has(.nav-links) {
	padding-top: 8rem;
}

.quick-menu__inner {
	padding-bottom: 6.4rem;
}

.quick-menu__inner::before {
	background-image: url(../img/common/bg-quick-menu_sm.webp);
}

.quick-menu__heading h2 {
	font-size: 2.4rem;
}

.quick-menu__list {
	border-radius: none;
	box-shadow: none;
	gap: 0.8rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 3.2rem;
}

.quick-menu__list li + li::before {
	display: none;
}

.quick-menu__list li a {
	border-radius: 1rem;
	box-shadow: var(--shadow-light);
}

.search-list__link {
	padding: 2rem 4rem 2rem 0;
}

.search-list__title {
	font-size: 1.5rem;
}

.shop-card {
	gap: 1.6rem;
	padding: 2rem;
}

.shop-card h3 {
	font-size: 2rem;
}

.shop-card .btn-wrap a,
.shop-card .btn-wrap button {
	font-size: 1.4rem;
}

.step-card {
	gap: 1.6rem;
}

.step-card__title {
	font-size: 2rem;
}

.step-card__title span {
	font-size: 1.6rem;
	height: 2.5rem;
	line-height: 2.5rem;
	margin-top: 0.125rem;
	width: 2.5rem;
}

.sub-top-box {
	gap: 2.4rem;
	margin-top: 7.2rem;
	padding-bottom: 4rem;
	padding-inline: 2.4rem;
}

.sub-top-box::before {
	height: 8.7rem;
	top: -3rem;
	width: 12rem;
}

.sub-top-box__header {
	gap: 1.6rem;
}

.sup-top-box__title {
	font-size: 2.2rem;
}

.sub-top-cards {
	gap: 1.6rem;
}

.sub-top-cards.--col3 {
	gap: 1.2rem;
}

.sub-top-card__icon {
	width: 4.8rem;
}

.system-card .text-wrap h3 {
	font-size: 1.8rem;
}

.system-card .text-wrap p {
	margin-top: 0.8rem;
}

.system-card.--bg {
	padding: 2.4rem 2rem;
}

.topics-cats.--btn {
	display: none;
}

.topics-cats.--select {
	display: block;
}

.topics {
	margin-top: var(--header-height-sm);
}

.topics-fv {
	padding-bottom: 3.2rem;
}

.topics-fv__title {
	position: absolute;
	transform: translateX(0);
	width: 45.5rem;
}

.topics-fv__title-ek {
	display: none;
}

.topics-fv__slide {
	height: 69.33vw;
	margin-right: 3rem;
	max-width: 60%;
}

.topics-pickup {
	padding-top: 3.2rem;
}

.topics-pickup__title {
	transform: translate(1rem, -1rem) rotate(10deg);
	width: 15.9rem;
}

.topics-pickup__main {
	display: flex;
	flex-direction: column;
	gap: 2.1rem;
}

.topics-pickup__main-ek {
	bottom: -5rem;
	height: 5.6rem;
	left: -2rem;
	width: 10rem;
}

.topics-archive .topics-main {
	background-image: url(../img/topics/topics-bg_sm.webp);
	padding-top: 18.66vw;
}

.topics-archive .topics-main__cats {
	margin-bottom: 3.2rem;
	margin-top: 4.8rem;
}

.topics-tax .topics-main {
	padding-block: 7rem;
}

.topics-main__title {
	width: 12.6rem;
}

.topics-main__title::before {
	bottom: -7%;
	height: 40%;
}

.topics-main__cats {
	margin-bottom: 3.2rem;
}

.topics-footer {
	padding-top: 7rem;
}

.topics-footer::before {
	background-image: url(../img/topics/footer-bg_sm.webp);
}

.topics-footer .building {
	width: 21rem;
}

.topics-footer .ek {
	width: 5.8rem;
}

.topics-tax__h1 {
	padding-bottom: 6rem;
	padding-top: 4rem;
}

.topics-tax__h1 span {
	font-size: 1.4rem;
}

.topics-tax__h1 h1 {
	font-size: 3.2rem;
}

.form-inner {
	padding: 2.4rem 1.6rem;
}

.form-block {
	gap: 4rem;
}

.form-block {
	margin-top: 4rem;
	padding-top: 4rem;
}

.form-block-body {
	gap: 4rem;
}

.group-wrap {
	gap: 1.6rem;
}

.radio-description {
	margin-left: 0.5rem;
	margin-right: 0.5rem;
}

.form-confirm .item-form-contact {
	display: block;
}

.form-confirm .heading-form-contact {
	margin-bottom: 0.4rem;
	width: 100%;
}

.form-confirm .detail-form-contact {
	width: 100%;
}

.emergency__anchor {
	gap: 1.6rem;
}

.emergency__cards {
	gap: 1.6rem;
}

.procedure__flowList li h3 {
	font-size: 1.7rem;
}

.procedure__flowList li h3 span {
	font-size: 1.3rem;
	height: 1.8rem;
	line-height: 1.8rem;
	margin-top: 0.63rem;
	width: 1.8rem;
}

.procedure__flowList li p {
	font-size: 1.4rem;
}

.lpg-2column {
	gap: 3.2rem;
}

.lpg-2column .img-wrap {
	aspect-ratio: 3/2;
	width: 100%;
}

.lpg-2column .text-wrap {
	gap: 2.4rem;
	width: 100%;
}

.lpg-2column .text-wrap.w-full > div {
	width: 100%;
}

.safe-inspection__list li {
	align-items: flex-start;
}

.safe-inspection__list li .text-wrap > span {
	font-size: 1.1rem;
}

.safe-inspection__list li .text-wrap h3 {
	font-size: 1.8rem;
}

.safe-inspection__list li .text-wrap p {
	margin-top: 0.6rem;
}

.process__item {
	gap: 3.2rem;
	padding: 2.4rem 2rem;
}

.company-index {
	padding-bottom: 8rem;
}

.company-index__list {
	gap: 4rem;
}

.company-index__item {
	align-items: center;
	gap: 2rem;
	padding-bottom: 3.2rem;
	padding-inline: 1.6rem;
}

.company-index__item .img-wrap {
	border-width: 0.6rem;
	width: 100%;
}

.company-index__item .text-wrap {
	gap: 2rem;
}

.company-index__item:nth-child(odd) .img-wrap {
	margin-right: 0;
}

.company-index__item:nth-child(odd) .text-wrap {
	margin-left: 0;
}

.company-index__item:nth-child(even) .img-wrap {
	margin-left: 0;
}

.company-index__item:nth-child(even) .text-wrap {
	margin-right: 0;
}

.company-topics__inner {
	align-items: center;
	flex-direction: column;
	gap: 2.4rem;
	padding: 0 2rem 3.6rem 2rem;
	width: 100%;
}

.company-topics__inner::before {
	border-radius: 1rem;
	height: 83%;
}

.company-topics__header {
	width: 100%;
}

.company-topics__header h2 {
	margin-inline: auto;
	width: min(100%, 32rem);
}

.company-topics__header p {
	font-size: 1.6rem;
	margin-left: 0;
	max-width: unset;
	text-align: center;
}

.company-topics__header p span {
	display: inline-block;
}

.company-topics__header .btn-wrap {
	margin-inline: auto;
	margin-top: 3.2rem;
	width: -moz-fit-content;
	width: fit-content;
}

.company-topics__img {
	margin-inline: auto;
	text-align: center;
	width: 20rem;
}

.company-section__content {
	gap: 2.4rem;
}

.company-section__content .img-wrap {
	aspect-ratio: 3/2;
}

.company-section__content .flex {
	gap: 1.2rem;
}

.overview-commitment__list {
	gap: 1.6rem;
}

.overview-commitment__item {
	padding: 2rem 2rem;
}

.overview-commitment__item h3 {
	font-size: 1.7rem;
}

.overview-motto .img-wrap {
	aspect-ratio: unset;
}

.service-home-equipment .img-wrap {
	background-color: #FFFAEF;
}

.service-home-equipment .img-wrap img {
	-o-object-fit: contain;
	object-fit: contain;
}

.shop__anchor {
	gap: 1.2rem;
}

.shop__heading {
	font-size: 2.4rem;
}

.shop__cards {
	gap: 2.4rem;
	margin-inline: auto;
	max-width: 520px;
}

.shop__cards > * {
	width: 100%;
}

.forbiz-intro .text-wrap {
	width: 100%;
}

.forbiz-feature__cards {
	gap: 2.4rem;
}

.privacy .editable-content h2 {
	font-size: 2.2rem;
}

.privacy .editable-content * + h2 {
	margin-top: 4rem;
}

.main-single-post {
	margin-top: var(--header-height-sm);
	padding-top: 4rem;
}

.single-post__wrap {
	border-radius: 1rem;
	padding: 2rem;
}

.single-post__header {
	padding-bottom: 2rem;
}

.single-post__time time {
	font-size: 1.3rem;
}

.single-post__title {
	font-size: 2.6rem;
}

.single-post__content {
	padding-top: 2rem;
}

.main-single-topics {
	margin-top: var(--header-height-sm);
	padding-top: 4rem;
}

.single-topics__wrap {
	border-radius: 1.5rem;
	padding: 3rem 2rem;
}

.single-topics__wrap:has(.single-topics__eyecatch)::before {
	border-radius: 1.5rem;
	height: calc(100% - 10rem);
}

.single-topics__eyecatch {
	border-width: 0.4rem;
}

.single-topics__header {
	-moz-column-gap: 1.2rem;
	column-gap: 1.2rem;
}

.single-topics__time {
	font-size: 1.6rem;
}

.single-topics__title {
	font-size: 2.4rem;
}

.single-topics__content {
	font-size: 1.6rem;
	margin-top: 3rem;
}

.single-topics__share {
	border-radius: 1.5rem;
	padding: 2rem 2rem 3rem;
}

.single-topics__share::before {
	border-radius: 1rem;
}

.single-topics__share p {
	font-size: 2rem;
}

.single-topics__share ul {
	gap: 2rem;
	margin-top: 2.4rem;
}

.single-topics__share ul li a {
	height: 4rem;
	width: 4rem;
}

.single-topics__share ul li a img {
	transform: scale(0.8);
}

.single-topics__navigation {
	padding-bottom: 5.6rem;
	padding-top: 6rem;
}

.fv {
	margin-top: var(--header-height-sm);
	padding-bottom: 3.8rem;
}

.fv__ek {
	bottom: -6rem;
	display: block;
	height: 8.9rem;
	position: absolute;
	right: 2rem;
	width: 11rem;
	z-index: 2;
}

.fv__inner {
	flex-direction: column;
	gap: 2.4rem;
}

.fv__main {
	width: 100%;
}

.fv__slider {
	border-radius: 1rem;
}

.fv__slider .img-wrap {
	aspect-ratio: 800/400;
}

.fv__slider .fv__pagination {
	bottom: 1.5rem;
	left: 1rem;
}

.fv__copy {
	top: 60%;
}

.fv__copy-main {
	font-size: 3.4rem;
}

.fv__copy-sub {
	font-size: 1.5rem;
	padding-left: 0.6rem;
}

.fv__news {
	align-items: flex-start;
	border-radius: 1rem;
	flex-direction: column;
	padding: 1.2rem 1.6rem 0;
	width: 100%;
}

.fv__news-heading {
	padding-bottom: 1rem;
	padding-right: 0;
	width: 100%;
}

.fv__news-heading::after {
	height: 1px;
	left: 0;
	top: 100%;
	transform: translateY(0);
	width: 100%;
}

.fv__news-body {
	padding-left: 0;
	width: 100%;
}

.fv__main-ek {
	display: none;
}

.fv__menu {
	transform: translateY(1.5rem);
	width: 100%;
}

.fv__menu-heading p {
	font-size: 2.4rem;
}

.top-procedure__inner {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.top-procedure__header {
	display: contents;
}

.top-procedure__heading {
	order: 1;
}

.top-procedure__text {
	margin-top: 2.8rem;
	max-width: unset;
	order: 2;
}

.top-procedure__btn {
	order: 4;
}

.top-procedure__cards {
	gap: 1.6rem;
	margin-top: 4.8rem;
	order: 3;
}

.top-procedure__card .text-wrap {
	bottom: 1rem;
	left: 0.8rem;
	width: calc(100% - 1.6rem);
}

.top-procedure__card h3 {
	font-size: 1.3rem;
	gap: 0.8rem;
	justify-content: space-between;
	line-height: 1.2;
	margin-top: 0.4rem;
}

.top-procedure__card h3::after {
	height: 1.7rem;
	width: 1.7rem;
}

.top-procedure__ek {
	bottom: -3rem;
	height: 7.5rem;
	left: var(--container-side-sm);
	width: 11rem;
}

.top-banner {
	padding-bottom: 2.5rem;
	padding-top: 2.5rem;
}

.top-banner__wrap:not(.swiper-initialized) .top-banner__cards {
	grid-template-columns: 1fr;
}

.top-news {
	background-color: var(--bg-inverse);
	padding-bottom: 11rem;
	padding-top: 6rem;
}

.top-news__inner {
	background-color: transparent;
	flex-direction: column;
	padding: 0;
}

.top-news__header {
	display: contents;
}

.top-news__heading {
	order: 1;
}

.top-news__text {
	margin-top: 2.8rem;
	max-width: unset;
	order: 2;
}

.top-news__btn {
	order: 4;
}

.top-news__lists {
	margin-top: 2.8rem;
	order: 3;
	width: 100%;
}

.top-news__ek {
	right: 2rem;
}

.top-lpg {
	padding-bottom: 10rem;
	padding-top: 7.4rem;
}

.top-lpg__inner {
	display: flex;
	flex-direction: column;
}

.top-lpg__header {
	display: contents;
}

.text-wrap:has(.top-lgp__heading) {
	order: 1;
}

.top-lpg__text {
	margin-top: 2.8rem;
	max-width: unset;
}

.top-lpg__btn {
	margin-top: 4.8rem;
	order: 3;
	place-self: unset;
}

.top-lpg__cards {
	margin-top: 4.8rem;
	order: 2;
}

.top-lpg__card .text-wrap {
	bottom: 1.8rem;
	left: 2.1rem;
	width: calc(100% - 4.2rem);
}

.top-lpg__card h3 {
	font-size: 1.5rem;
}

.top-company {
	padding-bottom: 8rem;
}

.top-company__inner {
	display: flex;
	flex-direction: column;
}

.top-company__btn {
	display: none;
}

.top-company__cards {
	gap: 4rem;
	margin-top: 4.8rem;
}

.top-topics {
	padding-bottom: 12rem;
	padding-top: 8rem;
}

.top-topics__inner {
	align-items: center;
	flex-direction: column;
	gap: 0;
	padding: 0 2rem 3.6rem 2rem;
}

.top-topics__inner::before {
	border-radius: 1rem;
	height: 90%;
}

.top-topics__ek {
	bottom: unset;
	left: unset;
	right: -1rem;
	top: -2rem;
}

.top-topics__header {
	display: contents;
	width: 100%;
}

.top-topics__heading {
	order: 1;
	transform: translateX(-0.8rem);
	width: 32rem;
}

.top-topics__texts {
	display: contents;
	padding-left: 0;
}

.top-topics__texts p {
	font-size: 1.6rem;
	margin-top: 2.8rem;
	order: 2;
	text-align: center;
}

.top-topics__texts .btn-wrap {
	margin-top: 7.2rem;
	order: 4;
}

.top-topics__cards {
	margin-top: 2.4rem;
	order: 3;
	width: 100%;
}

.top-topics__cards .archive-card__img {
	border: none;
}

.top-topics__btn {
	display: block;
	font-family: var(--font-base-regular);
	margin-top: 4.8rem;
}

.top-others {
	padding-top: 9.7rem;
}

.top-others__inner {
	display: block;
}

.top-others__cards {
	flex-wrap: wrap;
	gap: 1.2rem;
	justify-content: flex-start;
	margin-top: 4.8rem;
}

.top-others__card {
	width: calc(50% - 0.6rem);
}

.top-others__card .text-wrap {
	bottom: 2.5rem;
	left: 2.6rem;
	width: calc(100% - 5.2rem);
}

}

@media screen and (max-width: 35em) {

.tab-only {
	display: none !important;
}

.img-radius-s {
	border-radius: 1rem;
}

.img-radius-m {
	border-radius: 1.2rem;
}

.img-radius-l {
	border-radius: 1.2rem;
}

.box {
	padding: 3rem 2rem;
}

.img-inBorder::after {
	border-radius: 0.8rem;
	height: 95%;
	left: 2%;
	top: 2.5%;
	width: 96%;
}

.img-inBorder.img-radius-l::after {
	border-radius: 0.9rem;
}

.cell--1-2,
.cell--1-3,
.cell--1-4,
.cell--2-3,
.cell--3-4 {
	margin-bottom: 1em;
	width: 100%;
}

.order0 {
	order: 0;
}

.order1 {
	order: 1;
}

.footer__navWrap {
	padding: 2.6rem 2.4rem 10rem;
}

.footer__navList {
	gap: 0.7rem;
}

.footer__navList > li > a {
	font-family: var(--font-base-regular);
	font-size: 1.4rem;
}

.footer__navList > li > a::before {
	display: none;
}

.is-en .footer__navList {
	grid-template-columns: repeat(1, 1fr);
}

.footer__bottom {
	padding-top: 6rem;
}

.footer__info {
	align-items: center;
	flex-direction: column;
	gap: 2rem;
}

.footer__info p {
	text-align: center;
}

.footer__info p > span:last-child {
	margin-top: 0.4rem;
}

.footer__address address {
	margin-top: 0.4rem;
	text-align: center;
}

.footer__subMenu ul {
	-moz-column-gap: 3.6rem;
	column-gap: 3.6rem;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-inline: auto;
	max-width: 28.3rem;
	row-gap: 0.5rem;
}

.footer__subMenu ul a {
	font-size: 1.2rem;
}

.footer__subMenu small {
	margin-top: 3.8rem;
	text-align: center;
}

.footer__toTop {
	bottom: 50%;
}

.grid.--sm-col-1 {
	grid-template-columns: 1fr;
}

.sticky-main-box {
	border-radius: 1.2rem;
}

.archive-card.--hor .archive-card__link {
	flex-direction: column;
	gap: 1.5rem;
}

.archive-card.--hor .archive-card__img {
	aspect-ratio: 300/180;
	width: 100%;
}

.archive-card__img {
	aspect-ratio: 294/198;
}

.archive-list-wrap {
	padding: 2rem;
}

.archive-list__title {
	-webkit-line-clamp: 2;
}

.btn-wrap {
	text-align: center;
}

.btn-main {
	line-height: 1;
	padding: 1.8rem 4.5rem;
}

.btn-main .text-sub {
	display: none;
}

.btn-sub {
	line-height: 1.4;
	padding: 1.3rem 2.4rem;
}

.heading-h1-page h1 {
	font-size: 3rem;
}

.list-description > div {
	grid-template-columns: 1fr;
}

.list-description dt,
.list-description dd {
	padding: 1.6rem 12px;
}

.quick-menu__inner {
	padding-bottom: 3.2rem;
	padding-top: 5.2rem;
}

.quick-menu__list {
	grid-template-columns: repeat(1, 1fr);
}

.quick-menu__list li a {
	flex-direction: row;
	gap: 0.7rem;
}

.quick-menu__list li a img {
	height: 3.2rem;
	width: 3.2rem;
}

.search-list__title {
	-webkit-line-clamp: 2;
}

.topics-fv__title {
	left: 1rem;
	width: 26.4rem;
}

.topics-fv__slide {
	margin-right: 5%;
}

.topics-fv__slide .swiper-slide img {
	border-radius: 1.2rem;
	border-width: 0.4rem;
}

.topics-archive .topics-main {
	padding-top: 7rem;
}

.wpcf7-text,
.wpcf7-textarea {
	font-size: 1.6rem;
}

.safe-inspection__list li {
	flex-wrap: wrap;
	gap: 1.2rem;
}

.safe-inspection__list li .img-wrap {
	aspect-ratio: 3/2;
	width: 100%;
}

.safe-device__cards {
	gap: 3.2rem;
}

.process__item {
	flex-direction: column;
}

.overview-commitment__item {
	border-radius: 1.2rem;
}

.single-topics__content .wp-block-image img {
	border-radius: 1.2rem;
}

.single-topics__navigation-inner .post-wrap {
	flex-direction: column;
	gap: 4rem;
}

.single-topics__navigation-inner .post-wrap > div {
	width: 100%;
}

.fv__slider .img-wrap {
	aspect-ratio: 336/528;
}

.fv__copy {
	left: 0.8rem;
	top: 73%;
	transform: translateY(0);
}

.top-lpg__card h3 {
	font-size: 1.8rem;
}

.top-company__cards {
	gap: 8rem;
}

.top-topics__cards {
	grid-template-columns: 1fr;
}

.top-others__cards {
	flex-direction: column;
}

.top-others__card {
	width: 100%;
}

.top-others__card .img-wrap {
	aspect-ratio: 335/223;
}

}

@keyframes shake {

0% {
	transform: rotate(-1.5deg);
}

8% {
	transform: rotate(1.5deg);
}

16% {
	transform: rotate(-1.5deg);
}

24% {
	transform: rotate(1.5deg);
}

30% {
	transform: rotate(-1.5deg);
}

100% {
	transform: rotate(-1.5deg);
}

}

@keyframes tilt {

0%,50% {
	transform: rotate(-7deg);
}

50.1%,100% {
	transform: rotate(7deg);
}

}

@keyframes jumpIn {

0% {
	opacity: 0;
	right: -40%; /* 初期位置: 画面外 */
	top: 0px; /* 下に位置 */
}

70% {
	opacity: 1;
	right: -5%; /* 飛び出し位置 */
	top: -6px; /* 軽く上に跳ねる */
}

100% {
	opacity: 1;
	right: 0px; /* 静止位置 */
	top: 0px; /* 元の高さに戻る */
}

}

@keyframes fadeIn {

0% {
	opacity: 0;
	transform: translateY(25px);
	transition-timing-function: cubic-bezier(0, 0.4, 0.2, 1);
}

100% {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes scaleIn {

0% {
	opacity: 0;
	transform: scale(0);
}

5% {
	opacity: 1;
}

40% {
	opacity: 1;
	transform: scale(1.07);
}

100% {
	opacity: 1;
	transform: scale(1);
}

}

@keyframes clearOut {

0% {
	filter: blur(5px);
}

100% {
	filter: blur(0);
}

}

@keyframes zoomUp {

0% {
	transform: scale(1);
}

100% {
	transform: scale(1.15);
}

}

@keyframes tiltSmall {

0%,50% {
	transform: rotate(-2deg);
}

50.1%,100% {
	transform: rotate(1deg);
}

}

