@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;600;700&display=swap");

*,
*::before,
*::after {
	box-sizing: border-box
}

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;
	text-decoration: none
}

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none
}

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
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: normal
}

input,
select {
	vertical-align: middle
}

button {
	appearance: none;
	border: none;
	outline: none;
	padding: 0;
	background: none
}

ul,
ol {
	list-style: none
}

address {
	font-style: normal
}

input,
textarea,
select,
option {
	outline: none;
	appearance: none;
	border: none;
	border-radius: 0
}

textarea {
	resize: vertical
}

select::-ms-expand {
	display: none
}

:root {
	--base-font: "游ゴシック Medium", YuGothic, YuGothicM, メイリオ, Meiryo, sans-serif;
	--base-enfont: "EB Garamond", serif;
	--base-jpfont: "Noto Serif JP", serif;
	--c-font: #000;
	--c-black: #000;
	--c-accent: #ccad7a;
	--c-red: #cb0000;
	--c-link: #003399;
	--c-blue-dark: #2c3c5e;
	--c-blue-x-dark: #192d51;
	--c-white: #fff;
	--c-grey-dark: #999;
	--c-grey: #ccc;
	--c-grey-light: #eee;
	--c-nav-bg: #ddd;
	--c-nav-grey: #404040;
	--c-nav-red: #e61717;
	--c-nav-blue: #0066cc;
	--c-nav-yellow: #f0c518;
	--c-nav-green: #218900;
	--c-nav-orange: #ff9500;
	--c-nav-pink: #f38abd;
	--c-gp-blue: #003399;
	--c-gp-red: #cb0000;
	--c-post-red: #f6dfdf;
	--c-time-tunnel-blue: #2d6d9d;
	--header-h: 75px;
	--padding: 15px;
	--padding-tb: 50px;
	--padding-pc: 50px;
	--con-width1: 968px;
	--con-width2: 1140px;
	--z-index-header: 10;
	--z-index-overlay: 3;
	--z-index-modal-swiper: 4;
	--duration: .6s;
	--duration-mid: .4s;
	--duration-fast: .2s;
	--opacity: .5;
	--easeOutCirc: cubic-bezier(0, 0.55, 0.45, 1);
	--easeInOutQuad: cubic-bezier(0.45, 0, 0.55, 1);
	--easeInOutCubic: cubic-bezier(0.65, 0, 0.35, 1)
}

html {
	font-size: 62.5%
}

body {
	background: #000;
	color: var(--c-font);
	font-family: var(--base-font);
	font-feature-settings: "palt";
	font-size: 1.4rem;
	letter-spacing: 0.08em;
	overscroll-behavior: none;
	scroll-behavior: smooth
}

body.noscroll {
	width: 100%;
	position: fixed
}

img {
	height: auto;
	width: 100%;
	vertical-align: bottom
}

p,
dd,
address {
	line-height: 1.8
}

a {
	color: var(--c-font);
	transition: opacity var(--duration-fast) linear
}

a:hover {
	opacity: var(--opacity)
}

a.is-img {
	transition: filter var(--duration-fast) linear
}

a.is-img:hover {
	opacity: 1;
	filter: saturate(200%)
}

.anime_tate {
	opacity: 0;
	position: relative;
	bottom: -60px !important;
	transition: all 1s ease-out
}

.anime_tate.active {
	opacity: 1;
	bottom: 0px !important
}

.anime_tateR {
	opacity: 0;
	position: relative;
	top: -60px !important;
	transition: all 1s ease-out
}

.anime_tateR.active {
	opacity: 1;
	top: 0px !important
}

.anime_left {
	opacity: 0;
	position: relative;
	left: -60px !important;
	transition: all 1s ease-out
}

.anime_left.active {
	opacity: 1;
	left: 0px !important
}

.anime_right {
	opacity: 0;
	position: relative;
	right: -60px !important;
	transition: all 1s ease-out
}

.anime_right.active {
	opacity: 1;
	right: 0px !important
}

.anime_delay .active_tate {
	opacity: 0;
	position: relative;
	transform: translateY(60px);
	transition: all 1s ease-out
}

.anime_delay .active_tate.active {
	opacity: 1;
	transform: translateY(0px)
}

.anime_delay .activeBox {
	opacity: 0;
	position: relative;
	top: 50px;
	transition: all 0.5s ease-out
}

.anime_delay .activeBox.active {
	opacity: 1;
	top: 0
}

.wrapper {
	overflow: hidden
}

.wrapper.noF {
	overflow: visible
}

.wrapper__inner.page {
	padding-top: 200px
}

.wrapper__inner.post {
	padding-top: 30px
}

@media screen and (max-width:780px) {
	.wrapper__inner.page {
		padding-top: 90px;
		margin-bottom: 60px
	}
}

.header {
	position: fixed;
	z-index: var(--z-index-header);
	left: 0;
	width: 100%;
	box-sizing: border-box;
	background: rgba(0, 0, 0, 0)
}

@media screen and (max-width:780px) {
	.header {
		position: static;
		width: 100%;
		left: 0;
		padding: 0px;
		height: 70px;
		background: transparent
	}
}

.header.onS .header__Area--Logo {
	margin-top: 20px;
	margin-bottom: 20px
}

.header__Area {
	align-items: center;
	position: relative;
	width: 100%
}

.header__Area--Logo {
	transition: all 0.5s ease;
	margin-top: 60px;
	margin-bottom: 60px;
	text-align: center;
	text-align: center;
	z-index: 10
}

.header__Area--Logo img {
	max-width: 140px;
	width: 100%
}

.header__Area nav {
	text-align: center;
	top: 50px;
	width: 100%
}

.header__Area nav ul {
	display: flex;
	justify-content: space-between;
	margin-left: auto;
	margin-right: auto;
	max-width: 1160px;
	padding: 0 20px
}

.header__Area nav ul li {
	font-family: "futura-pt-bold", sans-serif;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0.3em;
	position: relative;
	font-size: 2rem;
	margin-left: 0px;
	padding-bottom: 30px
}

.header__Area nav ul li a {
	color: #fff
}

.header__Area nav ul li a.select {
	background: #fff;
	padding: 0 2px 0 5px;
	color: #000
}

.header__Area nav ul li.hasChild ul {
	background: rgba(0, 0, 0, 0.7);
	opacity: 0;
	visibility: hidden;
	padding: 20px 20px 0px 20px;
	text-align: left;
	display: block;
	position: absolute;
	top: calc(100% - 20px);
	left: -20px;
	white-space: nowrap
}

.header__Area nav ul li.hasChild ul li {
	font-size: 1.3rem;
	display: block;
	margin: 0 0 20px 0;
	padding-bottom: 0px
}

.header__Area nav ul li.hasChild.open ul {
	visibility: visible;
	opacity: 1
}

@media screen and (max-width:1080px) {
	.header__Area nav ul {
		max-width: 560px
	}
}

@media screen and (max-width:780px) {
	.header__Area {
		position: static
	}

	.header__Area--Logo {
		top: 0;
		left: 0;
		position: fixed;
		margin: 20px auto;
		width: 100%;
		mix-blend-mode: difference
	}

	.header__Area--Logo img {
		width: 100%;
		max-width: 100px
	}

	.header__Area nav {
		position: fixed;
		z-index: 3;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		visibility: hidden;
		opacity: 0;
		margin-top: 0;
		background: #fff;
		top: 0;
		width: 105vw;
		height: 100vh;
		overflow-y: scroll
	}

	.header__Area nav .navi {
		display: flex;
		justify-content: center
	}

	.header__Area nav ul {
		margin-top: 120px;
		display: block;
		margin-left: auto;
		margin-right: auto;
		padding: 50px;
		box-sizing: border-box
	}

	.header__Area nav ul li {
		text-align: left;
		line-height: 2.4em;
		font-size: 2.4rem;
		margin-bottom: 0;
		display: block;
		margin-left: 0px;
		padding-bottom: 20px
	}

	.header__Area nav ul li a {
		color: #141414
	}

	.header__Area nav ul li.lastList {
		padding-bottom: 70px
	}

	.header__Area nav ul li.hasChild {
		position: relative
	}

	.header__Area nav ul li.hasChild .parent {
		padding-right: 20px
	}

	.header__Area nav ul li.hasChild .parent.open {}

	.header__Area nav ul li.hasChild .parent.open+ul {
		visibility: visible;
		opacity: 1
	}

	.header__Area nav ul li.hasChild ul {
		padding-top: 10px;
		background: none;
		transition: all 0.3s ease;
		height: 0;
		margin-top: 0px;
		overflow: hidden;
		padding: 0px;
		left: 0;
		position: relative;
		white-space: normal
	}

	.header__Area nav ul li.hasChild ul li {
		margin-left: 1em;
		margin-right: 0px;
		margin-bottom: 0;
		display: block;
		font-size: 2rem
	}

	.header__Area nav.is-show {
		opacity: 1;
		visibility: visible
	}

	.header__Area .header-cart a {
		top: 26px;
		right: 80px
	}

	.header__Area .header-cart .cart-count {
		right: 75px;
		top: 24px
	}
}

.notel {
	pointer-events: none;
	text-decoration: none !important
}

.l-menu {
	display: none;
	align-items: center;
	justify-content: center;
	width: 55px;
	height: 100%;
	margin-left: auto;
	margin-right: calc(-1 * var(--padding));
	transition: opacity var(--duration-fast) linear;
	cursor: pointer
}

.l-menu:hover {
	opacity: var(--opacity)
}

@media screen and (max-width:780px) {
	.l-menu {
		mix-blend-mode: difference;
		display: block;
		position: fixed;
		z-index: 6;
		top: 30px;
		right: 10px;
		width: 50px;
		height: 55px;
		margin: 0;
		z-index: 11
	}
}

.l-menu__button {
	position: relative;
	width: 24px;
	height: 19px;
	margin: 0 auto;
	margin-top: 2px
}

@media screen and (min-width:1366px) {
	.l-menu__button {
		width: 50px;
		height: 27px;
		margin: 0
	}
}

.l-menu__button span {
	position: absolute;
	left: 0;
	display: block;
	width: 100%;
	height: 2px;
	background: var(--c-white)
}

.l-menu__button span:nth-child(1),
.l-menu__button span:nth-child(3) {
	transition: top var(--duration-fast) var(--easeOutCirc), bottom var(--duration-fast) var(--easeOutCirc), transform var(--duration-fast) var(--easeOutCirc)
}

.l-menu__button span:nth-child(1) {
	top: 4px
}

.l-menu__button span:nth-child(2) {
	display: none
}

.l-menu__button span:nth-child(3) {
	bottom: 4px
}

@media screen and (min-width:1366px) {
	.l-menu__button.is-show span {
		background: var(--c-black)
	}
}

.l-menu__button.is-show span:nth-child(1) {
	top: 8px;
	transform: rotate(45deg)
}

@media screen and (min-width:1366px) {
	.l-menu__button.is-show span:nth-child(1) {
		top: 12px
	}
}

.l-menu__button.is-show span:nth-child(2) {
	opacity: 0
}

.l-menu__button.is-show span:nth-child(3) {
	bottom: 8px;
	transform: translateY(-50%) rotate(-45deg)
}

@media screen and (min-width:1366px) {
	.l-menu__button.is-show span:nth-child(3) {
		bottom: 13px
	}
}

.l-menu-txt__menu,
.l-menu-txt__close {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	transition: opacity var(--duration-fast) linear
}

.l-menu-txt__menu {
	font-family: var(--base-enfont)
}

.l-menu-txt__menu.is-hide {
	opacity: 0;
	visibility: hidden
}

.l-menu-txt__close {
	opacity: 0;
	visibility: hidden
}

@media screen and (min-width:1366px) {
	.l-menu-txt__close {
		color: var(--c-font)
	}
}

.l-menu-txt__close.is-show {
	opacity: 1;
	visibility: visible
}

.pcD {
	display: block !important
}

.spD {
	display: none !important
}

@media screen and (max-width:780px) {
	.pcD {
		display: none !important
	}

	.spD {
		display: block !important
	}
}

.contents {
	max-width: var(--con-width1);
	margin: 0 auto
}

.contents.full {
	max-width: 100%
}

.contents.large {
	max-width: var(--con-width2)
}

.title__Big {
	max-width: var(--con-width1);
	margin-left: auto;
	margin-right: auto;
	font-size: 2.4rem;
	font-weight: 500
}

.title__Mid {
	font-size: 1.8rem;
	padding-bottom: 20px;
	border-bottom: 1px solid #C8C8C8;
	font-weight: 400
}

.title__Min {
	font-size: 1.6rem;
	padding-bottom: 20px;
	border-bottom: 1px solid #646464;
	font-weight: 500
}

@media screen and (max-width:780px) {
	.title__Big {
		font-size: 1.8rem
	}
}

.txt__Box {
	max-width: 550px;
	font-size: 1.6rem
}

.txt__Box .title {
	font-weight: 600;
	line-height: 1.8;
	margin-bottom: 2em
}

.txt__Box p {
	margin-bottom: 2em
}

@media screen and (max-width:780px) {
	.txt__Box .title {
		font-weight: 600;
		line-height: 1.6;
		margin-bottom: 1.5em
	}

	.txt__Box p {
		font-size: 1.4rem;
		margin-bottom: 2em
	}
}

.rightT {
	text-align: right
}

.linkBorder {
	display: inline-block;
	opacity: 1;
	transition: all 0.3s ease;
	position: relative
}

.linkBorder::after {
	margin-top: 5px;
	transition: all 0.3s ease;
	display: block;
	content: "";
	width: 100%;
	height: 1px;
	background: #000
}

.blank {
	padding-right: 16px;
	background: url(/assets/img/common/icon_blank.svg) no-repeat right;
	background-size: 8px
}

.footer {
	padding: 60px 0;
	color: #fff;
	text-align: center;
	font-family: "futura-pt", sans-serif;
	font-weight: 500;
	font-style: normal
}

.link1 a {
	font-size: 1.8rem;
	position: relative;
	padding-right: 20px
}

.link1 a::after {
	position: absolute;
	height: 15px;
	width: 15px;
	top: 50%;
	right: 0;
	transform: translateY(-50%) rotate(45deg);
	content: "";
	border-top: 1px solid #000000;
	border-right: 1px solid #000000
}

.link1.acvBtn {
	text-align: right
}

@media screen and (max-width:780px) {
	.link1 a {
		font-size: 1.4rem
	}
}

.link2 a {
	font-size: 1.6rem;
	position: relative;
	padding-left: 20px
}

.link2 a::after {
	position: absolute;
	height: 15px;
	width: 15px;
	top: 50%;
	left: 0;
	transform: translateY(-50%) rotate(-45deg);
	content: "";
	border-top: 1px solid #000000;
	border-left: 1px solid #000000
}

.link2.acvBtn {
	text-align: left
}

@media screen and (max-width:780px) {
	.link2 a {
		font-size: 1.4rem
	}
}

.btn1 {
	max-width: 360px;
	margin: 0 auto
}

.btn1 a {
	transition: all 0.5s ease;
	width: 100%;
	display: block;
	text-align: center;
	font-size: 1.8rem;
	color: #141414;
	border: 1px solid #141414;
	padding: 25px 0
}

.btn1 a:hover {
	opacity: 1;
	background: #141414;
	color: #fff
}

@media screen and (max-width:780px) {
	.btn1 a {
		font-size: 1.4rem;
		padding: 15px 0
	}
}

.btn2 {
	max-width: 360px
}

.btn2 a {
	transition: all 0.5s ease;
	width: 100%;
	display: block;
	text-align: center;
	font-size: 1.8rem;
	background: #000000;
	color: #fff;
	border: 1px solid #000000;
	padding: 15px 0
}

.btn2 a span {
	position: relative;
	padding-right: 20px
}

.btn2 a span::after {
	transition: all 0.5s ease;
	position: absolute;
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	border-right: 1px solid #fff;
	border-top: 1px solid #fff;
	transform: rotate(45deg) translateY(-50%);
	top: 50%;
	right: 0
}

.btn2 a:hover {
	opacity: 1;
	background: #fff;
	color: #000000
}

.btn2 a:hover span::after {
	border-color: #000
}

@media screen and (max-width:780px) {
	.btn2 a {
		font-size: 1.6rem
	}
}

@keyframes arrow {
	0% {
		top: 100%
	}

	50% {
		top: 150%
	}

	100% {
		top: 100%
	}
}

.product {
	padding: 0 20px;
	padding-top: 220px
}

.product__Top {
	width: 100%;
	max-width: 1440px;
	position: relative;
	margin: 0 auto
}

.product__Top .isoLi {
	width: 33.33333333%;
	display: block;
	position: absolute
}

.product__Top .isoLi a {
	transition: all 0.3s ease;
	opacity: 1
}

.product__Top .isoLi.muuri-item-hidden a {
	opacity: 0
}

.product__Top .isoLi.muuri-item-shown a {
	opacity: 1
}

.product__Top .isoLi a {
	display: block;
	position: relative;
	clip-path: url(#clipshape);
	height: 100%;
	width: 100%
}

.product__Top .isoLi a p {
	opacity: 0;
	font-size: 1.4rem;
	letter-spacing: 0.3em;
	top: 50%;
	position: absolute;
	z-index: 20;
	display: inline-block;
	color: #000;
	line-height: 30px;
	padding-left: 100%;
	white-space: nowrap
}

.product__Top .isoLi a::after {
	transition: all 0.5s ease;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	display: block
}

.product__Top .isoLi a:hover p {
	opacity: 1
}

.product__Top .isoLi.big {
	width: 33.33333333%
}

.product__Top .isoLi.big.b1 a {
	height: 95%;
	width: 95%;
	margin: 2.5%
}

.product__Top .isoLi.big.b2 a {
	height: 85%;
	width: 85%;
	margin: 7.5%
}

.product__Top .isoLi.big.b3 a {
	height: 75%;
	width: 75%;
	margin: 12.5%
}

.product__Top .isoLi.small {
	width: 16.66666666%
}

.product__Top .isoLi.small.s1 a {
	height: 90%;
	width: 90%;
	margin: 5%
}

.product__Top .isoLi.small.s2 a {
	height: 75%;
	width: 75%;
	margin: 12.5%
}

.product__Top .isoLi.big2 {
	width: 25%
}

.product__Top .isoLi.big2.b1 a {
	height: 95%;
	width: 95%;
	margin: 2.5%
}

.product__Top .isoLi.big2.b2 a {
	height: 85%;
	width: 85%;
	margin: 7.5%
}

.product__Top .isoLi.big2.b3 a {
	height: 75%;
	width: 75%;
	margin: 12.5%
}

.product__Top .isoLi.small2 {
	width: 12.5%
}

.product__Top .isoLi.small2.s1 a {
	height: 90%;
	width: 90%;
	margin: 5%
}

.product__Top .isoLi.small2.s2 a {
	height: 75%;
	width: 75%;
	margin: 12.5%
}

@media screen and (max-width:780px) {
	.product {
		padding-top: 40px
	}

	.product__Top {
		max-width: 640px
	}

	.product__Top .isoLi.big {
		width: 100%
	}

	.product__Top .isoLi.big.b3 {
		width: 50%
	}

	.product__Top .isoLi.small {
		width: 50%
	}

	.product__Top .isoLi.big2 {
		width: 100%
	}

	.product__Top .isoLi.big2.b3 {
		width: 50%
	}

	.product__Top .isoLi.small2 {
		width: 50%
	}
}

.an1 {
	animation: move-y 2s infinite alternate ease-in-out
}

@keyframes move-y {
	from {
		transform: translateY(0)
	}

	to {
		transform: translateY(10px)
	}
}

@keyframes animate-banner {
	0% {
		transform: translateX(0) translateY(-50%)
	}

	100% {
		transform: translateX(-100%) translateY(-50%)
	}
}

@keyframes arrow {
	0% {
		top: 100%
	}

	50% {
		top: 150%
	}

	100% {
		top: 100%
	}
}

.product {
	padding: 0 20px;
	padding-top: 220px
}

.product__Top {
	width: 100%;
	max-width: 1440px;
	position: relative;
	margin: 0 auto
}

.product__Top .isoLi {
	width: 33.33333333%;
	display: block;
	position: absolute
}

.product__Top .isoLi a {
	transition: all 0.3s ease;
	opacity: 1
}

.product__Top .isoLi.muuri-item-hidden a {
	opacity: 0
}

.product__Top .isoLi.muuri-item-shown a {
	opacity: 1
}

.product__Top .isoLi a {
	display: block;
	position: relative;
	clip-path: url(#clipshape);
	height: 100%;
	width: 100%
}

.product__Top .isoLi a p {
	opacity: 0;
	font-size: 1.4rem;
	letter-spacing: 0.3em;
	top: 50%;
	position: absolute;
	z-index: 20;
	display: inline-block;
	color: #000;
	line-height: 30px;
	padding-left: 100%;
	white-space: nowrap
}

.product__Top .isoLi a::after {
	transition: all 0.5s ease;
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
	display: block
}

.product__Top .isoLi a:hover p {
	opacity: 1
}

.product__Top .isoLi.big {
	width: 33.33333333%
}

.product__Top .isoLi.big.b1 a {
	height: 95%;
	width: 95%;
	margin: 2.5%
}

.product__Top .isoLi.big.b2 a {
	height: 85%;
	width: 85%;
	margin: 7.5%
}

.product__Top .isoLi.big.b3 a {
	height: 75%;
	width: 75%;
	margin: 12.5%
}

.product__Top .isoLi.small {
	width: 16.66666666%
}

.product__Top .isoLi.small.s1 a {
	height: 90%;
	width: 90%;
	margin: 5%
}

.product__Top .isoLi.small.s2 a {
	height: 75%;
	width: 75%;
	margin: 12.5%
}

.product__Top .isoLi.big2 {
	width: 25%
}

.product__Top .isoLi.big2.b1 a {
	height: 95%;
	width: 95%;
	margin: 2.5%
}

.product__Top .isoLi.big2.b2 a {
	height: 85%;
	width: 85%;
	margin: 7.5%
}

.product__Top .isoLi.big2.b3 a {
	height: 75%;
	width: 75%;
	margin: 12.5%
}

.product__Top .isoLi.small2 {
	width: 12.5%
}

.product__Top .isoLi.small2.s1 a {
	height: 90%;
	width: 90%;
	margin: 5%
}

.product__Top .isoLi.small2.s2 a {
	height: 75%;
	width: 75%;
	margin: 12.5%
}

@media screen and (max-width:780px) {
	.product {
		padding-top: 40px
	}

	.product__Top {
		max-width: 640px
	}

	.product__Top .isoLi.big {
		width: 100%
	}

	.product__Top .isoLi.big.b3 {
		width: 50%
	}

	.product__Top .isoLi.small {
		width: 50%
	}

	.product__Top .isoLi.big2 {
		width: 100%
	}

	.product__Top .isoLi.big2.b3 {
		width: 50%
	}

	.product__Top .isoLi.small2 {
		width: 50%
	}
}

.brPC {
	display: block
}

.br1 {
	display: none
}

@media screen and (max-width:1080px) {
	.brPC {
		display: none
	}

	.br1 {
		display: block
	}
}

.about__Wrap {
	color: #fff;
}

.about__Wrap--Top {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	margin-top: 255px
}

.about__Wrap--Top h1 {
	font-size: 4.5rem;
	letter-spacing: 0.222em;
	font-weight: 100;
	font-family: "Noto Serif", serif
}

.about__Wrap--Top h1 span {
	font-size: 16px;
	display: block;
	letter-spacing: 0.3em;
	margin-top: 20px;
	margin-left: 5px;
	font-family: "futura-pt", sans-serif;
	font-weight: 500;
	font-style: normal
}

.about__Wrap--Top .txtAbout {
	max-width: 365px;
	margin-left: auto
}

.about__Wrap--Top .txtAbout button {
	display: none
}

.about__Wrap--Top .txtAbout__Btn {
	text-align: center;
	margin-bottom: 60px
}

.about__Wrap--Top .txtAbout__Btn img {
	cursor: pointer;
	width: auto;
	transition: all 0.3s ease
}

.about__Wrap--Top .txtAbout__Btn img.on {
	transform: rotate(90deg)
}

.about__Wrap--Top .txtAbout__Btn img:hover {
	transform: rotate(90deg)
}

.about__Wrap--Top .txtAbout__Con--Box {
	max-width: 100%;
	width: 100%
}

.about__Wrap--Top .txtAbout__Con--Box span {
	transition: all 0.2s ease;
	display: block;
	opacity: 0;
	transform: translateX(-20px)
}

.about__Wrap--Top .txtAbout__Con--Box span.on {
	opacity: 1;
	transform: translateX(0px)
}

.about__Wrap--Mov {
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
	margin-top: 180px
}

.about__Wrap--Mov video {
	width: 100%;
	object-fit: cover;
	height: 100vh
}

.about__Wrap--Action {
	max-width: 1920px;
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding-top: 150px;
	margin-top: 100px;
	background: url(../img/about/txt_action_bg.svg) no-repeat left -50px top
}

.about__Wrap--Action .moveIcon {
	width: 180px;
	top: 80px;
	position: absolute;
	z-index: 1000;
	left: 1080px;
	transition: transform 0.3s ease
}

.about__Wrap--Action .moveIcon:hover {
	transform: rotate(-90deg)
}

.about__Wrap--Action .txtAction {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto
}

.about__Wrap--Action .txtAction__Con--Txt {
	margin-bottom: 150px
}

.about__Wrap--Action .txtAction__Con h2 {
	font-weight: 700;
	font-size: 2rem;
	letter-spacing: 0.3rem
}

.about__Wrap--Action .txtAction__Con--Post {
	position: relative;
	height: 1100px;
	width: 100%
}

.about__Wrap--Action .txtAction__Con--Post .uki {
	position: absolute;
	font-weight: bold
}

.about__Wrap--Action .txtAction__Con--Post .uki.s1 {
	width: 25%
}

.about__Wrap--Action .txtAction__Con--Post .uki.s2 {
	width: 35%
}

.about__Wrap--Action .txtAction__Con--Post .uki .img {
	display: block;
	position: relative;
	clip-path: url(#clipshape);
	height: 100%;
	width: 100%;
	margin-bottom: 10px
}

.about__Wrap--Action .txtAction__Con--Post .uki .txt {
	text-align: center;
	font-family: "futura-pt-bold", sans-serif;
	font-weight: 700;
	font-style: normal
}

.about__Wrap--Action .txtAction__Con--Post .uki.pos1 {
	left: 2%;
	top: 20%
}

.about__Wrap--Action .txtAction__Con--Post .uki.pos1.s2 {
	left: -3%
}

.about__Wrap--Action .txtAction__Con--Post .uki.pos2 {
	left: 50%;
	transform: translateX(-50%);
	top: 5%
}

.about__Wrap--Action .txtAction__Con--Post .uki.pos3 {
	left: 72%;
	top: 15%
}

.about__Wrap--Action .txtAction__Con--Post .uki.pos4 {
	left: 57%;
	top: 51%
}

.about__Wrap--Action .txtAction__Con--Post .uki.pos5 {
	left: 17%;
	top: 55%
}

.about__Wrap--Action .txtAction__Con--Step {
	position: relative;
	height: 750px;
	width: 100%
}

.about__Wrap--Action .txtAction__Con--Step .uki {
	position: absolute
}

.about__Wrap--Action .txtAction__Con--Step .uki.s1 {
	width: 20%
}

.about__Wrap--Action .txtAction__Con--Step .uki.s2 {
	width: 30%
}

.about__Wrap--Action .txtAction__Con--Step .uki .img {
	display: block;
	position: relative;
	clip-path: url(#clipshape);
	height: 100%;
	width: 100%
}

.about__Wrap--Action .txtAction__Con--Step .uki .txt {
	text-align: center;
	font-family: "futura-pt-bold", sans-serif;
	font-weight: 700;
	font-style: normal
}

.about__Wrap--Action .txtAction__Con--Step .uki.pos1 {
	left: 13%;
	top: 5%
}

.about__Wrap--Action .txtAction__Con--Step .uki.pos2 {
	left: 37%;
	top: 10%
}

.about__Wrap--Action .txtAction__Con--Step .uki.pos3 {
	left: 72%;
	top: 25%
}

.about__Wrap--Action .txtAction__Con--Step .uki.pos4 {
	left: 55%;
	top: 58%
}

.about__Wrap--Action .txtAction__Con--Step .uki.pos5 {
	left: 27%;
	top: 55%
}

.about__Wrap--Company {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	color: #fff;
}

.about__Wrap--Company .listCompany {
	border-top: 1px solid #fff;
	font-size: 1.4rem
}

.about__Wrap--Company .listCompany__Box {
	padding: 50px 0;
	display: flex;
	border-bottom: 1px solid #fff
}

.about__Wrap--Company .listCompany__Box .title {
	width: 200px;
	margin-right: 200px;
	line-height: 2.6
}

.about__Wrap--Company .listCompany__Box .con {
	flex: 1 1 0
}

.about__Wrap--Company .listCompany__Box .conBox {
	margin-bottom: 50px
}

.about__Wrap--Company .listCompany__Box .conBox:last-child {
	margin-bottom: 0
}

.about__Wrap--Company .listCompany__Box .con .txt {
	line-height: 2.6
}

.about__Wrap--Company .listCompany__Box .con .txt a {
	color: #fff;
	text-decoration: underline
}

.about .txtja {
	font-size: 1.4rem;
	letter-spacing: 0.3em;
	margin-bottom: 50px;
	line-height: 2.6
}

.about .txten {
	font-size: 1.1rem;
	line-height: 2;
	font-family: "futura-pt", sans-serif;
	font-weight: 500;
	font-style: normal
}

@media screen and (max-width:1080px) {
	.about__Wrap--Top {
		max-width: 500px;
		margin-top: 320px
	}

	.about__Wrap--Top h1 {
		line-height: 1.4
	}

	.about__Wrap--Top h1 span {
		font-size: 16px
	}

	.about__Wrap--Top .txtAbout {
		max-width: 345px
	}

	.about__Wrap--Top .txtAbout__Btn {
		text-align: right;
		margin-bottom: 60px
	}

	.about__Wrap--Top .txtAbout__Con--Box {
		max-width: 100%;
		width: 100%
	}

	.about__Wrap--Top .txtAbout__Con--Box span {
		transition: all 0.2s ease;
		display: block;
		opacity: 0;
		transform: translateX(-20px)
	}

	.about__Wrap--Top .txtAbout__Con--Box span.on {
		opacity: 1;
		transform: translateX(0px)
	}

	.about__Wrap--Mov {
		margin-top: 100px
	}

	.about__Wrap--Mov video {
		height: auto
	}

	.about__Wrap--Action {
		padding-top: 220px;
		background: url(../img/about/txt_action_bg.svg) no-repeat left -10% top;
		background-size: 70%
	}

	.about__Wrap--Action .moveIcon {
		width: 13vw;
		top: 5vw;
		left: 75vw
	}

	.about__Wrap--Action .txtAction {
		max-width: 500px;
		margin: 0 auto
	}

	.about__Wrap--Action .txtAction__Con--Txt {
		margin-bottom: 150px
	}

	.about__Wrap--Action .txtAction__Con h2 {
		font-size: 2.2rem;
		line-height: 1.6
	}

	.about__Wrap--Action .txtAction__Con h2 .br1 {
		text-align: center
	}

	.about__Wrap--Action .txtAction__Con--Post {
		position: relative;
		height: 1000px;
		width: 100%
	}

	.about__Wrap--Action .txtAction__Con--Post .uki {
		position: absolute
	}

	.about__Wrap--Action .txtAction__Con--Post .uki.s1 {
		width: 36%
	}

	.about__Wrap--Action .txtAction__Con--Post .uki.s2 {
		width: 50%
	}

	.about__Wrap--Action .txtAction__Con--Post .uki.pos1 {
		left: 0%;
		top: 5%
	}

	.about__Wrap--Action .txtAction__Con--Post .uki.pos2 {
		left: 80%;
		top: 10%
	}

	.about__Wrap--Action .txtAction__Con--Post .uki.pos3 {
		left: 64%;
		top: 42%
	}

	.about__Wrap--Action .txtAction__Con--Post .uki.pos4 {
		left: 30%;
		top: 67%
	}

	.about__Wrap--Action .txtAction__Con--Post .uki.pos5 {
		left: 0%;
		top: 35%
	}

	.about__Wrap--Action .txtAction__Con--Step {
		position: relative;
		height: 750px;
		width: 100%
	}

	.about__Wrap--Action .txtAction__Con--Step .uki {
		position: absolute
	}

	.about__Wrap--Action .txtAction__Con--Step .uki.s1 {
		width: 36%
	}

	.about__Wrap--Action .txtAction__Con--Step .uki.s2 {
		width: 50%
	}

	.about__Wrap--Action .txtAction__Con--Step .uki .img {
		display: block;
		position: relative;
		clip-path: url(#clipshape);
		height: 100%;
		width: 100%
	}

	.about__Wrap--Action .txtAction__Con--Step .uki .txt {
		text-align: center
	}

	.about__Wrap--Action .txtAction__Con--Step .uki.pos1 {
		left: 40%;
		top: 5%
	}

	.about__Wrap--Action .txtAction__Con--Step .uki.pos2 {
		left: 10%;
		top: 32%
	}

	.about__Wrap--Action .txtAction__Con--Step .uki.pos3 {
		left: 68%;
		top: 35%
	}

	.about__Wrap--Action .txtAction__Con--Step .uki.pos4 {
		left: 60%;
		top: 64%
	}

	.about__Wrap--Action .txtAction__Con--Step .uki.pos5 {
		left: 18%;
		top: 70%
	}

	.about__Wrap--Company {
		max-width: 500px
	}

	.about__Wrap--Company .listCompany {
		font-size: 1.4rem
	}

	.about__Wrap--Company .listCompany__Box {
		padding: 50px 0
	}

	.about__Wrap--Company .listCompany__Box .title {
		width: 100px;
		margin-right: 80px
	}
}

@media screen and (max-width:780px) {
	.about__Wrap--Top {
		padding: 0 40px;
		margin-top: 100px
	}

	.about__Wrap--Top h1 {
		font-size: 3rem;
		line-height: 1.4
	}

	.about__Wrap--Top h1 span {
		font-size: 1.4rem
	}

	.about__Wrap--Top .txtAbout {
		max-width: 295px;
		margin-left: 0;
		width: 100%
	}

	.about__Wrap--Top .txtAbout__Btn img {
		width: 20px
	}

	.about__Wrap--Action {
		padding: 0 40px;
		padding-top: 150px;
		background-size: 70%
	}

	.about__Wrap--Action .txtAction__Con--Txt {
		max-width: 100%;
		margin-bottom: 150px
	}

	.about__Wrap--Action .txtAction__Con--Txt .txtja br {
		display: none
	}

	.about__Wrap--Action .txtAction__Con h2 {
		text-align: center;
		margin-bottom: 30px
	}

	.about__Wrap--Action .txtAction__Con h2 .br1 {
		text-align: center
	}

	.about__Wrap--Action .txtAction__Con--Post {
		position: relative;
		width: 100%;
		margin-bottom: 100px;
		height: auto;
		display: block;
		text-align: center
	}

	.about__Wrap--Action .txtAction__Con--Post .uki {
		position: static
	}

	.about__Wrap--Action .txtAction__Con--Post .uki.s1 {
		width: 35%;
		transform: none !important;
		margin: 0 auto 30px auto
	}

	.about__Wrap--Action .txtAction__Con--Post .uki.s2 {
		width: 55%;
		transform: none !important;
		margin: 0 auto 30px auto
	}

	.about__Wrap--Action .txtAction__Con--Post .uki.pos3 {
		margin-right: 5%;
		display: inline-block
	}

	.about__Wrap--Action .txtAction__Con--Post .uki.pos4 {
		margin-left: 5%;
		display: inline-block
	}

	.about__Wrap--Action .txtAction__Con--Step {
		position: relative;
		height: auto;
		margin-bottom: 80px
	}

	.about__Wrap--Action .txtAction__Con--Step .uki {
		position: static
	}

	.about__Wrap--Action .txtAction__Con--Step .uki.s1 {
		width: 45%;
		margin: 0 auto 30px auto
	}

	.about__Wrap--Action .txtAction__Con--Step .uki.s2 {
		width: 65%;
		margin: 0 auto 30px auto
	}

	.about__Wrap--Company {
		padding: 0 40px;
		max-width: none
	}

	.about__Wrap--Company .listCompany {
		max-width: 500px;
		margin: 0 auto;
		font-size: 1.4rem
	}

	.about__Wrap--Company .listCompany__Box {
		display: block
	}

	.about__Wrap--Company .listCompany__Box .title {
		width: 100%;
		margin-right: 0px;
		margin-bottom: 30px
	}

	.about .txtja {
		font-size: min(3.7vw, 1.5rem);
		letter-spacing: 0.1em;
		margin-bottom: 50px;
		line-height: 2.2
	}

	.about .txten {
		font-size: min(2.6vw, 1rem);
		letter-spacing: 0em
	}
}

@media screen and (max-width:355px) {
	.about__Wrap--Top {
		padding: 0 20px
	}

	.about__Wrap--Action {
		padding: 0 20px
	}

	.about__Wrap--Company {
		padding: 0 20px
	}
}

.recruit .recruit__Wrap {
	margin-top: 255px;
	color: #fff
}

.recruit .recruit__Wrap .recruit__Wrap--Top {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center
}

.recruit .recruit__Wrap .recruit__Wrap--Top h1 {
	font-size: 5rem;
	letter-spacing: .1em;
	line-height: 1em;;
	font-weight: 600;
	margin-bottom: 50px;
	color: #fff
}

.recruit .recruit__Wrap .recruit__Wrap--Top h1 span {
	font-size: 16px;
	display: block;
	letter-spacing: .3em;
	margin-top: 20px;
	margin-left: 5px;
	font-family: "futura-pt", sans-serif;
	font-weight: 500;
	font-style: normal
}

@media screen and (max-width:1080px) {
	.recruit__Wrap--Top {
		max-width: 500px
	}

	.recruit__Wrap--Top h1 {
		line-height: 1.4;
		margin-bottom: 50px
	}

	.recruit__Wrap--Top h1 span {
		font-size: 16px
	}

	.recruit__Wrap--Company {
		max-width: 500px
	}

	.recruit__Wrap--Company .listCompany {
		font-size: 1.4rem
	}

	.recruit__Wrap--Company .listCompany__Box {
		padding: 50px 0
	}

	.recruit__Wrap--Company .listCompany__Box .title {
		width: 100px;
		margin-right: 80px
	}
}

@media screen and (max-width:780px) {
	.recruit__Wrap--Top {
		padding: 0 40px
	}

	.recruit__Wrap--Top h1 {
		font-size: 3rem;
		line-height: 1.4
	}

	.recruit__Wrap--Top h1 span {
		font-size: 1.4rem
	}


}

@media screen and (max-width:355px) {
	.recruit__Wrap--Top {
		padding: 0 20px
	}
	.recruit__Wrap--Company {
		padding: 0 20px
	}
}


#image-container {
	position: fixed;
	left: 0;
	width: 100vw;
	height: 100vh
}

#image-container.on {
	animation: fade 2s forwards linear
}

.image {
	position: absolute;
	width: 71px;
	height: auto;
	transition: transform 2s linear;
	transform: translateY(0%)
}

@media screen and (max-width:1080px) {
	.image {
		height: 13vw;
		width: auto
	}
}

.image.m0 {
	transform: translateY(300%)
}

.image.m1 {
	transform: translateY(200%)
}

.image.m2 {
	transform: translateY(100%)
}

.image.m3 {
	transform: translateY(50%)
}

.image.m4 {
	transform: translateY(-50%)
}

.image.m5 {
	transform: translateY(-100%)
}

.image.m6 {
	transform: translateY(-200%)
}

.image.m7 {
	transform: translateY(-300%)
}

@keyframes fade {
	0% {
		top: 100vh;
		opacity: 0
	}

	50% {
		opacity: 1
	}

	100% {
		top: -100vh;
		opacity: 0
	}
}

.access {
	padding-top: 250px
}

.access a {
	color: #fff
}

.access__Wrap {
	color: #fff;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between
}

.access__Wrap--Spec {
	max-width: 600px
}

.access__Wrap--Spec .mapImg {
	margin-bottom: 30px
}

.access__Wrap--Spec .mapTxt {
	font-size: 1.8rem;
	letter-spacing: 0.2em
}

.access__Wrap--Spec .mapTxt p {
	padding-bottom: 5px;
	margin-bottom: 20px
}

.access__Wrap--Spec ul li {
	margin-bottom: 10px;
	font-size: 1.4rem
}

.access__Wrap--Other {
	max-width: 220px
}

.access__Wrap--Other .otherLink__Box {
	margin-bottom: 50px;
	letter-spacing: 0.2em
}

.access__Wrap--Other .otherLink__Box .icon {
	margin-bottom: 10px
}

.access__Wrap--Other .otherLink__Box .icon img {
	max-width: inherit;
	width: auto
}

@media screen and (max-width:1080px) {
	.access__Wrap {
		max-width: 500px;
		margin: 0 auto;
		display: block
	}

	.access__Wrap--Spec .mapImg {
		margin-bottom: 30px
	}

	.access__Wrap--Spec .mapTxt {
		max-width: 450px;
		margin: 0 auto;
		font-size: 1.8rem
	}

	.access__Wrap--Other {
		max-width: 420px;
		margin: 0 auto;
		margin-top: 70px
	}

	.access__Wrap--Other .otherLink {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between
	}

	.access__Wrap--Other .otherLink__Box {
		width: 45%
	}
}

@media screen and (max-width:780px) {
	.access {
		padding-top: 100px
	}

	.access__Wrap {
		padding: 0 20px
	}

	.access__Wrap--Spec .mapImg {
		margin-bottom: 30px
	}

	.access__Wrap--Spec .mapTxt {
		padding: 0 20px;
		font-size: 1.6rem
	}

	.access__Wrap--Spec ul li {
		letter-spacing: 0em
	}

	.access__Wrap--Other {
		max-width: max-content;
		margin: 0 auto;
		margin-top: 70px
	}

	.access__Wrap--Other .otherLink {
		display: block
	}

	.access__Wrap--Other .otherLink__Box {
		width: auto
	}
}

.contact {
	padding-top: 255px
}

.contact__Wrap {
	width: 1000px;
	max-width: 100%;
	margin: 0 auto
}

.contact__Wrap .fTxt {
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: 0.3em;
	line-height: 2.6
}

.contact__Wrap .fTxt.Big {
	font-size: 4rem
}

.contact__Wrap .formArea {
	padding-top: 100px;
	padding-bottom: 80px
}

.contact__Wrap .formArea__Box {
	display: block;
	padding: 20px 0
}

.contact__Wrap .formArea__Box--Title {
	width: max-content;
	font-size: 1.4rem;
	font-weight: bold;
	margin-bottom: 10px;
	letter-spacing: 0.1em;
	color: #fff
}

.contact__Wrap .formArea__Box--Title p {
	display: flex;
	justify-content: space-between;
	align-items: center
}

.contact__Wrap .formArea__Box--Title p span {
	font-size: 1.2rem
}

.contact__Wrap .formArea__Box--Title p span.must {
	font-weight: bold;
	margin-left: 10px;
	line-height: 1;
	background: #fff;
	border-radius: 1.2rem;
	padding: 3px 5px;
	color: #FF0000
}

.contact__Wrap .formArea__Box--Title p span.non {
	background-color: #B2BBC9;
	color: #FDFDFD
}

.contact__Wrap .formArea__Box--Title p span.error {
	font-family: "Noto Sans JP", sans-serif;
	margin-left: 10px
}

.contact__Wrap .formArea__Box--Title p .sub {
	font-family: "Noto Sans JP", sans-serif;
	margin-left: 20px;
	color: #0394DE
}

.contact__Wrap .formArea__Box--Title p .sub a {
	text-decoration: underline;
	color: #0394DE
}

.contact__Wrap .formArea__Box--Con {
	max-width: 100%;
	font-family: "Noto Sans JP", sans-serif;
	width: 100%;
	margin-left: 0px;
	font-size: 15px
}

.contact__Wrap .formArea__Box--Con .colW {
	display: flex;
	justify-content: space-between
}

.contact__Wrap .formArea__Box--Con .colW .i_txt {
	max-width: calc(50% - 10px);
	width: 100%
}

.contact__Wrap .formArea__Box--Con .w50 {
	width: 100% !important;
	max-width: 50%
}

.contact__Wrap .formArea__Box--Con .w70 {
	width: 100% !important;
	max-width: 70%
}

.contact__Wrap .formArea__Box--Con .w100 {
	width: 100% !important;
	max-width: 100%
}

.contact__Wrap .formArea__Box--Con .i_Select {
	border: 1px solid #fff;
	background: #fff;
	border-radius: 4px;
	display: inline-block;
	position: relative;
	width: max-content
}

.contact__Wrap .formArea__Box--Con .i_Select.txt2w {
	padding-left: 3em
}

.contact__Wrap .formArea__Box--Con .i_Select+.wpcf7-not-valid-tip {
	margin-top: 10px
}

.contact__Wrap .formArea__Box--Con .i_Select span {}

.contact__Wrap .formArea__Box--Con .i_Select select {
	width: 100%;
	padding: 20px 60px 20px 20px;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	font-size: 1.4rem;
	letter-spacing: 0.3em
}

.contact__Wrap .formArea__Box--Con .i_Select select::-ms-expand {
	display: none
}

.contact__Wrap .formArea__Box--Con .i_Select::before {
	transition: all 0.3s ease;
	position: absolute;
	top: 50%;
	transform: translateY(-60%) rotate(45deg);
	right: 20px;
	content: "";
	display: block;
	height: 12px;
	width: 12px;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000
}

.contact__Wrap .formArea__Box--Con .i_txt {
	border: 1px solid #fff;
	background: #fff;
	border-radius: 4px;
	padding: 10px 20px;
	font-size: 1.4rem;
	line-height: 2.6;
	letter-spacing: 0.3em
}

.contact__Wrap .formArea__Box--Con .i_txt::placeholder {
	color: #B2BBC9
}

.contact__Wrap .formArea__Box--Con .i_txtarea {
	width: 100%;
	border: 1px solid #fff;
	background: #fff;
	border-radius: 4px;
	padding: 10px 20px;
	font-size: 1.4rem;
	line-height: 2.6;
	letter-spacing: 0.3em
}

.contact__Wrap .formArea__Box--Con .i_txtarea::placeholder {
	color: rgba(0, 0, 0, 0.3)
}

.contact__Wrap .formArea__Box--Con .mwform-radio-field {
	margin: 0 !important;
	margin-bottom: 15px !important;
	display: inline-block
}

.contact__Wrap .formArea__Box--Con .i_radio {
	margin: 0
}

.contact__Wrap .formArea__Box--Con .i_radio+span {
	position: relative;
	padding-left: 18px
}

.contact__Wrap .formArea__Box--Con .i_radio+span::before {
	transition: all 0.3s ease;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	content: "";
	display: block;
	height: 15px;
	width: 15px;
	border-radius: 15px;
	border: 2px solid #B2BBC9
}

.contact__Wrap .formArea__Box--Con .i_radio:checked+span::before {
	border: 2px solid var(--c-green);
	background-color: var(--c-green)
}

.contact__Wrap .formArea__Box--Con .mwform-checkbox-field {
	margin: 0 !important;
	margin-top: 25px !important;
	margin-right: 20px !important;
	display: inline-block
}

.contact__Wrap .formArea__Box--Con .mwform-checkbox-field label {
	font-size: 1.6rem
}

.contact__Wrap .formArea__Box--Con .mwform-checkbox-field label input {
	margin-right: 0px;
	visibility: hidden;
	position: absolute;
	width: 0
}

.contact__Wrap .formArea__Box--Con .mwform-checkbox-field label input+span {
	position: relative;
	padding-left: 40px;
	line-height: 30px;
	display: inline-block
}

.contact__Wrap .formArea__Box--Con .mwform-checkbox-field label input+span::before {
	transition: all 0.3s ease;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	content: "";
	display: block;
	height: 30px;
	width: 30px;
	border-radius: 3px;
	background: #F0F3F4
}

.contact__Wrap .formArea__Box--Con .mwform-checkbox-field label input+span::after {
	transition: all 0.3s ease;
	position: absolute;
	top: 0%;
	opacity: 0;
	left: 8px;
	content: "";
	display: block;
	height: 20px;
	width: 12px;
	transform: rotate(45deg);
	border-bottom: 2px solid #000;
	border-right: 2px solid #000;
	box-sizing: 90%
}

.contact__Wrap .formArea__Box--Con .mwform-checkbox-field label input:checked+span::after {
	opacity: 1
}

.contact__Wrap .formArea__Submit {
	padding: 30px 0;
	border-radius: 20px
}

.contact__Wrap .formArea__Submit--Box {
	display: flex;
	justify-content: center
}

.contact__Wrap .formArea__Submit .btn {
	text-align: center;
	width: 100%;
	max-width: 500px
}

.contact__Wrap .formArea__Submit .btn input {
	border-radius: 5px;
	display: inline-block;
	width: 100%;
	max-width: 500px;
	padding: 20px 0;
	background: #fff;
	font-size: 1.6rem;
	letter-spacing: 0.1em
}

.contact__Wrap .formArea .page_t1 {
	margin-bottom: 10px
}

.contact__Wrap .page__WhiteBox--Con {
	max-width: 500px;
	margin: 0 auto;
	margin-top: 60px
}

.contact__Wrap .page__WhiteBox--Con .page_t1 {
	color: #fff;
	font-size: 1.4rem;
	line-height: 2.6;
	letter-spacing: 0.3em;
	margin-bottom: 30px;
	font-weight: bold
}

.contact__Wrap .contact_privacy_txt {
	font-family: "Noto Sans JP", sans-serif;
	text-align: left;
	font-size: 1.4rem;
	line-height: 2.6;
	letter-spacing: 0.3em;
	color: #fff
}

.contact__Wrap .contact_privacy_txt a {
	color: #fff;
	text-decoration: underline
}

.contact__Wrap .contact_privacy_check {
	text-align: center;
	margin: 30px 0 40px 0;
	font-family: "Noto Sans JP", sans-serif;
	color: #fff
}

.contact__Wrap .contact_privacy_check .error {
	font-size: 1.4rem;
	letter-spacing: 0.3em
}

.contact__Wrap .contact_privacy_check label {
	font-size: 1.4rem;
	letter-spacing: 0.3em
}

.contact__Wrap .contact_privacy_check label input+span {
	position: relative;
	padding-left: 40px;
	line-height: 30px;
	display: inline-block
}

.contact__Wrap .contact_privacy_check label input+span::before {
	transition: all 0.3s ease;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	content: "";
	display: block;
	height: 30px;
	width: 30px;
	border-radius: 3px;
	background: #F0F3F4
}

.contact__Wrap .contact_privacy_check label input+span::after {
	transition: all 0.3s ease;
	position: absolute;
	top: 0%;
	opacity: 0;
	left: 8px;
	content: "";
	display: block;
	height: 20px;
	width: 12px;
	transform: rotate(45deg);
	border-bottom: 2px solid #000;
	border-right: 2px solid #000;
	box-sizing: 90%
}

.contact__Wrap .contact_privacy_check label input:checked+span::after {
	opacity: 1
}

.contact__Wrap input.p_check {
	margin-right: 0px;
	position: absolute;
	width: 0
}

.contact__Wrap input.p_check::before {
	transition: all 0.3s ease;
	position: absolute;
	top: -8px;
	transform: translateY(-50%);
	left: -50px;
	content: "";
	display: block;
	height: 30px;
	width: 30px;
	border-radius: 3px;
	background: #F0F3F4
}

.contact__Wrap input.p_check::after {
	transition: all 0.3s ease;
	position: absolute;
	top: -20px;
	opacity: 0;
	left: -40px;
	content: "";
	display: block;
	height: 20px;
	width: 12px;
	transform: rotate(45deg);
	border-bottom: 2px solid #000;
	border-right: 2px solid #000;
	box-sizing: 90%
}

.contact__Wrap input.p_check:checked::after {
	opacity: 1
}

.contact__Wrap--Fin {
	max-width: 420px;
	width: 100%;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.8;
	margin: 0 auto
}

.contact__Wrap--Fin h1 {
	font-weight: 600;
	font-size: 4rem;
	margin-bottom: 30px
}

.contact__Wrap--Fin+.btn {
	text-align: center;
	width: 100%;
	max-width: 500px;
	margin: 70px auto
}

.contact__Wrap--Fin+.btn a {
	border-radius: 5px;
	display: inline-block;
	width: 100%;
	max-width: 500px;
	padding: 20px 0;
	background: #fff;
	font-size: 1.6rem;
	letter-spacing: 0.1em
}

@media screen and (max-width:1080px) {
	.contact {
		padding-top: 250px
	}

	.contact__Wrap {
		width: 500px
	}

	.contact__Wrap .fTxt br {
		display: none
	}

	.contact__Wrap .fTxt.Big {
		font-size: 3.2rem
	}

	.contact__Wrap .formArea {
		padding-top: 100px
	}

	.contact__Wrap .formArea__Box {
		padding: 10px 0
	}

	.contact__Wrap .formArea__Box--Title p span {
		font-size: 1.4rem
	}

	.contact__Wrap .formArea__Box--Con .w50 {
		width: 100% !important;
		max-width: 100% !important
	}

	.contact__Wrap .formArea__Box--Con .i_Select.txt2w {
		padding-left: 3em
	}

	.contact__Wrap .formArea__Submit {
		padding: 30px 0;
		border-radius: 20px
	}

	.contact__Wrap .formArea__Submit--Box {
		display: flex;
		justify-content: center
	}

	.contact__Wrap .formArea__Submit .btn {
		width: 100%;
		max-width: 500px
	}

	.contact__Wrap .formArea__Submit .btn input {
		border-radius: 5px;
		display: inline-block;
		width: 100%;
		max-width: 500px;
		padding: 20px 0;
		background: #fff;
		font-size: 1.6rem;
		letter-spacing: 0.1em
	}

	.contact__Wrap .formArea .page_t1 {
		margin-bottom: 10px
	}

	.contact__Wrap .page__WhiteBox--Con {
		max-width: 500px;
		margin: 0 auto;
		margin-top: 60px
	}

	.contact__Wrap .page__WhiteBox--Con .page_t1 {
		color: #fff;
		margin-bottom: 30px;
		font-weight: bold
	}

	.contact__Wrap .contact_privacy_txt {
		font-size: 1.4rem;
		line-height: 2.6;
		letter-spacing: 0.3em
	}

	.contact__Wrap .contact_privacy_check {
		text-align: center;
		margin: 30px 0 40px 0;
		font-family: "Noto Sans JP", sans-serif;
		color: #fff
	}

	.contact__Wrap .contact_privacy_check .error {
		font-size: 1.4rem;
		letter-spacing: 0.3em
	}

	.contact__Wrap .contact_privacy_check label {
		font-size: 1.4rem;
		letter-spacing: 0.3em
	}

	.contact__Wrap .contact_privacy_check label {
		font-size: 1.4rem;
		letter-spacing: 0.3em
	}
}

@media screen and (max-width:780px) {
	.contact {
		padding-top: 100px
	}

	.contact__Wrap {
		padding: 0 20px
	}

	.contact__Wrap .fTxt.Big {
		padding: 0 0px;
		font-size: 2.4rem
	}

	.contact__Wrap .formArea {
		padding-top: 50px
	}

	.contact__Wrap .formArea__Box {
		padding: 10px 0
	}

	.contact__Wrap .contact_privacy_txt {
		font-size: 1.4rem
	}

	.contact__Wrap .contact_privacy_check label {
		font-size: 1.4rem
	}

	.contact__Wrap .contact_privacy_check label {
		font-size: 1.4rem
	}
}

.kTxt p {
	border: 1px solid #D1D1D1;
	background: #D1D1D1;
	border-radius: 4px;
	padding: 20px;
	font-size: 2rem;
	line-height: 1.2
}

@media screen and (max-width:1080px) {
	.kTxt p {
		font-size: 1.6rem
	}
}

.wpcf7-form-control.wpcf7-previous {
	background: #D1D1D1 !important;
	margin-bottom: 20px
}

.wpcf7-spinner {
	margin-top: 30px !important
}

.wpcf7 form .wpcf7-response-output {
	max-width: 640px;
	display: block;
	margin: 0 auto;
	text-align: center;
	width: 100%;
	color: #fff;
	padding: 20px
}

.post {
	padding-top: 250px
}

.post__Wrap {
	color: #fff;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between
}

.post__Wrap--Content {
	max-width: 800px;
	width: 100%
}

.post__Wrap--Content .entry-content {
	margin-bottom: 100px
}

.post__Wrap--Content .entry-contentTitle .postdate {
	padding: 0;
	font-size: 1rem;
	margin-bottom: 20px
}

.post__Wrap--Content .entry-contentTitle h1 {
	font-size: 2rem;
	margin-bottom: 30px;
	letter-spacing: 0.3rem
}

.post__Wrap--Content .entry-content figure {
	margin: 2em auto
}

.post__Wrap--Content .entry-content p {
	padding-top: 6em;
	font-size: 1.4rem;
	letter-spacing: 0.3rem;
	line-height: 2.6
}

.post__Wrap--Content .entry-content p a {
	color: #fff;
	text-decoration: underline
}

.post__Wrap--Side {
	top: 0;
	position: sticky;
	max-width: 150px;
	width: 100%;
	height: calc(100vh);
	overflow-y: scroll
}

.post__Wrap--Side li a {
	position: absolute;
	width: 100%;
	height: 100%
}

.post .postNav {
	display: none
}

@media screen and (max-width:1080px) {
	.post__Wrap {
		max-width: 500px;
		display: block
	}

	.post__Wrap--Content {
		max-width: 500px
	}

	.post__Wrap--Content .entry-content {
		margin-bottom: 100px
	}

	.post__Wrap--Content .entry-contentTitle .postdate {
		padding: 0
	}

	.post__Wrap--Content .entry-contentTitle h1 {
		font-size: 1.8rem
	}

	.post__Wrap--Content .entry-content figure {
		margin: 1em 0
	}

	.post__Wrap--Content .entry-content p {
		padding-top: 2em
	}

	.post__Wrap--Side {
		display: none
	}

	.post .postNav {
		display: flex;
		font-size: 1.4rem;
		justify-content: space-between;
		max-width: 310px;
		margin: 0 auto
	}

	.post .postNav .prev {
		margin-right: auto
	}

	.post .postNav .acv {
		margin: 0 auto
	}

	.post .postNav .next {
		margin-left: auto
	}

	.post .postNav a {
		color: #fff;
		padding-bottom: 10px;
		background-image: linear-gradient(to right, #fff 5px, transparent 2px);
		background-size: 10px 2px;
		background-repeat: repeat-x;
		background-position: left bottom
	}
}

@media screen and (max-width:780px) {
	.post {
		padding-top: 100px
	}

	.post__Wrap {
		padding: 0 20px
	}

	.post__Wrap--Content .entry-content {
		margin-bottom: 50px
	}

	.post__Wrap--Content .entry-content p {
		font-size: 1.3rem
	}

	.post__Wrap--Content .entry-content p a {
		word-break: break-all
	}

	.post__Wrap--Side {
		display: none
	}
}

.privacy__Wrap {
	color: #fff
}

.privacy__Wrap--Con {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	margin-top: 320px
}

.privacy__Wrap--Con .names {
	margin-top: 60px;
	text-align: right
}

.privacy__Wrap--Con h1 {
	letter-spacing: 0.3em;
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 20px;
	line-height: 2
}

.privacy__Wrap--Con p {
	font-size: 1.4rem;
	line-height: 2
}

.privacy__Wrap--Con .lead {
	margin-bottom: 70px
}

.privacy__Wrap--ConBox {
	margin-bottom: 50px
}

.privacy__Wrap--ConBox h2 {
	letter-spacing: 0.3em;
	line-height: 1.4;
	font-size: 3rem;
	margin-bottom: 20px;
	font-weight: 700
}

.privacy__Wrap--ConBox ul {
	margin-top: 20px
}

.privacy__Wrap--ConBox ul li {
	font-size: 1.4rem;
	line-height: 2
}

.privacy__Wrap--ConBox a {
	color: #fff
}

.privacy__Wrap .btn {
	margin-top: 100px;
	text-align: center
}

.privacy__Wrap .btn .whiteBox {
	border-radius: 5px;
	display: inline-block;
	width: 100%;
	max-width: 500px;
	padding: 20px 0;
	background: #fff;
	font-size: 1.6rem;
	letter-spacing: 0.1em
}

@media screen and (max-width:1080px) {
	.privacy__Wrap--Con {
		max-width: 500px;
		margin-top: 250px
	}

	.privacy__Wrap--Con h1 {
		font-size: 2.2rem;
		line-height: 1.4
	}

	.privacy__Wrap--ConBox {
		margin-bottom: 50px
	}

	.privacy__Wrap--ConBox h2 {
		font-size: 2.2rem;
		margin-bottom: 20px
	}
}

@media screen and (max-width:780px) {
	.privacy__Wrap--Con {
		padding: 0 20px;
		margin-top: 100px
	}

	.privacy__Wrap--Con h1 {
		font-size: 2rem;
		line-height: 1.4
	}

	.privacy__Wrap--Con h1 span {
		font-size: 1.4rem
	}

	.privacy__Wrap--Con p {
		font-size: 1.3rem
	}

	.privacy__Wrap--ConBox h2 {
		font-size: 2rem
	}
}

.link a {
	color: #fff
}

.colorW {
	padding-bottom: 10px;
	background-image: linear-gradient(to right, #fff 5px, transparent 2px);
	background-size: 10px 2px;
	background-repeat: repeat-x;
	background-position: left bottom
}

.colorY {
	padding-bottom: 10px;
	background-image: linear-gradient(to right, #FFDE00 5px, transparent 2px);
	background-size: 10px 2px;
	background-repeat: repeat-x;
	background-position: left bottom
}

.colorR {
	padding-bottom: 10px;
	background-image: linear-gradient(to right, #ED1C24 5px, transparent 2px);
	background-size: 10px 2px;
	background-repeat: repeat-x;
	background-position: left bottom
}

.colorB {
	padding-bottom: 10px;
	background-image: linear-gradient(to right, #005885 5px, transparent 2px);
	background-size: 10px 2px;
	background-repeat: repeat-x;
	background-position: left bottom
}

.an1 {
	animation: AxisY 4s infinite ease-out, AxisX 4s infinite ease-in
}

.uWrap {
	position: relative
}

.isoLi {
	--x: 5px;
	--y: 10px
}

@keyframes AxisX {
	0% {
		left: 0px
	}

	25% {
		left: 5px
	}

	50% {
		left: 0px
	}

	75% {
		left: -5px
	}

	100% {
		left: 0px
	}
}

@keyframes AxisY {
	0% {
		transform: translateY(0)
	}

	25% {
		transform: translateY(5px)
	}

	50% {
		transform: translateY(var(--y))
	}

	75% {
		transform: translateY(5px)
	}

	100% {
		transform: translateY(0)
	}
}

@keyframes move-y {
	from {
		transform: translateY(0)
	}

	to {
		transform: translateY(10px)
	}
}

@keyframes move-x {
	0% {
		transform: translate(0, 0)
	}

	25% {
		transform: translate(5px, 2px)
	}

	50% {
		transform: translate(5px, 7px)
	}

	75% {
		transform: translate(2px, 5px)
	}

	100% {
		transform: translate(0, 0)
	}
}

@keyframes animate-banner {
	0% {
		transform: translateX(0) translateY(-50%)
	}

	100% {
		transform: translateX(-100%) translateY(-50%)
	}
}

body.open_popup {
	overflow: hidden
}

.bg_onetime_popup {
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 9999;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.8);
	opacity: 0;
	visibility: hidden;
	transition: 0.5s
}

body.open_popup .bg_onetime_popup {
	opacity: 1;
	visibility: visible
}

.onetime_popup {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 90%;
	max-width: 700px
}

.onetime_popup_title {
	position: relative;
	padding: 1em 80px;
	margin: 0px;
	font-size: 32px;
	text-align: center;
	line-height: 1.5
}

.onetime_popup_title_close {
	position: absolute;
	top: 50%;
	right: 30px;
	width: 40px;
	height: 40px;
	transform: translateY(-50%);
	background: #fff;
	border-radius: 3px;
	cursor: pointer
}

.onetime_popup_title_close::before,
.onetime_popup_title_close::after {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 70%;
	height: 1px;
	background-color: #000;
	content: ""
}

.onetime_popup_title_close::before {
	transform: translateX(-50%) translateY(-50%) rotate(45deg)
}

.onetime_popup_title_close::after {
	transform: translateX(-50%) translateY(-50%) rotate(-45deg)
}

.onetime_popup_content {
	padding: 0px 30px;
	text-align: center
}

.onetime_popup_content .movCon {
	border-radius: 5px;
	overflow: hidden
}

.onetime_popup_content .movCon video {
	width: 100%
}

.tos-slide img {
	width: auto
}