@charset "UTF-8";
@-webkit-keyframes spin {
	to {
		transform: rotate(1turn)
	}
}

@keyframes spin {
	to {
		transform: rotate(1turn)
	}
}

@-webkit-keyframes ping {
	75%, to {
		transform: scale(2);
		opacity: 0
	}
}

@keyframes ping {
	75%, to {
		transform: scale(2);
		opacity: 0
	}
}

@-webkit-keyframes pulse {
	50% {
		opacity: .5
	}
}

@keyframes pulse {
	50% {
		opacity: .5
	}
}

@-webkit-keyframes bounce {
	0%, to {
		transform: translateY(-25%);
		-webkit-animation-timing-function: cubic-bezier(.8, 0, 1, 1);
		animation-timing-function: cubic-bezier(.8, 0, 1, 1)
	}
	50% {
		transform: none;
		-webkit-animation-timing-function: cubic-bezier(0, 0, .2, 1);
		animation-timing-function: cubic-bezier(0, 0, .2, 1)
	}
}

@keyframes bounce {
	0%, to {
		transform: translateY(-25%);
		-webkit-animation-timing-function: cubic-bezier(.8, 0, 1, 1);
		animation-timing-function: cubic-bezier(.8, 0, 1, 1)
	}
	50% {
		transform: none;
		-webkit-animation-timing-function: cubic-bezier(0, 0, .2, 1);
		animation-timing-function: cubic-bezier(0, 0, .2, 1)
	}
}

:after, :before {
	text-decoration: inherit;
	vertical-align: inherit
}

html {
	cursor: default;
	line-height: 1.5;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4;
	-webkit-tap-highlight-color: transparent;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	word-break: break-word;
	font-size: 62.5%
}

body, button, dl dl, dl ol, dl ul, input, ol dl, ol ol, ol ul, select, ul dl, ul ol, ul ul {
	margin: 0
}

h1 {
	margin: .67em 0
}

hr {
	color: inherit;
	height: 0;
	overflow: visible
}

details, dialog, main {
	display: block
}

nav ol, nav ul {
	list-style: none;
	padding: 0
}

nav li:before {
	content: "​"
}

pre {
	overflow: auto;
	-ms-overflow-style: scrollbar
}

a {
	background-color: transparent;
	color: currentColor;
	text-decoration: none
}

abbr[title] {
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted
}

b, strong {
	font-weight: bolder
}

code, kbd, pre, samp {
	font-family: monospace, monospace;
	font-size: 1em
}

small {
	font-size: 80%
}

audio, canvas, iframe, img, svg, video {
	vertical-align: middle
}

audio, canvas, video {
	display: inline-block
}

audio:not([controls]) {
	display: none;
	height: 0
}

iframe, img {
	border-style: none
}

svg:not([fill]) {
	fill: currentColor
}

svg:not(:root) {
	overflow: hidden
}

table {
	border-collapse: collapse;
	border-color: inherit;
	text-indent: 0
}

button {
	overflow: visible;
	text-transform: none
}

[type=button], [type=reset], [type=submit], button {
	-webkit-appearance: button
}

fieldset {
	min-width: 0;
	border: 0
}

input {
	overflow: visible
}

legend {
	color: inherit;
	display: table;
	max-width: 100%;
	white-space: normal
}

progress {
	display: inline-block;
	vertical-align: baseline
}

textarea {
	margin: 0;
	overflow: auto;
	resize: block
}

[type=checkbox], [type=radio], fieldset {
	padding: 0
}

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px
}

::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
	height: auto
}

::-webkit-input-placeholder {
	color: inherit;
	opacity: .54
}

::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}

::-moz-focus-inner {
	border-style: none;
	padding: 0
}

:-moz-focusring {
	outline: ButtonText dotted 1px
}

:-moz-ui-invalid {
	box-shadow: none
}

dialog {
	background-color: #fff;
	border: solid;
	color: #000;
	height: -moz-fit-content;
	height: -webkit-fit-content;
	height: fit-content;
	left: 0;
	margin: auto;
	padding: 1em;
	position: absolute;
	right: 0;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content
}

[hidden], dialog:not([open]), template {
	display: none
}

summary {
	display: list-item
}

[tabindex], a, area, button, input, label, select, summary, textarea {
	-ms-touch-action: manipulation
}

[aria-busy=true] {
	cursor: progress
}

[aria-controls] {
	cursor: pointer
}

[aria-disabled=true], [disabled] {
	cursor: not-allowed
}

[aria-hidden=false][hidden] {
	display: initial
}

[aria-hidden=false][hidden]:not(:focus) {
	clip: rect(0, 0, 0, 0);
	position: absolute
}

button, input, select, textarea {
	background-color: transparent;
	color: inherit;
	font: inherit;
	letter-spacing: inherit
}

select {
	text-transform: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	background: 100%/1em no-repeat;
	border-radius: 0
}

select:not([multiple]):not([size]) {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E")
}

[type=color], [type=range] {
	border-width: 0;
	padding: 0
}

::-ms-expand {
	display: none
}

:-ms-input-placeholder {
	color: rgba(0, 0, 0, .54)
}

* {
	padding: 0;
	margin: 0;
	--tw-shadow: 0 0 transparent;
	--tw-ring-inset: var(--tw-empty, );
	/*!*/
	/*!*/
	--tw-ring-offset-width: 0px;
	--tw-ring-offset-color: #fff;
	--tw-ring-color: rgba(59, 130, 246, 0.5);
	--tw-ring-offset-shadow: 0 0 transparent;
	--tw-ring-shadow: 0 0 transparent
}

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

h1, h2, h3, h4, h5, h6 {
	font-size: inherit
}

li {
	list-style-type: none
}

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

address {
	font-style: inherit
}

button, input, select, textarea {
	padding: 0;
	border: 0
}

button:not(:disabled):not([aria-disabled=true]) {
	cursor: pointer
}

body {
	height: 100vh;
	font-family: -apple-system, Noto Sans JP, sans-serif;
	font-weight: 400;
	color: #494949
}

@supports (-webkit-touch-callout:none) {
	body {
		height: -webkit-fill-available
	}
}

[v-cloak] {
	visibility: hidden
}

.l-wrapper {
	position: relative;
	overflow: hidden
}

.l-wrapper img {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden
}

.pc {
	display: none
}

/*@font-face {
	font-family: "Noto Serif Japanese";
	font-style: normal;
	font-weight: 400;
	src: url(/futon/assets/fonts/notoserif/NotoSerifCJKjp-Regular.otf) format("opentype");
	font-display: swap
}

@font-face {
	font-family: "Noto Serif Japanese";
	font-style: normal;
	font-weight: 500;
	src: url(/futon/assets/fonts/notoserif/NotoSerifCJKjp-Medium.otf) format("opentype");
	font-display: swap
}

@font-face {
	font-family: "Noto Serif Japanese";
	font-style: normal;
	font-weight: 600;
	src: url(/futon/assets/fonts/notoserif/NotoSerifCJKjp-SemiBold.otf) format("opentype");
	font-display: swap
}

@font-face {
	font-family: "Noto Serif Japanese";
	font-style: normal;
	font-weight: 700;
	src: url(/futon/assets/fonts/notoserif/NotoSerifCJKjp-Bold.otf) format("opentype");
	font-display: swap
}

@font-face {
	font-family: Noto Sans Japanese;
	font-style: normal;
	font-weight: 400;
	src: url(/futon/assets/fonts/notosans/NotoSansCJKjp-Regular.otf) format("opentype");
	font-display: swap
}

@font-face {
	font-family: Noto Sans Japanese;
	font-style: normal;
	font-weight: 500;
	src: url(/futon/assets/fonts/notosans/NotoSansCJKjp-Medium.otf) format("opentype");
	font-display: swap
}

@font-face {
	font-family: Noto Sans Japanese;
	font-style: normal;
	font-weight: 700;
	src: url(/futon/assets/fonts/notosans/NotoSansCJKjp-Bold.otf) format("opentype");
	font-display: swap
}
*/
.block, .sp {
	display: block
}

.flex {
	display: flex
}

.table {
	display: table
}

.items-center {
	align-items: center
}

.justify-center {
	justify-content: center
}

.order-1 {
	order: 1
}

.order-2 {
	order: 2
}

.order-3 {
	order: 3
}

.font-normal {
	font-weight: 400
}

.relative {
	position: relative
}

.text-left {
	text-align: left
}

.text-center {
	text-align: center
}

@media screen and (min-width:768px) {
	body {
		font-size: 1.5rem
	}
	.l-wrapper {
		min-width: 110rem
	}
	.is-hover {
		opacity: 1;
		transition: opacity .7s ease-out
	}
	.is-hover:hover {
		opacity: .8
	}
	.pc {
		display: block
	}
	.sp {
		display: none
	}
}

@media screen and (max-width:767px) {
	.l-wrapper img {
		max-width: 100%;
		height: auto
	}
}