@charset "utf-8";

/* ----------------------------------------------
    reset
---------------------------------------------- */
*, ::before, ::after {
	box-sizing: border-box;
	border-width: 0;
	border-style: solid;
}
html {
	/*line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;*/
}
body {
	margin: 0;
}
main {
	display: block;
}
p, table, blockquote, address, pre, iframe, form, figure, dl {
	margin: 0;
} 
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
}
ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
dd {
	margin-left: 0;
}
hr {
	height: 0;
	margin: 0;
	color: inherit;
	border-top-width: 1px;
	box-sizing: content-box;
	clear: both;
	overflow: visible;
}
pre {
	font-size: inherit;
	font-family: monospace, monospace;
}
address {
	font-style: inherit;
}
a {
	color: inherit;
	word-break: break-all;
	text-decoration: none;
	background-color: transparent;
}
abbr[title] {
	text-decoration: underline dotted;
}
b, strong {
	font-weight: bolder;
}
code, kbd, samp {
	font-size: inherit;
	font-family: monospace, monospace;
}
small {
	font-size: 80%;
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
svg, img, embed, object, iframe {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
button, input, optgroup, select, textarea {
	margin: 0;
	padding: 0;
	color: inherit;
	background: transparent;
	border-radius: 0;
	font: inherit;
	text-align: inherit;
	text-transform: inherit;
	vertical-align: middle;
	appearance: none;
	-webkit-appearance: none;
}
button, [type="button"], [type="reset"], [type="submit"] {
	cursor: pointer;
}
button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled {
	cursor: default;
}
:-moz-focusring {
	outline: auto;
}
select:disabled {
	opacity: inherit;
}
option {
	padding: 0;
}
fieldset {
	margin: 0;
	padding: 0;
	min-width: 0;
}
legend {
	padding: 0;
}
progress {
	vertical-align: baseline;
}
textarea {
	overflow: auto;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
[type="search"] {
	outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
::-webkit-file-upload-button {
	font: inherit;
	-webkit-appearance: button;
}
[type="number"] {
	/*-moz-appearance: textfield;*/
}
label[for] {
	cursor: pointer;
}
details {
	display: block;
}
summary {
	display: list-item;
}
[contenteditable]:focus {
	outline: auto;
}
table {
	border-color: inherit;
	border-collapse: collapse;
}
caption {
	text-align: left;
}
td, th {
	vertical-align: top;
	padding: 0;
}
th {
	text-align: left;
	font-weight: normal;
}
i {
    display: flex;
}

/* ----------------------------------------------
    base
---------------------------------------------- */
:root {
	--color-Black:  #000000;
	--color-GrayB:  #858585;
	--color-GrayN:  #d0d0d0;
	--color-GrayL:  #f5f5f5;
	--color-Cream:  #EFEDE7;
	--color-Red:    #a42e2e;
	--color-Orange: #dc8100;
	--font-Sans:   "Noto Sans JP", sans-serif;
	--font-Mincho: "Noto Sans JP", sans-serif; /* "BIZ UDMincho", serif */
	--font-Roboto: "Noto Sans JP", sans-serif; /* "Roboto Condensed", sans-serif */
}
html {
	font-size: 62.5%;
    scroll-behavior: smooth;
    touch-action: manipulation;
}
body {
	color: var(--color-Black);
	font: 500 1.6rem / 1.75 var(--font-Sans);
	letter-spacing: .05em;
	font-feature-settings: "path";
}
#wrap {
	width: 100%;
    max-width: 1920px;
    min-width: 1200px;
    margin: 0 auto;
}
body:not(.home.blog) #wrap  {
	padding: 180px 0 0;
}
@media (hover: hover) {
	a {
		transition: opacity ease .3s;
	}
	a:hover {
		opacity: .6;
	}
}
@media screen and (max-width: 768px) {
	body {
		font-size: 1.4rem;
	}
	#wrap,
	body:not(.home.blog) #wrap {
	    min-width: 100%;
	    padding: 60px 0 0;
	}
}
/* ------------------------------------------- */
.w-90 {
	width: 90%;
}
.w-100 {
	width: 100%;
}
.max-w-920 {
	max-width: 920px;
}
.max-w-1000 {
	max-width: 1000px;
}
.max-w-1160 {
	max-width: 1160px;
}
.mx-auto {
	margin-left: auto;
	margin-right: auto;
}
.mb-1 {
	margin-bottom: 1em;
}
.mb-2 {
	margin-bottom: 2em;
}
.mb-3 {
	margin-bottom: 3em;
}
.mb-4 {
	margin-bottom: 4em;
}
.pt-6 {
	padding-top: 6em;
}
.pb-6 {
	padding-bottom: 6em;
}
.text-12 {
	font-size: 1.2rem;
}
.text-14 {
	font-size: 1.4rem;
}
.text-16 {
	font-size: 1.6rem;
}
.text-18 {
	font-size: 1.8rem;
}
.text-20 {
	font-size: 2.0rem;
}
.text-22 {
	font-size: 2.2rem;
}
.text-24 {
	font-size: 2.4rem;
}
.text-28 {
	font-size: 2.8rem;
}
.text-30 {
	font-size: 3.0rem;
}
.text-38 {
	font-size: 3.8rem;
}
.text-40 {
	font-size: 4.0rem;
}
.text-64 {
	font-size: 6.4rem;
}
.text-80 {
	font-size: 8.0rem;
}
.fw-700 {
	font-weight: 700;
}
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}
.text-white {
	color: #fff;
}
.text-gray {
	color: var(--color-GrayB);
}
.text-red {
	color: var(--color-Red);
}
.text-orange {
	color: var(--color-Orange);
}
.font-mincho {
	font-family: var(--font-Mincho);
}
.font-roboto {
	font-family: var(--font-Roboto);
}
.fw-700 {
    font-weight: 700;
}
.bg-white {
	background: #fff;
}
.bg-red {
	background: var(--color-Red);
}
.bg-black {
	background: var(--color-Black);
}
.bg-cream {
	background: var(--color-Cream);
}
.bg-orange {
	background: var(--color-Orange);
}
.back-grayl {
	background: var(--color-GrayL);
}
.pos-relative {
	position: relative;
}
.z-1 {
	z-index: 1;
}
@media screen and (max-width: 768px) {
	.text-10-sm {
		font-size: 1.0rem;
	}
	.text-12-sm {
		font-size: 1.2rem;
	}
	.text-14-sm {
		font-size: 1.4rem;
	}
	.text-16-sm {
		font-size: 1.6rem;
	}
	.text-18-sm {
		font-size: 1.8rem;
	}
	.text-20-sm {
		font-size: 2.0rem;
	}
	.text-22-sm {
		font-size: 2.2rem;
	}
	.text-28-sm {
		font-size: 2.8rem;
	}
	.text-40-sm {
		font-size: 4.0rem;
	}
}
/* ------------------------------------------- */
.title01 {
    line-height: 1;
    display: grid;
    gap: .5em;
}
.title01 .jp {
    letter-spacing: .1em;
}
.title01 .en {
    display: flex;
    gap: 2em;
    align-items: center;
}
.title01.text-right .en {
    flex-direction: row-reverse;
}
.title01 .en::after {
    content: "";
    width: 100%;
    height: 1px;
    background: var(--color-Black);
}
.title01 .en span {
	letter-spacing: 0;
    flex-shrink: 0;
}
.title02 {
    line-height: 1.4;
    display: grid;
}
.title02 .jp {
    letter-spacing: .1em;
}
.title02 i {
    position: absolute;
    left: 50%;
    bottom: calc(100% - 1em);
    transform: translateX(-50%);
}
.title03 span {
    width: fit-content;
    padding: .2em 2em;
    border: 1px solid var(--color-GrayN);
    display: inline-block;
}
.title03 span::after {
    content: "";
    width: 100%;
    height: 100%;
    border-right: 1px solid var(--color-GrayN);
    border-bottom: 1px solid var(--color-GrayN);
    position: absolute;
    right: -.3em;
    bottom: -.35em;
}
.title04 {
    display: grid;
    place-items: center;
}
.title05 {
    padding: 0 0 .5em;
    border-bottom: 1px dashed var(--color-GrayN);
}
.title06 {
    padding: 1em;
}
@media screen and (max-width: 768px) {
	.title01 .en {
	    gap: 1em;
	}
	.title02 i {
	    bottom: calc(100% - 0em);
	}
	.title03 span {
	    padding: .2em 1em;
	}
}
/* ------------------------------------------- */
.btn01 a {
    width: 100%;
    max-width: 240px;
    height: 50px;
    border: 1px solid;
    border-radius: .4em;
    display: grid;
    place-items: center;
}
.btn01 a i {
    position: absolute;
    right: -1.5em;
}
@media screen and (max-width: 768px) {
}
/* ------------------------------------------- */
.table01 {
    border: 1px solid var(--color-GrayN);
}
.table01 :is(th, td) {
    padding: .5em;
    border: 1px solid var(--color-GrayN);
    word-break: break-all;
    letter-spacing: 0;
}
.table01.text-center :is(th, td) {
    text-align: center;
}
.table01 th {
    background: var(--color-GrayL);
    font-weight: 500;
}
/* ------------------------------------------- */
@media screen and (min-width: 769px) {
	.desk-hidden {
		display: none !important;
	}
}
@media screen and (max-width: 768px) {
	.mobile-hidden {
		display: none !important;
	}
}
/* ------------------------------------------- */
.anime.fade {
    transition: opacity .8s cubic-bezier(.4, 0, .6, 1);
    -webkit-transition: opacity .8s cubic-bezier(.4, 0, .6, 1);
    opacity: 0;
}
.anime.fade.active {
    opacity: 1;
}

/* ----------------------------------------------
    header
---------------------------------------------- */
body.home.blog #header {
	width: 100%;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 9999;
}
body:not(.home.blog) #header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}
#header header {
    width: 100%;
    background: #fff;
}
#header header .inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
}
#header header .inner .logo {
    height: 90px;
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    left: 5%;
}
#header header .inner .gnav {
    width: 100%;
}
#header header .inner .gnav .menu,
#header header .inner .gnav .menu .sns ul,
#header header .inner .gnav .menu .tel a,
#header header .inner .gnav .menu .contact a {
    display: flex;
    align-items: center;
}
#header header .inner .gnav .menu {
    height: 90px;
    padding-right: 5%;
    gap: 3em;
    justify-content: flex-end;
}
#header header .inner .gnav .menu .sns ul {
    gap: 1em;
}
#header header .inner .gnav .menu .tel a,
#header header .inner .gnav .menu .contact a {
	line-height: 1;
    gap: .5em;
}
#header header .inner .gnav .menu .tel p {
    letter-spacing: 0;
}
#header header .inner .gnav nav > ul  {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
}
.gnav nav ul li {
	position: relative;
}
#header header .inner .gnav nav > ul > li {
    display: grid;
    place-items: center;
}
#header header .inner .gnav nav > ul > li:nth-child(1)::before,
#header header .inner .gnav nav > ul > li::after {
    content: "";
    width: 1px;
    height: 3em;
    background: var(--color-Black);
    border-right: 1px solid;
    position: absolute;
    right: 0;
}
#header header .inner .gnav nav > ul > li:nth-child(1)::before {
    left: 0;
    right: auto;
}
#header header .inner .gnav nav > ul > li > a,
#header header .inner .gnav nav > ul > li > span {
    width: 100%;
    height: 90px;
    line-height: 1.5;
    letter-spacing: 0;
    display: grid;
    place-items: center;
    cursor: pointer;
}
@media screen and (min-width: 769px) {
	body.home.blog #header,
	body:not(.home.blog) #header {
	    min-width: 1200px;
	}
	#header header .inner .gnav .dropdown {
		min-width: 100%;
		max-height: 0;
		background: #fff;
		border-top: 1px solid;
		white-space: nowrap;
		opacity: 0;
		position: absolute;
		top: 100%;
		left: 0;
		transform: translateY(-10px);
		z-index: 1000;
		transition: all 0.3s ease;
		pointer-events: none;
	}
	#header header .inner .gnav .dropdown li .dropdown {
	    min-width: initial;
	    top: -1px;
	    left: 100%;
	}
	#header header .inner .gnav .dropdown li {
		border-bottom: 1px solid;
	}
	#header header .inner .gnav .dropdown li a {
		padding: .5em;
	    letter-spacing: 0;
		display: block;
	}
}
@media (hover: hover) and (pointer: fine) {
	#header header .inner .gnav li:hover > .dropdown,
	#header header .inner .gnav li:focus-within > .dropdown {
		max-height: 1000px;
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
	}
	#header header .inner .gnav .dropdown a:hover {
		background: var(--color-GrayN);
		opacity: 1;
	}
}
@media screen and (max-width: 768px) {
	body.home.blog #header {
	    position: fixed;
	}
	#header header .inner {
		height: 60px;
	    padding: 0 5%;
	}
	#header header .inner .logo {
        height: auto;
        margin: 0 auto 0 0;
	    position: static;
	}
	#header header .inner .logo a {
	    display: flex;
	}
	#header header .inner .logo a img {
	    width: auto;
	    height: 30px !important;
	}
	#header header .inner .hamburger {
		padding: 0;
	    background: #fff;
	    border: none;
	    cursor: pointer;
	    display: flex;
        gap: 8px;
	    flex-shrink: 0;
        align-items: center;
	    flex-direction: column;
        justify-content: center;
	}
	#header header .inner .hamburger .bar {
	    width: 30px;
	    height: 2px;
	    background: var(--color-Black);
	    border-radius: 100vmax;
	    display: block;
	    transition: transform 0.3s ease, opacity 0.3s ease;
	}
	#header header .inner .hamburger.open .bar:nth-child(1) {
	    transform: rotate(45deg) translate(7px, 7px);
	}
	#header header .inner .hamburger.open .bar:nth-child(2) {
	    opacity: 0;
	}
	#header header .inner .hamburger.open .bar:nth-child(3) {
	    transform: rotate(-45deg) translate(7px, -7px);
	}
	#header header .inner .gnav {
	    width: 100%;
	    height: calc(100dvh - 60px);
	    padding: 2em 5% 4em;
	    background: var(--color-Cream);
	    overflow-y: scroll;
        backdrop-filter: blur(.5em);
	    position: fixed;
	    top: 60px;
	    left: 0;
	    transform: translateX(100vw);
	    transition: transform 0.3s ease, opacity 0.3s ease;
	}
	#header header .inner .gnav.open {
	    transform: translateX(0);
	}
	#header header .inner .gnav .menu {
		height: auto;
		margin: 0 0 2em;
		padding: 0;
	    gap: 1em 2em;
	    flex-wrap: wrap;
	    justify-content: center;
	}
	#header header .inner .gnav .menu .sns {
	    width: 100%;
	    display: grid;
	    place-items: center;
	}
	#header header .inner .gnav .menu .sns ul li a img {
	    width: 2em;
	}
	#header header .inner .gnav .menu .tel a i {
	    width: 2em;
	}
	#header header .inner .gnav .menu .contact a i {
	    width: 1.5em;
	}
	#header header .inner .gnav nav > ul {
	    border-bottom: 1px solid var(--color-Black);
	    grid-template-columns: repeat(1, 1fr);
	}
	#header header .inner .gnav nav > ul > li {
	    border-top: 1px solid;
	}
	#header header .inner .gnav nav > ul > li:nth-child(1)::before,
	#header header .inner .gnav nav > ul > li::after {
		display: none;
	}
	#header header .inner .gnav nav > ul > li a,
	#header header .inner .gnav nav > ul > li > span {
        height: 40px;
        padding: 0 .5em;
        text-align: left;
        display: flex;
        gap: .5em;
        align-items: center;
    }
    #header header .inner .gnav nav > ul > li a::before,
    #header header .inner .gnav nav > ul > li > span::before {
	    content: "";
	    width: .5em;
	    aspect-ratio: 1;
	    margin: 0 .5em 0 0;
	    border-top: 1px solid var(--color-Black);
	    border-right: 1px solid var(--color-Black);
	    letter-spacing: .05em;
	    transform: rotate(45deg);
	}
	#header header .inner .gnav nav > ul li .dropdown {
		width: 100%;
		background: none;
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		transform: translateY(-10px);
		transition: all 0.3s ease;
		pointer-events: none;
	}
	#header header .inner .gnav nav > ul li.has-dropdown > .toggle {
		height: 40px;
		padding: 0 0.5em;
		background: none;
		border: none;
		cursor: pointer;
		font-size: 1.6rem;
        display: flex;
        align-items: center;
		position: absolute;
		top: 0;
		right: 0;
	}
	#header header .inner .gnav nav > ul li.has-dropdown.open > .dropdown {
		max-height: 500px;
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
	}
	#header header .inner .gnav nav > ul li .dropdown ul li {
	    border-top: 1px dashed;
	}
	#header header .inner .gnav nav > ul li .dropdown a {
	    padding-left: 2em;
	}
	#header header .inner .gnav nav > ul li .dropdown .dropdown a {
        padding-left: 4em;
    }
}

/* ----------------------------------------------
    
---------------------------------------------- */
.floating-cta {
    display: grid;
    gap: 1.5em;
    position: fixed;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    z-index: 9999;
}
.floating-cta a {
    padding: 1.5em .5em 1em;
    background: #fff;
    border: 1px solid;
    box-shadow: .2em .2em 0 var(--color-GrayN);
    display: flex;
    gap: 1em;
    align-items: center;
    flex-direction: column;
}
.floating-cta a span {
	writing-mode: vertical-rl;
    display: block;
}
.floating-cta a i {
    transform: translateX(.1em);
}
@media screen and (max-width: 768px) {
	.floating-cta {
	    display: none;
	}
}

/* ----------------------------------------------
    pagehead
---------------------------------------------- */
#pagehead {
    height: 240px;
    padding: 0 0 3em;
    display: grid;
    place-items: center;
}
#pagehead h2 {
    display: grid;
    place-items: center;
}
#pagehead h2::after {
    content: "";
    width: 3em;
    height: 2px;
    margin: .3em 0 0;
    background: linear-gradient(90deg, rgba(164, 46, 46, 1) 50%, rgba(220, 129, 0, 1) 50%);
    display: block;
}
#pagehead h2 .en {
    letter-spacing: 0;
}
@media screen and (max-width: 768px) {
	#pagehead {
	    height: 180px;
	    padding: 0 0 2em;
	}
}
/* ------------------------------------------- */
#breadcrumb {
    width: 100%;
    padding: 0.5em 0 0;
    /*position: absolute;
    top: 1em;
    left: 0;*/
}
#breadcrumb nav ol {
    display: flex;
    gap: 0 1em;
    flex-wrap: wrap;
    align-items: center;
}
#breadcrumb nav ol {
    display: flex;
    gap: 0 1em;
    flex-wrap: wrap;
    align-items: center;
}
#breadcrumb nav ol li {
    display: flex;
    gap: 0 1em;
    align-items: center;
}
#breadcrumb nav ol li:not(:last-child)::after {
	content: "";
	display: block;
	width: .5em;
	aspect-ratio: 1;
	border-top: 1px solid;
	border-right: 1px solid;
	transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
	#breadcrumb nav ol li:not(:last-child)::after {
		border-top: 1px solid;
		border-right: 1px solid;
	}
}

/* ----------------------------------------------
    main
---------------------------------------------- */
.content-box {
	display: grid;
	grid-template-columns: 200px 1fr;
	column-gap: 60px;
}
.content-box .content {
    width: 100%;
    order: 2;
}
.content-box #side {
    order: 1;
}
.content-box #side h3 {
    text-align: center;
    border-top: 1px solid;
    border-bottom: 1px solid;
    padding: .5em;
}
.content-box #side ul + h3 {
    margin-top: 3em;
}
.content-box #side ul li {
    border-bottom: 1px solid #aaa;
}
.content-box #side ul li a,
.content-box #side ul li > span {
    padding: 1em 0;
	font-size: 1.4rem;
	line-height: 1.4;
    display: block;
}
.content-box #side ul li .children {
    border-top: 1px solid #aaa;
}
.content-box #side ul li .children li {
    border-bottom: 1px dashed #dddddd;
    letter-spacing: 0;
}
.content-box #side ul li .children li:last-child {
    border: none;
}
@media screen and (max-width: 768px) {
	.content-box {
	    display: flex;
	    gap: 3em;
        flex-direction: column;
	}
	.content-box .content {
	    order: 1;
	}
	.content-box #side {
	    order: 2;
	}
}

/* ----------------------------------------------
    pager
---------------------------------------------- */
#pager ul {
	display: flex;
	gap: .5em;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
#pager ul li a {
    padding: .3em .8em;
    border: 1px solid var(--color-GrayN);
    border-radius: 100vmax;
    display: flex;
}
#pager ul li.current a {
    background: var(--color-GrayL);
    pointer-events: none;
}
@media screen and (max-width: 768px) {
}

/* ----------------------------------------------
    footer
---------------------------------------------- */
#footer footer .inner .logo {
    margin: 0 0 .5em;
}
#footer footer .inner .link ul {
    display: flex;
    gap: 1em 1.5em;
    flex-wrap: wrap;
    align-items: center;
}
#footer footer .inner .fnav dl {
	padding: 0 0 3em;
    border-bottom: 1px solid var(--color-GrayB);
	letter-spacing: 0;
    display: flex;
    gap: 1em 3em;
    justify-content: space-between;
}
#footer footer .inner .fnav dl div {
    display: grid;
    gap: .5em;
    align-content: flex-start;
}
#footer footer .inner .fnav dl div dt {
    font-weight: 600;
}
#footer footer .inner .fnav dl div dd {
    font-weight: 400;
}
#footer footer .inner .fnav dl div dd::before {
    content: "└";
    margin: 0 .3em 0 0;
    color: var(--color-GrayB);
}
#footer footer .inner .info {
    display: flex;
    gap: 2em 3em;
    justify-content: space-between;
}
#footer footer .inner .info .address dl {
	line-height: 2;
    display: flex;
    gap: 1em 3em;
    grid-template-columns: repeat(3, 1fr);
}
#footer footer .inner .info .map {
    width: 100%;
    max-width: 400px;
    flex-shrink: 0;
}
#footer footer .inner .info .map iframe {
    width: 100%;
    min-height: 199px;
}
#footer footer .inner .info .map .text {
    display: flex;
    gap: .3em;
    align-items: flex-end;
}
#footer footer .inner .info .map .text i {
    width: max-content;
}
#footer footer .copy {
    height: 40px;
    display: grid;
    place-items: center;
}
@media screen and (max-width: 768px) {
	#footer footer .inner {
		padding-bottom: 3em;
	    flex-direction: column;
	}
	#footer footer .inner .logo {
	    margin: 0 0 .5em;
	    max-width: 200px;
	}
	#footer footer .inner .link ul li a img {
	    width: auto;
	    height: 30px;
	}
	#footer footer .inner .fnav dl {
		padding: 0;
	    border-bottom: 1px solid var(--color-Cream);
	    gap: 0;
	    flex-direction: column;
	}
	#footer footer .inner .fnav dl div {
	    gap: 0;
	}
	#footer footer .inner .fnav dl div :is(dt, dd) {
	    padding: .5em;
	    border-top: 1px solid var(--color-Cream);
	}
	#footer footer .inner .info {
	    flex-direction: column;
	}
	#footer footer .inner .info .address dl {
	    flex-direction: column;
	}
	#footer footer .inner .info .map {
        width: 100%;
        display: flex;
        gap: .5em;
        flex-direction: column;
    }
}

/* ----------------------------------------------
    home
---------------------------------------------- */
body.home.blog .sec01 {
	overflow: hidden;
}
body.home.blog .sec01 .inner .overlay {
	width: 100vw;
	height: 100vh;
	background: #fff;
	display: grid;
	gap: .5em;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(3, 1fr);
	overflow: hidden;
	position: fixed;
	inset: 0;
	opacity: 1;
	z-index: 99999;
	transition: opacity 1s ease;
}
body.home.blog .sec01 .inner .overlay.hidden {
	opacity: 0;
	pointer-events: none;
}
body.home.blog .sec01 .inner .overlay .grid-img {
	width: 100%;
	height: calc(100vh / 3 - .25em);
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.5s ease;
}
body.home.blog .sec01 .inner .main-content {
	width: 100vw;
	height: 100vh;
	opacity: 0;
	transition: opacity 1s ease;
	position: relative;
	z-index: 1;
}
body.home.blog .sec01 .inner .main-content.visible {
	opacity: 1;
}
body.home.blog .sec01 .inner .main-content::after {
    content: "";
    width: 100%;
    height: 100%;
    background: var(--color-Black);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    opacity: .2;
    mix-blend-mode: multiply;
}
body.home.blog .sec01 .inner .swiper-slide img {
	width: 100vw;
	height: 100vh;
	object-fit: cover;
	animation: zoom 6s ease forwards;
}
@keyframes zoom {
	from {
		transform: scale(1);
	}
	to {
		transform: scale(1.05);
	}
}
body.home.blog .sec01 .inner .text-overlay {
	width: 100%;
	text-shadow: 0 0 .5em rgb(0 0 0 / 60%);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
}
@media screen and (min-width: 769px) {
	body.home.blog #main #header:not(.is-sticky) header .inner .logo {
	    display: none;
	}
	body.home.blog #main #header:not(.is-sticky) header .inner .menu {
		padding: 0;
	    justify-content: center;
	}
}
@media screen and (max-width: 768px) {
	body.home.blog .sec01 .inner .main-content,
	body.home.blog .sec01 .inner .swiper-slide img {
		height: calc(100vh - 60px);
	}
}
/* ------------------------------------------- */
body.home.blog .sec02 {
    background: url(../img/home/back01.jpg) center / cover no-repeat;
}
body.home.blog .sec02::after {
    content: "";
    width: 100%;
    height: 100%;
    background: var(--color-Black);
    position: absolute;
    top: 0;
    left: 0;
    opacity: .5;
    mix-blend-mode: multiply;
}
body.home.blog .sec02 .inner p {
    line-height: 2;
    z-index: 1;
}
@media screen and (max-width: 768px) {
}
/* ------------------------------------------- */
body.home.blog .sec03 .inner .box02 {
    margin-top: -4em;
    display: flex;
    gap: 2em;
    justify-content: space-between;
}
body.home.blog .sec03 .inner .box02 .text {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
body.home.blog .sec03 .inner .box02 .text .title {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
body.home.blog .sec03 .inner .box02 .text .title h3 {
    padding: 2em 0 0;
    text-indent: -2em;
    writing-mode: vertical-rl;
    letter-spacing: .1em;
}
body.home.blog .sec03 .inner .box02 .text .title .house {
    transform: translateX(-1em);
}
body.home.blog .sec03 .inner .box02 .text p {
    letter-spacing: 0;
    line-height: 2;
}
body.home.blog .sec03 .inner .box02 ol {
    display: grid;
    gap: 2.5em;
}
body.home.blog .sec03 .inner .box02 ol li a {
	width: fit-content;
    margin: 0 0 0 auto;
    display: block;
}
body.home.blog .sec03 .inner .box02 ol li a .item {
    width: 100%;
    height: 100%;
    padding: .5em;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
body.home.blog .sec03 .inner .box02 ol li a .item p {
    letter-spacing: 0;
}
body.home.blog .sec03 .inner .box02 ol li a .img::after {
    content: "";
    width: 100%;
    height: 100%;
    background: var(--color-Black);
    position: absolute;
    top: 0;
    left: 0;
    opacity: .5;
    mix-blend-mode: multiply;
}
body.home.blog .sec03 .inner .box02 ol li a .img img {
    max-width: 370px;
    aspect-ratio: 185 / 110;
    object-fit: cover;
}
@media screen and (min-width: 769px) {
	body.home.blog .sec03 .inner .box02 ol li:nth-child(1) a {
	    transform: translateX(-5em);
	}
	body.home.blog .sec03 .inner .box02 ol li:nth-child(2) a {
	    transform: translateX(-2.5em);
	}
}
@media screen and (max-width: 768px) {
	body.home.blog .sec03 .inner .box02 {
	    flex-direction: column;
	}
	body.home.blog .sec03 .inner .box02 .text {
	    gap: 2em;
	}
	body.home.blog .sec03 .inner .box02 .text .title {
	    justify-content: flex-end;
	}
	body.home.blog .sec03 .inner .box02 ol {
	    width: 100vw;
	    margin: 0 calc(50% - 50vw);
	    gap: 1.5em;
	}
	body.home.blog .sec03 .inner .box02 ol li a {
	    width: 90%;
	}
	body.home.blog .sec03 .inner .box02 ol li:nth-child(1) a,
	body.home.blog .sec03 .inner .box02 ol li:nth-child(3) a {
	    margin: 0 auto 0 0;
	}
	body.home.blog .sec03 .inner .box02 ol li:nth-child(2) a {
	    margin: 0 0 0 auto;
	}
	body.home.blog .sec03 .inner .box02 ol li a .img img {
	    max-width: 100%;
	}
}
/* ------------------------------------------- */
body.home.blog .sec04 {
	overflow: hidden;
}
body.home.blog .sec04 .inner .swiper {
    width: 100vw;
    margin: 0 calc(50% - 50vw) 2em;
    padding: 2.5em 0;
}
body.home.blog .sec04 .inner .swiper-slide {
	width: 360px;
	height: auto;
	overflow: hidden;
    border-radius: .3em;
	box-shadow: 0 0 .5em rgb(0 0 0 / 10%);
	/*transition: transform 0.3s, width 0.3s;*/
}
/*body.home.blog .sec04 .inner .swiper-slide-active {
	transform: scale(1.185);
	z-index: 2;
}*/
body.home.blog .sec04 .inner .swiper-slide .img img {
	width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
body.home.blog .sec04 .inner .swiper-slide h3 {
    padding: .5em;
    background: var(--color-GrayN);
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}
body.home.blog .sec04 .inner .swiper-slide h3::after {
    content: "";
    width: .5em;
    aspect-ratio: 1;
    margin: 0 .5em 0 0;
    border-top: 1px solid var(--color-Black);
    border-right: 1px solid var(--color-Black);
    letter-spacing: .05em;
    transform: rotate(45deg);
}
body.home.blog .sec04 .inner .swiper-slide p {
	padding: 1em;
	font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
	body.home.blog .sec04 .inner .swiper {
	    padding: 3em 0;
	}
	body.home.blog .sec04 .inner .swiper-slide .img img {
	    aspect-ratio: 1;
	}
	body.home.blog .sec04 .inner .swiper-slide h3 {
	    font-size: 1.4rem;
	}
	body.home.blog .sec04 .inner .swiper-slide p {
		font-size: 1.2rem;
	}
}
/* ------------------------------------------- */
body.home.blog .sec05 .inner .swiper.event a {
    display: flex;
}
body.home.blog .sec05 .inner .swiper.event a .img {
	width: 100%;
    max-width: 210px;
    flex-shrink: 0;
}
body.home.blog .sec05 .inner .swiper.event a .img img {
	width: 100%;
    aspect-ratio: 107 / 64;
    object-fit: cover;
}
body.home.blog .sec05 .inner .swiper.event a .text {
    width: 100%;
    display: flex;
    flex-direction: column;
}
body.home.blog .sec05 .inner .swiper.event a .text .cate {
    width: 180px;
    background: var(--color-GrayN);
    text-align: center;
}
body.home.blog .sec05 .inner .swiper.event a .text .title {
    margin: auto 0;
    padding: 0 1em 0 2em;
    display: flex;
    justify-content: space-between;
}
body.home.blog .sec05 .inner .swiper.event a .text .title i {
    flex-shrink: 0;
    opacity: .5;
}
@media screen and (min-width: 769px) {
	body.home.blog .sec05 .inner .swiper.event .swiper-wrapper {
	    border-top: 1px solid var(--color-GrayB);
	    display: grid;
	}
	body.home.blog .sec05 .inner .swiper.event .swiper-slide {
	    border-bottom: 1px solid var(--color-GrayB);
	    overflow: hidden;
	}
}
@media screen and (max-width: 768px) {
	body.home.blog .sec05 .inner .swiper.event {
	    width: 100vw;
	    margin-left: calc(50% - 50vw);
	    margin-right: calc(50% - 50vw);
	    padding: 0 5%;
	}
	body.home.blog .sec05 .inner .swiper.event a {
	    flex-direction: column;
	}
	body.home.blog .sec05 .inner .swiper.event a .img {
	    max-width: 100%;
	}
	body.home.blog .sec05 .inner .swiper.event a .text .cate {
	    width: 100%;
	}
	body.home.blog .sec05 .inner .swiper.event a .text .title {
	    padding: 1em 0 0;
	    line-height: 1.4;
	    gap: 1em;
	}
}
/* ------------------------------------------- */
body.home.blog .sec06 .inner {
}
body.home.blog .sec06 .inner .box {
	margin-top: -6em;
    overflow: hidden;
}
body.home.blog .sec06 .inner .box .img {
    width: 320px;
    aspect-ratio: 1;
    margin: 0 0 0 2em;
    border-radius: 100vmax;
    shape-outside: circle();
    float: right;
    overflow: hidden;
}
body.home.blog .sec06 .inner .box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
body.home.blog .sec06 .inner .box p {
    padding: 10em 0 0;
    line-height: 2;
}
@media screen and (max-width: 768px) {
	body.home.blog .sec06 .inner .box {
	    margin-top: 2em;
	}
	body.home.blog .sec06 .inner .box .img {
	    max-width: 50%;
	}
	body.home.blog .sec06 .inner .box p {
	    padding: 0;
	}
}
/* ------------------------------------------- */
body.home.blog .sec07 .inner ul {
    display: grid;
    gap: 1.5em 2.5em;
    grid-template-columns: repeat(3, 1fr);
}
body.home.blog .sec07 .inner ul li {
	display: grid;
}
body.home.blog .sec07 .inner ul li a {
	padding: 1.5em .5em;
	box-shadow: 0 0 .5em rgb(0 0 0 / 10%);
	display: flex;
	gap: .5em;
    flex-direction: column;
}
body.home.blog .sec07 .inner ul li a::after {
	content: "";
	width: 1em;
	aspect-ratio: 1;
	clip-path: polygon(0 100%,100% 0,100% 100%);
	background: var(--color-Black);
	position: absolute;
    right: 0;
    bottom: 0;
}
body.home.blog .sec07 .inner ul li a i {
    flex-grow: 1;
    justify-content: center;
}
body.home.blog .sec07 .inner ul li a p {
	letter-spacing: 0;
}
body.home.blog .sec07 .inner .text01 {
    line-height: 2;
}
@media screen and (max-width: 768px) {
	body.home.blog .sec07 .inner ul {
	    grid-template-columns: repeat(1, 1fr);
	}
	body.home.blog .sec07 .inner .text01 {
	    text-align: left;
	}
}
/* ------------------------------------------- */
body.home.blog .sec08 .inner .swiper.info a {
    height: 100%;
    padding: 1em;
    display: grid;
}
body.home.blog .sec08 .inner .swiper.info a .img img {
	width: 100%;
    aspect-ratio: 230 / 160;
    object-fit: cover;
}
body.home.blog .sec08 .inner .swiper.info a .text {
    display: grid;
    gap: .5em;
}
body.home.blog .sec08 .inner .swiper.info a .text .address {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
}
body.home.blog .sec08 .inner .swiper.info a .text .price .text-20 {
	margin: 0 0 0 .3em;
    line-height: 1;
}
body.home.blog .sec08 .inner .swiper.info a .text .more {
    width: fit-content;
	margin: .5em 0 0;
    padding: 0 0 .2em;
    border-bottom: 1px solid;
    display: flex;
    gap: 1em;
    align-items: baseline;
}
@media screen and (min-width: 769px) {
	body.home.blog .sec08 .inner .swiper.info .swiper-wrapper {
	    display: grid;
	    gap: 1em 2.5em;
	    grid-template-columns: repeat(3, 1fr);
	}
}
@media screen and (max-width: 768px) {
	body.home.blog .sec08 .inner .swiper.info {
	    width: 100vw;
	    margin-left: calc(50% - 50vw);
	    margin-right: calc(50% - 50vw);
	    padding: 0 5%;
	}
}
/* ------------------------------------------- */
body.home.blog .sec09 .inner ul {
    border-top: 1px solid var(--color-GrayB);
}
body.home.blog .sec09 .inner ul li {
    border-bottom: 1px solid var(--color-GrayB);
}
body.home.blog .sec09 .inner ul li:nth-child(odd) {
    background: var(--color-Cream);
}
body.home.blog .sec09 .inner ul li a {
    display: flex;
    align-items: center;
}
body.home.blog .sec09 .inner ul li a .img {
    width: 210px;
    flex-shrink: 0;
}
body.home.blog .sec09 .inner ul li a .img img {
    aspect-ratio: 107 / 64;
    object-fit: cover;
}
body.home.blog .sec09 .inner ul li a .text {
    width: 100%;
    padding: 0 1em 0 2em;
    display: flex;
    flex-direction: column;
}
body.home.blog .sec09 .inner ul li a .text .jp {
    display: flex;
    justify-content: space-between;
}
body.home.blog .sec09 .inner ul li a .text .jp i {
    flex-shrink: 0;
    opacity: .5;
}
@media screen and (max-width: 768px) {
	body.home.blog .sec09 .inner ul li a {
	    gap: 1em;
	    letter-spacing: 0;
	}
	body.home.blog .sec09 .inner ul li a .img {
	    width: 110px;
	}
	body.home.blog .sec09 .inner ul li a .text {
	    padding: 0;
	}
}
/* ------------------------------------------- */
body.home.blog .sec10 .inner .swiper.blog a .img img {
	width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}
body.home.blog .sec10 .inner .swiper.blog a .text {
    display: grid;
    gap: .5em;
}
body.home.blog .sec10 .inner .swiper.blog a .text h3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}
body.home.blog .sec10 .inner .swiper.blog a .text .more {
    width: fit-content;
	margin: .5em 0 0;
    padding: 0 0 .2em;
    border-bottom: 1px solid;
    display: flex;
    gap: 1em;
    align-items: baseline;
}
@media screen and (min-width: 769px) {
	body.home.blog .sec10 .inner .swiper.blog .swiper-wrapper {
	    display: grid;
	    gap: 2.5em;
	    grid-template-columns: repeat(4, 1fr);
	}
}
@media screen and (max-width: 768px) {
	body.home.blog .sec10 .inner .swiper.blog {
	    width: 100vw;
	    margin: 0 calc(50% - 50vw);
	    padding: 0 5%;
	}
	body.home.blog .sec10 .inner .swiper.blog a .img img {
	    aspect-ratio: 3 / 2;
	}
}

/* ----------------------------------------------
    intro
---------------------------------------------- */
.sec.intro .inner .box01 {
    background: var(--color-GrayL);
}
.sec.intro .inner .box02 {
    background: linear-gradient(0deg, #fff 50%, var(--color-GrayL) 50%);
}
.sec.intro .inner .box02 .img {
    height: 600px;
    overflow: hidden;
}
.sec.intro .inner .box02 .img::after {
    content: "";
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.sec.intro .inner .box02 .img.filter-white::after {
    background: linear-gradient(90deg, rgb(255 255 255 / 100%) 0%, rgb(255 255 255 / 0%) 100%);
}
.sec.intro .inner .box02 .img.filter-black::after {
    background: linear-gradient(90deg, rgb(0 0 0 / 70%) 0%, rgb(0 0 0 / 0%) 100%);
}
.sec.intro .inner .box02 .img .text {
    line-height: 2;
	display: grid;
    gap: 1em;
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
}
.sec.intro .inner .box02 .img .text .en {
    letter-spacing: .2em;
    font-weight: 700;
}
.sec.intro .inner .box02 .img .text .jp {
    letter-spacing: .2em;
}
.sec.intro .inner .box02 .img > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (max-width: 768px) {
	.sec.intro .inner .box01 {
	    padding: 3em 5%;
	}
	.sec.intro .inner .box02 .img {
	    height: 200px;
	}
	.sec.intro .inner .box02 .img .text {
	    line-height: 1.75;
	}
	.sec.intro .inner .box03 {
	    padding: 3em 0 0;
	}
}
/* ------------------------------------------- */
.sec .titlebox {
    padding: 0 0 3em;
}
.sec .titlebox::after {
    content: "";
    width: 100%;
    height: 12em;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.sec .titlebox .item01 {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 2fr;
}
.sec .titlebox .item01 .text .title {
    writing-mode: vertical-rl;
    display: grid;
}
.sec .titlebox .item01 .text .title .en {
    letter-spacing: .25em;
}
.sec .titlebox .item01 .text .title .jp {
    letter-spacing: .1em;
    text-orientation: upright;
}
.sec .titlebox .item01 .img img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
@media screen and (min-width: 769px) {
	.sec .titlebox .item01.reverse {
	    grid-template-columns: 2fr 1fr;
	}
	.sec .titlebox .item01.reverse .text {
	    order: 2;
	}
	.sec .titlebox .item01.reverse .img {
	    order: 1;
	}
}
@media screen and (max-width: 768px) {
    .sec .titlebox::after {
        height: 5em;
    }
    .sec .titlebox .item01 {
    	gap: 1em;
	    grid-template-columns: 1fr;
	}
    .sec .titlebox .item01 .img {
	    width: 90%;
	    margin: 0 auto;
	}
}

/* ----------------------------------------------
    feature
---------------------------------------------- */
body.term-feature .sec02 .inner .box01 {
    display: grid;
    gap: 1em;
    grid-template-columns: repeat(3, 1fr);
}
body.term-feature .sec02 .inner .box01 .item {
    padding: 2em;
}
body.term-feature .sec02 .inner .box01 .item ul li {
    padding: 0 0 0 1em;
    text-indent: -1em;
}
@media screen and (max-width: 768px) {
	body.term-feature .sec02 .inner .box01 {
	    grid-template-columns: repeat(1, 1fr);
	}
	body.term-feature .sec02 .inner .box01 .item {
	    padding: 1em;
	}
}
/* ------------------------------------------- */
body.term-feature .sec03 .inner .box01 {
    padding: 2em;
}
@media screen and (max-width: 768px) {
}
/* ------------------------------------------- */
body.term-feature .sec04 .inner .box01 {
    display: grid;
    gap: 1em;
    grid-template-columns: 2fr 1fr;
}
body.term-feature .sec04 .inner .box02 {
    display: grid;
    gap: 1em;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
}
body.term-feature .sec04 .inner .box02 .item {
    padding: 1.5em;
}
@media screen and (max-width: 768px) {
	body.term-feature .sec04 .inner .box03 .img {
	    display: grid;
	    gap: 1em;
	    justify-content: center;
	}
	body.term-feature .sec04 .inner .box01 {
	    grid-template-columns: 1fr;
	}
	body.term-feature .sec04 .inner .box01 .img {
	    max-width: 200px;
	    margin: 0 auto;
	}
	body.term-feature .sec04 .inner .box02 {
	    grid-template-columns: 1fr;
	    grid-template-rows: initial;
	}
}
/* ------------------------------------------- */
body.term-feature .sec05 .inner .box01 {
    display: grid;
    gap: 2em;
    grid-template-columns: 1fr 3fr;
}
body.term-feature .sec05 .inner .box02 {
    display: grid;
    gap: 2em;
    grid-template-columns: 3fr 1fr;
}
@media screen and (max-width: 768px) {
	body.term-feature .sec05 .inner .box01,
	body.term-feature .sec05 .inner .box02 {
	    grid-template-columns: 1fr;
	}
}
/* ------------------------------------------- */
@media screen and (max-width: 768px) {
}
/* ------------------------------------------- */
body.term-feature .sec07 .inner .box01 {
    display: grid;
    gap: 1em 2em;
    grid-template-columns: 1fr 1fr;
}
body.term-feature .sec07 .inner .box01 .item {
    padding: 2em;
    display: grid;
    gap: 1em;
    align-content: flex-start;
}
@media screen and (max-width: 768px) {
	body.term-feature .sec07 .inner .box01 {
	    grid-template-columns: 1fr;
	}
	body.term-feature .sec07 .inner .box01 .item {
	    padding: 1em;
	    gap: .5em;
	}
}
/* ------------------------------------------- */
@media screen and (max-width: 768px) {
}
/* ------------------------------------------- */
body.term-feature .sec09 .inner .list li {
    padding: 0 0 0 1em;
    text-indent: -1em;
}
@media screen and (max-width: 768px) {
}

/* ----------------------------------------------
    omsolar
---------------------------------------------- */
body.term-omsolar .sec01 .inner .box .img .title {
    width: 20%;
    max-width: 180px;
    padding: 2em 1em;
    display: grid;
    gap: .5em;
    position: absolute;
    top: 0;
    right: 0;
}
body.term-omsolar .sec01 .inner .box.noon .title {
    background: #21A8F7;
}
body.term-omsolar .sec01 .inner .box.night .title {
    background: #0A123C;
}
body.term-omsolar .sec01 .inner .box .img .title i {
	margin: 0 0 .5em;
    justify-content: center;
    filter: grayscale(1) brightness(10);
}
body.term-omsolar .sec01 .inner .box .img .title .text01 {
	line-height: 1.3;
    letter-spacing: .1em;
}
body.term-omsolar .sec01 .inner .box .img .title .text02 {
    background: #fff;
    border-radius: 100vmax;
}
body.term-omsolar .sec01 .inner .box.noon .title .text02 {
    color: #21A8F7;
}
body.term-omsolar .sec01 .inner .box.night .title .text02 {
    color: #0A123C;
}
body.term-omsolar .sec01 .inner .box ul {
    display: grid;
    gap: 1em;
    grid-template-columns: repeat(2, 1fr);
}
body.term-omsolar .sec01 .inner .box ul.column03 {
    grid-template-columns: repeat(3, 1fr);
}
body.term-omsolar .sec01 .inner .box ul li {
    padding: 1em;
    background: var(--color-GrayL);
    display: grid;
    gap: .5em;
    align-content: flex-start;
}
body.term-omsolar .sec01 .inner .box ul li .item {
    display: flex;
    gap: .5em;
    align-items: baseline;
}
body.term-omsolar .sec01 .inner .box ul li .item .num {
    width: 2em;
    aspect-ratio: 1;
    color: #fff;
    background: var(--color-Red);
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    display: grid;
    flex-shrink: 0;
    place-items: center;
}
@media screen and (max-width: 768px) {
	body.term-omsolar .sec01 .inner .box .img .title {
	    width: 100%;
	    max-width: 100%;
	    padding: 1em;
	    display: flex;
	    align-items: center;
	    position: static;
	}
	body.term-omsolar .sec01 .inner .box .img .title i {
	    width: 2em;
	    margin: 0;
	}
	body.term-omsolar .sec01 .inner .box .img .title .text02 {
	    padding: 0 1em;
	}
	body.term-omsolar .sec01 .inner .box ul,
	body.term-omsolar .sec01 .inner .box ul.column03 {
		gap: .5em;
	    grid-template-columns: repeat(1, 1fr);
	}
	body.term-omsolar .sec01 .inner .box ul li .item .num {
	    font-size: 1.2rem;
	}
}
/* ------------------------------------------- */
body.term-omsolar .sec02 .inner .box {
    padding: 3em;
}
body.term-omsolar .sec02 .inner .box .block {
    display: grid;
    gap: 1em 3em;
    align-items: flex-end;
    grid-template-columns: 2fr 1fr;
}
body.term-omsolar .sec02 .inner .box .block .img img {
    aspect-ratio: 1;
    object-fit: cover;
}
@media screen and (min-width: 769px) {
	body.term-omsolar .sec02 .inner .box .block.reverse {
	    grid-template-columns: 1fr 2fr;
	}
	body.term-omsolar .sec02 .inner .box .block.reverse .text {
	    order: 2;
	}
	body.term-omsolar .sec02 .inner .box .block.reverse .img {
	    order: 1;
	}
}
@media screen and (max-width: 768px) {
	body.term-omsolar .sec02 .inner .box {
	    padding: 2em;
	}
	body.term-omsolar .sec02 .inner .box .block {
	    grid-template-columns: 1fr;
	}
	body.term-omsolar .sec02 .inner .box .block .img img {
	    aspect-ratio: 3 / 2;
	}
	body.term-omsolar .sec03 {
	    padding: 3em 0;
	}
}
/* ------------------------------------------- */
body.term-omsolar .sec04.intro .inner .box02 .img {
    border: 1px solid var(--color-Red);
}
body.term-omsolar .sec04.intro .inner .box02 .img img {
    object-position: center right;
}
@media screen and (max-width: 768px) {
}
/* ------------------------------------------- */
body.term-omsolar .sec05 .inner .box01 {
    padding: 3em 0;
}
body.term-omsolar .sec05 .inner .box01 ul {
    display: grid;
    gap: 2em;
    grid-template-columns: repeat(3, 1fr);
}
body.term-omsolar .sec05 .inner .box01 ul li .img {
    margin: 0 0 .5em;
}
body.term-omsolar .sec05 .inner .box02 {
    display: flex;
    gap: 3em 4em;
    flex-wrap: wrap;
    justify-content: center;
}
body.term-omsolar .sec05 .inner .box02 .item .img {
    margin: 0 0 .5em;
}
body.term-omsolar .sec05 .inner .box02 .item .img.plus::after {
    content: "+";
    color: var(--color-Red);
    font-size: 6.0rem;
    font-weight: 100;
    line-height: 1;
    position: absolute;
    top: 50%;
    left: calc(100% + .28em);
    transform: translateY(-50%);
}
body.term-omsolar .sec05 .inner .box02 .item .img img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
body.term-omsolar .sec05 .inner .box03 p {
    width: fit-content;
    padding: 0 1em .3em;
    border-bottom: 1px solid;
    letter-spacing: .1em;
}
@media screen and (max-width: 768px) {
	body.term-omsolar .sec05 .inner .box01 ul {
	    grid-template-columns: repeat(1, 1fr);
	}
	body.term-omsolar .sec05 .inner .box02 {
		letter-spacing: 0;
	    display: grid;
	    gap: 1em;
	    grid-template-columns: 1fr 1fr;
	}
	body.term-omsolar .sec05 .inner .box02 .item .img.plus::after {
		display: none;
	}
	body.term-omsolar .sec05 .inner .box03 .arrow {
	    max-width: 100px;
	}
}
/* ------------------------------------------- */
body.term-omsolar .sec06 .inner .box {
    padding: 0 0 3em;
}
body.term-omsolar .sec06 .inner .box::after {
    content: "";
    width: 100%;
    height: 4em;
    background: var(--color-GrayL);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
body.term-omsolar .sec06 .inner .box .point {
    width: 8em;
    aspect-ratio: 1;
    border: 1px solid;
    border-radius: 100vmax;
    line-height: 1;
    display: grid;
    gap: .3em;
    place-items: center;
    align-content: center;
    justify-content: center;
}
@media screen and (max-width: 768px) {
	body.term-omsolar .sec06 .inner .box .point {
	    width: 6em;
	}
}
/* ------------------------------------------- */
body.term-omsolar .sec07 .inner .titlebox {
    padding: 3em 0 0;
    border-top: 1px solid var(--color-GrayN);
}
body.term-omsolar .sec07 .inner .box01 {
    display: grid;
    gap: 2em 3em;
    grid-template-columns: 1fr 1fr;
}
body.term-omsolar .sec07 .inner .box01 .item {
    display: grid;
    gap: .5em;
}
body.term-omsolar .sec07 .inner .table01 :is(th, td) {
    text-align: center;
    vertical-align: middle;
}
body.term-omsolar .sec07 .inner .table01.table tbody th {
    width: 220px;
}
@media screen and (max-width: 768px) {
	body.term-omsolar .sec07 .inner .titlebox .item01 .img {
		width: 100%;
	}
	body.term-omsolar .sec07 .inner .box01 {
	    grid-template-columns: 1fr;
	}
	body.term-omsolar .sec07 .inner .table01.table tbody th {
	    width: 70px;
	}
}

/* ----------------------------------------------
    ogunisugi
---------------------------------------------- */
body.term-ogunisugi .sec01 .inner .box02 {
    padding: 2em;
    border: 1px solid var(--color-GrayN);
    display: grid;
    gap: .5em;
}
body.term-ogunisugi .titlebox .box01 {
    display: grid;
    gap: 2em;
    align-items: flex-end;
    grid-template-columns: 2fr 1fr;
}
body.term-ogunisugi .titlebox .box02 {
    padding: 2em;
    display: grid;
    gap: .5em;
}
@media screen and (max-width: 768px) {
	body.term-ogunisugi .titlebox .box01 {
	    grid-template-columns: 1fr;
	}
}

/* ----------------------------------------------
    step
---------------------------------------------- */
body.step .sec01 .inner ul {
    display: grid;
    gap: 2em;
    grid-template-columns: repeat(3, 1fr);
}
body.step .sec01 .inner ul li {
    padding: 3em 5%;
    display: grid;
    gap: 1em;
    place-items: center;
    align-content: flex-start;
}
@media screen and (max-width: 768px) {
	body.step .sec01 .inner ul {
	    gap: .5em;
	    grid-template-columns: repeat(2, 1fr);
	}
	body.step .sec01 .inner ul li {
	    padding: 1.5em 0;
	    letter-spacing: 0;
	    gap: .5em;
	}
}
/* ------------------------------------------- */
body.step .sec02 .inner .titlebox .item01 .text .title .jp {
    transform: translateY(-.65em);
}
body.step .sec02 .inner .titlebox ul {
    display: grid;
    gap: 1em 3em;
    grid-template-columns: 1fr 1fr;
}
body.step .sec02 .inner .titlebox ul li {
    padding-left: 1.1em;
    text-indent: -1.1em;
}
@media screen and (max-width: 768px) {
	body.step .sec02 .inner .titlebox ul {
	    gap: .5em;
	    grid-template-columns: 1fr;
	}
}
/* ------------------------------------------- */
body.step .sec04 .inner ul {
    display: grid;
    gap: 2em 4em;
    grid-template-columns: repeat(3, 1fr);
}
body.step .sec04 .inner ul li {
    display: grid;
    gap: 1em;
    align-content: flex-start;
}
@media screen and (max-width: 768px) {
	body.step .sec04 .inner ul {
	    grid-template-columns: repeat(1, 1fr);
	}
}
/* ------------------------------------------- */
body.step .sec05 .inner .box {
    display: grid;
    gap: 2em;
    grid-template-columns: 1fr 1fr;
}
body.step .sec05 .inner .box .item {
    padding: 4em 2em;
}
@media screen and (max-width: 768px) {
	body.step .sec05 .inner .box {
	    gap: 1em;
	    grid-template-columns: 1fr;
	}
	body.step .sec05 .inner .box .item {
	    padding: 3em 2em;
	}
	body.step .sec05 .inner .box .item .img img {
	    max-width: 200px;
	}
}
/* ------------------------------------------- */
body.step .sec06 .inner .box01 {
    display: grid;
    gap: 2em;
}
body.step .sec06 .inner .box01 .item {
	padding: 4em;
    display: grid;
    gap: 2em 3em;
    grid-template-columns: 1fr 1.3fr;
}
body.step .sec06 .inner .box01 .item .text {
    display: grid;
    gap: 1em;
    align-content: flex-start;
}
body.step .sec06 .inner .box01 .item .img img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
body.step .sec06 .inner .catch p {
    line-height: 2.5;
    letter-spacing: .3em;
    text-decoration: 2px underline;
    text-underline-offset: .5em;
}
body.step .sec06 .inner .box02 {
    display: grid;
    gap: 4em;
}
body.step .sec06 .inner .box02 .item {
    display: grid;
    gap: 2em 3em;
    align-items: center;
    grid-template-columns: 1fr 1fr;
}
body.step .sec06 .inner .box02 .item .text {
    display: grid;
    gap: 1em;
}
body.step .sec06 .inner .box02 .item .img img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
@media screen and (min-width: 769px) {
	body.step .sec06 .inner .box01 .item:nth-child(even) {
	    grid-template-columns: 1.3fr 1fr;
	}
	body.step .sec06 .inner :is(.box01, .box02) .item:nth-child(even) .text {
		order: 2;
	}
	body.step .sec06 .inner :is(.box01, .box02) .item:nth-child(even) .img {
		order: 1;
	}
}
@media screen and (max-width: 768px) {
	body.step .sec06 .inner .box01 .item {
	    padding: 2em;
	    grid-template-columns: 1fr;
	}
	body.step .sec06 .inner .catch p {
	    letter-spacing: .2em;
	}
	body.step .sec06 .inner .box02 .item {
	    display: flex;
	    flex-direction: column-reverse;
	}
	body.step .sec06 .inner .box02 .item .text p {
	    text-align: left;
	}
}
/* ------------------------------------------- */
body.step .sec07 .inner .box {
    display: grid;
    gap: 2em;
}
body.step .sec07 .inner .box .item {
    padding: 4em;
}
body.step .sec07 .inner .box .item .block01 {
    display: grid;
    gap: 2em 4em;
    align-items: center;
    grid-template-columns: 1fr 1.5fr;
}
body.step .sec07 .inner .box .item .block01 .img img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
body.step .sec07 .inner .box .item .block02 {
    display: grid;
    gap: 1em 3em;
    grid-template-columns: 1fr 1fr;
}
@media screen and (min-width: 769px) {
	body.step .sec07 .inner .box .item:nth-child(even) .block01 {
	    grid-template-columns: 1.5fr 1fr;
	}
	body.step .sec07 .inner .box .item:nth-child(even) .block01 .text {
		order: 2;
	}
	body.step .sec07 .inner .box .item:nth-child(even) .block01 .img {
		order: 1;
	}
}
@media screen and (max-width: 768px) {
	body.step .sec07 .inner .box .item {
	    padding: 2em;
	}
	body.step .sec07 .inner .box .item .block01 {
	    gap: 1em;
	    grid-template-columns: 1fr;
	}
	body.step .sec07 .inner .box .item .block02 {
	    grid-template-columns: 1fr;
	}
}

/* ----------------------------------------------
    forest
---------------------------------------------- */
body.forest .sec01 .inner .box01 {
    display: grid;
    gap: 1em;
    grid-template-columns: 1fr 1fr;
}
body.forest .sec01 .inner .box01 .item p {
    margin: .5em 0 0;
}
body.forest .sec01 .inner .box02 {
    display: grid;
    gap: 1em;
    grid-template-columns: 1fr 1fr 1fr;
}
body.forest .sec01 .inner :is(.box01, .box02) img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
@media screen and (max-width: 768px) {
	body.forest .sec01 .inner .box01,
	body.forest .sec01 .inner .box02 {
	    grid-template-columns: 1fr;
	}
}

/* ----------------------------------------------
    kimitsu
---------------------------------------------- */
body.kimitsusokutei .sec01 .inner .box01,
body.kimitsusokutei .sec01 .inner .box02 dl,
body.kimitsusokutei .sec01 .inner .box03 {
    display: grid;
    gap: 2em;
}
body.kimitsusokutei .sec01 .inner .box01 {
    grid-template-columns: 1fr 1.3fr;
}
body.kimitsusokutei .sec01 .inner .box02 dl {
    grid-template-columns: 1fr 1fr;
}
body.kimitsusokutei .sec01 .inner .box02 dl div {
    padding: 2em;
    background: var(--color-GrayL);
    display: grid;
    gap: .5em;
    align-content: flex-start;
}
body.kimitsusokutei .sec01 .inner .box02 dl div dd {
    padding-left: 1.3em;
    text-indent: -1.3em;
}
body.kimitsusokutei .sec01 .inner .box03 {
    grid-template-columns: 1.3fr 1fr;
}
@media screen and (max-width: 768px) {
	body.kimitsusokutei .sec01 .inner .box01,
	body.kimitsusokutei .sec01 .inner .box02 dl,
	body.kimitsusokutei .sec01 .inner .box03 {
	    grid-template-columns: 1fr;
	}
	body.kimitsusokutei .sec01 .inner .box02 dl {
	    gap: 1em;
	}
}

/* ----------------------------------------------
    support
---------------------------------------------- */

/* ----------------------------------------------
    after
---------------------------------------------- */
body.after .sec01 .inner dl {
    display: grid;
    gap: 2em;
    grid-template-columns: 1fr 1fr;
}
body.after .sec01 .inner dl div dt {
    margin: 0 0 1em;
    background: var(--color-Cream);
    display: flex;
    gap: 1em;
}
body.after .sec01 .inner dl div dt span {
    display: flex;
    align-items: center;
}
body.after .sec01 .inner dl div dt span.num {
    width: 3em;
    padding: .5em 0;
    justify-content: center;
}
body.after .sec01 .inner .box {
    padding: 2em;
    border: 1px solid var(--color-GrayN);
}
@media screen and (max-width: 768px) {
	body.after .sec01 .inner dl {
	    grid-template-columns: 1fr;
	}
	body.after .sec01 .inner dl div dt span.num {
	    width: 2em;
	}
	body.after .sec01 .inner .box {
	    padding: 1.5em;
	}
}

/* ----------------------------------------------
    guarantee
---------------------------------------------- */
body.term-guarantee .sec .inner .list li {
    padding: 0 0 0 1em;
    text-indent: -1em;
}
@media screen and (max-width: 768px) {
}

/* ----------------------------------------------
    warranty
---------------------------------------------- */
body.term-warranty .sec .inner .graph01 dl > div {
    display: flex;
}
body.term-warranty .sec .inner .graph01 dl > div dt {
    margin-right: 3em;
    padding: 3em 1em;
    letter-spacing: .3em;
    writing-mode: vertical-rl;
    flex-shrink: 0;
}
body.term-warranty .sec .inner .graph01 dl > div dt::after {
    content: "";
    width: 1em;
    aspect-ratio: 1 / 3;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: var(--color-Red);
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
}
body.term-warranty .sec .inner .graph01 dl > div dd .years {
    padding: .5em;
    display: flex;
    gap: .3em;
    align-items: baseline;
    justify-content: center;
}
body.term-warranty .sec .inner .graph01 dl > div dd:not(:last-of-type) .years::after {
    content: "";
    height: 100%;
    aspect-ratio: 1 / 5;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 1;
}
body.term-warranty .sec .inner .graph01 dl > div dd:nth-of-type(1) .years::after {
    background: var(--color-Orange);
}
body.term-warranty .sec .inner .graph01 dl > div dd:nth-of-type(2) .years,
body.term-warranty .sec .inner .graph01 dl > div dd:nth-of-type(2) .years::after {
    background: #DB6216;
}
body.term-warranty .sec .inner .graph01 dl > div dd .years .text-30 {
    line-height: 1;
}
body.term-warranty .sec .inner .graph01 dl > div dd .text {
    padding: 2em 1em;
}
body.term-warranty .sec .inner .graph01 dl > div dd:not(:last-of-type) .text {
    border-right: 2px dashed #fff;
}
body.term-warranty .sec .inner .graph01 dl > div dd .text p {
    margin: 0 0 .5em;
    font-weight: 400;
}
body.term-warranty .sec .inner .graph01 dl > div dd .text .amount {
    display: flex;
    gap: .2em;
    align-items: baseline;
    justify-content: center;
}
body.term-warranty .sec .inner .detail {
    display: grid;
    gap: 1em 2em;
    align-items: center;
    grid-template-columns: 1fr 2fr;
}
body.term-warranty .sec .inner .detail .left dl {
    display: grid;
    gap: 1em;
}
body.term-warranty .sec .inner .detail .left dl > div {
    padding: 1em;
    display: grid;
    gap: .3em;
}
body.term-warranty .sec .inner .detail .left dl > div h5 {
    display: flex;
    gap: .5em;
    align-items: center;
}
body.term-warranty .sec .inner .list li {
    padding: 0 0 0 1em;
    text-indent: -1em;
}
body.term-warranty .sec01 .inner .inspection {
    display: grid;
    gap: 1em 2em;
    grid-template-columns: 1fr 1fr;
}
body.term-warranty .sec01 .inner .inspection .item {
    padding: 2em;
    display: grid;
    gap: .5em;
    align-content: flex-start;
}
@media screen and (max-width: 768px) {
	body.term-warranty .sec .inner .graph01 dl > div {
	    flex-direction: column;
	}
	body.term-warranty .sec .inner .graph01 dl > div dt {
	    margin: 0 0 2em;
	    padding: .5em;
	    writing-mode: initial;
	}
	body.term-warranty .sec .inner .graph01 dl > div dt::after,
	body.term-warranty .sec .inner .graph01 dl > div dd:nth-of-type(1) .years::after,
	body.term-warranty .sec .inner .graph01 dl > div dd:nth-of-type(2) .years::after {
	    width: 2em;
	    height: auto;
	    aspect-ratio: 3 / 1;
	    clip-path: polygon(50% 100%, 100% 0, 0 0);
	    top: 100%;
	    left: 50%;
	    transform: translateX(-50%);
	}
	body.term-warranty .sec .inner .graph01 dl > div dd .text {
	    padding: 1em;
	}
	body.term-warranty .sec .inner .graph01 dl > div dd .text p {
	    margin: 0;
	}
	body.term-warranty .sec .inner .detail {
	    display: flex;
	    flex-direction: column-reverse;
	}
	body.term-warranty .sec01 .inner .inspection {
	    grid-template-columns: 1fr;
	}
	body.term-warranty .sec01 .inner .inspection .item {
	    padding: 1em;
	}
}

/* ----------------------------------------------
    reform
---------------------------------------------- */
body.reform .sec01 .inner dl {
    display: grid;
    gap: 2em;
}
body.reform .sec01 .inner dl div dt {
    margin: 0 0 1em;
    background: var(--color-Cream);
    display: flex;
    gap: .5em;
}
body.reform .sec01 .inner dl div dt span {
    padding: .5em;
    display: flex;
    align-items: center;
}
body.reform .sec01 .inner dl div dt span.num {
    width: 3em;
    flex-shrink: 0;
    justify-content: center;
}
body.reform .sec01 .inner dl div dd ul.check {
	padding: 0 0 0 .5em;
    display: grid;
    gap: .5em;
}
body.reform .sec01 .inner dl div dd ul.check li {
    display: flex;
    gap: 1em;
    align-items: baseline;
}
body.reform .sec01 .inner dl div dd ul.check li::before {
    content: "";
    width: .5em;
    aspect-ratio: 7 / 10;
    border-right: 2px solid var(--color-Red);
    border-bottom: 2px solid var(--color-Red);
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    display: block;
}
body.reform .sec01 .inner dl div dd .btn01 {
    display: flex;
    gap: 1em;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
	body.reform .sec01 .inner dl div dt span.num {
	    width: 2em;
	}
}

/* ----------------------------------------------
    blog
---------------------------------------------- */
body.archive .sec01 .inner .bloglist ul {
    display: grid;
    gap: 2em;
    align-content: flex-start;
}
body.archive .sec01 .inner .bloglist li {
	padding: 0 0 2em;
	border-bottom: 1px dashed var(--color-GrayN);
    display: flex;
    gap: 2em;
    align-items: flex-start;
}
body.archive .sec01 .inner .bloglist li .img {
    width: 100%;
    max-width: 240px;
    aspect-ratio: 3 / 2;
    background: var(--color-GrayL);
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}
body.archive .sec01 .inner .bloglist li .img:empty::after {
    content: "NO IMAGES";
    color: var(--color-GrayN);
    font-weight: 900;
}
body.archive .sec01 .inner .bloglist li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
body.archive .sec01 .inner .bloglist li .text {
    display: grid;
    gap: .5em;
    align-content: flex-start;
}
body.archive .sec01 .inner .bloglist li .text .title h3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
}
body.archive .sec01 .inner .bloglist li .text .deta {
    display: flex;
    gap: .5em;
    align-items: center;
}
body.archive .sec01 .inner .bloglist li .text .deta .cate {
    padding: .3em 1em;
    background: var(--color-Cream);
    line-height: 1;
}
body.archive .sec01 .inner .bloglist li .text .body p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}
body.archive .sec01 .inner .bloglist li .text .more a {
    width: fit-content;
    margin: 0 0 0 auto;
    padding: 0 0 .2em;
    border-bottom: 1px solid;
    display: flex;
    gap: 1em;
    align-items: baseline;
}
@media screen and (max-width: 768px) {
	body.archive .sec01 .inner .bloglist li {
	    gap: 1em;
	    flex-direction: column;
	}
	body.archive .sec01 .inner .bloglist li .img {
	    max-width: 100%;
	}
}
/* ------------------------------------------- */
body.archive .sec01 .inner .voicelist {
    display: grid;
    gap: 2em;
    grid-template-columns: 1fr 1fr;
}
body.archive .sec01 .inner .voicelist a .img img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
body.archive .sec01 .inner .voicelist a .text {
    padding: .5em 1em;
    background: rgb(0 0 0 / 60%);
    position: absolute;
    left: 0;
    bottom: 0;
}
@media screen and (max-width: 768px) {
	body.archive .sec01 .inner .voicelist {
	    grid-template-columns: 1fr;
	}
}

/* ----------------------------------------------
    dl
---------------------------------------------- */
body.dl .sec01 .inner .box {
    padding: 1em;
}
body.dl .sec01 .inner form {
    padding: 3em 0 0;
    border-top: 1px solid var(--color-Cream);
}
@media screen and (max-width: 768px) {
}

/* ----------------------------------------------
    form
---------------------------------------------- */
form .formlist {
    display: grid;
    gap: 1em;
}
form .formlist .item {
    display: flex;
    gap: 1em;
}
form .formlist .item dt {
    width: 100%;
    max-width: 250px;
    padding: .5em;
    background: var(--color-GrayL);
    font-weight: 700;
    letter-spacing: 0;
    display: flex;
    flex-shrink: 0;
    align-items: baseline;
    justify-content: space-between;
}
form .formlist .item dt span {
    padding: .1em .5em;
    color: #fff;
    background: var(--color-Red);
    font-size: 1.2rem;
}
form .formlist .item dd {
	width: 100%;
}
/* ------------------------------------------- */
form :is(input, select, textarea) {
    width: 100%;
    /*max-width: 400px;*/
    height: 45px;
    padding: .2em 1em;
    background: #fff;
	border: 1px solid var(--color-GrayN);
    border-radius: .3em;
    cursor: pointer;
}
form textarea {
    min-height: 180px;
}
form input:focus-visible,
form select:focus-visible,
form textarea:focus-visible {
    outline: none;
    border: 1px solid var(--color-GrayB);
}
form input::placeholder,
form select::placeholder,
form textarea::placeholder {
	color: var(--color-GrayM);
	opacity: .5;
}
form .address dl {
    display: grid;
    gap: .5em;
}
form .address dl .item dt {
    max-width: 140px;
    background: none;
    font-size: 1.4rem;
    align-items: center;
}
form .address [data-name="zip"] {
    max-width: 200px;
    display: block;
}
form .select {
	width: 100%;
	display: flex;
    align-items: center;
    position: relative;
}
form .select::after {
    content: "";
    width: .4em;
    aspect-ratio: 1;
    border-right: 1px solid var(--color-GrayM);
    border-bottom: 1px solid var(--color-GrayM);
    position: absolute;
    right: 1em;
    transform: rotate(45deg);
    pointer-events: none;
}
form .select select {
    padding-right: 2.5em;
}
form .check .wpcf7-checkbox {
    display: flex;
    gap: .5em 1em;
    flex-wrap: wrap;
}
form .check .wpcf7-checkbox .wpcf7-list-item {
    margin: 0;
}
form .check .wpcf7-checkbox .wpcf7-list-item input {
    display: none;
}
form .check .wpcf7-checkbox .wpcf7-list-item-label {
    display: flex;
    gap: .5em;
    align-items: center;
    position: relative;
}
form .check .wpcf7-checkbox .wpcf7-list-item-label::before {
	width: 1.3em;
    aspect-ratio: 1;
	background: #fff;
    border: 1px solid var(--color-GrayN);
    display: grid;
    flex-shrink: 0;
    place-items: center;
    transition: border 0.2s linear;
    -webkit-transition: border 0.2s linear;
	transition: background 0.2s linear;
	-webkit-transition: background 0.2s linear;
}
form .check .wpcf7-checkbox .wpcf7-list-item-label::after {
    content: "";
    width: .5em;
    aspect-ratio: 7 / 10;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transition: opacity 0.2s linear;
    -webkit-transition: opacity 0.2s linear;
    opacity: 0;
    position: absolute;
    top: .45em;
    left: .4em;
}
form .check .wpcf7-checkbox .wpcf7-list-item:has(input:checked) .wpcf7-list-item-label::before {
	background: var(--color-Orange);
	border-color: var(--color-Orange);
}
form .check .wpcf7-checkbox .wpcf7-list-item:has(input:checked) .wpcf7-list-item-label::after {
	opacity: 1.0;
}
form .button {
    width: fit-content;
    margin: 3em auto 0;
    display: grid;
    gap: 1em;
    place-items: center;
}
form .button input {
    width: 200px;
    color: #fff;
    background: var(--color-Red);
    border: none;
    font-weight: 700;
    text-align: center;
}
form .button .wpcf7-spinner {
    display: none;
}
@media screen and (max-width: 768px) {
	form .formlist .item {
	    flex-direction: column;
	}
	form .formlist .item dt {
	    max-width: 100%;
	}
	form .formlist .item .address dl .item {
	    gap: .5em;
	}
	form .formlist .item .address dl .item dt {
	    max-width: 100%;
	    padding: 0;
	    font-size: 1.2rem;
	}
	form .formlist .item :is(input, select) {
	    height: 40px;
	}
}

/* ----------------------------------------------
    zeh
---------------------------------------------- */
body.contents-zeh .sec01 .inner h4 {
    margin: 0 0 .5em;
}
@media screen and (max-width: 768px) {
	body.contents-zeh .sec01 .inner .box {
	    overflow-x: scroll;
	}
	body.contents-zeh .sec01 .inner .box .table01 {
	    width: 600px;
	}
}

/* ----------------------------------------------
    support
---------------------------------------------- */
body.support .supportlist {
    display: grid;
    gap: 3em;
}
body.support .supportlist .item {
    display: grid;
    gap: 2em;
}
body.support .supportlist .item .img img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}
body.support .supportlist .item .text {
    display: grid;
    gap: 1em;
}
body.support .supportlist .item .text h3 {
    display: grid;
}
body.support .supportlist .item .text .more i {
    justify-content: center;
}
@media screen and (max-width: 768px) {
	body.support .supportlist .item .img img {
	    height: 200px;
	}
}

/* ----------------------------------------------
    build
---------------------------------------------- */
.buildlist {
    display: grid;
    gap: 1em;
    grid-template-columns: 1fr 1fr 1fr;
}
.buildlist a {
    padding: 1em;
    background: var(--color-GrayL);
    display: grid;
    gap: .5em 1em;
    align-content: flex-start;
}
.buildlist a .img {
    width: 100%;
    aspect-ratio: 3 / 2;
    background: #fff;
    position: relative;
}
.buildlist a .img::after {
    content: "NO IMAGES";
    width: 100%;
    color: var(--color-Cream);
    text-align: center;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.buildlist a .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
    z-index: 1;
}
.builddetail {
    width: 100%;
    overflow: hidden;
    display: grid;
    align-items: flex-start;
    align-content: flex-start;
}
.builddetail .swiper.gallery-main .swiper-slide {
    height: auto;
    max-height: 530px;
}
.builddetail .swiper.gallery-main .swiper-slide img {
    width: auto;
    max-width: 100%;
	height: 100%;
    max-height: 100%;
    object-fit: cover;
}
.builddetail .swiper.gallery-main .swiper-button-next:after,
.builddetail .swiper.gallery-main .swiper-button-prev:after {
    color: var(--color-GrayB);
}
.builddetail .swiper.gallery-thumbs .swiper-slide {
	background: var(--color-Black);
}
.builddetail .swiper.gallery-thumbs .swiper-slide img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
    opacity: .5;
    cursor: pointer;
}
.builddetail .swiper.gallery-thumbs .swiper-slide.swiper-slide-thumb-active img {
    opacity: 1;
}


.builddetail .fancy-container {
    display: grid;
    gap: 2em;
}
.builddetail .fancy-container li {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3em;
}
.builddetail .fancy-container li a.before::after {
    content: "";
    height: 1.5em;
    aspect-ratio: cos(30deg);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: var(--color-GrayN);
    position: absolute;
    top: 50%;
    left: calc(100% + 1em);
    transform: translateY(-50%);
}
.builddetail .fancy-container li a img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.builddetail .fancy-container li a span {
    padding: .5em 1em;
    color: #fff;
    background: rgb(0 0 0 / 60%);
    line-height: 1;
    position: absolute;
    right: 0;
    bottom: 0;
}
@media screen and (max-width: 768px) {
	.buildlist {
	    grid-template-columns: 1fr;
	}
	.buildlist a .img {
	    aspect-ratio: 3 / 1.5;
	}
	.builddetail .swiper.gallery-main .swiper-slide {
	    aspect-ratio: 800 / 534;
	}
	.builddetail .swiper.gallery-main .swiper-button-prev {
	    left: 0;
	}
	.builddetail .swiper.gallery-main .swiper-button-next {
	    right: 0;
	}
	.builddetail .swiper.gallery-main .swiper-button-next:after,
	.builddetail .swiper.gallery-main .swiper-button-prev:after {
	    width: 2.5em;
	    aspect-ratio: 1;
	    color: #fff;
	    background: rgb(0 0 0 / 40%);
	    font-size: 1.8rem;
	    font-weight: 900;
	    display: grid;
	    place-items: center;
	}
	.builddetail .fancy-container {
	    gap: 1em;
	}
	.builddetail .fancy-container li {
	    gap: 1.5em;
	}
	.builddetail .fancy-container li a.before::after {
	    height: 1em;
	    left: calc(100% + .35em);
	}
	.builddetail .fancy-container li a span {
	    font-size: 1.0rem;
	}
}
/* ------------------------------------------- */
.landdetail .main-pic {
    width: 100%;
    aspect-ratio: 3 / 1.5;
    overflow: hidden;
    text-align: center;
    background: var(--color-GrayL);
}
.landdetail .main-pic a {
    height: 100% !important;
}
.landdetail .main-pic a img {
    width: auto !important;
    max-width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: cover;
}
.landdetail .fancy-container {
    display: grid;
    gap: 1em;
    grid-template-columns: repeat(5, 1fr);
}
.landdetail .fancy-container img {
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
    text-align: center;
    background: var(--color-GrayL);
    display: block;
}
.landdetail .detail {
    display: grid;
    gap: .5em 1em;
    grid-template-columns: 1fr 1fr;
}
.landdetail .detail > div {
    padding: .5em 0;
    border-bottom: 1px dashed var(--color-GrayN);
    display: flex;
}
.landdetail .detail > div dt {
    width: 100px;
    color: var(--color-Red);
    flex-shrink: 0;
}
.landdetail .detail > div dd {
    width: 100%;
}
@media screen and (max-width: 768px) {
	.landdetail .fancy-container {
	    gap: 0;
	    grid-template-columns: repeat(4, 1fr);
	}
	.landdetail .detail {
	    grid-template-columns: 1fr;
	}
	.landdetail .detail > div dt {
	    width: 80px;
	}
}

/* ----------------------------------------------
    guarantee
---------------------------------------------- */
@media screen and (max-width: 768px) {
}

/* ----------------------------------------------
    about
---------------------------------------------- */
.term-about .sec01 .inner .box {
    display: grid;
    gap: 4em;
    grid-template-columns: 1fr 1fr;
}
.term-about .sec01 .inner .box a {
    display: grid;
    gap: 1em;
    place-items: center;
    align-content: flex-start;
}
.term-about .sec01 .inner .box a .img img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.term-about .sec01 .inner .box a h3 {
    letter-spacing: .1em;
    display: grid;
}
@media screen and (max-width: 768px) {
	.term-about .sec01 .inner .box {
	    grid-template-columns: 1fr;
	}
	.term-about .sec01 .inner .box a .img img {
	    aspect-ratio: 3 / 1.5;
	}
}

/* ----------------------------------------------
    company
---------------------------------------------- */
body.term-company .sec02 .inner dl {
	width: fit-content;
	display: grid;
}
body.term-company .sec02 .inner dl div {
	display: flex;
    gap: 2em;
}
body.term-company .sec02 .inner dl div dt {
	color: var(--color-Red);
    font-weight: 800;
	display: flex;
    gap: .5em;
    flex-shrink: 0;
    align-items: baseline;
    position: relative;
    transform: translateY(.15em);
}
body.term-company .sec02 .inner dl div dt::before {
    content: "";
    width: 1em;
    aspect-ratio: 1;
    background: var(--color-Red);
    border-radius: 100vmax;
    display: block;
}
body.term-company .sec02 .inner dl div:not(:last-of-type) dt::after {
    content: "";
    width: 2px;
    height: 100%;
    background: var(--color-Red);
    position: absolute;
    top: .5em;
    left: .45em;
}
body.term-company .sec02 .inner dl div dd {
    padding: 0 0 2em;
}
body.term-company .sec03 .inner .map iframe {
    width: 100%;
    height: 500px;
}
@media screen and (max-width: 768px) {
	body.term-company .sec01 .inner .table01 th {
	    width: 80px;
	}
	body.term-company .sec03 .inner .map iframe {
	    height: 300px;
	}
}

/* ----------------------------------------------
    message
---------------------------------------------- */
body.term-message .sec.intro .inner .box02 .img img {
    object-position: left 20%;
}
@media screen and (max-width: 768px) {
	body.term-message .sec.intro .inner .box02 .img img {
	    width: 130%;
	    max-width: initial;
	}
}

/* ----------------------------------------------
    staff
---------------------------------------------- */
body.term-staff .sec01 .inner .stafflist {
    display: grid;
    gap: 1em;
    grid-template-columns: 1fr 1fr 1fr;
}
body.term-staff .sec01 .inner .stafflist a {
    padding: 1em;
    background: var(--color-GrayL);
    display: grid;
    gap: .5em 1em;
    align-content: flex-start;
}
body.term-staff .sec01 .inner .stafflist a .img img {
    width: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
@media screen and (max-width: 768px) {
	body.term-staff .sec01 .inner .stafflist {
	    grid-template-columns: 1fr;
	}
	body.term-staff .sec01 .inner .stafflist a {
	    display: flex;
	    align-items: center;
	}
	body.term-staff .sec01 .inner .stafflist a .img {
	    width: 100px;
	    flex-shrink: 0;
	}
	body.term-staff .sec01 .inner .stafflist a .text {
	    text-align: left;
	}
}
/* ------------------------------------------- */
body.staff-detail .sec01 .inner .staffdetail {
	padding: 2em;
    background: var(--color-GrayL);
}
body.staff-detail .sec01 .inner .staffdetail .box {
    display: flex;
    gap: 2em;
}
body.staff-detail .sec01 .inner .staffdetail .box .img {
    max-width: 300px;
}
body.staff-detail .sec01 .inner .staffdetail .box .text .name {
    display: flex;
    gap: .5em;
    align-items: baseline;
}
body.staff-detail .sec01 .inner .staffdetail .box .text dl {
    letter-spacing: 0;
    display: grid;
    gap: 1em;
    grid-template-columns: 1fr 1fr;
}
body.staff-detail .sec01 .inner .staffdetail .box .text dl div ul li {
    padding: 0 0 0 1em;
    text-indent: -1em;
}
body.staff-detail .sec01 .inner .staffdetail .message dl {
    display: grid;
    gap: 2em;
}
body.staff-detail .sec01 .inner .staffdetail .message dl > div {
    padding: 1.5em;
}
@media screen and (max-width: 768px) {
	body.staff-detail .sec01 .inner .staffdetail {
	    padding: 1.5em;
	}
	body.staff-detail .sec01 .inner .staffdetail .box {
	    flex-direction: column;
	}
	body.staff-detail .sec01 .inner .staffdetail .box .text dl {
	    grid-template-columns: 1fr;
	}
	body.staff-detail .sec01 .inner .staffdetail .message dl {
	    gap: 1.5em;
	}
}
/* ------------------------------------------- */
body.staff-detail .sec01 .inner .staffdetail-link {
    display: flex;
    gap: 2em;
    align-items: center;
}
body.staff-detail .sec01 .inner .staffdetail-link :is(.prev, .next) {
    padding: 0 .5em .2em;
    border-bottom: 1px solid var(--color-GrayN);
    display: flex;
    gap: .5em;
    align-items: center;
}
body.staff-detail .sec01 .inner .staffdetail-link .prev i {
    scale: -1 1;
}
body.staff-detail .sec01 .inner .staffdetail-link .list {
    width: 100%;
    max-width: 160px;
    margin: 0 0 0 auto;
    padding: .3em 1em;
    color: #fff;
    background: var(--color-Black);
    border-radius: .3em;
    text-align: center;
}
@media screen and (max-width: 768px) {
	body.staff-detail .sec01 .inner .staffdetail-link {
	    gap: 1em;
	}
	body.staff-detail .sec01 .inner .staffdetail-link .list {
	    max-width: 120px;
	}
}

/* ----------------------------------------------
    recruit
---------------------------------------------- */
body.term-recruit .sec01 {
    height: 800px;
    background: url(../img/recruit/intro.jpg) left top / cover no-repeat;
    display: flex;
    align-items: center;
}
body.term-recruit .sec01 .inner .text {
    width: fit-content;
    font-weight: 300;
}
body.term-recruit .sec01 .inner .text span {
    width: fit-content;
    padding: 0 .2em;
    line-height: 1.5;
    display: block;
}
body.term-recruit .sec01 .inner .text span::before,
body.term-recruit .sec01 .inner .text span::after {
    content: "";
    height: 100%;
    aspect-ratio: 1 / 3;
    background: var(--color-Red);
    position: absolute;
    top: 0;
}
body.term-recruit .sec01 .inner .text span::before {
    clip-path: polygon(0 100%, 100% 0, 100% 100%);
    right: calc(100% - .5px);
}
body.term-recruit .sec01 .inner .text span::after {
    clip-path: polygon(0 0,100% 0,0 100%);
    left: calc(100% - .5px);
}
body.term-recruit .sec01 .inner .text.text02 {
    margin: 0 0 0 auto;
    text-indent: -.5em;
}
body.term-recruit .sec01 .inner .text.text02 span::before,
body.term-recruit .sec01 .inner .text.text02 span::after {
    background: #fff;
}
body.term-recruit .sec02 .inner h3 {
    letter-spacing: .1em;
}
body.term-recruit .sec02 .inner .table01 :is(th, td) {
    padding: 1.5em 3em;
    border: 1px solid #dddddd;
}
body.term-recruit .sec02 .inner .table01 th {
    width: 300px;
    color: var(--color-Red);
    background: rgb(164 46 46 / 6%);
    vertical-align: middle;
}
body.term-recruit .sec02 .inner .box {
    padding: 4em;
    background: rgb(164 46 46 / 6%);
}
body.term-recruit .sec02 .inner .box .contact {
    display: grid;
    gap: 1em;
    grid-template-columns: 1fr 1fr;
}
body.term-recruit .sec02 .inner .box .contact .item {
    padding: 2.5em 0;
    display: grid;
    gap: .5em;
    justify-content: center;
}
body.term-recruit .sec02 .inner .box .contact .item .icon i {
    justify-content: center;
}
body.term-recruit .sec02 .inner .box .contact .item .icon span {
    margin: .5em 0 0;
    letter-spacing: .25em;
    display: block;
}
@media screen and (max-width: 768px) {
	body.term-recruit .sec01 {
	    height: 400px;
	    padding: 2em 0;
	}
	body.term-recruit .sec01::after {
	    content: "";
	    width: 100%;
	    height: 30%;
	    background: linear-gradient(0deg, rgb(0 0 0 / 50%) 0%, rgba(0 0 0 / 0) 100%);
	    position: absolute;
	    left: 0;
	    bottom: 0;
	    z-index: 0;
	}
	body.term-recruit .sec01 .inner {
	    height: 100%;
	    padding: 0 5%;
	    display: flex;
	    flex-direction: column;
	    justify-content: space-between;
	}
	body.term-recruit .sec02 .inner .table01 :is(th, td) {
	    padding: 1em;
	}
	body.term-recruit .sec02 .inner .table01 th {
	    width: 95px;
	    vertical-align: top;
	}
	body.term-recruit .sec02 .inner .box {
	    padding: 3em 2em;
	}
	body.term-recruit .sec02 .inner .box .contact {
	    grid-template-columns: 1fr;
	}
}
/* ------------------------------------------- */
.term-recruit .sec03 .inner .box {
    display: grid;
    gap: 4em;
    grid-template-columns: 1fr 1fr;
}
.term-recruit .sec03 .inner .box a {
    display: grid;
    gap: 1em;
    place-items: center;
    align-content: flex-start;
}
.term-recruit .sec03 .inner .box a .img img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
.term-recruit .sec03 .inner .box a h3 {
    letter-spacing: .1em;
    display: grid;
}
@media screen and (max-width: 768px) {
	.term-recruit .sec03 .inner .box {
	    grid-template-columns: 1fr;
	}
	.term-recruit .sec03 .inner .box a .img img {
	    aspect-ratio: 3 / 1.5;
	}
}

/* ----------------------------------------------
    modelhouse
---------------------------------------------- */
body.term-modelhouse .sec01 .inner .box01 {
    display: grid;
    gap: 2em 4em;
    grid-template-columns: 1fr 1fr;
}
body.term-modelhouse .sec01 .inner .box02 {
    display: grid;
    gap: 1em;
    grid-template-columns: repeat(4, 1fr);
}
body.term-modelhouse .sec01 .inner .modal {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 9999;
}
body.term-modelhouse .sec01 .inner .modal.is-visible {
	display: flex;
}
body.term-modelhouse .sec01 .inner .modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	cursor: pointer;
}
body.term-modelhouse .sec01 .inner .modal__content {
	width: 100%;
	max-width: 800px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(0,0,0,0.2);
	position: relative;
	z-index: 1;
}
body.term-modelhouse .sec01 .inner .modal__close {
    background: rgb(0 0 0 / 60%);
    border: none;
    aspect-ratio: 1;
    width: 1.2em;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4.0rem;
    color: #fff;
    line-height: 1;
    cursor: pointer;
    position: absolute;
    right: 0;
    bottom: 100%;
}
body.term-modelhouse .sec02 .inner .box01 {
    display: grid;
    gap: 2em 4em;
    grid-template-columns: 1fr 1fr;
}
body.term-modelhouse .sec03 .inner iframe {
	height: 400px;
}
@media screen and (max-width: 768px) {
	body.term-modelhouse .sec01 .inner .box01 {
	    grid-template-columns: 1fr;
	}
	body.term-modelhouse .sec01 .inner .box02 {
	    grid-template-columns: repeat(2, 1fr);
	}
	body.term-modelhouse .sec02 .inner .box01 {
	    grid-template-columns: 1fr;
	}
}

/* ----------------------------------------------
    link
---------------------------------------------- */
body.term-link .sec01 .inner .box01 dl > div {
    display: flex;
    gap: 1em 2em;
    align-items: center;
}
body.term-link .sec01 .inner .box01 dl > div dt {
    max-width: 300px;
    flex-shrink: 0;
}
body.term-link .sec01 .inner a {
    display: grid;
}
body.term-link .sec01 .inner a .url {
	color: var(--color-Orange);
    text-decoration: underline;
}
body.term-link .sec01 .inner ul {
    display: grid;
    gap: 1em 2em;
    grid-template-columns: 1fr 1fr;
}
body.term-link .sec01 .inner ul li {
    padding: 0 0 1em;
    border-bottom: 1px dashed var(--color-GrayN);
}
@media screen and (max-width: 768px) {
	body.term-link .sec01 .inner .box01 dl > div {
	    padding: 0 0 1em;
	    border-bottom: 1px dashed var(--color-GrayN);
	    flex-direction: column;
	}
	body.term-link .sec01 .inner .box01 dl > div dt {
	    max-width: 200px;
	    margin: 0 auto 0 0;
	}
	body.term-link .sec01 .inner ul {
	    grid-template-columns: 1fr;
	}
}

/* ----------------------------------------------
    flow
---------------------------------------------- */
body.term-flow .supportlist {
    display: grid;
    gap: 3em;
}
body.term-flow .supportlist .item {
    display: grid;
    gap: 2em;
}
body.term-flow .supportlist .item .img img {
    width: 100%;
    height: 300px;
    object-fit: cover;
}
body.term-flow .supportlist .item .text {
    display: grid;
    gap: 1em;
}
body.term-flow .supportlist .item .text h3 {
    display: grid;
}
body.term-flow .supportlist .item .text .more i {
    justify-content: center;
}
@media screen and (max-width: 768px) {
	body.term-flow .supportlist .item .img img {
	    height: 200px;
	}
}

/* ----------------------------------------------
    
---------------------------------------------- */
body.contents-seismic-grade3 .sec01 .inner .box01 ul {
    display: grid;
    gap: 1em;
    grid-template-columns: repeat(3, 1fr);
}
body.contents-seismic-grade3 .sec01 .inner .box01 ul li {
    padding: 3em 5%;
    display: grid;
    gap: 1em;
    place-items: center;
    align-content: flex-start;
}
body.contents-seismic-grade3 .sec01 .inner .box01 ul li span span {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
}
body.contents-seismic-grade3 .sec01 .inner .box02 {
    padding: 3em 0;
}
body.contents-seismic-grade3 .sec01 .inner .box02 .block {
    display: grid;
    gap: 1em;
    align-items: flex-end;
    grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
	body.contents-seismic-grade3 .sec01 .inner .box01 ul {
	    display: grid;
	    gap: .5em;
	    grid-template-columns: repeat(2, 1fr);
	}
	body.contents-seismic-grade3 .sec01 .inner .box01 ul li {
	    padding: 1.5em 0;
	    letter-spacing: 0;
	    gap: .5em;
	}
	body.contents-seismic-grade3 .sec01 .inner .box01 ul li span span {
	    position: static;
	}
	body.contents-seismic-grade3 .sec01 .inner .box02 .block {
	    gap: 3em;
	    grid-template-columns: repeat(1, 1fr);
	}
	body.contents-seismic-grade3 .sec01 .inner .box02 .block .item img {
	    max-width: 160px;
	}
}
/* ------------------------------------------- */
body.contents-seismic-grade3 .sec02 .inner .box01 {
    display: grid;
    gap: 4em;
}
body.contents-seismic-grade3 .sec02 .inner .box01 .item {
    display: grid;
    gap: 3em;
    grid-template-columns: 1fr 1fr;
}
body.contents-seismic-grade3 .sec02 .inner .box01 .item .img img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}
@media screen and (min-width: 769px) {
	body.contents-seismic-grade3 .sec02 .inner .box01 .item:nth-child(even) .text {
		order: 2;
	}
	body.contents-seismic-grade3 .sec02 .inner .box01 .item:nth-child(even) .img {
		order: 1;
	}
}
body.contents-seismic-grade3 .sec02 .inner .box02 {
    padding: 3em 0;
}
body.contents-seismic-grade3 .sec02 .inner .box02 ol {
    display: grid;
    gap: 1em;
}
body.contents-seismic-grade3 .sec02 .inner .box02 ol li {
    padding: 1.5em;
}
body.contents-seismic-grade3 .sec02 .inner .box02 ol li .text {
    display: flex;
    gap: .1em;
    align-items: baseline;
}
body.contents-seismic-grade3 .sec02 .inner .box02 ol li .text .num {
    width: 1.2em;
    aspect-ratio: 1;
    border-radius: 100vmax;
    line-height: 1;
    flex-shrink: 0;
}
body.contents-seismic-grade3 .sec02 .inner .box02 ol li .block {
    max-width: 600px;
    display: grid;
    gap: 1.5em;
}
body.contents-seismic-grade3 .sec02 .inner .box02 ol li .block .item {
    display: grid;
    gap: 3em;
    grid-template-columns: 1fr 1fr;
}
body.contents-seismic-grade3 .sec02 .inner .box02 ol li .block .item::after {
    content: "";
    width: 1em;
    aspect-ratio: 1;
    border-left: 1px solid;
    border-bottom: 1px solid;
    transform: rotate(45deg) translate(-50%, -50%);
    position: absolute;
    top: calc(50% + .2em);
    left: calc(50% - .2em);
}
body.contents-seismic-grade3 .sec02 .inner .box02 ol li .block .item div {
    height: 60px;
    border: 1px solid;
    display: grid;
    place-items: center;
}
@media screen and (max-width: 768px) {
	body.contents-seismic-grade3 .sec02 .inner .box01 .item {
	    gap: 2em;
	    grid-template-columns: 1fr;
	}
	body.contents-seismic-grade3 .sec02 .inner .box02 ol li .block .item {
	    gap: 2em;
	}
}
/* ------------------------------------------- */
body.contents-seismic-grade3 .sec03 .inner .box01 .title h5 {
    display: grid;
    position: absolute;
    top: 0;
    left: 0;
}
@media screen and (max-width: 768px) {
	body.contents-seismic-grade3 .sec03 .inner .box01 {
	    display: grid;
	    gap: 1em;
	}
	body.contents-seismic-grade3 .sec03 .inner .box01 .title h5 {
	    position: static;
	}
}
/* ------------------------------------------- */
body.contents-seismic-grade3 .sec04 .inner .box01 {
    padding: 4em 0;
    display: flex;
    gap: 4em;
    justify-content: center;
}
body.contents-seismic-grade3 .sec04 .inner .box01 .title {
    flex-shrink: 0;
}
body.contents-seismic-grade3 .sec04 .inner .box01 .title h5 {
    writing-mode: vertical-rl;
    display: grid;
}
body.contents-seismic-grade3 .sec04 .inner .box01 .table {
    max-width: 500px;
}
body.contents-seismic-grade3 .sec04 .inner .box01 .table .table01 :is(th, td) {
	padding: 1em;
    vertical-align: middle;
}
body.contents-seismic-grade3 .sec04 .inner .box01 .table .table01 tr:nth-child(1) th {
    background: #dcbab7;
}
body.contents-seismic-grade3 .sec04 .inner .box01 .table .table01 tr:nth-child(2) th {
    background: #ab5a53;
}
body.contents-seismic-grade3 .sec04 .inner .box01 .table .table01 tr:nth-child(3) th {
    background: #990000;
}
body.contents-seismic-grade3 .sec04 .inner .box01 .table .table01 .level {
    line-height: 1;
    display: grid;
    gap: .3em;
}
body.contents-seismic-grade3 .sec04 .inner .text01 p {
    line-height: 2.5;
    letter-spacing: .3em;
    text-decoration: 2px underline;
    text-underline-offset: .5em;
}
@media screen and (max-width: 768px) {
	body.contents-seismic-grade3 .sec04 .inner .box01 {
	    gap: 2em;
	}
}

/* ----------------------------------------------
    sdgs
---------------------------------------------- */
body.contents-sdgs .sec01 {
    padding-bottom: 10em;
}
body.contents-sdgs .sec01 .frame {
    width: 40%;
    max-width: 540px;
    position: absolute;
}
body.contents-sdgs .sec01 .frame.frame01 {
    top: 0;
    right: 0;
}
body.contents-sdgs .sec01 .frame.frame02 {
    left: 0;
    bottom: 0;
    scale: -1;
}
body.contents-sdgs .sec01 .inner .box01 {
    max-width: 700px;
}
body.contents-sdgs .sec01 .inner .box01 .catch {
	padding: .5em 0;
    color: #0098d8;
    border-top: 1px solid;
    border-bottom: 1px solid;
}
body.contents-sdgs .sec01 .inner .box02 {
    display: grid;
    gap: 1em;
    grid-template-columns: repeat(7, 1fr);
}
body.contents-sdgs .sec02 .inner ul {
    padding: 0 0 0 1.5em;
    color: #0098d8;
    list-style: disc;
    display: grid;
    gap: .5em;
}
body.contents-sdgs .sec03 .inner .box01 {
    display: grid;
    gap: 2em;
}
body.contents-sdgs .sec03 .inner .box01 .item {
    padding: 4em 0;
}
body.contents-sdgs .sec03 .inner .box01 .item .title {
    display: grid;
    gap: .5em;
    place-items: center;
}
body.contents-sdgs .sec03 .inner .box01 .item .title .label {
    max-width: 290px;
    padding: .5em;
    background: #0098d8;
}
body.contents-sdgs .sec03 .inner .box01 .item ul {
    display: flex;
    gap: 2em;
    justify-content: center;
}
@media screen and (max-width: 768px) {
	body.contents-sdgs .sec01 {
	    padding-bottom: 6em;
	}
	body.contents-sdgs .sec01 .inner .title04 {
	    padding: 0 0 3em;
	}
	body.contents-sdgs .sec01 .inner .box01 {
	    padding: 0 0 3em;
	}
	body.contents-sdgs .sec01 .inner .box02 {
	    gap: .5em;
	    grid-template-columns: repeat(5, 1fr);
	}
	body.contents-sdgs .sec01 .inner .box02 .item.none {
	    display: none;
	}
	body.contents-sdgs .sec03 .inner .box01 .item {
	    padding: 3em 0;
	}
	body.contents-sdgs .sec03 .inner .box01 .item .title .label {
	    max-width: 220px;
	}
	body.contents-sdgs .sec03 .inner .box01 .item .title {
	    margin: 0 0 2em;
	}
	body.contents-sdgs .sec03 .inner .box01 .item ul {
	    display: flex;
	    gap: .5em;
	    justify-content: center;
	}
	body.contents-sdgs .sec03 .inner .box01 .item ul li {
	    width: calc(100% / 4 - .5em);
	}
}

/* ----------------------------------------------
    customer-harassment
---------------------------------------------- */
.contents-customer-harassment .sec01 .inner ul {
    padding: 0 0 0 1em;
    text-indent: -1em;
}
@media screen and (max-width: 768px) {
}

/* ----------------------------------------------
    events
---------------------------------------------- */
.post-type-archive-tribe_events .tribe-events .tribe-common-l-container {
    width: 90%;
    max-width: 1160px;
    padding: 6em 0 0;
    margin: 0 auto;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar {
    width: 100%;
    margin: 0 0 1.5em;
    border: none;
    gap: 1em;
    align-items: center;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-header--has-event-search .tribe-events-header__top-bar {
    width: 100%;
    margin: 0 0 2em;
    padding: 1em;
    background: var(--color-GrayL);
    justify-content: center;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-search {
    gap: 1em;
    justify-content: flex-end;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-search__input-control {
    margin: 0;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-events-bar .tribe-common-form-control-text__input {
    width: 100%;
    height: 45px;
    margin: 0;
    padding: .2em 2em .2em 3em;
    background: #fff;
    border: 1px solid var(--color-GrayN);
    border-radius: .3em;
    display: block;
    cursor: pointer;
}
.post-type-archive-tribe_events .tribe-events .tribe-common-c-btn.tribe-events-c-search__button {
    width: 140px;
    height: 45px;
    padding: .5em;
    background: var(--color-Red);
    flex-shrink: 0;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-events-bar__views {
    flex-shrink: 0;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content,
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item {
    padding: 0;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item-link {
    width: 140px;
    height: 45px;
    padding: .5em;
    background: var(--color-Orange);
    flex-shrink: 0;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item-link .tribe-events-c-view-selector__list-item-text {
    color: #fff;
    text-align: center;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item-link:after,
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day:after {
	display: none !important;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker {
    flex: initial;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__actions {
    margin-left: initial;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__header-column {
    width: 100%;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__header-column-title {
    text-align: center;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day {
    padding: .5em;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day .tribe-common-h4 {
    padding: 0;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__multiday-event--past .tribe-events-calendar-month__multiday-event-bar-inner {
    background: var(--color-Cream);
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown {
    margin: 2em 0 0 auto;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown__container {
    position: relative;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__content {
    position: absolute;
}
.post-type-archive-tribe_events .tribe-events .tribe-common-c-btn-border {
    color: var(--color-Black);
    border-color: var(--color-GrayB);
    padding: 0;
    display: flex;
    align-items: center;
    position: relative;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown__button:hover {
    color: var(--color-Black) !important;
    background: #fff !important;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus-within {
    color: var(--color-Black);
    background: none;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button button {
    padding: 1em 2.5em 1em 1em;
    display: block;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button button:focus {
    outline: none;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-icon {
    position: absolute;
    right: 1em;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list {
    padding: 1em !important;
}
.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__list * {
    padding: 0 !important;
}
@media screen and (max-width: 768px) {
	.post-type-archive-tribe_events .tribe-events .tribe-events-header {
	    padding-bottom: 2em;
	}
	.post-type-archive-tribe_events .tribe-events .tribe-events-header--has-event-search .tribe-events-c-events-bar {
	    flex-wrap: wrap;
	    position: relative;
	}
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-events-bar__search-button,
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector__button {
	    margin: 0;
	    padding: 0 !important;
	    display: none;
	}
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-events-bar__search-container {
		width: 100%;
        padding: 0;
        display: block !important;
	    position: static;
	}
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-events-bar .tribe-common-form-control-text__input {
	    height: 40px;
	    padding: .2em 3em .2em 1em;
	}
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-search__input-control-icon-svg {
	    right: 1em;
	}
	.post-type-archive-tribe_events .tribe-events .tribe-common-c-btn.tribe-events-c-search__button {
		width: calc(100% / 2 - .5em);
	    height: 40px;
	    margin: 1em 0 0;
	    display: block;
	}
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-events-bar__views {
		width: calc(100% / 2 - .5em);
        position: absolute;
        right: 0;
        bottom: 0;
        z-index: 30;
	}
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-events-bar__views * {
	    border: none !important;
	    flex: initial !important;
	}
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item-link {
	    width: 100%;
	    height: 40px;
	    background: var(--color-Orange) !important;
	    justify-content: center;
	}
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector__list-item-icon {
	    width: 1.2em;
	    height: auto;
	    margin-right: .3em;
	    display: flex;
	    filter: invert(1);
	}
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector {
	    width: 100%;
	}
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__content {
	    display: block;
	    position: static;
	    transform: translate(0);
	}
	.post-type-archive-tribe_events .tribe-events .tribe-events-header--has-event-search .tribe-events-c-top-bar__datepicker-container {
	    max-width: 100%;
	}
	.post-type-archive-tribe_events .tribe-events .tribe-events-c-top-bar__datepicker-container .dropdown-menu {
		width: fit-content;
	    min-width: initial;
	}
	.post-type-archive-tribe_events .tribe-events .tribe-events-header--has-event-search .tribe-events-header__top-bar {
		margin: 0;
	    padding: 1em;
	}
	
	.tribe-events .tribe-events-calendar-month__day {
	    border-radius: 0;
	}
	.tribe-events .tribe-events-calendar-month__day-cell--selected,
	.tribe-events .tribe-events-calendar-month__day-cell--selected:focus,
	.tribe-events .tribe-events-calendar-month__day-cell--selected:hover {
	    background: var(--color-Cream);
	}
	.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day {
	    padding: 0;
	}
}

/* ----------------------------------------------
    events default
---------------------------------------------- */
.tribe_events-template-default #tribe-events-pg-template {
    width: 90%;
    max-width: 1160px;
    padding: 6em 0 0;
    margin: 0 auto;
}
.tribe-events-back {
    margin: 0;
    padding: 0 0 1em;
    border-bottom: 1px solid var(--color-Cream);
}
.tribe-events-notices {
    margin: 0;
    padding: 1em;
    color: var(--color-Red);
    background: var(--color-Cream);
    border-bottom: none;
    font-weight: 800;
}
.tribe-events-single-event-title {
    margin: 1em 0 .5em;
    font-size: 3.0rem;
}
.tribe-events-schedule {
    margin: 0 0 2em;
    display: flex;
    gap: .5em;
    align-items: center;
}
.tribe-events-schedule .tribe-event-date-start {
    color: var(--color-GrayB);
}
.tribe-events-schedule .tribe-events-cost {
	margin: 0;
    padding: .3em .5em;
    color: #fff;
    background: var(--color-Red);
    border-radius: .3em;
    font-size: 1.4rem;
    line-height: 1;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button {
    color: var(--color-Black) !important;
}
.tribe-common .tribe-common-c-btn-border:focus,
.tribe-common .tribe-common-c-btn-border:hover,

.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button.tribe-events-c-subscribe-dropdown__button--active,
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus,
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus-within,
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button.tribe-events-c-subscribe-dropdown__button--active,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus-within,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover {
    background: none !important;
}
.tribe-common .tribe-common-c-btn-border {
    border: 1px solid var(--color-Black);
}
.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-text:focus,
.single-tribe_events .tribe-events-c-subscribe-dropdown button.tribe-events-c-subscribe-dropdown__button-text:focus,
.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-text:focus,
.tribe-events .tribe-events-c-subscribe-dropdown button.tribe-events-c-subscribe-dropdown__button-text:focus {
    outline: none;
}
.single-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__content,
.tribe-block__events-link .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__content {
    width: fit-content;
}

.tribe-events-single > .tribe_events {
    gap: 0 40px;
    justify-content: space-between;
}
.single-tribe_events .tribe-events-single .tribe-events-event-meta {
    width: 100%;
    margin: 0;
    padding: 2em 0;
    display: flex;
    gap: 1em 40px;
    flex-wrap: wrap;
    width: calc(100% / 2 - 20px);
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.tribe-events-meta-group {
    width: fit-content;
    margin: 0;
    flex: initial;
}
.tribe-events-event-meta .tribe-events-meta-item {
    display: flex;
    flex-wrap: wrap;
}
.tribe-events-event-meta .tribe-events-meta-item .tribe-events-meta-label,
.tribe-events-event-meta .tribe-events-meta-item .tribe-events-meta-value {
    margin: 0;
}
.tribe-events-meta-group .tribe-events-single-section-title {
    color: var(--color-Red);
}
@media (min-width: 768px) {
    .tribe-events-venue-map {
	    width: 100%;
	    margin: 0;
	    padding: var(--tec-spacer-7) 0 var(--tec-spacer-3);
    }
    .tribe-events-venue-map>div, .tribe-events-venue-map>iframe {
        max-height: 100%;
        height: 100%;
        width: 100%;
    }
}
@media screen and (max-width: 768px) {
	.tribe-events-single-event-title {
	    font-size: 2.0rem;
	}
	.tribe-events-schedule .tribe-events-cost {
	    font-size: 1.2rem;
	}
	.tribe-events-single-event-description.tribe-events-content p {
	    font-size: 1.4rem;
	}
	.tribe-events-meta-group {
	    width: 100%;
	}
	.single-tribe_events .tribe-events-single .tribe-events-event-meta {
	    width: 100%;
        margin: 0;
        padding: 2em 0 1em;
	    grid-template-columns: 1fr;
	}
	.tribe-events-meta-group.tribe-events-meta-group-venue {
	    order: 1;
	}
	.tribe-events-venue-map {
	    order: 1;
	    margin: 0;
	}
	.single-tribe_events .tribe-events-single .tribe-events-event-meta.secondary {
        padding: 0 0 2em;
	}
	.single-tribe_events .tribe-events-single .tribe-events-event-meta.secondary::before {
		display: none;
	}
	.tribe-events-venue-map>div, .tribe-events-venue-map>iframe {
	    max-height: initial;
	    height: 240px;
	}
}

/* ----------------------------------------------
    events default
---------------------------------------------- */
body.contents-passive .sec01 {
    padding: 3em 0;
}
body.contents-passive .sec01 .inner ul {
    padding: 0 0 0 1.5em;
    list-style: disc;
    display: grid;
    gap: .5em;
}
@media screen and (max-width: 768px) {
}
/* ------------------------------------------- */
body.contents-passive .sec02 .inner ul {
    display: grid;
    gap: 1em;
}
body.contents-passive .sec02 .inner ul li {
    padding: 1em;
    display: flex;
    gap: .5em;
    align-items: baseline;
}
body.contents-passive .sec02 .inner ul li .num {
    width: 1.5em;
    aspect-ratio: 1;
    border-radius: 100vmax;
    font-size: 1.2rem;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0;
    display: grid;
    flex-shrink: 0;
    place-items: center;
}
@media screen and (max-width: 768px) {
	body.contents-passive .sec02 .inner ul {
	    gap: .5em;
	}
}
/* ------------------------------------------- */
@media screen and (max-width: 768px) {
}
/* ------------------------------------------- */
body.contents-passive .sec .inner .circle {
	width: 100%;
    max-width: 320px;
    aspect-ratio: 1;
    background: #b9af9a;
    border-radius: 100vmax;
    line-height: 1;
    display: grid;
    gap: 1em;
    align-content: center;
    place-items: center;
}
body.contents-passive .sec .inner .circle .text01 {
    padding: 0 1em 1em;
    border-bottom: 2px solid;
}
body.contents-passive .sec .inner .box01,
body.contents-passive .sec .inner .box02 {
    padding: 4em 0;
}
body.contents-passive .sec .inner .box03 {
    display: grid;
    gap: 3em;
    grid-template-columns: 1fr 1fr;
}
body.contents-passive .sec .inner .box02 .box03 {
    align-items: center;
}
body.contents-passive .sec .inner .box03 .item {
    display: grid;
    gap: .5em;
    align-content: flex-start;
}
body.contents-passive .sec .inner .box04 {
    padding: 2em 0 0;
    border-top: 1px solid var(--color-GrayN);
}
body.contents-passive .sec .inner .title.h5 .rule {
    max-width: 300px;
    height: 50px;
    display: grid;
    place-items: center;
}
body.contents-passive .sec .inner .title.h6 {
    display: flex;
    gap: .5em;
    align-items: baseline;
}
body.contents-passive .sec .inner .title.h6::before {
    content: "";
    width: 1.5em;
    aspect-ratio: 1;
    background: var(--color-Red);
    display: block;
}
body.contents-passive .sec .inner .triangle {
    max-width: 530px;
}
body.contents-passive .sec .inner .triangle::after {
    content: "";
    width: 100%;
    height: 100%;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    background: linear-gradient(0deg, #9AD6AA  0%, #9AD6AA 25%,
    								  #FDCC8A 25%, #FDCC8A 50%,
    								  #99D9E1 50%, #99D9E1 75%,
    								  #FA9BA3 75%, #FA9BA3 100%);
    position: absolute;
    top: 0;
    left: 0;
}
body.contents-passive .sec .inner .triangle.pos-relative .item {
    height: 80px;
    line-height: 1;
    display: grid;
    gap: .2em;
    place-items: center;
    align-content: center;
}
body.contents-passive .sec .inner .triangle.pos-relative .item.g2 {
    padding: 1em 0 0;
    color: #ffff00;
}
body.contents-passive .sec .inner .triangle.pos-relative .item:not(.g2)::before {
    content: "";
    width: 100%;
    height: .3em;
    background: #fff;
    position: absolute;
    top: -.15em;
    left: 0;
}
body.contents-passive .sec .inner .ua {
    padding: 1.5em;
    max-width: 700px;
    display: flex;
    gap: 1em;
    align-items: center;
    justify-content: center;
}
body.contents-passive .sec .inner .ua .left {
    flex-shrink: 0;
}
body.contents-passive .sec .inner .ua .right {
    display: grid;
    gap: .5em;
    align-content: center;
}
body.contents-passive .sec .inner .ua .right .text01 {
    padding: 0 1em .5em;
    border-bottom: 2px solid;
}
body.contents-passive .sec .inner table.type01 :is(th, td) {
    padding: .5em 1em;
    border: 1px solid #fff;
    line-height: 1.3;
    vertical-align: middle;
}
body.contents-passive .sec .inner table.type01 thead th {
    background: #9f968a;
}
body.contents-passive .sec .inner table.type01 tr.text-red {
    color: var(--color-Red);
    background: #f6e5e5;
}
body.contents-passive .sec .inner table.type02 :is(th, td) {
    padding: .5em 1em;
    border: 1px solid #fff;
    line-height: 1.3;
    vertical-align: middle;
}
body.contents-passive .sec .inner table.type02 thead th {
    background: #9f968a;
}
body.contents-passive .sec .inner table.type02 tbody tr:nth-child(odd) {
	background: #dddbd9;
}
body.contents-passive .sec .inner table.type02 caption.bottom {
    caption-side: bottom;
}
body.contents-passive .sec .inner .activedesign .circlebox {
    display: flex;
    gap: 2em;
    justify-content: center;
}
body.contents-passive .sec .inner .activedesign .circlebox .circle {
	max-width: 210px;
    margin: 0;
}
body.contents-passive .sec .inner .stress dl {
    width: fit-content;
    max-width: 720px;
    display: grid;
    gap: .5em;
}
body.contents-passive .sec .inner .stress dl div {
    display: flex;
    gap: .5em;
}
body.contents-passive .sec .inner .stress dl div dt {
    width: 100%;
    max-width: 120px;
    padding: 1em;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
}
body.contents-passive .sec .inner .stress dl div dt:not(.bg-red),
body.contents-passive .sec .inner .stress dl div dd:not(.text-red) {
    background: #dadada;
}
body.contents-passive .sec .inner .stress dl div dd.bg-red {
    background: var(--color-Red);
}
body.contents-passive .sec .inner .stress dl div :is(dt, dd).bg-white {
    background: #fff;
}
body.contents-passive .sec .inner .stress dl div dd {
	width: 100%;
    padding: 1em;
}
body.contents-passive .sec .inner .stress dl div dd.text-red {
    border: 2px solid;
}
body.contents-passive .sec .inner .stress dl div dd ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1em;
}
body.contents-passive .sec .inner .catch p {
    line-height: 2.5;
    letter-spacing: .3em;
    text-decoration: 2px underline;
    text-underline-offset: .5em;
}
body.contents-passive .sec .inner .ind1 {
    padding: 0 0 0 1em;
    text-indent: -1em;
}
@media screen and (max-width: 768px) {
	body.contents-passive .sec .inner .circle {
	    max-width: 180px;
	}
	body.contents-passive .sec .inner .activedesign .circlebox {
	    gap: 1em;
	}
	body.contents-passive .sec .inner .title.h5 {
	    margin-bottom: 1em;
	}
	body.contents-passive .sec .inner .title.h5 .rule {
	    max-width: 100px;
	    height: 30px;
	}
	body.contents-passive .sec .inner .box02 {
	    padding: 2em 0;
	}
	body.contents-passive .sec .inner .box03 {
	    gap: 1em;
	    grid-template-columns: 1fr;
	}
	body.contents-passive .sec .inner .box04 > .w-90 {
	    width: 100%;
	}
	body.contents-passive .sec .inner .triangle.pos-relative .item {
	    height: 60px;
	}
	body.contents-passive .sec .inner .table-scroll {
	    overflow-x: scroll;
	}
	body.contents-passive .sec .inner .table-scroll table {
	    width: max-content;
	}
	body.contents-passive .sec .inner .catch p {
        letter-spacing: .2em;
    }
	body.contents-passive .sec .inner .stress dl div {
	    gap: 0;
	    flex-direction: column;
	}
	body.contents-passive .sec .inner .stress dl div dt {
	    max-width: 100%;
	    padding: .5em;
	}
	body.contents-passive .sec .inner .stress dl div dt:not(.bg-red) {
	    color: #fff;
	    background: var(--color-GrayB);
	}
	body.contents-passive .sec .inner .stress dl div dd.bg-red {
	    color: var(--color-Red);
	    background: #fff;
	    border: 2px solid;
	}
}

/* ----------------------------------------------
    omair
---------------------------------------------- */
body.contents-omair .sec01 .inner .box01 {
    padding: 4em 0;
    background: #f0f9fe;
}
body.contents-omair .sec01 .inner .box01 h5 {
    color: #3c88ed;
}
body.contents-omair .sec:not(.intro) .inner .catch p {
    line-height: 2.5;
    letter-spacing: .3em;
    text-decoration: 2px underline;
    text-underline-offset: .5em;
}
@media screen and (max-width: 768px) {
	body.contents-omair .sec:not(.intro) .inner .catch p {
        letter-spacing: .2em;
    }
    body.contents-omair .sec.intro .inner .box02 .img .text .logo {
	    width: 80px;
	    margin: 0;
	}
	body.contents-omair .sec01 .inner .box01 {
	    padding: 2em 0;
	}
}
/* ------------------------------------------- */
body.contents-omair .sec02 .inner .box01 {
    padding: 4em 0;
}
body.contents-omair .sec02 .inner .box01 .title {
    display: grid;
}
body.contents-omair .sec02 .inner .box02 {
    padding: 2em 4em;
    background: #f4e5e7;
}
body.contents-omair .sec02 .inner .box03 {
    padding: 2em 4em;
}
body.contents-omair .sec02 .inner .box03:has(.item) {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    gap: 1em 4em;
    grid-template-columns: 1fr 1fr;
}
body.contents-omair .sec:not(.intro) .inner .ind1 {
    padding: 0 0 0 1em;
    text-indent: -1em;
}
@media screen and (max-width: 768px) {
	body.contents-omair .sec02 .inner .box02,
	body.contents-omair .sec02 .inner .box03 {
	    padding: 2em 1.5em;
	}
	body.contents-omair .sec02 .inner .box03:has(.item) {
	    grid-template-columns: 1fr;
	}
}
/* ------------------------------------------- */
body.contents-omair .sec03 .inner .box01 {
    padding: 4em 0;
}
body.contents-omair .sec03 .inner .box02 {
    display: grid;
    gap: 1em 2em;
    grid-template-columns: 1fr 1fr;
}
body.contents-omair .sec03 .inner .box02 > .item {
    padding: 2em;
}
body.contents-omair .sec03 .inner .box03 {
    display: grid;
    gap: 1em;
    grid-template-columns: 1fr 1fr;
}
body.contents-omair .sec03 .inner .link {
    display: flex;
    gap: 0 1em;
    flex-wrap: wrap;
}
body.contents-omair .sec03 .inner .link a {
    display: flex;
    gap: 1em;
}
@media screen and (max-width: 768px) {
	body.contents-omair .sec03 .inner .text {
	    text-align: left;
	}
	body.contents-omair .sec03 .inner .box02,
	body.contents-omair .sec03 .inner .box03 {
	    grid-template-columns: 1fr;
	}
	body.contents-omair .sec03 .inner .box02 > .item {
	    padding: 2em 1.5em;
	}
}






