@charset "UTF-8";


/* -------------------------------------------------
    File name : reset.css
---------------------------------------------------- */

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}






/* -------------------------------------------------
	File name : common.css
---------------------------------------------------- */

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}

body {
	font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 16px;
	font-weight: 600;
	font-style: normal;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	line-height: 1.6;
	letter-spacing: var(--letter-base);
	color: var(--black-color);
	background-color: var(--white-color);
	-webkit-appearance: none;
	-webkit-text-size-adjust: 100%;
	margin: 0;
	padding: 0;
	position: relative;
}

::selection {
	color: var(--white-color);
	background-color: rgba(0,162,227,.8);
}

a {
	color: var(--text-color);
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

pre {
	white-space: pre-line;
	font-family: Noto Sans Japanese,Hiragino Kaku Gothic ProN,ヒラギノ角ゴ ProN W3,Noto Sans JP,meiryo,メイリオ,sans-serif !important;
}

em {
	font-style: normal;
	word-break: break-word;
}

button, input, select, textarea {
	font-family : inherit;
	font-size : 100%;
}

img {
	vertical-align: bottom;
}

ul {
	list-style: none;
}

figure {
	margin-bottom: 0px !important;
}

input[type="submit"] {
	appearance: none;
	-webkit-appearance: none;
}

address {
	font-style: normal;
}

:root {
	--grid-color: rgba(17,17,17,.1);
	--white-color: #ffffff;
	--black-color: #000000;
	--light-color: #f8f8f8;

	--blue-color: #00a2e3;
	--navy-color: #017cc2;
	--water-color: #4dbeeb;
	--rain-color: #e9f9ff;
	--lemon-color: #fff130;
	--red-color: #ee011f;

	--facebook: #2062c4;
	--twitter: #5192f4;
	--twitterx: #000000;
	--instagram: #2062c4;
	--youtube: #c4302b;
	--line: #06c755;

	--letter-fine: -8px;
	--letter-thin: -4px;
	--letter-one: -1px;
	--letter-none: 0;
	--letter-tight: .01em;
	--letter-base: .04em;
	--letter-wide: .06em;
	--letter-max: .08em;

	--border3: 3px;
	--border4: 4px;
	--border5: 5px;
	--border6: 6px;
	--border8: 8px;
	--border10: 10px;
}

#graphix {
	overflow: visible;
}


/* =============================
	header
=============================== */
#graphix .header {
	width: 100%;
	position: fixed;
	z-index: 10000;
	background-color: var(--white-color);
}
#graphix .header-inner {
	width: 100%;
	padding-inline: min(5vw,3em);
	transition: .3s ease-in-out;
}
#graphix .header-content {
	min-height: 120px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#graphix .header-logo a {
	display: block;
}
#graphix .header-logo img {
	width: min(17vw,125px);
	height: auto;
}
#graphix .header-global {
	display: flex;
	align-items: center;
	gap: min(4vw,3em);
}
#graphix .header-global_navi {
	display: inline-flex;
	align-items: center;
	gap: min(4vw,2em);
}
#graphix .header-global_navi li a {
	position: relative;
}
#graphix .header-global_navi li a::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: var(--black-color);
	bottom: -7px;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform 0.3s;
	will-change: transform;
}
#graphix .header-global_navi li a:hover::after {
	transform: scale(1, 1);
	transform-origin: left top;
}
#graphix .header-contact {
	display: inline-flex;
	align-items: center;
	gap: min(4vw,1.5em);
}
#graphix .header-contact a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .1em;
}
#graphix .header .btn-calc a img,
#graphix .header .btn-mail a img {
	width: 55px;
	height: 55px;
	transition: .2s ease-in-out;
}
#graphix .header .btn-calc a img:hover,
#graphix .header .btn-mail a img:hover {
	transition: .2s ease-in-out;
	filter: brightness(1.2);
}
#graphix .header-contact a p {
	font-size: 90%;
	letter-spacing: var(--letter-none);
}


/* =============================
	hamburg
=============================== */
@media screen and (min-width: 1440px) {
	.menu_global {
		display: none;
	}
}
.menu_global {
	position: fixed;
	top: 0;
	right: 0;
}
.menu_global img {
	width: min(40vw, 5em);
	height: auto;
	transition: .3s ease-in-out;
}
.menu_global i {
	color: var(--black-color);
	font-size: 1.5em;
	font-weight: 400;
}

#ham {
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
#burg {
	position: absolute;
	top: 0;
	right: 0;
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 10000;
	font-size: 3em;
	font-weight: 400;
	color: var(--black-color);
}
#burg i {
	font-weight: 400;
	font-size: .6em;
	color: var(--white-color);
}

@media (min-width: 768px) {
	.nav-open .global {
		width: calc(100% / 1);
		top: 0;
		right: 0;
		opacity: 1;
	}
	.nav-open .black-bg {
		opacity: .3;
		visibility: visible;
	}
}
@media (max-width: 767px) {
	.nav-open .global {
		width: calc(100% / 1);
		top: 0;
		right: 0;
		opacity: 1;
	}
	.nav-open .black-bg {
		opacity: .3;
		visibility: visible;
	}
}

@media (min-width: 1400px) {
	.global {
		position: fixed;
		opacity: 0;
		top: 0;
		right: -100%;
		width: calc(100% / 1);
		height: 100vh;
		transition: all .6s;
		z-index: 1000;
		overflow-y: auto;
	}
}
@media (min-width: 768px) and (max-width: 1399px) {
	.global {
		position: fixed;
		opacity: 0;
		top: 0;
		right: -100%;
		width: calc(100% / 1);
		height: 100vh;
		transition: all .6s;
		z-index: 1000;
		overflow-y: auto;
	}
}
@media (max-width: 767px) {
	.global {
		position: fixed;
		opacity: 0;
		top: 0;
		right: -100%;
		width: calc(100% / 1);
		height: 100vh;
		transition: all .6s;
		z-index: 1000;
		overflow-y: auto;
	}
}
.navi {
	width: 100%;
	height: 100vh;
/*	padding-inline: max(2em,8vw);*/
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
.navi-content {
	width: 100%;
	display: flex;
	transition: transform .3s;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	color: var(--black-color);
	background-color: var(--blue-color);
	background-image: url(../images/bg/dot30b.svg);
	background-repeat: repeat;
	background-position: center;
	background-size: cover;
}
.navi-content_item {
	width: 100%;
	max-width: 1024px;
	margin: 0 auto;
	padding-block: 80px 20vw;
	padding-inline: 5vw;
	display: flex;
	flex-direction: column;
	transition: transform .3s;
}
.navi-content_link {
	display: flex;
	padding-block: min(5vw,3em);
}
.navi-content_item ul {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: .4em;
}
.navi-content_item ul > li {
	width: calc(100% / 2 - .2em);
	-webkit-font-smoothing: antialiased;
	background-color: var(--white-color);
	border: var(--border4) solid var(--black-color);
	transition: .2s ease-in-out;
}
.navi-content_item ul > li:hover {
	transform: scale(1.01);
	transition: .2s ease-in-out;
}
.navi-content_item ul > li a {
	padding: 1em 1.5em;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 90%;
	letter-spacing: var(--letter-none);
}
.navi-content_item ul > li a:after {
	content: "▶";
	color: var(--blue-color);
	font-weight: 900;
	font-size: 80%;
}




/* =============================
	footer
=============================== */
#graphix .footer:before {
	content: "";
	background-image: url(../images/bg/city.svg);
	background-repeat: repeat-x;
	background-position: center bottom;
	background-size: contain;
	display: block;
	position: absolute;
	top: -110px;
	width: 100%;
	height: 120px;
}
#graphix .footer {
	margin-top: calc(min(8vw,5em) + 120px);
	padding-block: min(15vw,5em) min(15vw,10em);
	color: var(--white-color);
	background-color: var(--black-color);
	position: relative;
}
#graphix .footer-content {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: min(8vw,4em);
}
#graphix .footer-global {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 2em;
}
#graphix .footer-global ul {
	display: inline-flex;
	justify-content: center;
	flex-wrap: wrap;
	row-gap: 1rem;
}
#graphix .footer-global ul > li:after {
	content: "｜";
	filter: opacity(20%);
	padding-inline: .2em;
}
#graphix .footer-global ul > li:last-child:after {
	content: none;
}
#graphix .footer-global ul:last-child {
	font-size: 90%;
}
#graphix .footer-global ul > li a {
	position: relative;
}
#graphix .footer-global ul > li a::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: var(--white-color);
	bottom: -5px;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform 0.3s;
	will-change: transform;
}
#graphix .footer-global ul > li a:hover::after {
	transform: scale(1, 1);
	transform-origin: left top;
}
#graphix .footer-logo img {
	width: min(50vw,300px);
	height: auto;
}
#graphix .footer-content small {
	font-size: 90%;
	letter-spacing: var(--letter-none);
}
#graphix .footer .pagetop {
	position: absolute;
	right: min(5vw,4em);
	bottom: min(5vw,4em);
}
#graphix .footer .pagetop a {
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1em;
	color: var(--black-color);
	background-color: var(--blue-color);
	border: var(--border3) solid transparent;
	transition: .2s ease-in-out;
}
#graphix .footer .pagetop a:hover {
	color: var(--white-color);
	border: var(--border3) solid var(--white-color);
	transition: .2s ease-in-out;
}


/* =============================
	button - page-more
=============================== */
.page-more a {
    display: inline-flex;
    align-items: center;
    padding-left: 2em;
    font-size: 1.1em;
    color: var(--white-color);
    background-color: var(--blue-color);
    border: var(--border6) solid var(--black-color);
    position: relative;
    overflow: hidden;
    transition: background-color .3s ease-in-out;
}
.page-more a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--black-color);
    transform: translateX(-100%);
    transition: transform .3s ease-in-out;
    z-index: -1;
}
.page-more a:hover::before {
    transform: translateX(0);
}
.page-more a:hover {
    background-color: transparent;
}
.page-more a:after {
    content: "▶";
    margin-left: 2em;
    padding: .6em 1em;
    color: var(--black-color);
    background-color: var(--lemon-color);
    border-left: var(--border6) solid var(--black-color);
    transition: .3s ease-in-out;
    position: relative;
    z-index: 1;
}


/* =============================
	CTA
=============================== */
#graphix .cta {
	padding-bottom: min(5vw,3em);
}
#graphix .cta .inner {
	display: flex;
	flex-direction: column;
	gap: min(5vw,3em);
}
#graphix .cta-title {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 1em;
}
#graphix .cta-title strong {
	font-size: clamp(1.4em,2vw,2em);
	font-weight: 900;
	line-height: 1.4;
}
#graphix .cta-title h2 {
	width: 100%;
	text-align: center;
	font-weight: 900;
	font-size: clamp(1.4em,2.6vw,2.6em);
	line-height: 1.4;
	padding: .1em .8em;
	background-color: var(--lemon-color);
	border: var(--border8) solid var(--black-color);
}
@media screen and (min-width: 768px) {
	#graphix .cta-title h2 br {
		display: none;
	}
}
#graphix .cta-company {
	background-image: url(../images/bg/dot100ya.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border: var(--border8) solid var(--black-color);
	position: relative;
	z-index: 1;
	overflow: hidden;
}
#graphix .cta-company_note {
	width: 60%;
	height: 300px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-image: url(../images/bg/fukidashi.svg);
	background-position: 0 -8px;
	background-repeat: no-repeat;
	background-size: cover;
	padding-inline: min(10vw,7em);
	overflow: hidden;
}
#graphix .cta-company_note em {
	color: var(--blue-color);
}
#graphix .cta-company_note h3 {
	font-weight: 900;
	font-size: clamp(1.4em,2.6vw,3em);
	line-height: 1.4;
}
#graphix .cta-company_note .page-more {
	margin-block: 1.5em;
	position: relative;
	z-index: 10;
}
#graphix .cta-company figure {
	width: 40%;
	position: absolute;
	right: 1em;
	bottom: 0;
	margin: auto;
	text-align: right;
	z-index: 2;
}
#graphix .cta-company figure img {
	width: 100%;
	height: auto;
}

#graphix .cta-mail {
	display: flex;
	justify-content: space-between;
}
#graphix .cta-mail_price,
#graphix .cta-mail_contact {
	width: calc(100% / 2 - min(3vw,1.5em));
}
#graphix .cta-mail figure {
	width: 100%;
}
#graphix .cta-mail figure img {
	width: 100%;
	height: auto;
}
#graphix .cta-mail h3 {
	width: 100%;
	background-color: var(--blue-color);
	border-bottom: var(--border8) solid var(--black-color);
	text-align: center;
	padding-block: .2em;
	font-size: clamp(1.4em,2vw,2em);
	color: var(--white-color);
}
#graphix .cta-mail_price {
	background-image: url(../images/bg/dot100g.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border: var(--border8) solid var(--black-color);
	position: relative;
	z-index: 1;
	overflow: hidden;
}
#graphix .cta-mail_contact {
	background-image: url(../images/bg/dot100r.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border: var(--border8) solid var(--black-color);
	position: relative;
	z-index: 1;
	overflow: hidden;
}
#graphix .cta-mail_note {
	position: relative;
}
#graphix .cta-mail_note .arrow {
	position: absolute;
	right: 1em;
	bottom: 1em;
	width: min(8vw,60px);
	height: min(8vw,60px);
	display: flex;
	align-items: center;
	justify-content: center;
	border: var(--border6) solid var(--black-color);
	background-color: var(--lemon-color);
}
#graphix .cta-mail a {
	display: block;
	transition: .2s ease-in-out;
}
#graphix .cta-mail a:hover .arrow {
	color: var(--white-color);
	background-color: var(--blue-color);
	transition: .2s ease-in-out;
}

.grecaptcha-badge {
visibility: hidden !important;
}


/* -------------------------------------------------
	File name : inner.css
---------------------------------------------------- */

@media (min-width: 1600px) {
	.inner {
		width: 1280px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.max-inner {
		width: 1440px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.min-inner {
		width: 1080px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.minmin-inner {
		width: 750px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.post-inner {
		width: 750px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
}
@media (min-width: 1400px) and (max-width: 1599px) {
	.inner {
		width: 1080px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.max-inner {
		width: 1280px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.min-inner {
		width: 960px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.minmin-inner {
		width: 720px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.post-inner {
		width: 720px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
}
@media (min-width: 1200px) and (max-width: 1399px) {
	.inner {
		width: 1080px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.max-inner {
		width: 1190px;
		margin-inline: auto;
		padding-inline: min(10vw, 2em);
		position: relative;
		transition: all .3s ease-in-out;
	}
	.min-inner {
		width: 960px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.minmin-inner {
		width: 720px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.post-inner {
		width: 720px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	.inner {
		width: 860px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.max-inner {
		width: 980px;
		margin-inline: auto;
		padding-inline: min(10vw, 2em);
		position: relative;
		transition: all .3s ease-in-out;
	}
	.min-inner {
		width: 800px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.minmin-inner {
		width: 650px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.post-inner {
		width: 650px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.inner {
		width: 650px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.max-inner {
		width: 750px;
		margin-inline: auto;
		padding-inline: min(10vw, 2em);
		position: relative;
		transition: all .3s ease-in-out;
	}
	.min-inner {
		width: 540px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.minmin-inner {
		width: 480px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
	.post-inner {
		width: 480px;
		margin-inline: auto;
		position: relative;
		transition: all .3s ease-in-out;
	}
}
@media (max-width: 767px) {
	.inner,
	.max-inner,
	.min-inner,
	.minmin-inner,
	.post-inner {
		width: 100%;
		margin-inline: auto;
		padding-inline: 5vw;
		position: relative;
		transition: all .3s ease-in-out;
	}
}


















/* -------------------------------------------------
	File name : home.css
---------------------------------------------------- */

.home {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: min(5vw,4em);
}

/* =============================
	cover
=============================== */
.cover {
	width: 100%;
	height: 100vh;
	padding-block: 120px min(5vw,3em);
}
.cover-inner {
	width: 100%;
	height: 100%;
	padding-inline: 5vw;
	display: flex;
	flex-direction: column;
}
.cover-hero {
	width: 100%;
	height: 100%;
	padding-block: min(4vw,2em);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.cover-visual {
	width: 100%;
	height: 100%;
	min-height: 50vh;
	position: relative;
	transition: .3s ease-in-out;
}
.cover-visual .fade-item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    opacity: 0;
    transition: opacity 1s ease-in-out, transform 1s ease-in-out;
}
.cover-visual .fade-item img {
    max-width: 100%;
    height: auto;
}
.cover-visual .isVisible {
    opacity: 1;
}
.cover-visual .isVisible:nth-child(2) {
	top: 0;
	transform: scale(1.05);
}
.cover-visual .isVisible:nth-child(2) img {
	height: 100%;
}

@media screen and (max-width: 1440px) {
	.cover-visual .isVisible:nth-child(3) img {
		width: 460px;
	}
}

.cover-hero h1 {
	font-weight: 900;
	font-size: clamp(0.9em,1vw,1.8em);
}
.cover-hero h1 br {
	display: none;
}
.cover-hero strong {
	font-weight: 900;
	font-size: clamp(1.8em,2vw,3.5em);
	line-height: 1.4;
	letter-spacing: var(--letter-one);
}
.cover-hero strong .blue {
	color: var(--blue-color);
}

/* =============================
	quotation
=============================== */
.home .quotation .inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,5em);
}
.home .quotation-title {
	display: flex;
	flex-direction: column;
	gap: min(3vw,1em);
}
.home .quotation-title p {
	display: inline-flex;
	justify-content: center;
	font-weight: 900;
	font-size: clamp(1.1em,2vw,1.8em);
	line-height: 1;
}
.home .quotation-title h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 900;
	font-size: clamp(1.65em,2.5vw,2.5em);
	line-height: 1;
}
.home .quotation-title h2 span {
	display: inline-block;
	padding: .1em 1rem .15em;
	color: var(--lemon-color);
	background-color: var(--black-color);
	line-height: 1.5;
}
.home .quotation-title h2 br {
	display: none;
}
@media screen and (max-width: 767px) {
	.home .quotation-title h2 br {
		display: block;
	}
}
.home .quotation-content {
	display: flex;
	flex-direction: column;
	gap: min(10vw,4em);
}
.home .quotation-item {
	width: 100%;
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: min(4vw,3em);
}
.home .quotation-item_note {
	display: flex;
	flex-direction: column;
	gap: min(4vw,3em);
}
.home .quotation-item figure img,
.home .quotationt-item picture img {
	width: 100%;
	height: auto;
	padding-block: min(3vw,1.5em);
}
.home .quotation-item_note h3 {
	font-weight: 900;
	font-size: clamp(1.4em,2.4vw,2.4em);
	line-height: 1;
}
.home .quotation-item_note .page-more {
	display: inline-flex;
	justify-content: center;
}


/* =============================
	about
=============================== */
.home .about .inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,5em);
}
.home .about-title {
	display: flex;
	flex-direction: column;
	gap: min(3vw,1em);
}
.home .about-title p {
	display: inline-flex;
	justify-content: center;
	font-weight: 900;
	font-size: clamp(1.1em,2vw,1.8em);
	line-height: 1;
}
.home .about-title h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 900;
	font-size: clamp(1.65em,2.5vw,2.5em);
	line-height: 1;
}
.home .about-title h2 span {
	display: inline-block;
	padding: .1em 1rem .15em;
	color: var(--lemon-color);
	background-color: var(--black-color);
	line-height: 1.5;
}
.home .about-title h2 br {
	display: none;
}
@media screen and (max-width: 767px) {
	.home .about-title h2 br {
		display: block;
	}
}
.home .about-content {
	display: flex;
	flex-direction: column;
	gap: min(10vw,4em);
}
.home .about-item {
	width: 100%;
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: min(4vw,3em);
}
.home .about-item_note {
	display: flex;
	flex-direction: column;
	gap: min(4vw,3em);
}
.home .about-item figure img,
.home .about-item picture img {
	width: 100%;
	height: auto;
	padding-block: min(3vw,1.5em);
}
.home .about-item_note h3 {
	font-weight: 900;
	font-size: clamp(1.4em,2.4vw,2.4em);
	line-height: 1;
}
.home .about-item_note .page-more {
	display: inline-flex;
	justify-content: center;
}


/* =============================
	works
=============================== */
.home .works {
	width: 100%;
	max-width: 2560px;
	margin: auto;
}
.home .works-inner {
    margin: 0 5vw auto;
    padding: min(5vw,3em) 0 min(8vw,5em);
    background-image: url(../images/bg/dot30b.svg);
    background-repeat: repeat-y;
    background-position: bottom;
    background-size: cover;
    border: var(--border8) solid var(--black-color);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: min(5vw,4em);
}
.home .works-inner::before {
    content: "";
    position: absolute;
    top: 45%;
    left: 0;
    width: 100%;
    height: 55%;
    background-color: var(--white-color);
    z-index: 1;
}
.home .works-inner::after {
    content: "";
    position: absolute;
    top: calc(45% - 4px);
    left: 0;
    width: 100%;
    height: 8px;
    background-color: var(--black-color);
    z-index: 2;
}
.home .works-title {
	display: flex;
	flex-direction: column;
	text-align: center;
	gap: 1em;
	color: var(--white-color);
	position: relative;
	z-index: 10;
}
.home .works-title h2 {
	font-weight: 900;
	font-size: clamp(1.4em,2.4vw,2.4em);
	line-height: 1;
}
.home .works-gallery {
	position: relative;
	z-index: 11;
}
.home .works .swiper {
  width: 100%;
  height: 100%;
}

.home .works .swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
}
.home .works-gallery a {
	width: 100%;
	display: block;
	transition: .2s ease-in-out;
}
.home .works-gallery img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border: var(--border8) solid var(--black-color);
	transition: .2s ease-in-out;
}
.home .works-gallery img:hover {
	border: var(--border8) solid var(--blue-color);
	transition: .2s ease-in-out;
}
.home .works-gallery h3 {
	font-size: 1em;
}
.home .works-meta {
	padding-block: .5em;
	padding-inline: .5em;
	text-align: left;
}
.home .works-meta ul {
	display: inline-flex;
	flex-wrap: wrap;
}
.home .works-meta ul > li {
	font-size: 80%;
	color: var(--blue-color);
}

.home .works .page-more {
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 12;
}

.swiper-button-next, .swiper-button-prev {
	width: 50px !important;
	height: 50px !important;
	background-color: var(--white-color);
	border: var(--border6) solid var(--black-color);
	padding: .5em;
	top: var(--swiper-navigation-top-offset, 40%) !important;
}
.swiper-button-next:after, .swiper-button-prev:after {
	font-size: 1.5em !important;
	font-weight: 900;
	color: var(--black-color);
}

    

/* =============================
	contents
=============================== */
.home .contents .inner {
	display: flex;
	flex-direction: column;
	gap: min(8vw,6em);
}
.home .content-price {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.home .content-price figure {
	width: calc(100% / 2 - min(4vw,3em));
}
.home .content-price_note {
	width: calc(100% / 2 - min(4vw,3em));
	display: flex;
	flex-direction: column;
	gap: min(4vw,2em);
}
.home .content-price figure img {
	width: 100%;
	height: auto;
	background-image: url(../images/bg/booth-optimized.webp);
	background-repeat: no-repeat;
	background-size: cover;
	border: var(--border8) solid var(--black-color);
}
.home .content-price_note h3 {
	font-weight: 900;
	font-size: clamp(1.4em,2.4vw,2.2em);
	line-height: 1.4;
}
.home .content-price_note .page-more {
	display: inline-flex;
	justify-content: center;
}

.home .content-message {
	background-image: url(../images/bg/dot100y.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border: var(--border8) solid var(--black-color);
	position: relative;
	z-index: 1;
}
.home .content-message_note {
	width: 65%;
	height: 300px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 1em;
	background-image: url(../images/bg/fukidashi.svg);
	background-position: 0 -10px;
	background-repeat: no-repeat;
	background-size: cover;
	padding-inline: min(10vw,7em);
	overflow: hidden;
}
.home .content-message figure {
	width: 35%;
	position: absolute;
	right: 0;
	bottom: 0;
	margin: auto;
	text-align: right;
	z-index: 2;
}
.home .content-message figure img {
	width: 100%;
	height: auto;
}
.home .content-message_note h3 {
	font-weight: 900;
	font-size: clamp(1.4em,2.4vw,2.2em);
	line-height: 1.4;
}
.home .content-message_note h3 span {
	color: var(--blue-color);
}

.home .content-quest {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.home .content-flow,
.home .content-faq {
	width: calc(100% / 2 - min(3vw,1.5em));
	display: flex;
	flex-direction: column;
	gap: 1em;
}
.home .content-flow figure,
.home .content-faq figure {
	width: 100%;
	display: block;
}
.home .content-flow figure img,
.home .content-faq figure img {
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border: var(--border8) solid var(--black-color);
}
.home .content-flow_meta,
.home .content-faq_meta {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 1em;
}
.home .content-flow_meta em,
.home .content-faq_meta em {
	color: var(--blue-color);
}
.home .content-flow_meta h3,
.home .content-faq_meta h3 {
	font-weight: 900;
	font-size: clamp(1.4em,2.2vw,2em);
	line-height: 1.4;
}
.home .contents .page-more {
	margin-top: 1em;
}


/* =============================
	news
=============================== */
.home .news {
	width: 100%;
	max-width: 2560px;
	margin: auto;
}
.home .news-inner {
	margin: 0 5vw auto;
    padding: min(5vw,3em) 0 min(8vw,6em);
    background-image: url(../images/bg/dot100.svg);
    background-repeat: repeat-y;
    background-position: bottom;
    background-size: cover;
    background-color: var(--light-color);
    border: var(--border8) solid var(--black-color);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: min(5vw,4em);
}
.home .news-title {
	display: flex;
	flex-direction: column;
	text-align: center;
	gap: 1em;
	position: relative;
	z-index: 10;
}
.home .news-title p {
	color: var(--blue-color);
}
.home .news-title h2 {
	font-weight: 900;
	font-size: clamp(1.4em, 2.4vw, 2.4em);
	line-height: 1;
}
.home .news-post {
	display: flex;
	flex-direction: column;
	gap: 1em;
}
.home .news-post article a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	padding: min(4vw,2em);
	background-color: var(--white-color);
	border: var(--border6) solid var(--black-color);
	gap: 1em;
	transition: .3s ease-in-out;
	position: relative;
}
.home .news-post article a:hover {
	border: var(--border6) solid var(--navy-color);
	transition: .3s ease-in-out;
}
.home .news-post article a:after {
	content: "▶";
	font-size: 1.2em;
	position: absolute;
	top: 50%;
	right: min(3vw,2em);
	transform: translateY(-50%);
	transition: .3s ease-in-out;
}
.home .news-post article a:hover:after {
	content: "▶";
	color: var(--navy-color);
	transition: .3s ease-in-out;
}
.home .news-post time {
	width: 15%;
	color: var(--blue-color);
	letter-spacing: var(--letter-none);
}
.home .news-post p {
	width: calc(100% - 15% - 8%);
	font-size: 1.1em;
	font-weight: 700;
}
.home .news .page-more {
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 10;
}
















/* -------------------------------------------------
	File name : page.css
---------------------------------------------------- */

.pages {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: min(8vw,6em);
}

/* =============================
	page-header
=============================== */
.pages .page-header {
	padding-block: calc(120px + min(4vw,2em)) 0;
}
.pages .page-header_inner {
	width: 100%;
	height: 100%;
	padding-inline: 5vw;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.pages .page-header_title {
	width: 100%;
	height: 300px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1em;
	color: var(--white-color);
	background-image: url(../images/bg/dot30b.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border: var(--border8) solid var(--black-color);
	
	background-color: var(--black-color);
    outline: 1px solid var(--black-color);
    outline-offset: -1px;
}
.pages .page-header_title h1 {
	font-weight: 900;
	font-size: clamp(1.6em,2.8vw,3em);
	line-height: 1;
}

/* =============================
	breadcrumbs
=============================== */
.pages .breadcrumbs ul {
	display: flex;
	align-items: center;
	font-size: 80%;
}
.pages .breadcrumbs ul > li {
	display: flex;
	align-items: center;
}
.pages .breadcrumbs ul > li img {
	width: auto;
	height: 1.1em;
	vertical-align: middle;
}
.pages .breadcrumbs ul > li a {
	display: inline-block;
}
.pages .breadcrumbs ul > li:after {
	content: "＞";
	font-size: 50%;
	font-weight: 700;
	filter: opacity(40%);
	padding-inline: 1rem;
}
.pages .breadcrumbs ul > li:last-child:after {
	content: none;
}


/* =============================
	error
=============================== */
.pages .error .min-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: min(8vw,4em);
}
.pages .error h2 {
	font-weight: 900;
	font-size: clamp(1.4em,2.4vw,2.4em);
	line-height: 1.8;
	text-align: center;
}
.pages .error h2 em {
	display: block;
	font-size: 80%;
	letter-spacing: var(--letter-none);
}
.pages .error figure {
	width: 100%;
	display: flex;
	justify-content: center;
}
.pages .error figure img {
	width: 70%;
	max-width: 600px;
	height: auto;
}



/* =============================
	business
=============================== */
.pages .business {
	display: flex;
	flex-direction: column;
	gap: min(10vw,6em);
}
/* concept */
.pages .business .concept .inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,3em);
}
.pages .business .concept-title {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 1em;
}
.pages .business .concept-title strong {
	font-size: clamp(1.4em,2vw,2em);
	font-weight: 900;
	line-height: 1.4;
}
.pages .business .concept-title h2 {
	width: 100%;
	text-align: center;
	font-weight: 900;
	font-size: clamp(1.4em,2.6vw,2.6em);
	line-height: 1.4;
	padding: .1em .8em;
	background-color: var(--lemon-color);
	border: var(--border8) solid var(--black-color);
}
.pages .business .concept-title h2 br {
	display: none;
}
.pages .business .concept-img {
	display: flex;
	justify-content: space-between;
}
.pages .business .concept-img li {
	width: calc(100% / 4 - min(2vw,1.5em));
}
.pages .business .concept-img li img {
	width: 100%;
	height: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border: var(--border6) solid var(--black-color);
}


/* vision */
.pages .business .vision {
	width: 100%;
	max-width: 2560px;
	margin: auto;
}
.pages .business .vision-inner {
	margin: 0 5vw auto;
    padding: min(5vw,5em) 0 min(8vw,6em);
    background-image: url(../images/bg/dot100.svg);
    background-repeat: repeat-y;
    background-position: bottom;
    background-size: cover;
    background-color: var(--light-color);
    border: var(--border8) solid var(--black-color);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: min(5vw,4em);
}
.pages .business .vision .min-inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,4em);
}
.pages .business .vision-title {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}
.pages .business .vision-title em {
	font-weight: 900;
}
.pages .business .vision-title h2 {
	font-weight: 900;
	font-size: clamp(1.4em,2.4vw,2.4em);
	line-height: 1;
}
.pages .business .vision-list {
	display: flex;
	flex-direction: column;
	gap: 1em;
}
.pages .business .vision-list li {
	padding: min(3vw,1em) min(3vw,2em);
	background-color: var(--white-color);
	border: var(--border6) solid var(--black-color);
	display: inline-flex;
	align-items: center;
	gap: min(3vw,2em);
	font-size: 1.1em;
}
.pages .business .vision-list li:before {
	content: "▶";
	width: 40px;
	min-width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--lemon-color);
	border: var(--border5) solid var(--black-color);
}

/* reason */
.pages .reason {
	width: 100%;
	max-width: 2560px;
	margin: auto;
}
.pages .reason-inner {
	margin: 0 5vw auto;
    padding: min(5vw,5em) 0 min(8vw,6em);
    background-image: url(../images/bg/dot100y2.svg);
    background-repeat: repeat-y;
    background-position: top;
    background-color: var(--light-color);
    border: var(--border8) solid var(--black-color);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: min(5vw,4em);
}
.pages .reason .inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,4em);
}
.pages .reason-title {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	color: var(--white-color);
}
.pages .reason-title em {
	font-weight: 900;
}
.pages .reason-title h2 {
	font-weight: 900;
	font-size: clamp(1.4em,2.4vw,2.4em);
	line-height: 1;
}
.pages .reason-list {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.pages .reason-item {
	width: calc(100% / 3 - min(1vw,2em));
	padding: min(4vw,2.5em);
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 1em;
	background-color: var(--white-color);
	border: var(--border6) solid var(--black-color);
}
.pages .reason-item figure {
	width: 100%;
	display: flex;
	justify-content: center;
}
.pages .reason-item figure img {
	width: 90%;
	height: auto;
}
.pages .reason-item h3 {
	font-weight: 900;
	font-size: clamp(1.4em,2.2vw,2em);
	line-height: 1;
}


/* =============================
	about
=============================== */
.pages .about {
	display: flex;
	flex-direction: column;
	gap: min(10vw,6em);
}
/* concept */
.pages .about .concept .inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,3em);
}
.pages .about .concept-title {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: min(4vw,2em);
}
.pages .about .concept-title strong {
	font-size: clamp(1.4em,2vw,2em);
	font-weight: 900;
	line-height: 1.6;
}
.pages .about .concept-title p {
	font-size: min(3vw,1.2em);
	text-align: center;
}
.pages .about .concept-img {
	display: flex;
	justify-content: space-between;
}
.pages .about .concept-img li {
	width: calc(100% / 4 - min(2vw,1em));
}
.pages .about .concept-img li img {
	width: 100%;
	height: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border: var(--border6) solid var(--black-color);
}
.pages .about .read {
	text-align: center;
}
.pages .about .concept .page-more {
	display: flex;
	justify-content: center;
}

.pages .about .bba-figure {
	width: 100%;
	display: flex;
	justify-content: center;
}
.pages .about .bba {
	width: min(80vw, 960px);
	margin: auto;
}
.pages .about .bba img {
	width: 100%;
	height: auto;
}

.pages .about .reason {
	margin: min(-8vw,-6em) auto 0 !important;
}


/* point */
.pages .about .point .min-inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,3em);
}
.pages .about .point h2 {
	width: 100%;
	text-align: center;
	font-weight: 900;
	font-size: clamp(1.4em,2.6vw,2.6em);
	line-height: 1.4;
	padding: .2em .8em;
	background-color: var(--lemon-color);
	border: var(--border8) solid var(--black-color);
}
.pages .about .point h2 br {
	display: none;
}
@media screen and (max-width: 767px) {
	.pages .about .point h2 br {
		display: block;
	}
}
.pages .about .point figure {
	width: 100%;
}
.pages .about .point figure img {
	width: 100%;
	height: auto;
}




/* =============================
	company
=============================== */
.pages .company {
	display: flex;
	flex-direction: column;
	gap: min(10vw,6em);
}

/* profile */
.pages .company .profile {
	width: 100%;
	max-width: 2560px;
	margin: auto;
}
.pages .company .profile-inner {
	margin: 0 5vw auto;
    padding: min(5vw,5em) 0 min(8vw,6em);
    background-image: url(../images/bg/dot100.svg);
    background-repeat: repeat-y;
    background-position: bottom;
    background-color: var(--light-color);
    border: var(--border8) solid var(--black-color);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: min(5vw,4em);
}
.pages .company .profile .min-inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,4em);
}
.pages .company .profile-note {
	padding: min(5vw,5em);
	background-color: var(--white-color);
	border: var(--border6) solid var(--black-color);
}
.pages .company .profile-note dl {
	display: flex;
	flex-direction: column;
}
.pages .company .profile-item {
	display: flex;
	border-top: var(--border3) solid var(--black-color);
}
.pages .company .profile-item:last-child {
	border-bottom: var(--border3) solid var(--black-color);
}
.pages .company .profile-item dt {
	width: 25%;
	padding-block: 1.5em;
	padding-inline: min(4vw,2.5em);
	background-color: var(--light-color);
	font-weight: 900;
}
.pages .company .profile-item dd {
	width: 75%;
	padding-block: 1.5em;
	padding-inline: min(4vw,2.5em);
}
.pages .company .profile-item dd ul {
	list-style-type: disc;
	list-style-position: outside;
	padding-left: 1em;
}
.pages .company .profile-title {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}
.pages .company .profile-title em {
	font-weight: 900;
}
.pages .company .profile-title h2 {
	font-weight: 900;
	font-size: clamp(1.4em,2.4vw,2.4em);
	line-height: 1;
}

/* message */
.pages .company .message .inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,3em);
}
.pages .company .message-title {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 1em;
}
.pages .company .message-title h2 {
	font-size: clamp(1.4em,2vw,2em);
	font-weight: 900;
	line-height: 1.4;
}
.pages .company .message strong {
	text-align: center;
	font-weight: 900;
	font-size: clamp(1.4em,2.6vw,2.6em);
	line-height: 1.4;
	padding: .1em .8em;
	color: var(--lemon-color);
	background-color: var(--black-color);
}
.pages .company .message-note {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.pages .company .message-note figure {
	width: 40%;
}
.pages .company .message-note figure img {
	width: 100%;
	height: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	background-image: url(../images/bg/dot100b.svg);
    background-repeat: repeat-y;
    background-position: bottom;
    background-size: cover;
    border: var(--border6) solid var(--black-color);
}
.pages .company .message-item {
	width: calc(100% - 40% - min(10vw,8em));
	display: flex;
	flex-direction: column;
	gap: 1em;
}
.pages .company .message-item small {
	display: flex;
	justify-content: flex-end;
}


/* =============================
	faq
=============================== */
.pages .faq {
	display: flex;
	flex-direction: column;
	gap: min(10vw,6em);
}
.pages .faq-content {
	width: 100%;
	max-width: 2560px;
	margin: auto;
}
.pages .faq .faq-inner {
	margin: 0 5vw auto;
    padding: min(5vw,5em) 0 min(8vw,6em);
    background-image: url(../images/bg/dot100.svg);
    background-repeat: repeat-y;
    background-position: bottom;
    background-color: var(--light-color);
    border: var(--border8) solid var(--black-color);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: min(5vw,4em);
}
.pages .faq-content .min-inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,4em);
}
.pages .faq-index {
	border: var(--border6) solid var(--black-color);
}
.pages .faq-index h2 {
	padding: .5em 2em;
	font-size: clamp(1.2em,2vw,1.8em);
	font-weight: 900;
	background-color: var(--lemon-color);
	border-bottom: var(--border6) solid var(--black-color);
}
.pages .faq-index ul {
	width: 100%;
	padding: 1.5em 2em;
	flex-wrap: wrap;
	display: inline-flex;
	column-gap: 1em;
	background-color: var(--white-color);
}
.pages .faq-index ul > li {
	display: inline-block;
}
.pages .faq-index ul > li a {
	transition: .2s ease-in-out;
}
.pages .faq-index ul > li a:hover {
	color: var(--blue-color);
	transition: .2s ease-in-out;
}
.pages .faq-index ul > li a:before {
	content: "▼";
	color: var(--blue-color);
	padding-right: 1rem;
}
.pages .faq-group {
	display: flex;
	flex-direction: column;
	gap: 1.5em;
}
.pages .faq-group h3 {
	font-size: clamp(1.2em,2.2vw,2.2em);
	font-weight: 900;
	text-indent: .5em;
}
.pages .faq-note {
	width: 100%;
	display: flex;
	flex-direction: column;
	column-gap: 1em;
	background-color: var(--white-color);
	border: var(--border6) solid var(--black-color);
}
.pages .faq-note .que {
	width: 100%;
	padding: .8em 1.6em;
	font-size: 1.4em;
	font-weight: 900;
	color: var(--white-color);
	background-color: var(--water-color);
	border-bottom: var(--border6) solid var(--black-color);
	display: flex;
	align-items: center;
	gap: 1em;
}
.pages .faq-note .ans {
	width: 100%;
	padding: 1.6em 2em;
	display: flex;
	align-items: flex-start;
	gap: 1.5em;
}
.pages .faq-note .que span {
	width: 50px;
	height: 50px;
	font-weight: 900;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--black-color);
	background-color: var(--lemon-color);
	border: var(--border5) solid var(--black-color);
}
.pages .faq-note .ans span {
	width: 50px;
	height: 50px;
	font-size: 1.2em;
	font-weight: 900;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--white-color);
	background-color: var(--blue-color);
	border: var(--border5) solid var(--black-color);
}
.pages .faq-note p {
	width: calc(100% - 50px);
}

/* =============================
	flow
=============================== */
.pages .flow {
	display: flex;
	flex-direction: column;
	gap: min(10vw,6em);
}
.pages .flow-content {
	width: 100%;
	max-width: 2560px;
	margin: auto;
	display: flex;
	flex-direction: column;
	gap: min(6vw,3em);
}
.pages .flow-content h2 {
    font-size: clamp(1.2em, 2.2vw, 2.2em);
    font-weight: 900;
    text-indent: .5em;
}
.pages .flow .flow-inner {
	margin: 0 5vw auto;
    padding: min(5vw,5em) 0 min(8vw,6em);
    background-image: url(../images/bg/dot100.svg);
    background-repeat: repeat-y;
    background-position: bottom;
    background-color: var(--light-color);
    border: var(--border8) solid var(--black-color);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: min(5vw,4em);
}
.pages .flow-content .min-inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,4em);
}
.pages .flow-index {
	display: flex;
	flex-direction: column;
	gap: min(6vw,3em);
}
.pages .flow-item {
	position: relative;
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
	border: var(--border6) solid var(--black-color);
	color: var(--black-color);
	margin-bottom: 20px;
}
.pages .flow-item:not(:last-child)::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 30px 30px 0 30px;
  border-color: var(--black-color) transparent transparent;
  translate: -50% 100%;
}
.pages .flow-item:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 22px 22px 0 22px;
  border-color: var(--white-color) transparent transparent;
  translate: -50% 100%;
}
.pages .flow-title {
	display: flex;
	align-items: center;
	gap: 2em;
	background-color: var(--blue-color);
	border-bottom: var(--border6) solid var(--black-color);
}
.pages .flow-title .flow-num {
	width: 80px;
	padding-block: .5em;
	font-size: 2em;
	font-weight: 900;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--lemon-color);
	border-right: var(--border6) solid var(--black-color);
}
.pages .flow-title h3 {
	width: calc(100% - 50px);
	padding-block: .5em;
	font-size: 1.4em;
	font-weight: 900;
	color: var(--white-color);
}
.pages .flow-note {
	padding: min(3vw,2em) min(4vw,3em);
	display: flex;
	align-items: center;
	gap: min(4vw,3em);
}
.pages .flow-note figure {
	width: 15%;
	min-width: 100px;
}
.pages .flow-note figure img {
	width: 100%;
	height: auto;
}
.pages .flow-note p {
	width: calc(100% - 15%);
}

/* =============================
	news
=============================== */
.pages .news {
	display: flex;
	flex-direction: column;
	gap: min(10vw,6em);
}
.pages .news-content {
	width: 100%;
	max-width: 2560px;
	margin: auto;
	display: flex;
	flex-direction: column;
	gap: min(6vw,3em);
}
.pages .news-content h2 {
    font-size: clamp(1.2em, 2.2vw, 2.2em);
    font-weight: 900;
    text-indent: .5em;
}
.pages .news .news-inner {
	margin: 0 5vw auto;
    padding: min(5vw,5em) 0 min(8vw,6em);
    background-image: url(../images/bg/dot100.svg);
    background-repeat: repeat-y;
    background-position: bottom;
    background-color: var(--light-color);
    border: var(--border8) solid var(--black-color);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: min(5vw,4em);
}
.pages .news-content .min-inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,4em);
}
.pages .news-post {
	display: flex;
	flex-direction: column;
	gap: 1em;
}
.pages .news-post article a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	padding: min(3vw,2em);
	background-color: var(--white-color);
	border: var(--border6) solid var(--black-color);
	gap: 1em;
	transition: .3s ease-in-out;
	position: relative;
}
.pages .news-post article a:hover {
	border: var(--border6) solid var(--navy-color);
	transition: .3s ease-in-out;
}
.pages .news-post article a:after {
	content: "▶";
	font-size: 1.2em;
	position: absolute;
	top: 50%;
	right: min(3vw,2em);
	transform: translateY(-50%);
	transition: .3s ease-in-out;
}
.pages .news-post article a:hover:after {
	content: "▶";
	color: var(--navy-color);
	transition: .3s ease-in-out;
}
.pages .news-post time {
	width: 15%;
	color: var(--blue-color);
	letter-spacing: var(--letter-none);
}
.pages .news-post p {
	width: calc(100% - 15% - 8%);
	font-size: 1.1em;
	font-weight: 700;
}

.pages .news .pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
}
.pages .news .pager .prev a,
.pages .news .pager .next a {
	display: block;
	padding: .6em 1em;
	color: var(--black-color);
	background-color: var(--lemon-color);
	border: var(--border5) solid var(--black-color);
	transition: .3s ease-in-out;
	position: relative;
	z-index: 1;
}
.pages .news .pager .center {
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.pages .news .pager .center a {
	display: block;
	padding: .6em 1.5em;
	color: var(--white-color);
	background-color: var(--blue-color);
	border: var(--border5) solid var(--black-color);
	position: relative;
	overflow: hidden;
	transition: background-color .3s ease-in-out;
}
.pages .news .pager .center a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--black-color);
    transform: translateX(-100%);
    transition: transform .3s ease-in-out;
    z-index: -1;
}
.pages .news .pager .center a:hover::before {
    transform: translateX(0);
}
.pages .news .pager .center a:hover {
    background-color: transparent;
}

/* =============================
	price
=============================== */
.pages .price {
	display: flex;
	flex-direction: column;
	gap: min(10vw,6em);
}
.pages .price-content {
	width: 100%;
	max-width: 2560px;
	margin: auto;
}
.pages .price .price-inner {
	margin: 0 5vw auto;
    padding: min(5vw,5em) 0 min(8vw,6em);
    background-image: url(../images/bg/dot100.svg);
    background-repeat: repeat-y;
    background-position: bottom;
    background-color: var(--light-color);
    border: var(--border8) solid var(--black-color);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: min(5vw,4em);
}
.pages .price-content .minmin-inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,4em);
}
.pages .price-index {
	border: var(--border6) solid var(--black-color);
}
.pages .price-index h2 {
	padding: .5em 2em;
	font-size: clamp(1.2em,2vw,1.8em);
	font-weight: 900;
	background-color: var(--lemon-color);
	border-bottom: var(--border6) solid var(--black-color);
}
.pages .price-index ul {
	width: 100%;
	padding: 1.5em 2em;
	flex-wrap: wrap;
	display: inline-flex;
	column-gap: 1em;
	background-color: var(--white-color);
}
.pages .price-index ul > li {
	display: inline-block;
}
.pages .price-index ul > li a {
	transition: .2s ease-in-out;
}
.pages .price-index ul > li a:hover {
	color: var(--blue-color);
	transition: .2s ease-in-out;
}
.pages .price-index ul > li a:before {
	content: "▼";
	color: var(--blue-color);
	padding-right: 1rem;
}
.pages .price-group {
	display: flex;
	flex-direction: column;
	gap: 1.5em;
}
.pages .price-group h3 {
	font-size: clamp(1.2em,2vw,2em);
	font-weight: 900;
	text-indent: .5em;
}
.pages .price-note {
	display: flex;
	flex-direction: column;
}
.pages .price-note_item {
	display: inline-flex;
	align-items: center;
	border-right: var(--border4) solid var(--black-color);
}
.pages .price-note_item dt {
	width: 60%;
	padding: 1em 2em;
	font-weight: 900;
	display: inline-flex;
	align-items: center;
	background-color: var(--rain-color);
	border-top: var(--border4) solid var(--black-color);
	border-left: var(--border4) solid var(--black-color);
}
.pages .price-note_item dd {
	width: 40%;
	padding: 1em 2em;
	display: flex;
	justify-content: center;
	background-color: var(--white-color);
	border-top: var(--border4) solid var(--black-color);
	border-left: var(--border4) solid var(--black-color);
}

.pages .price-note_item:last-child {
	border-bottom: var(--border4) solid var(--black-color);
}
.pages .price-note_item dt em {
	font-weight: 500;
	font-size: 90%;
	letter-spacing: var(--letter-none);
	padding-inline: .2em;
}
.pages .price-note_item dt em:before {
	content: "（";
}
.pages .price-note_item dt em:after {
	content: "）";
}

/* =============================
	works
=============================== */
.pages .works {
	display: flex;
	flex-direction: column;
	gap: min(10vw,6em);
}
.pages .works-content {
	width: 100%;
	max-width: 2560px;
	margin: auto;
}
.pages .works .works-inner {
	margin: 0 5vw auto;
    padding: min(5vw,5em) 0 min(8vw,6em);
    background-image: url(../images/bg/dot100.svg);
    background-repeat: repeat-y;
    background-position: bottom;
    background-color: var(--light-color);
    border: var(--border8) solid var(--black-color);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: min(5vw,4em);
}
.pages .works-content .inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,4em);
}
.pages .works-index {
	border: var(--border6) solid var(--black-color);
}
.pages .works-index h2 {
	padding: .5em 2em;
	font-size: clamp(1.2em,2vw,1.8em);
	font-weight: 900;
	background-color: var(--lemon-color);
	border-bottom: var(--border6) solid var(--black-color);
}
.pages .works-index ul {
	width: 100%;
	padding: 1.5em 2em;
	flex-wrap: wrap;
	display: inline-flex;
	column-gap: 1em;
	background-color: var(--white-color);
}
.pages .works-index ul > li {
	display: inline-block;
}
.pages .works-index ul > li a {
	transition: .2s ease-in-out;
}
.pages .works-index ul > li a:hover {
	color: var(--blue-color);
	transition: .2s ease-in-out;
}
.pages .works-index ul > li a:before {
	content: "▼";
	color: var(--blue-color);
	padding-right: 1rem;
}

.pages .works-post {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: min(4vw,3em);
}
.pages .works-post:before {
	content: "";
	display: block;
	width: calc(100% / 3 - min(2vw,1.5em));
	order: 1;
}
.pages .works-post:after {
	content: "";
	display: block;
	width: calc(100% / 3 - min(2vw,1.5em));
}
.pages .works-post_item {
	width: calc(100% / 3 - min(2vw,1.5em));
	display: flex;
	flex-direction: column;
	gap: .8em;
}
.pages .works-post_item .thum a {
	width: 100%;
	display: block;
	overflow: hidden;
}
.pages .works-post_item .thum img {
	width: 100%;
	height: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border: var(--border6) solid var(--black-color);
	transition: .3s ease-in-out;
}
.pages .works-post_item .thum img:hover {
	border: var(--border6) solid var(--blue-color);
	transition: .3s ease-in-out;
}
.pages .works-post_item h3 {
	font-weight: 900;
	font-size: clamp(1em, 1.5vw,1.2em);
}
.pages .works-post_meta {
	display: inline-flex;
	align-items: center;
	gap: .5em;
}
.pages .works-post_meta dt {
	padding: .5em;
	line-height: 1;
	font-size: 90%;
	color: var(--white-color);
	background-color: var(--blue-color);
}
.pages .works-post_item .category {
	color: var(--blue-color);
	font-size: 90%;
}
.pages .works-post_item .category:hover {
	filter: opacity(80%);
}

.pages .works .pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
}
.pages .works .pager .prev a,
.pages .works .pager .next a {
	display: block;
	padding: .6em 1em;
	color: var(--black-color);
	background-color: var(--lemon-color);
	border: var(--border5) solid var(--black-color);
	transition: .3s ease-in-out;
	position: relative;
	z-index: 1;
}
.pages .works .pager .center {
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.pages .works .pager .center a {
	display: block;
	padding: .6em 1.5em;
	color: var(--white-color);
	background-color: var(--blue-color);
	border: var(--border5) solid var(--black-color);
	position: relative;
	overflow: hidden;
	transition: background-color .3s ease-in-out;
}
.pages .works .pager .center a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--black-color);
    transform: translateX(-100%);
    transition: transform .3s ease-in-out;
    z-index: -1;
}
.pages .works .pager .center a:hover::before {
    transform: translateX(0);
}
.pages .works .pager .center a:hover {
    background-color: transparent;
}


/* =============================
	quotation + contact
=============================== */
.pages .mail {
	display: flex;
	flex-direction: column;
	gap: min(10vw,6em);
}
.pages .mail-content {
	width: 100%;
	max-width: 2560px;
	margin: auto;
}
.pages .mail .mail-inner {
	margin: 0 5vw auto;
    padding: min(5vw,5em) 0 min(8vw,6em);
    background-image: url(../images/bg/dot100.svg);
    background-repeat: repeat-y;
    background-position: bottom;
    background-color: var(--light-color);
    border: var(--border8) solid var(--black-color);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: min(5vw,4em);
}
.pages .mail-content .minmin-inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,4em);
}
.pages .mail-form_content {
	background-color: var(--white-color);
	padding: min(3vw,2em);
	border: var(--border6) solid var(--black-color);
}
.pages .mail-form_content strong {
	display: block;
	width: 100%;
	margin-block: 1em;
	padding: .5em;
	font-size: 1.1em;
	color: var(--white-color);
	background-color: var(--blue-color);
}

/* オプション */
.checkbox-list {
  display: flex;
  flex-direction: column;
  gap: 0.8em;
  padding-block: 0.5em;
}
.form-check {
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-size: 1em;
  cursor: pointer;
  user-select: none;
}
.form-check input[type="checkbox"] {
  appearance: none;
  width: 1.2em;
  height: 1.2em;
  border: 2px solid var(--black-color);
  border-radius: 0.2em;
  background-color: var(--white-color);
  position: relative;
  cursor: pointer;
  transition: background-color 0.2s, border-color 0.2s;
  flex-shrink: 0;
}
.form-check input[type="checkbox"]:checked {
  background-color: var(--blue-color);
  border-color: var(--blue-color);
}
.form-check input[type="checkbox"]::after {
  content: "";
  position: absolute;
	top: 0;
	left: 0.25em;
  width: 0.3em;
  height: 0.6em;
  border: solid var(--white-color);
  border-width: 0 0.15em 0.15em 0;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 0.2s;
}
.form-check input[type="checkbox"]:checked::after {
  opacity: 1;
}

/* 金額 */
#estimate_result {
	font-size: 1.2em;
	font-weight: 900;
	letter-spacing: var(--letter-none);
}
#estimate_total {
	font-size: 2em;
	font-weight: 900;
	letter-spacing: var(--letter-none);
}
#estimate_result em,
#estimate_total em {
	padding-left: .2em;
	font-size: 60%;
	font-weight: 500;
}
#estimate_warning {
	font-size: 80%;
}


.pages .mail-summary {
	margin-block: .6em;
	width: 100%;
}
.pages .mail-summary2 {
	width: 100%;
	margin-block: .6em;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
}
.pages .mail-summary2 dt {
	width: calc(100% - 100px);
	padding: 1em;
	background-color: var(--light-color);
}
.pages .mail-summary2 dd {
	width: 100px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}


.pages .mail-label {
	font-weight: bold;
    font-size: 1em;
    padding-block: .5em;
}
.pages .mail-label p {
	display: flex;
	align-items: center;
	font-weight: 500;
}
.pages .mail-label .must,
.pages .mail-check .must {
	margin-inline-start: .5em;
}
.pages .mail-value input[type='text'],
.pages .mail-value input[type='tel'],
.pages .mail-value input[type='email'] {
	width: 100%;
	padding: 1em;
	background-color: var(--white-color);
	border: var(--border4) solid var(--black-color);
}
.pages .mail-short {
	display: inline-flex;
	align-items: center;
	gap: .3em;
}
.pages .mail-short input[type='number'] {
	width: 100%;
	height: 100%;
	min-width: 60px;
	min-height: 60px;
	padding: .5em;
	text-align: center;
	font-size: 1.2em;
	font-weight: 900;
	background-color: var(--white-color);
	border: var(--border4) solid var(--black-color);
}

.pages .mail-value .read {
	padding-block: 0 1rem;
	font-size: 90%;
	opacity: .6;
}
.pages .mail-value textarea {
	width: 100%;
	height: max(40vh,5em);
	padding: 1em;
	background-color: var(--white-color);
	border: var(--border4) solid var(--black-color);
	resize: vertical;
}
.pages .mail-submit {
	width: 100%;
	padding-block: 1em;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* 送信 */
.pages .mail-submit .sending {
	width: calc(100% / 1);
	padding: 1.1em min(6vw, 4em);
	font-size: 1.2em;
	font-weight: 500;
	color: var(--white-color);
	background-color: var(--blue-color);
	border: var(--border6) solid var(--black-color);
	transition: .3s ease-in-out;
	cursor: pointer;
}
.pages .mail-submit .sending:hover {
	background-color: var(--black-color);
	transition: .3s ease-in-out;
}

/* 修正 */
.pages .mail-submit .revice {
	width: calc(100% / 1);
	padding: 1.1em min(6vw, 4em);
	font-size: 1.2em;
	font-weight: 500;
	color: var(--black-color);
	background-color: var(--lemon-color);
	border: var(--border6) solid var(--black-color);
	transition: .3s ease-in-out;
	cursor: pointer;
}
.pages .mail-submit .revice:hover {
	color: var(--white-color);
	background-color: var(--black-color);
	transition: .3s ease-in-out;
}

.form-step {
	display: flex;
	flex-direction: column;
}
.form-step h3 {
	font-size: min(4vw,1.2em);
	font-weight: 900;
}
.form-confirm {
	gap: 1em;
}
.form-confirm p {
	display: flex;
	flex-direction: column;
}

.confirm-estimate_items,
.confirm-estimate_total {
	font-weight: 900;
	letter-spacing: var(--letter-none);
}
.confirm-estimate_total {
	font-size: 2em;
}

.pages .mail .must {
	color: var(--red-color);
	font-size: 80%;
	font-weight: 900;
	letter-spacing: var(--letter-tight);
}
.pages .mail .guideline a {
	color: var(--blue-color);
	text-decoration: none;
}
.pages .mail .guideline a:hover {
	text-decoration: underline;
}
.pages .mail-form_content p a {
	color: var(--blue-color);
	text-decoration: underline;
}

.wpcf7-spinner {
    display: none !important;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	color: var(--white-color) !important;
	background: crimson !important;
	border: none !important;
}
.wpcf7 form.sent .wpcf7-response-output {
    background: var(--blue-color) !important;
    color: var(--white-color) !important;
    border: none !important;
}


#estimate_breakdown {
  padding-left: 1em;
  list-style: disc;
  line-height: 1.6;
}

::placeholder {
	opacity: .6;
}


/* =============================
	privacy
=============================== */
.pages .privacy .min-inner {
	display: flex;
	flex-direction: column;
}
.pages .privacy-content {
	display: flex;
	flex-direction: column;
	gap: min(5vw,2em);
}
.pages .privacy-item {
	display: flex;
	flex-direction: column;
	gap: min(5vw,2em);
}
.pages .privacy-item h2 {
	font-size: min(4vw,1.4em);
    font-weight: 900;
    line-height: 1.4em;
    letter-spacing: var(--letter-wide);
}
.pages .privacy-item ol {
	padding-left: 1em;
}
.pages .privacy-item ul {
	padding-left: 1em;
	list-style-type: disc;
}
.pages .privacy-item address {
	display: flex;
	flex-direction: column;
	gap: 1em;
}
.pages .privacy-item a {
	color: var(--blue-color);
	font-weight: 600;
	text-decoration: underline;
}

/* =============================
	legal
=============================== */

.pages .legal .legal-note dl {
	display: flex;
	flex-direction: column;
}
.pages .legal .legal-item {
	display: flex;
	border-top: var(--border3) solid var(--black-color);
}
.pages .legal .legal-item:last-child {
	border-bottom: var(--border3) solid var(--black-color);
}
.pages .legal .legal-item dt {
	width: 30%;
	padding-block: 1.5em;
	padding-inline: min(4vw,2.5em);
	background-color: var(--light-color);
	font-weight: 900;
}
.pages .legal .legal-item dd {
	width: 70%;
	padding-block: 1.5em;
	padding-inline: min(4vw,2.5em);
}
.pages .legal .legal-item dd ul {
	list-style-type: disc;
	list-style-position: outside;
	padding-left: 1em;
}
.pages .legal .legal-item dd a {
	color: var(--blue-color);
	font-weight: 600;
	text-decoration: underline;
}


/* -------------------------------------------------
	File name : single.css
---------------------------------------------------- */

.single {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: min(8vw,6em);
}

/* =============================
	page-header
=============================== */
.single .page-header {
	padding-block: calc(120px + min(4vw,2em)) 0;
}
.single .page-header_inner {
	width: 100%;
	height: 100%;
	padding-inline: 5vw;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.single .page-header_title {
	width: 100%;
	height: 300px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1em;
	color: var(--white-color);
	background-image: url(../images/bg/dot30b.svg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border: var(--border8) solid var(--black-color);
	
	background-color: var(--black-color);
    outline: 1px solid var(--black-color);
    outline-offset: -1px;
}
.single .page-header_title h1 {
	font-weight: 900;
	font-size: clamp(1.6em,2.8vw,3em);
	line-height: 1;
}

/* =============================
	breadcrumbs
=============================== */
.single .breadcrumbs ul {
	display: flex;
	align-items: center;
	font-size: 80%;
}
.single .breadcrumbs ul > li {
	display: flex;
	align-items: center;
}
.single .breadcrumbs ul > li img {
	width: auto;
	height: 1.1em;
	vertical-align: middle;
}
.single .breadcrumbs ul > li a {
	display: inline-block;
}
.single .breadcrumbs ul > li a:hover {
	color: var(--blue-color);
}
.single .breadcrumbs ul > li:after {
	content: "＞";
	font-size: 50%;
	font-weight: 700;
	filter: opacity(40%);
	padding-inline: 1rem;
}
.single .breadcrumbs ul > li:last-child:after {
	content: none;
}

/* =============================
	news
=============================== */
.single .news {
	display: flex;
	flex-direction: column;
	gap: min(10vw,6em);
}
.single .news .news-inner {
	margin: 0 5vw auto;
    padding: min(5vw,5em) 0 min(8vw,6em);
    background-image: url(../images/bg/dot100.svg);
    background-repeat: repeat-y;
    background-position: bottom;
    background-color: var(--light-color);
    border: var(--border8) solid var(--black-color);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: min(5vw,4em);
}
.single .news .min-inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,4em);
}
.single .news-post {
	width: 100%;
	max-width: 2560px;
	margin: auto;
	display: flex;
	flex-direction: column;
	gap: min(6vw,3em);
}
.single .news-body {
	padding: min(5vw,5em) min(5vw,6em) min(8vw,7em);
	background-color: var(--white-color);
	border: var(--border6) solid var(--black-color);
}
.single .news .post-header h2 {
    font-size: clamp(1.2em, 2.2vw, 2.2em);
    font-weight: 900;
    text-indent: .5em;
}

.single .news-post .post-header {
	display: flex;
	flex-direction: column;
	gap: 1em;
}
.single .news-post .post-header h1 {
    font-size: clamp(1.2em, 2.2vw, 2.2em);
    font-weight: 900;
}
.single .news-post .post-header time {
	color: var(--blue-color);
	letter-spacing: var(--letter-none);
	font-size: 90%;
}
.single .news-body {
	display: flex;
	flex-direction: column;
	gap: min(5vw,4em);
}
.single .news-body .post-thumbnail {
	width: 100%;
	text-align: center;
	margin: auto;
	padding-bottom: min(4vw,3em);
	border-bottom: var(--border6) solid var(--black-color);
}
.single .news-body .post-thumbnail img {
	width: 100%;
	height: auto;
}
.single .news-body .post-note {
	display: flex;
	flex-direction: column;
	gap: min(3vw,1.5em);
}
.single .news-body .post-note p img {
	max-width: 100%;
	height: auto;
}
.single .news-body .post-note h1 {
	width: fit-content;
	padding: .4em .6em;
	color: var(--white-color);
	background-color: var(--black-color);
	font-size: clamp(1.2em,2vw,1.8em);
    font-weight: 700;
    line-height: 1.4;
}
.single .news-body .post-note h2 {
	margin-top: .5em;
	padding: .4em .6em;
	color: var(--black-color);
	background-color: var(--light-color);
	font-size: clamp(1.1em,2vw,1.5em);
    font-weight: 700;
    line-height: 1.4;
}
.single .news-body .post-note h3 {
	width: fit-content;
	margin-top: .5em;
	padding: .4em 0;
	color: var(--black-color);
	border-bottom: var(--border3) solid var(--blue-color);
	font-size: clamp(1.05em,2vw,1.4em);
    font-weight: 700;
    line-height: 1.4;
}
.single .news-body .post-note blockquote {
	padding: min(3vw,2em);
	font-style: italic;
	background-color: var(--light-color);
}
.single .news-body .post-note ul {
	list-style: disc;
	list-style-position: outside;
	padding-left: 1.5em;
}

.single .news .pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
}
.single .news .pager .prev a,
.single .news .pager .next a {
	display: block;
	padding: .6em 1em;
	color: var(--black-color);
	background-color: var(--lemon-color);
	border: var(--border5) solid var(--black-color);
	transition: .3s ease-in-out;
	position: relative;
	z-index: 1;
}
.single .news .pager .center {
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.single .news .pager .center a {
	display: block;
	padding: .6em 1.5em;
	color: var(--white-color);
	background-color: var(--blue-color);
	border: var(--border5) solid var(--black-color);
	position: relative;
	overflow: hidden;
	transition: background-color .3s ease-in-out;
}
.single .news .pager .center a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--black-color);
    transform: translateX(-100%);
    transition: transform .3s ease-in-out;
    z-index: -1;
}
.single .news .pager .center a:hover::before {
    transform: translateX(0);
}
.single .news .pager .center a:hover {
    background-color: transparent;
}

/* =============================
	works
=============================== */
.single .works {
	display: flex;
	flex-direction: column;
	gap: min(10vw,6em);
}
.single .works .works-inner {
	margin: 0 5vw auto;
    padding: min(5vw,5em) 0 min(8vw,6em);
    background-image: url(../images/bg/dot100.svg);
    background-repeat: repeat-y;
    background-position: bottom;
    background-color: var(--light-color);
    border: var(--border8) solid var(--black-color);
    position: relative;
    display: flex;
    flex-direction: column;
    gap: min(5vw,4em);
}
.single .works .minmin-inner {
	display: flex;
	flex-direction: column;
	gap: min(6vw,4em);
}
.single .works-post {
	width: 100%;
	max-width: 2560px;
	margin: auto;
	display: flex;
	flex-direction: column;
	gap: min(6vw,3em);
}

.single .works-post .post-header {
	display: flex;
	flex-direction: column;
	gap: 1em;
}
.single .works-post .post-header h1 {
    font-size: clamp(1.2em, 2.2vw, 2.2em);
    font-weight: 900;
}
.single .works-post .post-header time {
	color: var(--blue-color);
	letter-spacing: var(--letter-none);
}
.single .works-post .works-thumbnail figure {
	width: 100%;
}
.single .works-post .works-thumbnail img {
	width: 100%;
	height: auto;
}
.single .works-body {
	display: flex;
	flex-direction: column;
	padding: 0;
	background-color: var(--white-color);
	border: var(--border6) solid var(--black-color);
}

.single .works-body_note {
	padding: min(4vw,3em) min(5vw,3em) min(8vw,5em);
	display: flex;
	flex-direction: column;
	gap: min(4vw,3em);
}
.single .works-meta {
	display: flex;
	flex-direction: column;
}
.single .works-meta_item {
	display: inline-flex;
	align-items: center;
	border-right: var(--border4) solid var(--black-color);
}
.single .works-meta_item dt {
	width: 40%;
	padding: 1em 2em;
	font-weight: 900;
	display: inline-flex;
	align-items: center;
	background-color: var(--light-color);
	border-top: var(--border4) solid var(--black-color);
	border-left: var(--border4) solid var(--black-color);
}
.single .works-meta_item dd {
	width: 60%;
	padding: 1em 2em;
	display: flex;
	justify-content: center;
	background-color: var(--white-color);
	border-top: var(--border4) solid var(--black-color);
	border-left: var(--border4) solid var(--black-color);
}
.single .works-meta_item:last-child {
	border-bottom: var(--border4) solid var(--black-color);
}
.single .works-gallery {
	display: flex;
	flex-direction: column;
	gap: 1.5em;
}
.single .works-gallery li {
	width: 100%;
}
.single .works-gallery li img {
	width: 100%;
	height: auto;
	border: var(--border4) solid var(--black-color);
}
.single .works-gallery li small {
	font-size: 80%;
	letter-spacing: var(--letter-none);
}
.single .works-memo {
	padding: min(3vw,2em) 1em;
	border-top: var(--border3) solid var(--black-color);
	border-bottom: var(--border3) solid var(--black-color);
}



.single .works .pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
}
.single .works .pager .prev a,
.single .works .pager .next a {
	display: block;
	padding: .6em 1em;
	color: var(--black-color);
	background-color: var(--lemon-color);
	border: var(--border5) solid var(--black-color);
	transition: .3s ease-in-out;
	position: relative;
	z-index: 1;
}
.single .works .pager .center {
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.single .works .pager .center a {
	display: block;
	padding: .6em 1.5em;
	color: var(--white-color);
	background-color: var(--blue-color);
	border: var(--border5) solid var(--black-color);
	position: relative;
	overflow: hidden;
	transition: background-color .3s ease-in-out;
}
.single .works .pager .center a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--black-color);
    transform: translateX(-100%);
    transition: transform .3s ease-in-out;
    z-index: -1;
}
.single .works .pager .center a:hover::before {
    transform: translateX(0);
}
.single .works .pager .center a:hover {
    background-color: transparent;
}


/* -------------------------------------------------
	File name : responsive.css
---------------------------------------------------- */

/* common */
@media screen and (max-width: 767px) {
	body {
		font-size: 15px;
	}
	:root {
		--border3: 2.5px;
		--border4: 3px;
		--border5: 3.5px;
		--border6: 4px;
		--border8: 5px;
		--border10: 6px;
	}
}

/* =============================
	header
=============================== */
@media screen and (max-width: 1439px) {
	#graphix .header-global {
		display: none;
	}
}
@media screen and (max-width: 1439px) {
	#graphix .header-content {
		width: 100%;
		min-height: 80px;
	}
}
@media screen and (min-width: 992px) {
	#graphix .hamburg,
	#graphix .black-bg {
		display: none;
	}
}

/* =============================
	footer
=============================== */
@media screen and (max-width: 767px) {
	#graphix .footer {
		margin-top: calc(min(8vw,5em) + 40px);
	}
	#graphix .footer-global ul {
		width: 100%;
		display: inline-flex;
		justify-content: space-between;
		flex-wrap: wrap;
		row-gap: 1rem;
		padding-inline: 3vw;
	}
	#graphix .footer-global ul > li {
		width: calc(100% / 2 - .4em);
		font-size: 90%;
		letter-spacing: var(--letter-none);
	}
	#graphix .footer-global ul > li:after {
		content: none;
	}
}

/* =============================
	cta
=============================== */
@media screen and (max-width: 991px) {
	#graphix .cta-company {
		display: flex;
		flex-direction: column;
	}
	#graphix .cta-company_note {
		width: 100%;
		min-height: 300px;
		background-position: center center;
		background-image: url(../images/bg/fukidashi-sp.svg);
	}
	#graphix .cta-company figure {
		width: 75%;
		position: relative !important;
	}
}
@media screen and (max-width: 767px) {
	#graphix .cta-mail {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: min(5vw,3em);
	}
	#graphix .cta-mail_price,
	#graphix .cta-mail_contact {
		width: calc(100% / 1);
	}
	#graphix .cta-title h2 br {
		display: block;
	}
}


/* home */
/* =============================
	cover
=============================== */
@media screen and (max-width: 767px) {
	.cover {
		padding-block: 80px min(5vw,3em);
	}
	.cover-hero {
		justify-content: center;
		text-align: center;
		height: 100%;
	}
	.cover-hero strong {
		font-size: min(10vw,2.8em);
		letter-spacing: var(--letter-none);
		line-height: 1.3;
	}
	.cover-hero strong .block {
		display: block;
	}
	.cover-hero strong br {
		display: none;
	}
	.cover-visual {
		width: 100%;
		height: 100%;
		position: relative;
	}
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
	.cover-visual .isVisible:nth-child(3) picture {
		text-align: center;
	}
	.cover-visual .isVisible:nth-child(3) picture img {
		width: 95%;
	}
}

/* =============================
	about
=============================== */
@media screen and (max-width: 991px) {
	.home .about-item {
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 1.5em;
	}
	.home .about-item figure {
		width: calc(100% / 1);
	}
	.home .about-item_note {
		width: calc(100% / 1);
		display: flex;
		flex-direction: column;
		gap: min(5vw,3em);
	}
}

/* =============================
	contents
=============================== */
@media screen and (max-width: 991px) {
	.home .content-price {
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: min(4vw,3em);
	}
	.home .content-price figure {
		width: calc(100% / 1);
	}
	.home .content-price_note {
		width: calc(100% / 1);
		display: flex;
		flex-direction: column;
		gap: min(4vw,3em);
	}
}

@media screen and (max-width: 991px) {
	.home .content-message {
		display: flex;
		flex-direction: column;
	}
	.home .content-message_note {
		width: 100%;
		min-height: 300px;
		background-position: center center;
		background-image: url(../images/bg/fukidashi-sp.svg);
		padding-bottom: 2em;
	}
	.home .content-message figure {
		width: 75%;
		position: relative !important;
	}
}

@media screen and (max-width: 767px) {
	.home .content-quest {
		display: flex;
		flex-wrap: nowrap;
		flex-direction: column;
		justify-content: center;
		gap: min(8vw,6em);
	}
	.home .content-flow,
	.home .content-faq {
		width: calc(100% / 1);
		display: flex;
		flex-direction: column;
		gap: 1em;
	}
}

/* =============================
	news
=============================== */
@media screen and (max-width: 991px) {
	.home .news-post article a {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-start;
		gap: .2em;
	}
	.home .news-post time {
		width: 100%;
	}
	.home .news-post p {
		width: calc(100% / 1);
		padding-right: 8%;
	}
	.home .news-post article a:after {
		content: "▶";
		font-size: 1em;
	}
}


/* page */
/* =============================
	page-header
=============================== */
@media screen and (max-width: 991px) {
	.pages .page-header {
		padding-block: calc(80px + min(4vw,2em)) 0;
	}
	.pages .page-header_title {
		width: 100%;
		height: auto;
		min-height: 160px;
	}
}

/* =============================
	business
=============================== */
@media screen and (max-width: 767px) {
	.pages .business .vision-list li:before {
		content: "▶";
		width: 30px;
		min-width: 30px;
		height: 30px;
		font-size: 90%;
	}
	.pages .business .concept-title h2 br {
		display: block;
	}
}
@media screen and (max-width: 991px) {
	.pages .business .concept-img {
		flex-wrap: wrap;
		gap: min(4vw,2em);
	}
	.pages .business .concept-img li {
		width: calc(100% / 2 - min(2vw,1.5em));
	}
}

@media screen and (max-width: 991px) {
	.pages .reason-inner {
		margin: 0 5vw auto;
	    padding: min(5vw,5em) 0 min(8vw,6em);
	    background-image: url(../images/bg/dot100y2s.svg);
	    background-repeat: repeat-y;
	    background-position: bottom;
	    background-size: cover;
	}
	.pages .reason-list {
		width: 100%;
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		justify-content: center;
		gap: min(6vw,3em);
	}
	.pages .reason-item {
		width: calc(100% / 1);
		padding: min(4vw,2.5em);
	}
}

/* =============================
	about
=============================== */
@media screen and (max-width: 991px) {
	.pages .about .concept-img {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		row-gap: min(4vw,1em);
	}
	.pages .about .concept-img li {
		width: calc(100% / 2 - min(2vw,.5em));
	}
	.pages .about .concept-title p,
	.pages .about .read {
		text-align: left;
	}
	.pages .about .concept-title p br,
	.pages .about .read br {
		display: none;
	}
}

/* =============================
	company
=============================== */
@media screen and (max-width: 767px) {
	.pages .company .profile-note {
		padding: 0;
	}
	.pages .company .profile-item {
		display: flex;
		flex-direction: column;
		border-top: var(--border3) solid var(--black-color);
	}
	.pages .company .profile-item:first-child {
		border-top: none;
	}
	.pages .company .profile-item:last-child {
		border-bottom: none;
	}
	.pages .company .profile-item dt {
		width: 100%;
		padding-block: 1em;
		padding-inline: min(4vw,2.5em);
		background-color: var(--light-color);
		font-weight: 900;
		border-bottom: var(--border3) solid var(--black-color);
	}
	.pages .company .profile-item dd {
		width: 100%;
		padding-block: 1.5em;
		padding-inline: min(4vw,2.5em);
	}
}

@media screen and (max-width: 767px) {
	.pages .company .message-note {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: min(6vw,3em);
	}
	.pages .company .message-note figure {
		width: 80%;
	}
	.pages .company .message-item {
		width: calc(80% / 1);
	}
	.pages .company .message-item small {
		margin-block: 1.5em;
	}
}

/* =============================
	faq
=============================== */

/* =============================
	flow
=============================== */
@media screen and (max-width: 991px) {
	.pages .flow-title {
		padding: .5em 1em;
		gap: 1em;
	}
	.pages .flow-title h3 {
		font-size: 1.2em;
	}
	.pages .flow-title .flow-num {
		width: 50px;
		min-width: 50px;
		height: 50px;
		font-size: 1.3em;
		border: var(--border6) solid var(--black-color);
	}
	.pages .flow-item:not(:last-child)::before {
	  content: "";
	  position: absolute;
	  bottom: 0;
	  left: 50%;
	  border-style: solid;
	  border-width: 20px 20px 0 20px;
	  border-color: var(--black-color) transparent transparent;
	  translate: -50% 100%;
	}
	.pages .flow-item:not(:last-child)::after {
	  content: "";
	  position: absolute;
	  bottom: 0;
	  left: 50%;
	  border-style: solid;
	  border-width: 14px 14px 0 14px;
	  border-color: var(--white-color) transparent transparent;
	  translate: -50% 100%;
	}
	.pages .flow-note {
		padding: min(5vw,2em) min(5vw,3em) min(6vw,3em);
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: min(4vw,3em);
	}
	.pages .flow-note figure {
		width: 50%;
		min-width: 100px;
	}
	.pages .flow-note figure img {
		width: 100%;
		height: auto;
	}
	.pages .flow-note p {
		width: calc(100% / 1);
	}
}

/* =============================
	news
=============================== */
@media screen and (max-width: 991px) {
	.pages .news-post article a {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-start;
		gap: .2em;
	}
	.pages .news-post time {
		width: 100%;
		font-size: 90%;
	}
	.pages .news-post p {
		width: calc(100% / 1);
		padding-right: 8%;
		font-size: 1em;
	}
	.pages .news-post article a:after {
		content: "▶";
		font-size: 1em;
	}
}

/* =============================
	price
=============================== */
@media screen and (max-width: 991px) {
	.pages .price .price-inner {
	    margin: 0 auto;
	    padding: min(5vw, 5em) 0 min(8vw, 6em);
	    background-image: url(../images/bg/dot100.svg);
	    background-repeat: repeat-y;
	    background-position: bottom;
	    background-color: var(--light-color);
	    border-top: var(--border8) solid var(--black-color);
		border-bottom: var(--border8) solid var(--black-color);
		border-left: none;
		border-right: none;
	    position: relative;
	    display: flex;
	    flex-direction: column;
	    gap: min(5vw, 4em);
	}
	.pages .price-note_item {
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		border-right: var(--border4) solid var(--black-color);
	}
	.pages .price-note_item dt {
		width: 100%;
		padding: 1em 2em;
		font-weight: 900;
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		background-color: var(--rain-color);
		border-top: var(--border4) solid var(--black-color);
		border-left: var(--border4) solid var(--black-color);
	}
	.pages .price-note_item dd {
		width: 100%;
		padding: 1em 2em;
		display: flex;
		justify-content: center;
		background-color: var(--white-color);
		border-top: var(--border4) solid var(--black-color);
		border-left: var(--border4) solid var(--black-color);
	}
}


/* =============================
	works
=============================== */
@media screen and (max-width: 991px) {
	.pages .works-post {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		justify-content: center;
		row-gap: min(4vw,3em);
	}
	.pages .works-post:before {
		content: none;
	}
	.pages .works-post:after {
		content: none;
	}
	.pages .works-post_item {
		width: calc(100% / 1);
		display: flex;
		flex-direction: column;
		gap: .8em;
	}
}

/* =============================
	quotation + contact
=============================== */
@media screen and (max-width: 767px) {
	.pages .mail .mail-inner {
		 margin: 0 auto;
		 border-left: none;
		 border-right: none;
	}
}



/* single */
/* =============================
	page-header
=============================== */
@media screen and (max-width: 991px) {
	.single .page-header {
		padding-block: calc(80px + min(4vw,2em)) 0;
	}
	.single .page-header_title {
		width: 100%;
		height: auto;
		min-height: 160px;
	}
}

/* =============================
	news
=============================== */
@media screen and (max-width: 767px) {
	.single .news .news-inner {
	    margin: 0 auto;
	    padding: min(5vw, 5em) 0 min(8vw, 6em);
	    background-image: url(../images/bg/dot100.svg);
	    background-repeat: repeat-y;
	    background-position: bottom;
	    background-color: var(--light-color);
	    border-top: var(--border8) solid var(--black-color);
		border-bottom: var(--border8) solid var(--black-color);
		border-left: none;
		border-right: none;
	    position: relative;
	    display: flex;
	    flex-direction: column;
	    gap: min(5vw, 4em);
	}
}


/* =============================
	works
=============================== */
@media screen and (max-width: 991px) {
	.single .works-meta_item {
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		border-right: var(--border4) solid var(--black-color);
	}
	.single .works-meta_item dt {
		width: 100%;
		padding: 1em 2em;
		font-weight: 900;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background-color: var(--light-color);
		border-top: var(--border4) solid var(--black-color);
		border-left: var(--border4) solid var(--black-color);
	}
	.single .works-meta_item dd {
		width: 100%;
		padding: 1em 2em;
		display: flex;
		justify-content: center;
		background-color: var(--white-color);
		border-top: var(--border4) solid var(--black-color);
		border-left: var(--border4) solid var(--black-color);
	}
}

@media screen and (max-width: 767px) {
	.single .works .works-inner {
		margin: 0 auto;
		padding: min(5vw,5em) 0 min(8vw,6em);
		background-image: url(../images/bg/dot100.svg);
		background-repeat: repeat-y;
		background-position: bottom;
		background-color: var(--light-color);
		border-top: var(--border8) solid var(--black-color);
		border-bottom: var(--border8) solid var(--black-color);
		border-left: none;
		border-right: none;
		position: relative;
		display: flex;
		flex-direction: column;
		gap: min(5vw,4em);
	}
}

/* =============================
	legal
=============================== */
@media screen and (max-width: 991px) {
	.pages .legal .legal-item {
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		border-top: none;
		border-right: var(--border4) solid var(--black-color);
	}
	.pages .legal .legal-item dt {
		width: 100%;
		padding: 1em 2em;
		font-weight: 900;
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		background-color: var(--light-color);
		border-top: var(--border4) solid var(--black-color);
		border-left: var(--border4) solid var(--black-color);
	}
	.pages .legal .legal-item dd {
		width: 100%;
		padding: 1em 2em;
		background-color: var(--white-color);
		border-top: var(--border4) solid var(--black-color);
		border-left: var(--border4) solid var(--black-color);
	}
}

































/* -------------------------------------------------
	File name : single.css
---------------------------------------------------- */

/* =============================
	animation
=============================== */

@keyframes gradient{
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.eden {
    position: relative;
    opacity: 0;
    transition: all 1s ease;
    transform: translateY(30px);
}
.isAnimate {
    opacity: 1;
    transform: translateY(0px);
}


.fuwa {
  -webkit-animation-name:fuwa;
  -webkit-animation-duration:2s;
  -webkit-animation-iteration-count:infinite;
  -webkit-animation-timing-function:ease;
}
@-webkit-keyframes fuwa {
  0% {-webkit-transform:translate(0, 0);}
  50% {-webkit-transform:translate(0, -10px);}
  100% {-webkit-transform:translate(0, 0);}
}
@-moz-keyframes fuwa {
  0% {-moz-transform:translate(0, 0);}
  50% {-moz-transform:translate(0, -10px);}
  100% {-moz-transform:translate(0, 0);}
}

@-webkit-keyframes marquee {
  from { -webkit-transform: translate(0%); }
  to { -webkit-transform: translate(-100%); }
}
@keyframes marquee {
  from { transform: translate(0%); }
  to { transform: translate(-100%); }
}





















