@charset "utf-8";




/* font ************************************************************************************************************************************************************************************************************************************************************************************************** */
@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 400;
  src: url("../_fonts/NotoSerifJP-Regular.woff2") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 700;
  src: url("../_fonts/NotoSerifJP-Bold.woff2") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../_fonts/NotoSansJP-Regular.woff2") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("../_fonts/NotoSansJP-Bold.woff2") format("woff");
  font-display: swap;
}




/* base ************************************************************************************************************************************************************************************************************************************************************************************************** */
:root {
	--colorText: #000;
	--colorBase: #000;
	--fontNotoSans: "Noto Sans JP", sans-serif;
	--fontNotoSerif: "Noto Serif JP", serif;
}
*,::before,::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
	font-size: 10px;
}
body {
	font-family: var(--fontNotoSerif);
	font-size: 1.6em;
	line-height: 1;
	text-align: justify;
	color: var(--colorText);
}
main {
}
h1,h2,h3,h4,h5,h6,strong,th {
	font-size: 1em;
	font-weight: 400;
}
a {
	color: inherit;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}
img,video {
	max-width: 100%;
	vertical-align: bottom;
}
ul,ol {
	list-style: none;
}
address {
	font-style: normal;
}
br.mb {
	display: none;
}
.awesome::before,
.awesome::after {
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
	font-weight: 900;
}
/* max 1384px **************************************************************************************************************************** */
@media (max-width: 1384px) {
	html {
		font-size: calc(10vw / 13.68);
	}
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	html {
		font-size: calc(10vw / 4.8);
	}
	br.mb {
		display: inline;
	}
	br.pc {
		display: none;
	}
}




/* .gHeader ************************************************************************************************************************************************************************************************************************************************************************************************** */
.gHeader {
	background: var(--colorBase);
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
.gHeader div {
	display: flex;
	justify-content: space-between;
	padding: 1em 2.75em .75em;
	width: 100%;
	max-width: 1368px;
	margin: 0 auto;
}
.gHeader div .title {
	width: 22.5%;
}
.gHeader div .title a {
	display: block;
}
.gHeader div nav {
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	gap: 1.25em;
	margin-bottom: .625em;
}
.gHeader div nav>ul {
	display: flex;
}
.gHeader div nav>ul>li {
}
.gHeader div nav>ul.text {
	gap: 1.25em;
}
.gHeader div nav>ul.text>li>a,
.gHeader div nav>ul.text>li>span {
	color: #fff;
	font-weight: 700;
}
.gHeader div nav>ul.text>li>ul {
	display: none;
}
.gHeader div nav>ul.text>li>ul>li {
}
.gHeader div nav>ul.text>li>ul>li>a {
}
.gHeader div nav>ul.btn {
	gap: .75em;
	margin-top: 0;
}
.gHeader div nav>ul.btn>li>a {
	background: #fff;
	color: var(--colorText);
	display: flex;
	align-items: center;
	gap: .5em;
	height: 2em;
	padding: 0 .75em 0 .5em;
	border-radius: .75em;
}
.gHeader div nav>ul.btn>li>a::before {
	content: '';
	display: block;
	height: 1.25em;
}
.gHeader div nav>ul.btn>li:nth-child(1)>a::before {
	background: url(../_img/ic_mail.svg);
	aspect-ratio: 29/21;
}
.gHeader div nav>ul.btn>li:nth-child(2)>a::before {
	background: url(../_img/ic_ln.svg);
	aspect-ratio: 1/1;
}
/* min-aspect-ratio 16/9 **************************************************************************************************************************** */
@media (min-aspect-ratio: 16/9) {
	.gHeader div .title {
		width: auto;
		height: 2em;
		aspect-ratio: 288/71;
	}
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.gHeader div {
		padding: 1.875% 5% 3.125%;
	}
	.gHeader div nav {
		display: none;
	}
	.gHeader div .title {
		width: 50%;
	}
}




/* .fv ************************************************************************************************************************************************************************************************************************************************************************************************** */
.fv {
	display: flex;
	flex-flow: column;
}
.front .fv {
	background: url(../_img/fv.webp) no-repeat center/cover;
	width: 100%;
	justify-content: flex-end;
}
.fv .fvInner {
	background: url(../_img/page_title_bg.webp) no-repeat center/cover;
	color: #fff;
	width: 100%;
	aspect-ratio: 57/10;
	display: flex;
	flex-flow: column-reverse;
	justify-content: center;
	align-items: center;
	gap: 1em;
}
.fv .fvInner .pageTitle {
	font-size: 1.25em;
	font-weight: 700;
}
.fv .fvInner p {
	font-size: 2.625em;
	font-weight: 700;
}
.fv .fvImage {
	flex-grow: 1;
	width: 100%;
	display: flex;
	align-items: flex-end;
	aspect-ratio: 8/3;
}
.about .fv .fvImage {
	background: url(../_img/fv_about.webp) no-repeat center/cover;
}
.shade .fv .fvImage {
	background: url(../_img/fv_shade.webp) no-repeat center/cover;
}
.spcase .fv .fvImage {
	background: url(../_img/fv_spcase.webp) no-repeat center/cover;
	position: relative;
}
.front .fv p,
.fv .fvImage>p {
	color: #fff;
	font-size: 3.375em;
	font-weight: 700;
	letter-spacing: .05em;
	background: linear-gradient(0deg,#000c 40%,transparent);
	padding: 2em 1.5em .75em;
	width: 100%;
}
.spcase .fv .fvImage>p {
	font-size: 3.125em;
	line-height: 1.375;
	letter-spacing: 0;
	background: #000c;
	padding: .375em .75em .5em 1.5em;
	width: auto;
	position: absolute;
	left: 0;
	bottom: 1em;
}
/* min-aspect-ratio 16/9 **************************************************************************************************************************** */
@media (min-aspect-ratio: 16/9) {
	.fv .fvInner {
		flex-flow: row-reverse;
		align-items: center;
		aspect-ratio: 12/1;
		gap: 2em;
	}
}
/* max-aspect-ratio 3/2 **************************************************************************************************************************** */
@media (max-aspect-ratio: 3/2) {
	.front .fv,
	.fv .fvImage {
		aspect-ratio: 1368/750;
	}
}
/* max-aspect-ratio 1/1 **************************************************************************************************************************** */
@media (max-aspect-ratio: 1/1) {
	.spcase .fv .fvImage {
		background: url(../_img/fv_spcase.webp) no-repeat 70% center/cover;
	}
	.fv .fvInner {
		font-size: .625em;
		aspect-ratio: 5/1;
	}
	.front .fv {
		background: none;
		position: relative;
		overflow: hidden;
	}
	.front .fv::before {
		content: '';
		display: block;
		background: url(../_img/fv.webp) no-repeat center/cover;
		width: auto;
		height: 100%;
		aspect-ratio: 29/12;
		position: absolute;
		top: 0;
		z-index: -1;
		translate: -50% 0;
		animation: fvBg 8s linear infinite both;
	}
	@keyframes fvBg {
		0% {
			left: 180%;
			opacity: 0;
		}
		25% {
			opacity: 1;
		}
		75% {
			opacity: 1;
		}
		100% {
			left: -80%;
			opacity: 0;
		}
	}
	.fv .fvImage {
		aspect-ratio: 5/4;
	}
	.front .fv p,
	.fv .fvImage>p {
		padding: 2em 0 .75em;
		text-align: center;
		line-height: 1.375;
	}
	.fv .fvImage>p {
		font-size: 2.25em;
	}
	.spcase .fv .fvImage>p {
		font-size: 2.25em;
		text-align: justify;
		padding: .375em .5em .5em 1em;
	}
}




/* main / common ************************************************************************************************************************************************************************************************************************************************************************************************** */
main {
	background: url(../_img/bg.svg) no-repeat center top/100% auto, url(../_img/bg.svg) no-repeat center bottom/100% auto;
}
.cmnWdt {
	width: 77.5%;
	max-width: 1060px;
	margin: 0 auto;
}
.btn {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1.5em;
	margin-top: 4em;
}
.btn li {
}
.btn li a,
.btn li input {
	display: block;
	background: var(--colorBase);
	color: #fff;
	font-size: 1.125em;
	padding: 1em 2em;
	border: none;
	cursor: pointer;
	transition: .5s;
}
.btn li a:hover,
.btn li input:hover {
	translate: 0 -.25em;
	box-shadow: 0 .125em .375em #0006;
}
/* max 900px **************************************************************************************************************************** */
@media (max-width: 900px) {
	main {
		background: url(../_img/bg.svg) no-repeat center top/200% auto, url(../_img/bg.svg) no-repeat center bottom/200% auto;
	}
	.cmnWdt {
		width: 90% !important;
	}
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.btn {
		flex-flow: column;
	}
}




/* .read ************************************************************************************************************************************************************************************************************************************************************************************************** */
.read {
	text-align: center;
	padding: 8.75% 0 20%;
}
.contact .read {
	padding: 8.75% 0 10%;
}
.read h2 {
	font-size: 2.5em;
	font-weight: 700;
	line-height: 1.375;
	margin-bottom: 1.25em;
}
.read div {
}
.read div p {
	font-family: var(--fontNotoSans);
	font-size: 1.125em;
	line-height: 1.875;
}
.read div p:nth-child(n+2) {
	margin-top: 1.25em;
}
.shade .read div {
	width: 55%;
	margin: 0 auto;
	text-align: justify;
}
.read div p {
	font-family: var(--fontNotoSerif);
	font-size: 1.5em;
}
.spcase .read img {
	margin-top: 10%;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.read {
		padding: 8.75% 5% 30%;
	}
	.read h2 {
		font-size: 1.75em;
	}
	.read div {
		text-align: justify;
	}
	.shade .read div {
		width: 100%;
	}
	.read div p {
		font-size: 1em;
		line-height: 1.875;
	}
	.contact .read div p {
		text-align: center;
	}
	.spcase .read img {
		width: 100% !important;
	}
}




/* .front ************************************************************************************************************************************************************************************************************************************************************************************************** */
main section {
	padding-bottom: 20%;
}
main section>h2 {
	font-size: 2.25em;
	font-weight: 700;
	text-align: center;
	margin-bottom: 2em;
}
.front main section hgroup {
	padding: 0 0 1.5em;
	border-bottom: 2px solid var(--colorBase);
}
.front main section hgroup div {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.front main section hgroup h2 {
	font-size: 1.75em;
	font-weight: 700;
	line-height: 1.25;
}
.front main section hgroup p {
	font-size: 5.5em;
	font-weight: 700;
}
.front main section hgroup p span {
	font-size: .575em;
	margin-left: .5em;
}
.front main section.fShade hgroup {
	flex-flow: row-reverse;
}
.front main section.fShade hgroup h2 {
	text-align: right;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.front main section {
		padding-bottom: 30%;
	}
	main section>h2 {
		font-size: 2em;
	}
	.front main section>h2 {
		font-size: 2em;
		margin-bottom: 1em;
	}
	.front main section hgroup {
		width: 90%;
		margin: 0 auto;
		padding: 0 0 1em;
	}
	.front main section hgroup div.cmnWdt {
		width: 100%;
		flex-flow: column;
		gap: .5em;
	}
	.front main section hgroup h2 {
		font-size: 1.5em;
		align-self: flex-start;
	}
	.front main section hgroup p {
		font-size: 4em;
	}
	.front main section.fShade hgroup h2 {
		text-align: justify;
	}
}




/* .fEmotions ************************************************************************************************************************************************************************************************************************************************************************************************** */
.fEmotions ul {
	counter-reset: emoNum 0;
}
.fEmotions ul li {
	margin-top: 12.5%;
	display: flex;
	justify-content: space-between;
	gap: 3em;
	counter-increment: emoNum 1;
}
.fEmotions ul li:nth-child(even) {
	flex-flow: row-reverse;
}
.fEmotions ul li div {
	display: flex;
	flex-flow: column;
	justify-content: space-between;
}
.fEmotions ul li div::before {
	content: counter(emoNum,decimal-leading-zero) '/';
	font-size: 5.375em;
	font-weight: 700;
	margin-bottom: auto;
}
.fEmotions ul li div h3 {
	font-size: 1.875em;
	font-weight: 700;
	line-height: 1.375;
	margin-bottom: 1em;
}
.fEmotions ul li div p {
	font-size: 1.25em;
	line-height: 1.375;
}
.fEmotions ul li img {
	width: 52.5%;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.fEmotions ul li,
	.fEmotions ul li:nth-child(even) {
		flex-flow: wrap;
	}
	.fEmotions ul li {
		gap: 1.5em;
	}
	.fEmotions ul li div {
		flex-flow: row wrap;
		justify-content: flex-start;
	}
	.fEmotions ul li div::before {
		font-size: 2.75em;
	}
	.fEmotions ul li div h3 {
		margin-bottom: .5em;
	}
	.fEmotions ul li div p {
		font-size: 1em;
		line-height: 1.75;
	}
	.fEmotions ul li img {
		width: 100%;
	}
}




/* .fShade ************************************************************************************************************************************************************************************************************************************************************************************************** */
.fShade hgroup {
	margin-bottom: 3.75%;
}
.fShade>div {
	background: url(../_img/front_shade.webp) no-repeat center/cover;
	aspect-ratio: 1060/810;
	display: flex;
	align-items: flex-end;
}
.fShade>div p {
	color: #fff;
	font-size: 1.375em;
	line-height: 1.875;
	letter-spacing: .05em;
	background: linear-gradient(0deg,#000c 40%,transparent);
	padding: 3em 3em 2em;
	width: 100%;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.front main section.fShade hgroup {
		margin-bottom: 3.75%;
	}
	.fShade>div {
		aspect-ratio: 3/4;
	}
	.fShade>div p {
		font-size: 1em;
		line-height: 1.75;
		letter-spacing: 0;
		padding: 3em 1em 1em;
	}
}




/* .fArt ************************************************************************************************************************************************************************************************************************************************************************************************** */
.fArt hgroup {
	margin-bottom: 3.75%;
}
.fArt>div p {
	font-size: 1.375em;
	line-height: 1.875;
	letter-spacing: .05em;
	padding: 2em 2em 0;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.front main section.fArt hgroup {
		margin-bottom: 3.75%;
	}
	.fArt>div p {
		font-size: 1em;
		line-height: 1.75;
		letter-spacing: 0;
		padding: 2em 0 0;
	}
}




/* .fGallery ************************************************************************************************************************************************************************************************************************************************************************************************** */
.fGallery>div {
	width: 100%;
	max-width: 1368px;
	margin: 3.75% auto 0;
	display: flex;
	justify-content: space-between;
}
.fGallery>div>div {
	width: 12.75%;
	display: flex;
	flex-flow: column;
	justify-content: space-between;
}
.fGallery>div>div>img {
	width: 100%;
}
.fGallery>div>img {
	width: 42%;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.fGallery>div {
		width: 90%;
		flex-flow: column;
		gap: 1em;
	}
	.fGallery>div>div {
		width: 100%;
		flex-flow: row;
		justify-content: space-between;
	}
	.fGallery>div>div img {
		width: 30.5%;
	}
	.fGallery>div>img {
		width: 100%;
	}
	.fGallery>div>img:nth-of-type(2) {
		order: -1;
	}
}




/* .fVoice ************************************************************************************************************************************************************************************************************************************************************************************************** */
.fVoice .voiceList {
	width: 100%;
	max-width: 1368px;
	margin: 0 auto;
	display: flex;
	justify-content: space-evenly;
}
.fVoice .voiceList li {
	width: 30%;
	display: flex;
	flex-flow: column;
	align-items: center;
}
.fVoice .voiceList li h3 {
	font-size: 1.625em;
	font-weight: 700;
	display: flex;
	justify-content: center;
	gap: 1em;
	margin: 1em auto .5em;
}
.fVoice .voiceList li figure {
	order: -1;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.fVoice .voiceList li figure img:nth-child(1) {
	width: 37.5%;
}
.fVoice .voiceList li figure img:nth-child(2) {
	width: 61.25%;
	border: .625em solid var(--colorBase);
}
.fVoice .voiceList li p {
	font-size: 1.375em;
	line-height: 1.5;
	text-align: center;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.fVoice .voiceList {
		width: 90%;
		margin: 0 auto;
		flex-flow: column;
		gap: 1.5em;
	}
	.fVoice .voiceList li {
		width: 100%;
		display: grid;
		grid-template-columns: 2fr 3fr;
		gap: 0 1em;
		align-content: start;
		align-items: start;
	}
	.fVoice .voiceList li h3 {
		font-size: 1.25em;
		justify-content: flex-start;
		gap: .75em;
		margin: 0 0 .5em;
	}
	.fVoice .voiceList li figure {
		order: -1;
		grid-row: 1/4;
	}
	.fVoice .voiceList li p {
		font-size: 1em;
		line-height: 1.75;
		text-align: justify;
	}
}




/* .fAbout ************************************************************************************************************************************************************************************************************************************************************************************************** */
.front main section.fAbout {
	padding-bottom: 12.5%;
}
.fAbout>div {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	align-content: space-between;
	gap: 5%;
	position: relative;
	z-index: 1;
}
.about .fAbout>div::before {
	content: '';
	display: block;
	background: var(--colorBase);
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
	top: 37.25%;
	z-index: -1;
}
.fAbout>div .name {
	display: flex;
	flex-flow: column;
	justify-content: space-evenly;
	padding: 0 7.5% 5%;
}
.fAbout>div .text {
	padding: 0 7.5%;
}
.fAbout>div .name h2 {
	font-size: 2.25em;
	font-weight: 700;
}
.about .fAbout>div .name h2 {
	font-size: 2.5em;
	line-height: 1.5;
	letter-spacing: .05em;
}
.fAbout>div .name h3 {
	font-weight: 700;
}
.fAbout>div .name h3 span:nth-child(1) {
	font-size: 2.125em;
}
.fAbout>div .name h3 span:nth-child(2) {
	font-size: 1.5em;
	opacity: .4;
	margin-left: .5em;
}
.fAbout>div figure {
	order: -1;
	grid-row: 1/3;
}
.about .fAbout>div .text {
	align-self: end;
	padding-bottom: 1em;
}
.fAbout>div .text h3 {
	font-size: 2em;
	font-weight: 700;
	margin-bottom: 1em;
}
.fAbout>div .text p {
	font-size: 1.125em;
	line-height: 1.75;
}
.about .fAbout>div .text p {
	font-family: var(--fontNotoSans);
	font-size: 1.375em;
}
.fAbout>div .text .btn {
	margin-top: 2em;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.front main section.fAbout {
		padding-bottom: 30%;
	}
	.fAbout>div {
		display: flex;
		flex-flow: column;
		gap: 1.5em;
	}
	.fAbout>div .name,
	.fAbout>div .text {
		padding: 0;
	}
	.fAbout>div .name h2 {
		font-size: 2em;
		text-align: center;
		margin-bottom: .75em;
	}
	.about .fAbout>div .name h2 {
		font-size: 2em;
	}
	.fAbout>div .name h3 {
		text-align: center;
	}
	.fAbout>div .name h3 span:nth-child(1) {
		font-size: 1.5em;
	}
	.fAbout>div .name h3 span:nth-child(2) {
		font-size: 1.25em;
	}
	.fAbout>div figure {
		order: 0;
	}
	.fAbout>div .text p {
		font-size: 1em;
	}
	.about .fAbout>div .text p {
		font-size: 1em;
	}
}




/* .fFlow ************************************************************************************************************************************************************************************************************************************************************************************************** */
div:has(>.fFlow) {
	filter: drop-shadow(0 1em 1em #0006);
}
.front main section.fFlow {
	padding: 10% 0 12.5%;
}
.fFlow {
	background: #fff;
	clip-path: polygon(0 0,100% 0,100% 100%,0 85%);
}
.fFlow figure ol {
	display: flex;
	justify-content: space-between;
	counter-reset: flowNum 0;
}
.fFlow figure ol li {
	border: 1px solid #808080;
	width: 13%;
	aspect-ratio: 1/1;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	counter-increment: flowNum 1;
}
.fFlow figure ol li::before {
	content: counter(flowNum,decimal-leading-zero);
	background: var(--colorBase);
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.75em;
	font-weight: 700;
	width: 2em;
	aspect-ratio: 1/1;
	position: absolute;
	top: -1em;
	left: calc(50% - 1em);
}
.fFlow figure ol li:nth-child(n+2)::after {
	content: '';
	display: block;
	border-left: 1.75em solid #bfbfbf;
	border-top: 1em solid transparent;
	border-bottom: 1em solid transparent;
	position: absolute;
	top: calc(50% - 1em);
	left: -2.25em;
}
.fFlow figure ol li span {
	font-size: 1.25em;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	margin-top: .5em;
}
.fFlow figure figcaption {
	border: 1px solid #808080;
	border-top: none;
	margin-left: auto;
	width: 47.8%;
	font-size: 1.25em;
	padding-bottom: .5em;
	margin-top: .75em;
	text-align: center;
}
.fFlow p {
	font-size: 1.25em;
	margin-top: 1em;
	text-align: center;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.front main section.fFlow {
		padding: 10% 0 25%;
	}
	.fFlow {
		clip-path: polygon(0 0,100% 0,100% 100%,0 90%);
	}
	.front main section.fFlow h2 {
		margin-bottom: 1em;
	}
	.fFlow figure {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		gap: .75em;
	}
	.fFlow figure ol {
		flex-grow: 1;
		flex-flow: column;
		gap: 1.5em;
	}
	.fFlow figure ol li {
		width: 100%;
		aspect-ratio: auto;
		justify-content: flex-start;
		gap: .75em;
		position: relative;
	}
	.fFlow figure ol li::before {
		font-size: 1.25em;
		position: static;
	}
	.fFlow figure ol li:nth-child(n+2)::after {
			border-top: 1em solid #bfbfbf;
			border-left: .75em solid transparent;
			border-right: .75em solid transparent;
			border-bottom: none;
			position: absolute;
			top: auto;
			bottom: calc(100% + .25em);
			left: 50%;
	}
	.fFlow figure ol li span {
		font-size: 1.25em;
		text-align: justify;
		margin-top: 0;
	}
	.fFlow figure figcaption {
		writing-mode: vertical-rl;
		border-top: 1px solid #808080;
		border-left: none;
		margin-left: 0;
		width: auto;
		font-size: 1em;
		padding: 0 .5em;
		margin-top: 0;
		height: calc(10.5em + 6px);
	}
	.fFlow figure figcaption span {
		text-combine-upright: all;
		text-align: center;
	}
	.fFlow p {
		font-size: 1em;
		text-align: right;
		width: 90%;
		margin: 1em auto 0;
	}
}




/* .fSns ************************************************************************************************************************************************************************************************************************************************************************************************** */
.front main section.fSns {
	padding: 10% 0 12.5%;
}
.fSns div {
	background: #121212;
	color: #fff;
	border-radius: 2.5em;
	padding: 3.75% 7.5%;
}
.fSns div h2 {
	font-size: 2.25em;
	font-weight: 700;
	text-align: center;
	margin-bottom: 1em;
}
.fSns div ul {
	display: flex;
	justify-content: space-between;
}
.fSns div ul li {
	width: 26.5%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 1em;
}
.fSns div ul li::before {
	content: '';
	display: block;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 60%;
	width: 7em;
	aspect-ratio: 1/1;
	border-radius: 50%;
}
.fSns div ul li.yt::before {
	background-image: url(../_img/ic_yt.svg);
}
.fSns div ul li.ig::before {
	background-image: url(../_img/ic_ig.svg);
}
.fSns div ul li.tk::before {
	background-image: url(../_img/ic_tk.svg);
}
.fSns div ul li h3 {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: .5em;
}
.fSns div ul li h3 img {
	width: 50%;
}
.fSns div ul li h3 span {
	font-size: 1.75em;
	font-weight: 700;
}
.fSns div ul li a,
.fSns div ul li>span {
	display: block;
	width: 100%;
	font-size: 1.125em;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	padding: .5em 0;
}
.fSns div ul li a {
	background: #fff;
	color: var(--colorText);
}
.fSns div ul li>span {
	border: 1px solid #fff;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.front main section.fSns {
		padding: 20% 0 30%;
	}
	.fSns div {
		border-radius: 2.5em;
		padding: 7.5% 5%;
	}
	.fSns div h2 {
		font-size: 2em;
	}
	.fSns div ul {
		flex-flow: column;
		gap: 1.5em;
	}
	.fSns div ul li {
		width: 100%;
		flex-flow: row;
		gap: .5em;
	}
	.fSns div ul li h3 {
		gap: .25em;
	}
	.fSns div ul li h3 img {
		width: 75%;
	}
}




/* .fNews ************************************************************************************************************************************************************************************************************************************************************************************************** */
.front main section.fNews {
	padding-bottom: 12.5%;
}
.fNews .newsList {
	display: flex;
	justify-content: space-between;
}
.fNews .newsList>li {
	width: 24%;
	padding: 1em 0;
}
.fNews .newsList>li:nth-child(n+2) {
	width: 31%;
	padding-left: 7%;
	margin-left: 7%;
	border-left: 1px solid #4d4d4d;
}
.fNews .newsList>li a {
	display: flex;
	flex-flow: column;
	gap: 2em;
}
.fNews .newsList>li a h3 {
	font-size: 1.125em;
	font-weight: 700;
	line-height: 1.375;
}
.fNews .newsList>li a:hover h3 {
	text-decoration: underline;
}
.fNews .newsList>li a ul {
	order: -1;
	display: flex;
	align-items: center;
	gap: 1em;
}
.fNews .newsList>li a ul li {
}
.fNews .newsList>li a ul li time {
	font-family: var(--fontNotoSans);
	font-weight: 700;
}
.fNews .newsList>li a ul li.ctgr {
	font-size: .875em;
	border: 1px solid var(--colorBase);
	padding: .25em 1em;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.front main section.fNews {
		padding-bottom: 30%;
	}
	.fNews .newsList {
			display: flex;
			justify-content: space-between;
		flex-flow: column;
	}
	.fNews .newsList>li {
		width: 100%;
		padding: 2em 0 !important;
	}
	.fNews .newsList>li:nth-child(n+2) {
		width: 100%;
		padding-left: 0;
		margin-left: 0;
		border-left: none;
		border-top: 1px solid #4d4d4d;
	}
	.fNews .newsList>li a {
		gap: 1em;
	}
}




/* .contactSec ************************************************************************************************************************************************************************************************************************************************************************************************** */
.front main section.contactSec,
.contactSec {
	padding: 10% 0 0;
	background: #fff;
}
.contactSec hgroup {
	margin-bottom: 3em;
}
.contactSec hgroup h2 {
	font-size: 3.125em;
	font-weight: 700;
	text-align: center;
	margin-bottom: .5em;
}
.contactSec hgroup p {
	font-weight: 700;
	text-align: center;
}
.contactSec div {
	display: flex;
	flex-flow: row-reverse;
	justify-content: space-between;
	align-items: center;
}
.contactSec div ul {
	width: 50%;
}
.contactSec div ul li {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.contactSec div ul li.line {
}
.contactSec div ul li.mail {
	border-top: .25em dotted #999;
	margin-top: 1.5em;
	padding-top: 1.5em;
}
.contactSec div ul li::before {
	content: '';
	display: block;
	width: 7.5em;
}
.contactSec div ul li.line::before {
	background: url(../_img/icon_line.svg) no-repeat center/contain;
	aspect-ratio: 1/1;
}
.contactSec div ul li.mail::before {
	background: url(../_img/ic_mail.svg) no-repeat center/contain;
	aspect-ratio: 29/21;
}
.contactSec div ul li a {
	width: calc(100% - 9em);
	display: flex;
	flex-flow: column;
	gap: .5em;
}
.contactSec div ul li a h3 {
	font-size: 1.375em;
	font-weight: 700;
}
.contactSec div ul li a:hover h3 {
	text-decoration: underline;
}
.contactSec div ul li a h4 {
	order: -1;
	font-size: 1.375em;
	font-weight: 700;
	text-decoration: underline;
}
.contactSec div ul li a p {
	font-size: .8125em;
	line-height: 1.5;
}
.contactSec div img {
	width: 45%;
}
.contactSec>p {
	margin-top: 1.5em;
	text-align: center;
	line-height: 1.75;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.front main section.contactSec>h2 {
		font-size: 1.625em;
		margin-bottom: 1em;
	}
	body:not(.front) main section.contactSec>h2 {
		line-height: 1.375;
	}
	.contactSec hgroup p {
		font-weight: 400;
		line-height: 1.75;
		width: 90%;
		margin: 0 auto;
	}
	.contactSec div {
		flex-flow: column;
	}
	.contactSec div ul {
		width: 100%;
	}
	.contactSec div ul li.line {
		padding-top: 1.5em;
	}
	.contactSec div ul li a h3 {
		font-size: 1.0625em;
	}
	.contactSec div ul li a h4::before {
		content: 'Tap';
	}
	.contactSec div ul li a h4 span {
		display: none;
	}
	.contactSec div img {
		width: 100%;
		order: -1;
	}
	.contactSec>p {
		text-align: justify;
	}
}




/* .fLaw ************************************************************************************************************************************************************************************************************************************************************************************************** */
.front main section.fLaw {
	padding: 10% 0 0;
	background: #fff;
}
.fLaw h2 {
	font-size: 1.75em;
	margin-bottom: 1em;
}
.fLaw table {
	border-collapse: collapse;
	line-height: 1.5;
	font-size: .875em;
}
.fLaw table tr {
}
.fLaw table tr>* {
	padding: .75em 1em;
}
.fLaw table tr th {
	white-space: nowrap;
}
.fLaw table tr th::after {
	content: ':';
	margin: 0 .5em;
}
.fLaw table tr td {
}
.fLaw table tr:nth-child(odd) th,
.fLaw table tr:nth-child(even) td {
	background: #f0f0f0;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
}




/* body>.pageTop ************************************************************************************************************************************************************************************************************************************************************************************************** */
body>.pageTop {
	width: 100%;
	max-width: 1368px;
	margin: 0 auto;
	aspect-ratio: 5/1;
	display: flex;
	justify-content: center;
	align-items: center;
}
body>.pageTop a {
	display: flex;
	flex-flow: column;
	align-items: center;
}
body>.pageTop a::before {
	content: '';
	display: block;
	width: 1.125em;
	aspect-ratio: 1/1;
	border-top: .4375em solid #969696;
	border-right: .4375em solid #969696;
	rotate: -45deg;
}
body>.pageTop a span {
	font-size: 1.625em;
	font-weight: 700;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	body>.pageTop {
		aspect-ratio: auto;
		padding: 15% 0;
	}
}




/* footer ************************************************************************************************************************************************************************************************************************************************************************************************** */
footer {
	background: #121212;
	color: #fff;
	display: flex;
	flex-flow: column;
	align-items: center;
	padding: 3.75% 0 2.5%;
}
footer h2 {
	order: 1;
	width: 90%;
	margin-top: 3.75%;
}
footer>div {
	font-family: var(--fontNotoSans);
}
footer>div nav {
}
#Nav,#Nav+label {
	display: none;
}
footer>div nav .footNav {
	display: flex;
	justify-content: space-between;
}
footer>div nav .footNav div {
	display: none;
}
footer>div nav .footNav dl {
}
footer>div nav .footNav dl dt {
	color: #b3b3b3;
	font-weight: 700;
	margin-bottom: 1.5em;
}
footer>div nav .footNav dl dd {
	font-size: .875em;
}
footer>div nav .footNav dl:not(.sns) dd:nth-of-type(n+2) {
	margin-top: 1em;
}
footer>div nav .footNav dl.sns {
	width: calc(14.25em * .875);
	display: flex;
	flex-flow: wrap;
}
footer>div nav .footNav dl.sns dt {
	width: 100%;
}
footer>div nav .footNav dl.sns dd {
}
footer>div nav .footNav dl.sns dd:nth-of-type(n+2) {
	margin-left: .75em;
}
footer>div nav .footNav dl.sns dd a {
}
footer>div nav .footNav dl.sns dd a::before {
	content: '';
	display: block;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 60%;
	width: 3em;
	aspect-ratio: 1/1;
	border-radius: 50%;
}
footer>div nav .footNav dl.sns dd.ln a::before {
	background-image: url(../_img/ic_ln.svg);
}
footer>div nav .footNav dl.sns dd.yt a::before {
	background-image: url(../_img/ic_yt.svg);
}
footer>div nav .footNav dl.sns dd.ig a::before {
	background-image: url(../_img/ic_ig.svg);
}
footer>div nav .footNav dl.sns dd.tk a::before {
	background-image: url(../_img/ic_tk.svg);
}
footer>div nav .footNav dl.sns dd a span {
	display: none;
}
footer>div nav .pageTop {
	position: fixed;
	bottom: 2.5em;
	right: -6em;
	z-index: 9999;
	transition: .5s;
}
footer>div nav .pageTop.in {
	right: 2.5em;
}
footer>div nav .pageTop a {
	display: block;
	background: url(../_img/pagetop.svg) no-repeat center/100%;
	width: 6em;
	aspect-ratio: 1/1;
}
footer>div nav .pageTop a span {
	display: none;
}
footer>div small {
	display: block;
	border-top: 1px solid #fff8;
	text-align: center;
	font-size: .75em;
	padding-top: 2em;
	margin-top: 10%;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	footer>div {
		font-family: var(--fontNotoSerif);
	}
	footer>div nav {
	}
	#Nav+label {
		display: flex;
		align-items: center;
		position: fixed;
		top: 1.5em;
		right: 5%;
		z-index: 10000;
		width: 2.5em;
		aspect-ratio: 3/2;
	}
	#Nav+label span,
	#Nav+label span::before,
	#Nav+label span::after {
		display: block;
		width: 100%;
		height: 2px;
		background: #fff;
	}
	#Nav+label span {
		transition: .75s linear;
	}
	#Nav+label span::before,
	#Nav+label span::after {
		content: '';
		position: absolute;
		rotate: 0deg;
		transition: rotate .5s, inset .25s .5s;
	}
	#Nav+label span::before {
		inset: 0 auto auto auto;
	}
	#Nav+label span::after {
		inset: auto auto 0 auto;
	}
	#Nav:checked+label span {
		background: transparent;
	}
	#Nav:checked+label span::before,
	#Nav:checked+label span::after {
		transition: inset .25s, rotate .5s .25s;
	}
	#Nav:checked+label span::before {
		inset: calc(50% - 1px) auto auto auto;
		rotate: 315deg;
	}
	#Nav:checked+label span::after {
		inset: auto auto calc(50% - 1px) auto;
		rotate: -315deg;
	}
	footer>div nav .footNav {
		background: #000c;
		backdrop-filter: blur(.25em);
		flex-flow: column;
		align-items: center;
		text-align: center;
		width: 100%;
		position: fixed;
		top: 0;
		right: -100%;
		z-index: 9998;
		transition: .5s;
	}
	#Nav:checked~.footNav {
		right: 0;
	}
	footer>div nav .footNav div {
		display: block;
		font-size: 1.125em;
		width: 90%;
	}
	footer>div nav .footNav dl {
		width: 90%;
	}
	footer>div nav .footNav dl.sns {
		justify-content: space-between;
		font-size: 1.25em;
		padding: 2em 0;
	}
	footer>div nav .footNav dl dt {
		display: none;
	}
	footer>div nav .footNav dl:not(.sns) dd {
		font-size: 1.125em;
		border-top: 1px dotted #fff;
	}
	footer>div nav .footNav dl.sns dd:nth-of-type(n+2) {
		margin-left: 0;
	}
	footer>div nav .footNav a {
		display: block;
		padding: 1.25em 0;
	}
	footer>div nav .footNav dl.sns dd a {
		padding: 0;
	}
	footer>div nav .footNav dl dd,
	footer>div nav .footNav dl:not(.sns) dd:nth-of-type(n+2) {
		margin-top: 0;
	}
	footer>div nav .pageTop {
		bottom: 1em;
		right: -4em;
	}
	footer>div nav .pageTop.in {
		right: 1em;
	}
	footer>div nav .pageTop a {
		width: 4em;
	}
	footer>div small {
		border-top: none;
		font-size: 1rem;
		padding-top: 0;
		margin-top: 0;
	}
}




/* .whySec ************************************************************************************************************************************************************************************************************************************************************************************************** */
.whySec p {
	font-family: var(--fontNotoSans);
	font-size: 1.5em;
	line-height: 2.125;
	text-align: center;
}
.whySec p:nth-of-type(n+2) {
	margin-top: 2.125em;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.whySec p {
		font-size: 1em;
		text-align: justify;
	}
}




/* .commitSec ************************************************************************************************************************************************************************************************************************************************************************************************** */
.commitSec>div {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.commitSec>div>div {
	background: #fff;
	border-radius: 1em;
	box-shadow: -1em 1em 1em #0004;
	width: 45%;
	margin-right: -5%;
	padding: 5%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 3em;
	position: relative;
	z-index: 1;
}
.commitSec>div>div h2 {
	font-size: 2.5em;
	font-weight: 700;
}
.commitSec>div>div ul {
	list-style: disc;
	font-family: var(--fontNotoSans);
	padding-left: 1.25em;
}
.commitSec>div>div ul li {
	font-size: 1.5em;
	line-height: 1.5;
}
.commitSec>div>div ul li:nth-child(n+2) {
	margin-top: 1em;
}
.commitSec>div img {
	width: 60%;
	margin-bottom: 2em;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.commitSec>div {
		flex-flow: column-reverse;
	}
	.commitSec>div>div {
		align-self: flex-start;
		width: 80%;
		margin-right: 0;
		margin-top: -5%;
		gap: 1.5em;
		box-shadow: -.5em .5em 1em #0004;
	}
	.commitSec>div>div h2 {
		font-size: 2em;
	}
	.commitSec>div>div ul li {
		font-size: 1em;
	}
	.commitSec>div img {
		width: 80%;
		margin-bottom: 0;
	}
}




/* .wishDiv ************************************************************************************************************************************************************************************************************************************************************************************************** */
.wishDiv {
	background: url(../_img/image_wish.webp) no-repeat center/cover;
	width: 100%;
	aspect-ratio: 12/11;
}
.wishDiv p {
	color: #fff;
	font-size: 1.75em;
	font-weight: 700;
	line-height: 1.75;
	letter-spacing: .05em;
	text-align: center;
	background: linear-gradient(180deg,#0008 50%,transparent);
	padding: 2.5em 0 7.5em;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.wishDiv {
		aspect-ratio: 1/1;
	}
	.wishDiv p {
		font-size: 1em;
		font-weight: 400;
		text-align: justify;
		padding: 1.5em 5% 7.5em;
	}
}




/* .gallery ************************************************************************************************************************************************************************************************************************************************************************************************** */
.gallery .read {
	padding-bottom: 10%;
}
.wpDiv {
	padding-bottom: 20%;
}
.wpDiv>ul {
	display: flex;
	flex-flow: wrap;
	gap: 5em 8%;
}
.wpDiv .wp3col li {
	width: 28%;
}
.wpDiv .wp2col {
	padding-top: 7.5%;
}
.wpDiv .wp2col>li {
	width: 45%;
}
.wpDiv .wp3col li>figure {
}
.wpDiv .wp3col li>figure a {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 2em;
}
.wpDiv .wp3col li>figure a img {
	width: 100%;
	aspect-ratio: 77/100;
	object-fit: cover;
	border-radius: .75em;
	box-shadow: .25em .25em .5em #0003, -.25em -.25em .5em #fff;
}
.wpDiv .wp3col li>figure a figcaption {
	font-size: 1.125em;
	font-weight: 700;
}
.wpDiv .wp3col li>a,
.wpDiv .wp2col>li {
	display: flex;
	flex-flow: column;
	background: #e6e6e6;
	overflow: hidden;
	border-radius: .75em;
	box-shadow: .25em .25em .5em #0003, -.25em -.25em .5em #fff;
	padding-bottom: 2.5em;
}
.wpDiv .wp3col li>a div {
	width: 86.25%;
	background: #fff;
	display: flex;
	flex-flow: column;
	gap: 1em;
	padding: 2em 1em;
	margin-top: -1em;
	font-family: var(--fontNotoSans);
}
.wpDiv .wp3col li>a div h3 {
	font-size: .75em;
	line-height: 1.5;
}
.wpDiv .wp3col li>a div h3 span {
	display: block;
}
.wpDiv .wp3col li>a div p {
	order: -1;
	font-size: .875em;
	line-height: 1.75;
}
.wpDiv .wp3col li>a img {
	order: -1;
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
}
.wpDiv .wp2col>li div {
	width: 100%;
	position: relative;
}
.wpDiv .wp2col>li div h2 {
	position: absolute;
	inset: 0 0 0 0;
}
.wpDiv .wp2col>li div h2 a {
	color: #fff;
	font-family: var(--fontNotoSans);
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.75;
	display: flex;
	align-items: flex-end;
	background: #0009;
	padding: 1.5em;
	position: absolute;
	inset: 0 0 0 0;
}
.wpDiv .wp2col>li div img {
	width: 100%;
	aspect-ratio: 47/25;
	object-fit: cover;
}
.wpDiv .wp2col>li ul {
	padding: 2em;
	display: flex;
	align-items: center;
	gap: 1.5em;
	font-family: var(--fontNotoSans);
	font-weight: 700;
}
.wpDiv .wp2col>li ul li {
}
.wpDiv .wp2col>li ul li time {
}
.wpDiv .wp2col>li ul li.ctgr {
	background: #323232;
	color: #fff;
	padding: .25em 1em .375em;
	border-radius: 9999px;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.wpDiv .wp3col {
		gap: 5em 5%;
	}
	.wpDiv .wp3col li {
		width: 47.5%;
	}
	.wpDiv .wp3col li>figure a figcaption {
		font-size: 1em;
	}
	.wpDiv .wp2col {
		padding-top: 15%;
	}
	.wpDiv .wp2col>li {
		width: 100%;
		padding-bottom: 0;
	}
}




/* .eternitySec ************************************************************************************************************************************************************************************************************************************************************************************************** */
.eternitySec {
}
.eternitySec>div {
	width: 70%;
	margin: 0 auto;
	background: url(../_img/eternity_bg.webp) no-repeat center/cover;
	color: #fff;
	padding: 4.5em 0 3em;
}
.eternitySec>div h2 {
	font-size: 2.375em;
	font-weight: 700;
	text-align: center;
}
.eternitySec>div ul {
	margin-top: 4em;
}
.eternitySec>div ul li {
	display: flex;
	align-items: center;
}
.eternitySec>div ul li:nth-child(odd) {
	flex-flow: row-reverse;
}
.eternitySec>div ul li:nth-child(3) {
	margin-top: -2.5em;
}
.eternitySec>div ul li div {
	width: 57.5%;
	padding: 0 7.5%;
}
.eternitySec>div ul li:nth-child(3) div {
	margin-top: 7.5em;
}
.eternitySec>div ul li div h3 {
	font-size: 2.25em;
	font-weight: 700;
	padding: 0 .625em 1em;
}
.eternitySec>div ul li div p {
	font-size: 1.125em;
	line-height: 1.5;
	letter-spacing: .075em;
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
	padding: 2em 1.25em 1em;
}
.eternitySec>div ul li img {
	box-shadow: .5em .5em 1em #0006;
}
.eternitySec>div ul li:nth-child(1) img {
	width: 57.5%;
	margin-left: -15%;
}
.eternitySec>div ul li:nth-child(2) img {
	width: 52.5%;
	margin-right: -10%;
}
.eternitySec>div ul li:nth-child(3) img {
	width: 40%;
	margin-left: -7.5%;
	margin-right: 10%;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.eternitySec>div {
		width: 90%;
	}
	.eternitySec>div h2 {
		font-size: 2em;
		line-height: 1.375;
		width: 85%;
		margin: 0 auto;
	}
	.eternitySec>div ul {
		display: flex;
		flex-flow: column;
		gap: 4em;
	}
	.eternitySec>div ul li {
		width: 90%;
		margin: 0 auto;
		flex-flow: column-reverse !important;
	}
	.eternitySec>div ul li:nth-child(3) {
		margin-top: 0;
	}
	.eternitySec>div ul li div {
		width: 100%;
		padding: 0;
	}
	.eternitySec>div ul li:nth-child(3) div {
		margin-top: 0;
	}
	.eternitySec>div ul li div h3 {
		font-size: 2em;
		text-align: center;
		padding: 0 0 .5em;
	}
	.eternitySec>div ul li div p {
		font-size: 1em;
		line-height: 1.75;
		letter-spacing: 0;
		padding: .5em 1.25em;
	}
	.eternitySec>div ul li img {
		width: 75% !important;
		margin: 0 auto 2em !important;
	}
}




/* .orderSec ************************************************************************************************************************************************************************************************************************************************************************************************** */
.orderSec {
}
.orderSec h2 {
	width: 60%;
	margin: 0 auto 2em;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1em;
	position: relative;
}
.orderSec h2::before,
.orderSec h2::after {
	content: '';
	display: block;
	flex-grow: 1;
	height: 1px;
	background: var(--colorBase);
}
.orderSec h2 span::before,
.orderSec h2 span::after {
	content: '';
	display: block;
	width: .375em;
	aspect-ratio: 1/1;
	background: #fff;
	border: 1px solid var(--colorBase);
	rotate: 45deg;
	position: absolute;
	top: calc(50% - .1875em);
}
.orderSec h2 span::before {
	left: 0;
}
.orderSec h2 span::after {
	right: 0;
}
.orderSec ol {
	width: 57.5%;
	margin: 0 auto;
	display: flex;
	flex-flow: column;
	gap: 4em;
	position: relative;
	z-index: 1;
	counter-reset: orderNum 0;
}
.orderSec ol::before,
.orderSec ol::after {
	content: '';
	display: block;
	background: var(--colorText);
	position: absolute;
}
.orderSec ol::before {
	width: 3px;
	left: calc(50% - 1.5px);
	top: 0;
	bottom: 10em;
	z-index: -1;
}
.orderSec ol::after {
	width: 109%;
	height: 1px;
	left: -4.5%;
	bottom: -4em;
}
.orderSec ol li {
	width: 100%;
	display: flex;
	flex-flow: row-reverse;
	align-items: flex-start;
	counter-increment: orderNum 1;
}
.orderSec ol li::before {
	content: counter(orderNum,decimal-leading-zero);
	color: #fff;
	font-family: var(--fontNotoSans);
	font-size: 2.5em;
	background: var(--colorText);
	width: 2em;
	aspect-ratio: 1/1;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.orderSec ol li:first-child::after,
.orderSec ol li:last-child::after {
	content: '';
	display: block;
	width: calc(.375em * 2.25);
	aspect-ratio: 1/1;
	background: #fff;
	border: 1px solid var(--colorBase);
	rotate: 45deg;
	position: absolute;
	bottom: -4.375em;
	z-index: 1;
}
.orderSec ol li:first-child::after {
	left: -4.5%;
}
.orderSec ol li:last-child::after {
	right: -4.5%;
}
.orderSec ol li div {
	order: -1;
	width: calc(50% - 2.5em);
}
.orderSec ol li div h3 {
	font-size: 1.5em;
	font-weight: 700;
	border-bottom: 3px dotted var(--colorText);
	padding: .25em 0 .375em .75em;
	margin-bottom: .5em;
}
.orderSec ol li div p {
	font-size: .875em;
	line-height: 1.75;
	padding-left: 1.25em;
}
.orderSec ol li img {
	width: calc(50% - 4em);
	margin-right: 1.5em;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.orderSec {
		padding-bottom: 30%;
	}
	.orderSec h2 {
		width: 90%;
		gap: .5em;
	}
	.orderSec ol {
		align-items: flex-end;
		gap: 2em;
	}
	.orderSec ol::before {
		left: 1.25em;
		bottom: 20em;
	}
	.orderSec ol::after {
		width: 100%;
		left: 0;
	}
	.orderSec ol li {
		width: 87.5%;
		flex-flow: column;
	}
	.orderSec ol li::before {
		font-size: 2em;
		translate: -2em 0;
	}
	.orderSec ol li:first-child::after {
		left: 0;
	}
	.orderSec ol li:last-child::after {
		right: 0;
	}
	.orderSec ol li div {
		order: 0;
		width: 100%;
	}
	.orderSec ol li div h3 {
		margin-top: -2.5em;
	}
	.orderSec ol li img {
		width: 100%;
		margin-right: 0;
		margin-top: 1em;
	}
}




/* .sizeSec ************************************************************************************************************************************************************************************************************************************************************************************************** */
.sizeSec {
	background: url(../_img/image_size.webp) no-repeat center bottom/cover;
	padding: 7.5% 0 10%;
}
.sizeSec .sizeList {
	width: 100%;
	max-width: 1368px;
	display: flex;
	flex-flow: column;
	align-items: flex-end;
	gap: 2em;
	position: relative;
}
.sizeSec .sizeList::before,
.sizeSec .sizeList::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 27.5%;
	filter: drop-shadow(.375em .125em .25em #0004);
	transform-origin: center bottom;
	transition: .5s;
}
.sizeSec .sizeList::before {
	background: url(../_img/size_a4.webp) no-repeat center/cover;
	width: 14em;
	aspect-ratio: 364/504;
	left: 5%;
}
.sizeSec .sizeList::after {
	background: url(../_img/size_a3.webp) no-repeat center/cover;
	width: 20em;
	aspect-ratio: 518/717;
	left: 25%;
}
.sizeSec .sizeList:has(>li:nth-child(1):hover)::before,
.sizeSec .sizeList:has(>li:nth-child(2):hover)::after {
	scale: 1.075;
}
.sizeSec .sizeList>li {
	width: 40%;
	background: #fffb;
	padding: 2em 2.5em 2em 7em;
	position: relative;
	transition: .5s;
}
.sizeSec .sizeList>li:hover {
	background: #fff;
}
.sizeSec .sizeList>li h3 {
	background: var(--colorBase);
	width: 7.5em;
	aspect-ratio: 1/1;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	padding-bottom: 1em;
	position: absolute;
	left: -2em;
	top: calc(50% - 3.75em);
	transition: .5s;
}
.sizeSec .sizeList>li:hover h3 {
	top: calc(50% - 4em);
	box-shadow: .375em .125em .25em #0004;
}
.sizeSec .sizeList>li h3 span {
	color: #fff;
}
.sizeSec .sizeList>li h3 span:nth-child(1) {
	font-size: 3.5em;
}
.sizeSec .sizeList>li h3 span:nth-child(2) {
	font-size: 1.75em;
}
.sizeSec .sizeList>li .price {
	display: flex;
	align-items: center;
	gap: 1em;
}
.sizeSec .sizeList>li .price li {
	display: flex;
}
.sizeSec .sizeList>li .price li span {
}
.sizeSec .sizeList>li .price li>span:nth-child(1) {
	font-size: 3.25em;
	font-weight: 700;
}
.sizeSec .sizeList>li .price li>span:nth-child(2) {
	display: flex;
	flex-flow: column;
	justify-content: center;
	gap: .375em;
}
.sizeSec .sizeList>li .price li>span:nth-child(2) span:nth-child(1) {
}
.sizeSec .sizeList>li .price li>span:nth-child(2) span:nth-child(2) {
	font-weight: 700;
}
.sizeSec .sizeList>li .price li:nth-child(2) {
	background: var(--colorBase);
	color: #fff;
	font-family: var(--fontNotoSans);
	font-weight: 700;
	padding: .5em;
	margin-top: .5em;
}
.sizeSec .sizeList>li table {
	width: 100%;
	background: #fff;
	margin-top: 1em;
	border-collapse: collapse;
}
.sizeSec .sizeList>li table caption {
	text-align: justify;
	margin-bottom: 1em;
}
.sizeSec .sizeList>li table caption ul {
}
.sizeSec .sizeList>li table caption ul li {
	font-size: .875em;
	text-indent: -1em;
	margin-left: 1em;
	margin-top: .25em;
	line-height: 1.5;
}
.sizeSec .sizeList>li table caption ul li::before {
	content: '※';
}
.sizeSec .sizeList>li table th,
.sizeSec .sizeList>li table td {
	border: 1px solid var(--colorBase);
	padding: .5em;
	text-align: center;
	font-family: var(--fontNotoSans);
}
.sizeSec .sizeList>li table th {
	font-size: .875em;
}
.sizeSec .sizeList>li table td {
	font-size: .8125em;
}
.sizeSec .sizeList>li table thead td {
	position: relative;
}
.sizeSec .sizeList>li table thead td::before {
	content: '';
	display: block;
	background: #0006;
	position: absolute;
	inset: 0 0 0 0;
	clip-path: polygon(0 0,1px 0,100% calc(100% - 1px),100% 100%,calc(100% - 1px) 100%,0 1px);
}
.sizeSec .sizeList>li p {
	font-size: .875em;
	margin-top: 1em;
}
.sizeSec .btn {
	margin-top: 10%;
}
.sizeSec .btn li a {
	display: block;
	background: #fff;
	color: var(--colorText);
	font-size: 2.25em;
	padding: 1em 2em;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.sizeSec {
		padding: 15% 0 10%;
		background: url(../_img/image_size.webp) no-repeat center bottom/auto 175%;
	}
	.sizeSec .sizeList {
		flex-flow: row wrap;
		justify-content: space-evenly;
		align-items: center;
		gap: 2em 0;
	}
	.sizeSec .sizeList::before,
	.sizeSec .sizeList::after {
		order: -1;
		opacity: .375;
		position: static;
	}
	.sizeSec .sizeList::before {
		width: 36.125%;
	}
	.sizeSec .sizeList::after {
		width: 50%;
	}
	.sizeSec .sizeList:has(>li:nth-child(1).in)::before,
	.sizeSec .sizeList:has(>li:nth-child(2).in)::after {
		opacity: 1;
	}
	.sizeSec .sizeList>li {
		width: 100%;
    padding: 1.5em 1em 1.5em 6em;
		background: #fff6;
	}
	.sizeSec .sizeList>li.in {
		background: #fff;
	}
	.sizeSec .sizeList>li:first-child {
		order: -2;
	}
	.sizeSec .sizeList>li h3 {
		font-size: .75em;
		left: -1em;
	}
	.sizeSec .sizeList>li .price {
		font-size: .8125em;
	}
	.sizeSec .sizeList>li table th {
		line-height: 1.25;
		padding: .375em .5em;
	}
	.sizeSec .btn li a {
		font-size: 1.5em;
	}
}




/* .campaignSec ************************************************************************************************************************************************************************************************************************************************************************************************** */
.campaignSec {
	background: url(../_img/campaign_bg.webp) no-repeat center/cover;
	padding: 10% 0 0;
}
.campaignSec.hide {
	display: none;
}
.campaignSec>hgroup {
	display: flex;
	flex-flow: column;
	align-items: center;
	text-align: center;
	gap: 1em;
	padding-bottom: 3em;
	position: relative;
}
.campaignSec>hgroup h2 {
	font-size: 3.25em;
	letter-spacing: .05em;
	padding: 0 .75em .25em;
	border-bottom: .125em solid var(--colorText);
}
.campaignSec>hgroup p:first-of-type {
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.75;
}
.campaignSec>hgroup p:last-of-type {
	background: var(--colorBase);
	color: #fff;
	width: 11.75em;
	aspect-ratio: 1/1;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	position: absolute;
	right: 5%;
	bottom: -2.25em;
}
.campaignSec>hgroup p:last-of-type strong {
}
.campaignSec>hgroup p:last-of-type strong span {
	font-weight: 700;
	display: inline-block;
}
.campaignSec>hgroup p:last-of-type strong span:nth-child(1) {
	font-size: 5.5em;
	font-weight: 400;
}
.campaignSec>hgroup p:last-of-type strong span:nth-child(2) {
	font-size: 1.5em;
}
.campaignSec>hgroup p:last-of-type strong span:nth-child(3) {
	font-size: 2em;
	margin-top: .125em;
}
.campaignSec .cooperate,
.campaignSec .campaignPrice {
	background: #fff;
	box-shadow: .5em	.5em	1em #0006;
	padding: 3em 7.5%;
}
.campaignSec .cooperate {
	margin-bottom: 3em;
}
.campaignSec .cooperate hgroup {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: .75em;
	margin-bottom: 2em;
}
.campaignSec .cooperate hgroup h3 {
	font-size: 1.375em;
	border: 1px solid var(--colorBase);
	padding: .25em 2em .375em;
}
.campaignSec .cooperate hgroup p {
	font-size: 1.375em;
}
.campaignSec .cooperate ul {
	display: flex;
	justify-content: space-between;
	position: relative;
}
.campaignSec .cooperate ul::before {
	content: '';
	display: block;
	width: 8%;
	aspect-ratio: 1/1;
	background: linear-gradient(0deg,transparent 48%,var(--colorText) 48%,var(--colorText) 52%,transparent 52%), linear-gradient(90deg,transparent 48%,var(--colorText) 48%,var(--colorText) 52%,transparent 52%);
	position: absolute;
	top: 42%;
	left: 46%;
}
.campaignSec .cooperate ul li {
	width: 45%;
	display: flex;
	flex-flow: column;
}
.campaignSec .cooperate ul li h4 {
	font-size: 1.5em;
	font-weight: 700;
	background: var(--colorBase);
	color: #fff;
	text-align: center;
	padding: .25em 0 .375em;
	margin-bottom: .75em;
}
.campaignSec .cooperate ul li img {
	order: -1;
}
.campaignSec .cooperate ul li p {
	font-size: 1.125em;
	line-height: 1.75;
	text-align: center;
}
.campaignSec .campaignPrice {
	display: flex;
	flex-flow: column;
	align-items: center;
	margin-bottom: 4em;
}
.campaignSec .campaignPrice h3 {
	font-size: 3.25em;
	letter-spacing: .05em;
	padding: 0 .5em .25em;
	border-bottom: 3px solid var(--colorText);
	margin-bottom: .75em;
}
.campaignSec .campaignPrice .sizeList {
	width: 100%;
	display: flex;
	flex-flow: column;
	gap: 2.5em;
}
.campaignSec .campaignPrice .sizeList>li {
	border: 1px solid var(--colorBase);
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 2em 7.5% 2em 0;
}
.campaignSec .campaignPrice .sizeList>li h4 {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: .25em;
	background: #fff;
	padding: .5em 0 1.25em;
	margin-left: -1.5em;
}
.campaignSec .campaignPrice .sizeList>li h4 span {
}
.campaignSec .campaignPrice .sizeList>li h4 span:nth-child(1) {
	font-size: 3.75em;
}
.campaignSec .campaignPrice .sizeList>li h4 span:nth-child(2) {
	font-size: 2.25em;
}
.campaignSec .campaignPrice .sizeList>li ol {
	display: flex;
	flex-flow: column;
	gap: .5em;
}
.campaignSec .campaignPrice .sizeList>li ol li {
}
.campaignSec .campaignPrice .sizeList>li ol li:nth-child(1) del {
	font-size: 2.25em;
	text-decoration: none;
	position: relative;
}
.campaignSec .campaignPrice .sizeList>li ol li:nth-child(1) del::after {
	content: '';
	display: block;
	width: 100%;
	height: .25em;
	border-top: 2px solid var(--colorText);
	border-bottom: 2px solid var(--colorText);
	position: absolute;
	left: 0;
	top: calc(50% - .0625em);
}
.campaignSec .campaignPrice .sizeList>li ol li:nth-child(1) span {
	font-size: 1.125em;
}
.campaignSec .campaignPrice .sizeList>li ol li:nth-child(2) {
	display: flex;
	align-items: flex-end;
	gap: .25em;
}
.campaignSec .campaignPrice .sizeList>li ol li:nth-child(2)>span {
}
.campaignSec .campaignPrice .sizeList>li ol li:nth-child(2) ins {
	font-size: 4.625em;
	color: #C1272D;
	text-decoration: none;
	position: relative;
	z-index: 1;
}
.campaignSec .campaignPrice .sizeList>li ol li:nth-child(2) ins::before {
	content: '';
	display: block;
	background: #ccc;
	width: 100%;
	height: .3125em;
	position: absolute;
	left: 0;
	bottom: -.0625em;
	z-index: -1;
}
.campaignSec .campaignPrice .sizeList>li ol li:nth-child(2) span {
	display: flex;
	flex-flow: column;
	gap: .25em;
	white-space: nowrap;
	margin-bottom: .125em;
}
.campaignSec .campaignPrice .sizeList>li ol li:nth-child(2) span span:nth-child(1) {
	font-size: 1.25em;
}
.campaignSec .campaignPrice .sizeList>li ol li:nth-child(2) span span:nth-child(2) {
	font-size: 1.5em;
}
.campaignSec .campaignPrice .sizeList>li dl {
	width: 42%;
	display: flex;
	flex-flow: column;
	gap: .125em;
}
.campaignSec .campaignPrice .sizeList>li dl dt {
	font-size: 1.375em;
	margin-bottom: .25em;
}
.campaignSec .campaignPrice .sizeList>li dl dt::before {
	content: '■';
}
.campaignSec .campaignPrice .sizeList>li dl dd {
	line-height: 1.5;
}
.campaignSec .campaignPrice .sizeList>li dl dd::before {
	content: '※';
}
.campaignSec .greatValue {
	background: #000c;
	display: flex;
	flex-flow: column;
	align-items: center;
	padding: 3em 0 3.5em;
}
.campaignSec .greatValue h3 {
	color: #fff;
	font-size: 2.75em;
	font-weight: 700;
	line-height: 1.375;
	text-align: center;
}
.campaignSec .greatValue .btn {
	margin-top: 2em;
}
.campaignSec .greatValue .btn li a {
	background: #fff;
	color: var(--colorText);
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.campaignSec>hgroup {
    padding-bottom: 6.5em;
	}
	.campaignSec>hgroup h2 {
    font-size: 2em;
	}
	.campaignSec>hgroup p:first-of-type {
    font-size: 1.125em;
	}
	.campaignSec>hgroup p:last-of-type {
		font-size: .625em;
		right: 50%;
		translate: 50% 0;
	}
	.campaignSec .cooperate hgroup p {
    font-size: 1em;
		line-height: 1.5;
	}
	.campaignSec .cooperate ul {
		flex-flow: column;
		gap: 4.5em;
	}
	.campaignSec .cooperate ul::before {
		width: 15%;
		top: 50%;
		left: 50%;
		translate: -50% -50%;
	}
	.campaignSec .cooperate ul li {
    width: 100%;
	}
	.campaignSec .cooperate ul li h4 {
    margin-bottom: .25em;
	}
	.campaignSec .cooperate ul li p {
    font-size: 1em;
    line-height: 1.5;
    text-align: justify;
	}
	.campaignSec .campaignPrice h3 {
    font-size: 2em;
	}
	.campaignSec .campaignPrice .sizeList {
    gap: 1.5em;
	}
	.campaignSec .campaignPrice .sizeList>li {
    padding: 0 7.5% 2em;
		flex-flow: column;
	}
	.campaignSec .campaignPrice .sizeList>li h4 {
    margin-left: 0;
		margin-top: -1.375em;
	}
	.campaignSec .campaignPrice .sizeList>li ol {
		align-items: center;
	}
	.campaignSec .campaignPrice .sizeList>li dl {
    width: 100%;
		margin-top: 1.5em;
	}
	.campaignSec .greatValue h3 {
    font-size: 2em;
	}
}




/* .togetherSec ************************************************************************************************************************************************************************************************************************************************************************************************** */
.togetherSec {
	padding: 10% 0;
}
.togetherSec>div {
	display: flex;
	flex-flow: row-reverse;
	justify-content: space-between;
	align-items: center;
}
.togetherSec>div div {
	width: 50%;
	display: flex;
	flex-flow: column;
	gap: 2.5em;
}
.togetherSec>div div h2 {
	font-size: 2.25em;
	font-weight: 700;
}
.togetherSec>div div h3 {
	font-size: 1.5em;
	line-height: 1.5;
}
.togetherSec>div div p {
	font-size: 1.25em;
	line-height: 1.5;
}
.togetherSec>div div .btn {
	margin: 0;
}
.togetherSec>div figure {
	width: 30%;
}
.togetherSec>div figure img {
	rotate: -10deg;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.togetherSec {
		padding: 15% 0 30%;
	}
	.togetherSec>div {
		flex-flow: column-reverse;
		gap: 1.5em;
	}
	.togetherSec>div div {
		width: 100%;
		gap: 1.5em;
	}
	.togetherSec>div div h2 {
		font-size: 2em;
		line-height: 1.375;
		text-align: center;
	}
	.togetherSec>div div h3 {
		text-align: center;
	}
	.togetherSec>div div p {
		font-size: 1em;
		line-height: 1.75;
		text-align: center;
	}
	.togetherSec>div div .btn {
		margin: 0;
	}
	.togetherSec>div figure {
		width: 70%;
		margin-left: -25%;
	}
	.togetherSec>div figure img {
		rotate: -10deg;
	}
}




/* .paymentSec ************************************************************************************************************************************************************************************************************************************************************************************************** */
.paymentSec {
	padding-bottom: 10%;
}
.paymentSec div {
	display: flex;
	flex-flow: wrap;
	justify-content: center;
	gap: 2.5em 4.5%;
}
.paymentSec div dl {
	border: 1px solid #999;
	background: #fff;
	display: flex;
	flex-flow: column;
}
.paymentSec div dl:nth-of-type(odd) {
	width: 36.75%;
}
.paymentSec div dl:nth-of-type(even) {
	width: 17.5%;
}
.paymentSec div dl dt {
	background: #999;
	color: #fff;
	font-family: var(--fontNotoSans);
	font-size: 1.25em;
	font-weight: 700;
	text-align: center;
	padding: .375em 0 .5em;
}
.paymentSec div dl dd {
	flex-grow: 1;
	height: 8em;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1em;
}
.paymentSec div dl:nth-of-type(4) dd img {
	height: 100%;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.paymentSec {
		padding-bottom: 30%;
	}
	.paymentSec div {
		flex-flow: column;
		align-items: center;
		gap: 2.5em;
	}
	.paymentSec div dl:nth-of-type(odd),
	.paymentSec div dl:nth-of-type(even) {
		width: 100%;
	}
	.paymentSec div dl dd {
		height: auto;
	}
	.paymentSec div dl:nth-of-type(2) dd img,
	.paymentSec div dl:nth-of-type(6) dd img {
		height: 2.5em;
	}
	.paymentSec div dl:nth-of-type(4) dd img {
		height: 5em;
	}
}




/* .faqSec ************************************************************************************************************************************************************************************************************************************************************************************************** */
.faqSec {
	padding-bottom: 10%;
}
.faqSec div {
	display: flex;
	flex-flow: column;
	gap: 3em;
}
.faqSec div dl {
	line-height: 1.5;
}
.faqSec div dl dt {
	background: #808080;
	color: #fff;
	font-weight: 700;
	padding: 1em 2em;
	display: flex;
	align-items: flex-start;
	gap: 1em;
	cursor: pointer;
}
.faqSec div dl dt::before {
	content: 'Q';
	font-size: 1.75em;
	line-height: 1;
	margin-top: -.25em;
}
.faqSec div dl dt::after {
	content: '';
	display: block;
	align-self: center;
	margin-left: auto;
	border-right: 1em solid #fff;
	border-top: .5em solid transparent;
	border-bottom: .5em solid transparent;
	transition: .5s;
}
.faqSec div dl dt:hover::after {
	rotate: -45deg;
}
.faqSec div dl dt.open::after {
	rotate: -90deg;
}
.faqSec div dl dd {
	background: #fff;
	padding: 1em 2em;
	display: flex;
	align-items: flex-start;
	gap: 1em;
	display: none;
}
.faqSec div dl dd::before {
	content: 'A';
	font-size: 1.75em;
	line-height: 1;
	margin-top: -.25em;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
}




/* .aboutOrderSec ************************************************************************************************************************************************************************************************************************************************************************************************** */
.aboutOrderSec {
}
.aboutOrderSec>ul {
	width: 90%;
	max-width: 700px;
	display: flex;
	flex-flow: column;
	gap: 1.5em;
	margin: 0 auto 10%;
}
.aboutOrderSec>ul li {
	width: 100%;
	background: var(--colorBase);
	color: #fff;
	padding: 1em 2.5em;
	font-size: 1.25em;
	line-height: 1.5;
	display: flex;
	justify-content: center;
}
.aboutOrderSec figure {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	gap: 3em 0;
	margin-bottom: 10%;
}
.aboutOrderSec figure img {
	width: 45%;
}
.aboutOrderSec figure figcaption {
	font-size: 1.125em;
	text-align: center;
	line-height: 1.75;
	margin: 0 auto;
}
.aboutOrderSec .model {
	font-family: var(--fontNotoSans);
}
.aboutOrderSec .model h3 {
	text-align: center;
	margin: 0 auto 4em;
}
.aboutOrderSec .model h3 span {
	font-size: 2em;
	background: var(--colorBase);
	color: #fff;
	display: inline-block;
	padding: .375em 3em .5em;
}
.aboutOrderSec .model dl {
	background: #fff;
	margin-bottom: 3em;
}
.aboutOrderSec .model dl dt {
	background: #E6E6E6;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 2em;
	font-weight: 700;
	padding: .75em 1em .875em;
	cursor: pointer;
}
.aboutOrderSec .model dl dt span {
}
.aboutOrderSec .model dl dt::after {
	content: '';
	display: block;
	border-left: .1875em solid var(--colorText);
	border-bottom: .1875em solid var(--colorText);
	width: .5em;
	aspect-ratio: 1/1;
	rotate: 45deg;
	transition: .5s;
}
.aboutOrderSec .model dl dt:hover::after {
	rotate: 0deg;
}
.aboutOrderSec .model dl dt.open::after {
	rotate: -45deg;
}
.aboutOrderSec .model dl dd {
	padding: 1.5em 2em;
	display: none;
}
.aboutOrderSec .model dl dd ul {
	display: flex;
	flex-flow: wrap;
	gap: .75em 5%;
}
.aboutOrderSec .model dl dd ul li {
	width: 30%;
	font-size: 1.25em;
}
.aboutOrderSec .other {
	max-width: 800px;
	display: flex;
	flex-flow: wrap;
	gap: 2em;
}
.aboutOrderSec .other dl {
	font-size: 1.25em;
	line-height: 1.25;
}
.aboutOrderSec .other dl dt {
}
.aboutOrderSec .other dl dt::before {
	content: '【';
}
.aboutOrderSec .other dl dt::after {
	content: '】';
}
.aboutOrderSec .other dl dd {
	display: list-item;
	margin-left: 1.25em;
	margin-top: .375em;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.aboutOrderSec>ul li {
		font-size: 1em;
	}
	.aboutOrderSec figure {
		margin-bottom: 20%;
	}
	.aboutOrderSec figure figcaption {
    font-size: 1em;
    text-align: justify;
	}
	.aboutOrderSec .model h3 span {
    font-size: 1.5em;
	}
	.aboutOrderSec .model dl dt {
    font-size: 1.25em;
	}
	.aboutOrderSec .model dl dd ul {
		gap: .75em 0;
		justify-content: space-between;
	}
	.aboutOrderSec .model dl dd ul li {
    width: 50%;
    font-size: 1em;
		white-space: nowrap;
	}
	.aboutOrderSec .other dl {
    font-size: 1em;
	}
}




/* .flowOrderSec ************************************************************************************************************************************************************************************************************************************************************************************************** */
.flowOrderSec {
	padding-bottom: 15%;
}
.flowOrderSec hgroup {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 1em;
	margin-bottom: 3em;
}
.flowOrderSec hgroup h2 {
	font-size: 2.5em;
	font-weight: 700;
}
.flowOrderSec hgroup p {
	order: -1;
	font-size: 1.75em;
}
.flowOrderSec>div {
	display: flex;
	justify-content: space-evenly;
}
.flowOrderSec>div>div {
	width: 35%;
	font-family: var(--fontNotoSans);
}
.flowOrderSec>div>div h3 {
	font-size: 1.5em;
	font-weight: 700;
	margin-bottom: 1em;
}
.flowOrderSec>div>div ol {
	display: flex;
	flex-flow: column;
	gap: 2.5em;
	position: relative;
	z-index: 1;
}
.flowOrderSec>div>div ol::before {
	content: '';
	display: block;
	background: var(--colorBase);
	width: 4px;
	position: absolute;
	inset: 0 auto 0 3em;
	z-index: -1;
}
.flowOrderSec>div>div ol li {
	font-size: 1.125em;
	line-height: 1.375;
	padding: 1em;
	border: 1px solid var(--colorBase);
	background: #fff;
}
.flowOrderSec>div>div ol li span {
	font-size: .875em;
}
.flowOrderSec>div>div ol li span::before {
	content: '※';
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.flowOrderSec hgroup {
		margin-bottom: 0;
}
	.flowOrderSec hgroup h2 {
		font-size: 2em;
	}
	.flowOrderSec hgroup p {
		font-size: 1.25em;
	}
	.flowOrderSec>div {
		flex-flow: column;
	}
	.flowOrderSec>div>div {
		width: 100%;
		margin-top: 15%;
	}
}




/* .lineSec ************************************************************************************************************************************************************************************************************************************************************************************************** */
.lineSec {
	display: flex;
	justify-content: space-between;
	padding-bottom: 15%;
}
.lineSec>div {
	width: 55%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 2em;
	padding: 3em 0 0;
}
.lineSec>div h2 {
	font-size: 2.875em;
	font-weight: 700;
	text-align: center;
}
.lineSec>div h2 span {
	color: #39B54A;
}
.lineSec>div p {
	font-size: 1.5em;
	line-height: 1.5;
	letter-spacing: .05em;
}
.lineSec>div .lineLink {
}
.lineSec>div .lineLink a {
	background: #4CC764;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: .125em 2em .25em;
	border-radius: 1.625em;
}
.lineSec>div .lineLink a::before {
	content: '';
	display: block;
	background: url(../_img/ic_ln.svg) no-repeat center/contain;
	width: 3em;
	aspect-ratio: 1/1;
}
.lineSec>div .lineLink a span {
	color: #fff;
	font-family: var(--fontNotoSans);
	font-size: 1.5em;
	margin: 0 1em;
}
.lineSec figure {
	width: 40%;
	position: relative;
}
.lineSec figure img {
	max-height: 100%;
	position: absolute;
}
.lineSec figure img.cntctSp {
	inset: 0 auto 0 0;
}
.lineSec figure img.cntctIc {
	width: 30%;
	inset: 25% auto auto 7.5%;
	animation: cntctIc 2s 1s linear infinite;
}
@keyframes cntctIc {
	40% {
		opacity: 1;
	}
	41% {
		opacity: .25;
	}
	100% {
		opacity: 1;
	}
}
.lineSec figure img.cntctHd {
	width: 65%;
	inset: auto 0 -10% auto;
	transform-origin: right bottom;
	animation: cntctHd 2s infinite;
}
@keyframes cntctHd {
	80% {
		rotate: 0deg;
	}
	90% {
		rotate: -10deg;
	}
	100% {
		rotate: 0deg;
	}
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.lineSec {
		padding-bottom: 30%;
		flex-flow: column;
		gap: 2.5em;
	}
	.lineSec>div,
	.lineSec figure {
		width: 100%;
	}
	.lineSec figure {
		width: 75%;
		aspect-ratio: 4/3;
		margin: 0 auto;
	}
	.lineSec>div h2 {
		font-size: 2em;
	}
	.lineSec>div p {
    font-size: 1em;
	}
	.lineSec figure img.cntctIc {
		width: 30%;
		inset: 25% auto auto 7.5%;
		animation: cntctIc 2s 1s linear infinite;
	}
	.lineSec figure img.cntctHd {
		width: 65%;
		inset: auto 0 -10% auto;
		transform-origin: right bottom;
		animation: cntctHd 2s infinite;
	}
}




/* .contactForm ************************************************************************************************************************************************************************************************************************************************************************************************** */
.contactForm {
}
.lower .contactForm {
	padding-top: 10%;
}
.contactForm hgroup {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 1em;
	margin-bottom: 4em;
}
.contactForm hgroup::before {
	content: '';
	display: block;
	background: url(../_img/ic_mail.svg) no-repeat center/contain;
	width: 6em;
	aspect-ratio: 29/21;
	margin-bottom: 1em;
}
.contactForm hgroup h2 {
	font-size: 1.5em;
	font-weight: 700;
}
.contactForm hgroup p {
	font-size: 1.25em;
}
.contactForm form {
	max-width: 900px;
}
.contactForm form dl {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.contactForm form dl dt {
	width: 20%;
	display: flex;
	align-items: center;
	padding: 1.75em 0;
}
.contactForm form dl dt:has(+dd>ul) {
	padding: .75em 0;
}
.contactForm form dl dt span,
.contactForm form dl dt label {
	font-weight: 700;
	letter-spacing: .05em;
}
.contactForm form dl dt em {
	display: inline-block;
	font-style: normal;
	font-size: .75em;
	background: #B2030B;
	color: #fff;
	padding: .25em .5em .375em;
	border-radius: .25em;
	margin-left: .75em;
}
.contactForm form dl dd {
	width: 77.5%;
	padding: .75em 0;
}
.lower .contactForm form dl dd {
	padding: 1.75em 0;
}
.lower .contactForm form dl dd:last-of-type {
	margin: 0 auto;
}
.contactForm form dl dd:has(input[type="radio"]) {
	width: 100%;
}
.contactForm form dl dd ul {
	display: flex;
	gap: 3em;
	margin-bottom: 1em;
}
.contactForm form dl dd ul li {
}
.contactForm form dl dd ul li label {
	cursor: pointer;
	position: relative;
}
.contactForm form dl dd ul li label span {
	margin-left: 1.5em;
}
.contactForm form label input[type="radio"] {
	display: none;
}
.contactForm form label:has([type="radio"])::before,
.contactForm form label:has([type="radio"])::after {
	content: "";
	display: block;
	border-radius: 50%;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
}
.contactForm form label:has([type="radio"])::before {
	background: #fff;
	border: 1px solid #999;
	width: 1.25em;
	aspect-ratio: 1 / 1;
	left: 0;
}
.contactForm form label:has([type="radio"])::after {
	background: var(--colorBase);
	opacity: 0;
	width: .75em;
	aspect-ratio: 1 / 1;
	left: .25em;
}
.contactForm form label:has(input:checked)::after {
	opacity: 1;
}
.contactForm form input[type="text"],
.contactForm form input[type="email"],
.contactForm form input[type="tel"],
.contactForm form textarea {
	-webkit-appearance: none;
	appearance: none;
	font: inherit;
	width: 100%;
	border: 1px solid #999;
	border-radius: .625em;
	background: #fff;
	padding: 1em;
	outline: none;
	transition: .5s;
}
.contactForm form input[type="text"]:focus,
.contactForm form input[type="email"]:focus,
.contactForm form input[type="tel"]:focus,
.contactForm form textarea:focus {
	background: #ffc;
}
.contactForm form input[type="tel"] {
	width: 9em;
}
.contactForm form input[type="tel"]+span {
	font-size: .75em;
	margin-left: 1em;
}
.contactForm form input[type="tel"]+span::before {
	content: '※';
}
.contactForm form textarea {
	resize: vertical;
	height: 15em;
}
.contactForm form ::placeholder {
	color: var(--colorText);
	opacity: .375;
}
.contactForm form input[type="submit"],
.contactForm form input[type="reset"] {
	-webkit-appearance: none;
	appearance: none;
	font: inherit;
}
.contactForm form input[type="submit"] {
	font-size: 1.5em;
}
.lower .contactForm>p {
	line-height: 1.75;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.contactForm hgroup p {
		font-size: 1em;
		line-height: 1.75;
		width: 77.5%;
		margin: 0 auto;
	}
	.contactForm form dl {
		flex-flow: column;
	}
	.contactForm form dl dt {
    width: 100%;
		padding: 1.75em 0 0;
	}
	.contactForm form dl dd {
    width: 100%;
	}
	.contactForm form dl dd ul {
		flex-flow: wrap;
	}
}




/* .voiceArtcl ************************************************************************************************************************************************************************************************************************************************************************************************** */
.voiceArtcl {
	padding-bottom: 15%;
}
.voiceArtcl header {
	display: flex;
	flex-flow: row-reverse;
	align-items: center;
	padding-top: 10%;
}
.voiceArtcl header div {
	width: 55%;
	display: flex;
	flex-flow: column-reverse;
	align-items: flex-end;
}
.voiceArtcl header div h1 {
	font-family: var(--fontNotoSans);
	text-align: right;
	padding: 0 3em;
	margin-top: 1.5em;
}
.voiceArtcl header div h1 span {
	display: block;
	font-size: 1.75em;
	margin-top: .75em;
}
.voiceArtcl header div h2 {
	background: var(--colorBase);
	width: 100%;
	padding: 2em 3em;
}
.voiceArtcl header div h2 span {
	color: #fff;
	font-size: 2.25em;
}
.voiceArtcl header img {
	width: 45%;
	aspect-ratio: 13/15;
}
.voiceArtcl>div {
	margin-top: 5em;
}
.voiceArtcl>div p {
	font-size: 1.5em;
	line-height: 1.75;
	background: #fff;
	padding: 2em 1.5em;
}
.voiceArtcl>div ul {
	display: flex;
	justify-content: space-between;
	margin-top: 5em;
}
.voiceArtcl>div ul li {
	width: 45%;
}
.voiceArtcl>div ul li img {
	width: 100%;
	aspect-ratio: 13/15;
	object-fit: cover;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.voiceArtcl {
		padding-bottom: 30%;
	}
	.voiceArtcl header {
		flex-flow: column-reverse;
		gap: 1.5em;
	}
	.voiceArtcl header div {
		width: 100%;
	}
	.voiceArtcl header div h1 span {
    font-size: 1.25em;
	}
	.voiceArtcl header div h2 {
    padding: 1em 1.5em;
	}
	.voiceArtcl header div h2 span {
    font-size: 1.5em;
		line-height: 1.375;
	}
	.voiceArtcl header img {
		width: 75%;
	}
	.voiceArtcl>div {
    margin-top: 2.5em;
	}
	.voiceArtcl>div p {
    font-size: 1em;
    padding: 2em 1.5em;
	}
	.voiceArtcl>div ul li {
		width: 47.5%;
	}
}




/* .newsWrap ************************************************************************************************************************************************************************************************************************************************************************************************** */
.newsWrap {
	padding: 7.5% 0 15%;
}
.newsArtcl {
	background: #fff;
	border: 1px solid #808080;
	padding: 5em 7.5%;
}
.newsArtcl header {
	display: flex;
	flex-flow: column;
	gap: 1.5em;
	border-bottom: 1px solid #999;
	padding-bottom: 3em;
}
.newsArtcl header h1 {
	font-size: 1.75em;
	font-weight: 700;
	line-height: 1.375;
}
.newsArtcl header ul {
	order: -1;
	display: flex;
	align-items: center;
	gap: 1em;
	font-family: var(--fontNotoSans);
	font-weight: 700;
}
.newsArtcl header ul li {
}
.newsArtcl header ul li time {
}
.newsArtcl header ul li.ctgr {
	font-size: .75em;
	border: 1px solid #999;
	padding: .25em 1em .375em;
}
.newsArtcl>div>* {
	margin-top: 3em;
	font-family: var(--fontNotoSans);
	font-size: 1.25em;
	line-height: 1.75;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.newsArtcl>div>* {
    font-size: 1em;
	}
}




/* .pagination ************************************************************************************************************************************************************************************************************************************************************************************************** */
.pagination {
	margin-top: 7.5em;
}
.pagination h2 {
	display: none;
}
.pagination .nav-links {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1.5em;
}
.pagination .nav-links:not(:has(.prev))::before,
.pagination .nav-links:not(:has(.next))::after {
	content: '';
	display: block;
	width: 3.125em;
	aspect-ratio: 1/1;
}
.pagination .nav-links .page-numbers {
	font-size: 1.25em;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2.5em;
	aspect-ratio: 1/1;
	border-radius: 50%;
}
.pagination .nav-links a.page-numbers {
	border: 1px solid #999;
	background: #fff;
}
.pagination .nav-links a.page-numbers.prev,
.pagination .nav-links a.page-numbers.next {
	border: none;
	background: none;
}
.pagination .nav-links a.page-numbers.prev::before,
.pagination .nav-links a.page-numbers.next::before {
	content: '';
	display: block;
	width: 1em;
	aspect-ratio: 1/1;
	border-left: 2px solid var(--colorText);
	border-bottom: 2px solid var(--colorText);
}
.pagination .nav-links a.page-numbers.prev {
	rotate: 45deg;
}
.pagination .nav-links a.page-numbers.next {
	rotate: -135deg;
}
.pagination .nav-links .page-numbers.current {
	border: 1px solid var(--colorText);
	background: var(--colorText);
	color: #fff;
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
	.pagination .nav-links .page-numbers {
		font-size: .875em;
	}
}




/* .div ************************************************************************************************************************************************************************************************************************************************************************************************** */
.div {
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
}




/* .div ************************************************************************************************************************************************************************************************************************************************************************************************** */
.div {
}
/* max 600px **************************************************************************************************************************** */
@media (max-width: 600px) {
}