@charset "UTF-8";
/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
/* These browsers currently include
** Android 4.3-4.4+,
** Chrome 39-40+,
** Firefox 34-35+,
** Internet Explorer 10-11+,
** iOS 7-8+,
** Safari 7-8+,
** Windows Phone 8.1+.
*/
/*
 * Normalization
 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
:root {
		-ms-overflow-style: -ms-autohiding-scrollbar;
		-webkit-text-size-adjust: 100%;
		        text-size-adjust: 100%;
}

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

details {
		display: block;
}

input[type=number] {
		width: auto;
}
input[type=search] {
		-webkit-appearance: textfield;
}
input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
		-webkit-appearance: none;
}

main {
		display: block;
}

summary {
		display: block;
}

pre {
		overflow: auto;
}

progress {
		display: inline-block;
}

small {
		font-size: 75%;
}

template {
		display: none;
}

textarea {
		overflow: auto;
}

[hidden] {
		display: none;
}

[unselectable] {
		-webkit-user-select: none;
		        user-select: none;
}

/*
 * Universal inheritance
 */
*,
::before,
::after {
		box-sizing: inherit;
}

* {
		font-size: inherit;
		line-height: inherit;
}

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

/*
 * Opinionated defaults
 */
*,
::before,
::after {
		border-style: solid;
		border-width: 0;
}

* {
		margin: 0;
		padding: 0;
}

:root {
		box-sizing: border-box;
		cursor: default;
		font: 62.5%/1em sans-serif;
		text-rendering: optimizeLegibility;
}
@media screen and (min-width: 769px) {
		:root {
				font: 0.78125vw/1em sans-serif;
		}
}
@media screen and (min-width: 1600px) {
		:root {
				font: 78.125%/1em sans-serif;
		}
}

html {
		background-color: #FFFFFF;
}

a {
		text-decoration: none;
}

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

button,
input:not([type=radio]),
select,
textarea {
		background-color: transparent;
}

button,
input:not([type=radio]),
select,
textarea {
		color: inherit;
		font-family: inherit;
		font-style: inherit;
		font-weight: inherit;
}

button,
[type=button],
[type=date],
[type=datetime],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=reset],
[type=search],
[type=submit],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
select,
textarea {
		min-height: 1em;
}

input[type=submit],
input[type=button] {
		border-radius: 0;
		-webkit-appearance: button;
		   -moz-appearance: button;
		        appearance: button;
		border: none;
		box-sizing: border-box;
		cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
		display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
		outline-offset: -2px;
}

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

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

select {
		-moz-appearance: none;
		-webkit-appearance: none;
}
select::-ms-expand {
		display: none;
}
select::-ms-value {
		color: currentColor;
}

table {
		border-collapse: collapse;
		border-spacing: 0;
}

textarea {
		resize: vertical;
}

::selection {
		color: #FFFFFF;
		background-color: #000000;
		text-shadow: none;
}

@media screen {
		[hidden~=screen] {
				display: inherit;
		}

		[hidden~=screen]:not(:active):not(:focus):not(:target) {
				clip: rect(0 0 0 0) !important;
				position: absolute !important;
		}
}
* {
		margin: 0;
		padding: 0;
		outline: 0;
}

/* general params
--------------------*/
h1, h2, h3, h4, h5, h6,
div, p, pre, ul, ol, dl, dt, dd,
address, form, blockquote {
		margin: 0;
		padding: 0;
		/* margin&padding reset */
		font-style: normal;
}

h1, h2, h3, h4, h5, h6, dt {
		font-weight: 700;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
		display: block;
		margin: 0;
}

table {
		border-collapse: collapse;
		font-size: small;
		margin: 0;
		empty-cells: show;
}

hr, .areaAnchor, .anchor {
		display: none;
}

img {
		vertical-align: bottom;
		border: none;
		/* img do not want a border */
}

li {
		list-style: none;
}

blockquote, q {
		quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
		content: "";
		content: none;
}

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

small, sub, sup {
		font-size: 0.83em;
}

sub {
		display: inline-block;
		vertical-align: middle;
		transform: translateY(15%);
}

sup {
		display: inline-block;
		vertical-align: middle;
		transform: translateY(-15%);
}

mark {
		font-weight: bold;
		font-style: italic;
		color: #000;
}

del {
		text-decoration: line-through;
}

abbr[title], dfn[title] {
		cursor: help;
		border-bottom: 1px dotted;
}

table {
		border-spacing: 0;
		border-collapse: collapse;
}

/* acronyms and abbreviations styles
-------------------------------------*/
acronym, abbr {
		cursor: help;
}

/* word break
-------------------------------------*/
p {
		word-break: normal;
}

/* image position
-------------------------------------*/
img {
		vertical-align: bottom;
}

/*
===== 2: form setting ===========================
*/
option {
		padding-right: 10px;
}

input, select {
		vertical-align: middle;
}

/*--------------------------------------------------------------- */
/* 全体で使用する common style を記述
/*--------------------------------------------------------------- */
/* Noto Sans JP
font-family: 'Noto Sans JP';
Regular : 400;
Bold : 700;
*/
/* 游ゴシック */
@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 100;
}
@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 200;
}
@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 300;
}
@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 400;
}
@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Bold");
		font-weight: bold;
}
/*-------------------------------------------> font */
.f_def {
		font-weight: 400;
}

.f_light {
		font-weight: 300;
}

.f_bold {
		font-weight: 700;
}

/*-------------------------------------------> html / body style */
html {
		height: 100%;
		background: url(../images/background.png) repeat center top;
}

body {
		width: 100%;
		min-width: 1200px;
		height: 100%;
		color: #5A1D00;
		font-family: "Noto Sans JP", "Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
		font-weight: 700;
		text-align: center;
		overflow-y: scroll;
		overflow-x: auto;
		position: relative;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
}
@media screen and (min-width: 1200px) {
		body {
				overflow-x: hidden;
		}
}
@media screen and (min-width: 769px) {
		body .pc {
				display: block;
		}
		body .sp {
				display: none;
		}
		body img.pc,
body .svg.pc {
				display: inline;
		}
		body > * {
				font-feature-settings: "palt";
		}
}
@media screen and (max-width: 768px) {
		body {
				min-width: initial;
				height: 100%;
		}
		body .pc {
				display: none;
		}
		body .sp {
				display: block;
		}
		body img.pc {
				display: none;
		}
		body img.sp,
body .svg.sp {
				display: inline;
		}
		body img {
				max-width: 100%;
				height: auto;
		}
		body > * {
				font-feature-settings: "palt";
		}
}

.hide {
		display: none;
}

/*-------------------------------------------> link style */
a {
		outline: none;
		cursor: pointer;
}
a:link {
		text-decoration: none;
}
a:visited {
		text-decoration: none;
}
a:hover {
		text-decoration: none;
}
a:active {
		text-decoration: none;
}

@media screen and (min-width: 769px) {
		.OverOpacity,
.OverOpacityGroup a {
				opacity: 1;
				transition: opacity 0.15s ease-out;
		}
		.OverOpacity:hover,
.OverOpacityGroup a:hover {
				opacity: 0.3;
		}
}
/*-------------------------------------------> Footer fix */
#siteFrame {
		position: relative;
		z-index: 10;
		display: flex;
		flex-direction: column;
		min-height: 100%;
		min-width: 1200px;
		width: 100%;
}
@media screen and (max-width: 768px) {
		#siteFrame {
				min-width: initial;
		}
}
#siteFrame .body {
		flex: 1 0 auto;
}
#siteFrame #Footer {
		margin-top: auto;
}

.ie11 body,
.ie11 #siteFrame {
		min-height: initial;
}
.ie11 body #Footer,
.ie11 #siteFrame #Footer {
		margin-top: 0;
}

/*-------------------------------------------> Common style */
.inner {
		width: 1200px;
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
}
@media screen and (max-width: 768px) {
		.inner {
				max-width: initial;
				width: 100%;
				margin-left: 0;
				margin-right: 0;
		}
}

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

/*
.object-fit-img {
	object-fit: contain;
	font-family: 'object-fit: contain;';
}
*/
br.pc {
		display: block;
}
br.pc.sp {
		display: block;
}
br.tab {
		display: none;
}
br.tab.pc {
		display: block;
}
br.tab.sp {
		display: none;
}
br.sp {
		display: none;
}
@media screen and (max-width: 768px) {
		br.pc {
				display: none;
		}
		br.tab {
				display: none;
		}
		br.tab.pc {
				display: none;
		}
		br.tab.sp {
				display: block;
		}
		br.sp {
				display: block;
		}
		br.sp.pc {
				display: block;
		}
}

.taLeft {
		text-align: left !important;
}

.taCenter {
		text-align: center !important;
}

.taRight {
		text-align: right !important;
}

.clearfix:after {
		content: "";
		display: block;
		clear: both;
}

.sectionBlock {
		text-align: center;
}
.sectionBlock .title {
		margin-bottom: 30px;
}
.sectionBlock .read {
		font-size: 16px;
		line-height: 1.75;
		letter-spacing: 0.14em;
		font-weight: 700;
}
.sectionBlock .image {
		display: flex;
		justify-content: space-between;
		margin-left: auto;
		margin-right: auto;
		margin-top: 40px;
}
.sectionBlock .btn {
		margin-top: 55px;
}
@media screen and (min-width: 769px) {
		.sectionBlock .btn a img {
				transition: transform 0.15s ease-out;
				transform: scale(1, 1);
		}
		.sectionBlock .btn a:hover img {
				transform: scale(1.1, 1.1);
		}
}
@media screen and (max-width: 768px) {
		.sectionBlock .title {
				margin-bottom: 4vw;
		}
		.sectionBlock .read {
				font-size: 12px;
				/* legacy */
				font-size: 3.2vw;
				line-height: 1.75;
				letter-spacing: 0.14em;
				font-weight: 700;
		}
		.sectionBlock .image {
				margin-top: 4vw;
		}
		.sectionBlock .btn {
				margin-top: 4.6666666667vw;
		}
		.sectionBlock .btn img {
				width: 71.0666666667vw;
		}
}

/*-------------------------------------------> Header */
#Header {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1000;
		width: 100%;
		height: 100%;
		pointer-events: none;
}
#Header::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background: rgba(255, 255, 255, 0.95);
		position: absolute;
		top: 0;
		left: 0;
		z-index: 100;
		opacity: 0;
		transition: opacity 0.15s ease-out;
		pointer-events: none;
}
#Header #Navi {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		overflow: hidden;
		pointer-events: none;
}
#Header #Navi ul {
		position: relative;
		z-index: 200;
		width: 1128px;
		display: flex;
		flex-direction: column;
		justify-content: space-around;
		align-items: center;
}
#Header #Navi ul li {
		opacity: 0;
		width: 100%;
		transition: opacity 0.5s ease-out;
}
#Header #Navi ul li:nth-child(1) {
		transition-delay: 0.1s;
}
#Header #Navi ul li:nth-child(2) {
		transition-delay: 0.2s;
}
#Header #Navi ul li:nth-child(3) {
		transition-delay: 0.3s;
}
#Header #Navi ul li:nth-child(4) {
		transition-delay: 0.4s;
}
#Header #Navi ul li:nth-child(5) {
		transition-delay: 0.5s;
}
#Header #Navi ul li:nth-child(6) {
		transition-delay: 0.6s;
}
#Header #Navi ul li a {
		width: 100%;
		padding: 15px 0;
		display: flex;
		justify-content: center;
		align-items: center;
}
#Header #Navi ul li + li {
		border-top: solid 1px #00a900;
}
@media screen and (min-width: 769px) {
		#Header #MenuBtn {
				position: absolute;
				top: 10px;
				left: calc(50% + 503px);
				z-index: 500;
				pointer-events: auto;
		}
		#Header #MenuBtn a {
				display: block;
				width: 70px;
		}
		#Header #MenuBtn a.close {
				height: 70px;
				overflow: hidden;
				transition: transform 0.15s ease-out;
		}
		#Header #MenuBtn a.close:hover {
				transform: rotate(180deg);
		}
		#Header #MenuBtn a.open {
				display: none;
		}
}
@media screen and (max-width: 768px) {
		#Header #Navi ul {
				width: 100%;
		}
		#Header #Navi ul li a {
				padding: 1em;
		}
		#Header #Navi ul li:nth-child(1) img {
				width: 29.7333333333vw;
		}
		#Header #Navi ul li:nth-child(2) img {
				width: 67.2vw;
		}
		#Header #Navi ul li:nth-child(3) img {
				width: 25.7333333333vw;
		}
		#Header #Navi ul li:nth-child(4) img {
				width: 54.6666666667vw;
		}
		#Header #Navi ul li:nth-child(5) img {
				width: 43.4666666667vw;
		}
		#Header #Navi ul li:nth-child(6) img {
				width: 15.3333333333vw;
		}
		#Header #MenuBtn {
				position: absolute;
				top: 5.7333333333vw;
				right: 2.4vw;
				z-index: 500;
				pointer-events: auto;
		}
		#Header #MenuBtn a {
				display: block;
				width: 9.3333333333vw;
		}
		#Header #MenuBtn a.close {
				height: 9.3333333333vw;
				overflow: hidden;
				transition: transform 0.15s ease-out;
		}
		#Header #MenuBtn a.open {
				display: none;
		}
}

.MOpen #Header::before {
		opacity: 1;
}
.MOpen #Header #Navi {
		overflow: scroll;
		overflow-x: hidden;
		overflow-y: auto;
		pointer-events: auto;
}
.MOpen #Header #Navi ul li {
		opacity: 1;
}
.MOpen #Header #MenuBtn a.close {
		display: none;
}
.MOpen #Header #MenuBtn a.open {
		display: block;
}
@media screen and (max-width: 768px) {
		.MOpen #Header {
				overflow-x: hidden;
				overflow-y: scroll;
				pointer-events: auto;
		}
}

.MClose #Header #Navi::before {
		transition: opacity 0.3s ease-out;
}
.MClose #Header #Navi ul li {
		transition: opacity 0.3s ease-out;
}
.MClose #Header #Navi ul li:nth-child(1) {
		transition-delay: 0;
}
.MClose #Header #Navi ul li:nth-child(2) {
		transition-delay: 0;
}
.MClose #Header #Navi ul li:nth-child(3) {
		transition-delay: 0;
}
.MClose #Header #Navi ul li:nth-child(4) {
		transition-delay: 0;
}
.MClose #Header #Navi ul li:nth-child(5) {
		transition-delay: 0;
}
.MClose #Header #Navi ul li:nth-child(6) {
		transition-delay: 0;
}

/*-------------------------------------------> Cover */
#Cover {
		height: 1800px;
}
#Cover .title {
		height: 696px;
}
#Cover .read {
		font-size: 16px;
		line-height: 2.9375;
		letter-spacing: 0.04em;
		text-align: center;
		background: url(../images/cover_line.svg) no-repeat top center;
}
@media screen and (max-width: 768px) {
		#Cover {
				height: 202vw;
		}
		#Cover .title {
				height: 74.4vw;
		}
		#Cover .read {
				width: 84.9333333333vw;
				margin-left: auto;
				margin-right: auto;
				font-size: 12px;
				/* legacy */
				font-size: 3.2vw;
				line-height: 2.4166666667;
				letter-spacing: 0.04em;
				text-align: center;
				background: url(../images/cover_line@sp.svg) no-repeat top center;
				background-size: 100% auto;
		}
}

/*-------------------------------------------> Trial */
#Trial {
		height: 1080px;
}
#Trial .inner {
		padding-left: 230px;
		padding-right: 430px;
}
@media screen and (max-width: 768px) {
		#Trial {
				height: 186.6666666667vw;
		}
		#Trial .inner {
				padding-top: 29.0666666667vw;
				padding-left: 6vw;
				padding-right: 6vw;
		}
		#Trial .title img {
				width: 64.5333333333vw;
		}
		#Trial .image img {
				width: 27.7333333333vw;
		}
}

/*-------------------------------------------> Trial */
#Zazen {
		height: 1144px;
}
#Zazen.sectionBlock .image {
		justify-content: center;
}
#Zazen.sectionBlock .btn {
		margin-top: 35px;
}
@media screen and (max-width: 768px) {
		#Zazen {
				height: 109.7333333333vw;
				padding-top: 12vw;
		}
		#Zazen.sectionBlock .title img {
				width: 24.2666666667vw;
		}
		#Zazen.sectionBlock .image img {
				width: 67.8666666667vw;
		}
		#Zazen.sectionBlock .btn {
				margin-top: 4.6666666667vw;
		}
}

/*-------------------------------------------> About */
#About {
		height: 1040px;
}
#About .inner {
		height: 630px;
		padding-left: 100px;
		padding-right: 411px;
		background-image: url(../images/about_bg.png);
		background-repeat: no-repeat;
		background-position: 100px 0px;
		background-size: 689px auto;
}
@media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
		#About .inner {
				background-image: url(../images/about_bg@2x.png);
		}
}
#About ol {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 560px;
		margin-top: 10px;
		margin-left: auto;
		margin-right: auto;
}
@media screen and (min-width: 769px) {
		#About ol li:nth-child(1) {
				margin: 0;
		}
		#About ol li:nth-child(2) {
				margin: 3px 0 0;
		}
		#About ol li:nth-child(3) {
				margin: 3px 0 0;
		}
		#About ol li:nth-child(4) {
				margin: 2px 0 0;
		}
		#About ol li:nth-child(5) {
				margin: 4px 0 0;
		}
		#About ol li:nth-child(6) {
				margin: 3px 0 0;
		}
		#About ol li a {
				display: block;
				animation-duration: 0.3s;
				animation-iteration-count: 1;
				animation-timing-function: linear;
				animation-fill-mode: both;
		}
		#About ol li a:hover {
				animation-name: swing;
				transform-origin: center top;
		}
}
@media screen and (max-width: 768px) {
		#About {
				height: 192.2666666667vw;
		}
		#About .inner {
				width: auto;
				height: 100.6666666667vw;
				margin-left: 4.6666666667vw;
				margin-right: 4.6666666667vw;
				padding-left: 0;
				padding-right: 0;
				background-image: url(../images/about_bg@sp.png);
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 100% auto;
		}
		#About ol {
				width: 84vw;
				margin-top: 2vw;
		}
		#About ol li img {
				width: 26.9333333333vw;
		}
		#About ol li:nth-child(1) {
				margin: 0;
		}
		#About ol li:nth-child(2) {
				margin: 0;
		}
		#About ol li:nth-child(3) {
				margin: 0;
		}
		#About ol li:nth-child(4) {
				margin: 1.2vw 0 0;
		}
		#About ol li:nth-child(5) {
				margin: 1.2vw 0 0;
		}
		#About ol li:nth-child(6) {
				margin: 1.2vw 0 0;
		}
}

/*-------------------------------------------> Whats */
#Whats {
		height: 1430px;
}
#Whats .inner {
		padding-left: 610px;
		padding-right: 130px;
}
#Whats.sectionBlock .btn {
		margin-top: 440px;
}
@media screen and (max-width: 768px) {
		#Whats {
				height: 262.1333333333vw;
		}
		#Whats .inner {
				padding-left: 0;
				padding-right: 0;
		}
		#Whats.sectionBlock .title img {
				width: 43.4666666667vw;
		}
		#Whats.sectionBlock .read {
				margin-bottom: 0;
		}
		#Whats.sectionBlock .image {
				margin-top: 0;
		}
		#Whats.sectionBlock .btn {
				margin-top: 64.9333333333vw;
		}
}

/*-------------------------------------------> Entry */
#Entry {
		position: relative;
		background: url(../images/entry_bg.png) repeat left top;
		margin-top: 76px;
}
#Entry::before, #Entry::after {
		content: "";
		display: block;
		width: 100%;
		height: 25px;
		position: absolute;
		left: 0;
}
#Entry::before {
		background: url(../images/entry_bg_line_top.png) repeat-x left top;
		top: -25px;
}
#Entry::after {
		background: url(../images/entry_bg_line_bottom.png) repeat-x left top;
		bottom: -25px;
}
#Entry .inner {
		background: url(../images/bg_entry_2.png) no-repeat center center;
		background-size: 1200px auto;
		padding-top: 57px;
		padding-bottom: 62px;
}
#Entry .text {
		color: #FFF;
		font-size: 23px;
		line-height: 2.6086956522;
		letter-spacing: 0.04em;
}
#Entry .btn {
		margin-top: 37px;
}
@media screen and (min-width: 769px) {
		#Entry .btn a img {
				transition: transform 0.3s ease-out;
				transform: scale(1, 1);
		}
		#Entry .btn a:hover img {
				transform: scale(1.1, 1.1);
		}
}
@media screen and (max-width: 768px) {
		#Entry {
				position: relative;
				background: url(../images/entry_bg.png) repeat left top;
				background-size: 20px 20px;
				margin-top: 8.2666666667vw;
		}
		#Entry::before, #Entry::after {
				content: "";
				display: block;
				width: 100%;
				height: 2.6666666667vw;
				position: absolute;
				left: 0;
		}
		#Entry::before {
				background: url(../images/entry_bg_line_top.png) repeat-x left top;
				background-size: auto 100%;
				top: -2.6666666667vw;
		}
		#Entry::after {
				background: url(../images/entry_bg_line_bottom.png) repeat-x left top;
				background-size: auto 100%;
				bottom: -2.6666666667vw;
		}
		#Entry .inner {
				background: url(../images/bg_entry_sp.png) no-repeat center center;
				background-size: 100% auto;
				padding-top: 4.6666666667vw;
				padding-bottom: 6.6666666667vw;
		}
		#Entry .text {
				color: #FFF;
				font-size: 14px;
				/* legacy */
				font-size: 3.7333333333vw;
				line-height: 1.6785714286;
				letter-spacing: 0.08em;
		}
		#Entry .btn {
				margin-top: 4.5333333333vw;
		}
		#Entry .btn img {
				width: 71.0666666667vw;
		}
}

/*-------------------------------------------> Link */
#Link {
		width: 100%;
		height: 1470px;
		overflow: hidden;
}
#Link .inner {
		padding-top: 130px;
}
#Link ul {
		width: 578px;
		margin-top: 34px;
		margin-left: auto;
		margin-right: auto;
}
#Link ul li {
		text-align: center;
}
#Link ul li + li {
		margin-top: 10px;
}
#Link ul li.other {
		margin-top: 0;
		padding-top: 54px;
		position: relative;
}
#Link ul li.other::after {
		content: "";
		display: block;
		width: 100%;
		height: 54px;
		position: absolute;
		top: 0;
		left: 0;
		background: url(../images/link_line.png) no-repeat center center;
		background-size: 100% auto;
}
@media screen and (min-width: 769px) {
		#Link ul li a {
				display: inline-block;
				transition: transform 0.3s ease-out;
				transform: translate3d(0, 0, 0);
		}
		#Link ul li a:hover {
				transform: translate3d(10px, 0, 0);
		}
}
@media screen and (max-width: 768px) {
		#Link {
				height: 208.6666666667vw;
		}
		#Link .inner {
				padding-top: 10.6666666667vw;
				background: url(../images/bg_link_sp.png) no-repeat center 0;
				background-size: 100% auto;
		}
		#Link .title img {
				width: 100vw;
		}
		#Link ul {
				width: 100vw;
				margin-top: 5.0666666667vw;
		}
		#Link ul li + li {
				margin-top: 2.6666666667vw;
		}
		#Link ul li.other {
				margin-top: 0;
				padding-top: 9.0666666667vw;
		}
		#Link ul li.other::after {
				height: 9.0666666667vw;
				background: url(../images/link_line_sp.png) no-repeat center center;
				background-size: 100% auto;
		}
}

/*-------------------------------------------> Banner */
#Banner {
		padding-top: 78px;
		padding-bottom: 110px;
}
#Banner ul {
		display: flex;
		justify-content: center;
}
#Banner ul + ul {
		margin-top: 15px;
}
#Banner ul li {
		margin: 0 10px;
}
#Banner ul.bnr_1st img {
		width: auto;
		height: 84px;
}
#Banner ul.bnr_2nd img {
		width: auto;
		height: 72px;
}
@media screen and (max-width: 768px) {
		#Banner {
				padding-top: 7.0666666667vw;
				padding-bottom: 7.7333333333vw;
		}
		#Banner .inner {
				padding-left: 4.1333333333vw;
				padding-right: 4.1333333333vw;
		}
		#Banner ul {
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
		}
		#Banner ul + ul {
				margin-top: 0;
		}
		#Banner ul li {
				margin: 2.4vw 0 0;
		}
		#Banner ul.bnr_1st li {
				margin-left: auto;
				margin-right: auto;
		}
		#Banner ul.bnr_1st img {
				width: 100%;
				height: auto;
		}
		#Banner ul.bnr_2nd img {
				width: 44.5333333333vw;
				height: auto;
		}
		#Banner ul.bnr_2nd li:nth-child(odd) {
				text-align: left;
		}
		#Banner ul.bnr_2nd li:nth-child(even) {
				text-align: right;
		}
}

/*-------------------------------------------> Footer */
#Footer {
		background: #0c4f13;
		padding-top: 28px;
		padding-bottom: 45px;
}
#Footer .navi {
		display: flex;
		justify-content: center;
		font-size: 14px;
		line-height: 1.5;
		letter-spacing: 0.1em;
		margin-top: 15px;
}
#Footer .navi li {
		border-left: solid 1px #FFF;
}
#Footer .navi li + li {
		border-right: solid 1px #FFF;
}
#Footer .navi a {
		display: inline-block;
		padding-left: 30px;
		padding-right: 30px;
		color: #FFF;
}
#Footer .copyright {
		font-size: 12px;
		line-height: 1;
		letter-spacing: 0em;
		color: #6a8b7c;
		margin-top: 25px;
}
@media screen and (max-width: 768px) {
		#Footer {
				padding-top: 3.7333333333vw;
				padding-bottom: 6vw;
		}
		#Footer .logo img {
				width: 43.3333333333vw;
		}
		#Footer .navi {
				font-size: 7px;
				/* legacy */
				font-size: 1.8666666667vw;
				line-height: 1.5;
				letter-spacing: 0.1em;
				margin-top: 2vw;
		}
		#Footer .navi a {
				display: inline-block;
				padding-left: 2em;
				padding-right: 2em;
		}
		#Footer .copyright {
				font-size: 6px;
				/* legacy */
				font-size: 1.6vw;
				line-height: 1;
				letter-spacing: 0em;
				margin-top: 2.6666666667vw;
		}
}

/*-------------------------------------------> Loading */
#Loading {
		display: none;
}

/*-------------------------------------------> BG */
#BG {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1;
}
#BG .inner {
		position: relative;
}
#BG .top {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 6495px;
		background: url(../images/background_top.png) no-repeat top center;
}
@media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
		#BG .top {
				background-image: url(../images/background_top@2x.png);
		}
}
#BG .bottom {
		position: absolute;
		top: 6997px;
		left: 0;
		width: 100%;
		height: 1487px;
		background: url(../images/background_bottom.png) no-repeat top center;
}
@media screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
		#BG .bottom {
				background-image: url(../images/background_bottom@2x.png);
		}
}
#BG .isAnim {
		position: absolute;
}
#BG .anim_cover01 {
		top: 940px;
		left: 209px;
}
#BG .anim_cover02 {
		top: 855px;
		left: 909px;
}
#BG .anim_cover03 {
		top: 1668px;
		left: 208px;
}
#BG .anim_trial01 {
		top: 2099px;
		left: 40px;
}
#BG .anim_trial02 {
		top: 1855px;
		left: 768px;
}
#BG .anim_trial03 {
		top: 2381px;
		left: 621px;
}
#BG .anim_trial04 {
		top: 2659px;
		left: 587px;
}
#BG .anim_zazen01 {
		top: 3096px;
		left: 239px;
}
#BG .anim_zazen02 {
		top: 3515px;
		left: 298px;
}
#BG .anim_zazen03 {
		top: 3805px;
		left: 91px;
}
#BG .anim_zazen04 {
		top: 3846px;
		left: 1018px;
}
#BG .anim_whats01 {
		top: 5319px;
		left: 561px;
}
#BG .anim_whats02 {
		top: 5291px;
		left: 902px;
}
#BG .anim_whats03 {
		top: 5493px;
		left: 563px;
}
#BG .anim_whats04 {
		top: 5456px;
		left: 915px;
}
#BG .anim_whats05 {
		top: 6133px;
		left: 246px;
}
#BG .anim_whats06 {
		top: 6116px;
		left: 379px;
}
#BG .anim_whats07 {
		top: 5951px;
		left: 975px;
}
#BG .anim_link01 {
		top: 584px;
		left: 190px;
}
#BG .anim_link02 {
		top: 509px;
		left: 368px;
}
#BG .anim_link03 {
		top: 378px;
		left: 986px;
}
@media screen and (max-width: 768px) {
		#BG .top {
				height: 953.7333333333vw;
				background: url(../images/background_top@sp.png) no-repeat top center;
				background-size: 100% auto;
		}
		#BG .bottom {
				top: 1020vw;
				height: 207.8666666667vw;
				background: url(../images/background_bottom@sp.png) no-repeat top center;
				background-size: 100% auto;
		}
		#BG .anim_cover01 {
				top: 121.3333333333vw;
				left: 23.4666666667vw;
		}
		#BG .anim_cover01 img {
				width: 5.7333333333vw;
		}
		#BG .anim_cover02 {
				top: 121.6vw;
				left: 74vw;
		}
		#BG .anim_cover02 img {
				width: 5.3333333333vw;
		}
		#BG .anim_cover03 {
				top: 630.8vw;
				left: 10.6666666667vw;
		}
		#BG .anim_cover03 img {
				width: 6.4vw;
		}
		#BG .anim_trial01 {
				top: 202.6666666667vw;
				left: 5.8666666667vw;
		}
		#BG .anim_trial01 img {
				width: 25.3333333333vw;
		}
		#BG .anim_trial02 {
				top: 201.8666666667vw;
				left: 66.9333333333vw;
		}
		#BG .anim_trial02 img {
				width: 28.1333333333vw;
		}
		#BG .anim_trial03 {
				display: none;
		}
		#BG .anim_trial04 {
				display: none;
		}
		#BG .anim_zazen01 {
				top: 388.9333333333vw;
				left: 22.8vw;
		}
		#BG .anim_zazen01 img {
				width: 14vw;
		}
		#BG .anim_zazen02 {
				top: 333.7333333333vw;
				left: 4.1333333333vw;
		}
		#BG .anim_zazen02 img {
				width: 25.4666666667vw;
		}
		#BG .anim_zazen03 {
				top: 3805px;
				left: 91px;
		}
		#BG .anim_zazen03 img {
				width: 0vw;
		}
		#BG .anim_zazen04 {
				top: 3846px;
				left: 1018px;
		}
		#BG .anim_zazen04 img {
				width: 0vw;
		}
		#BG .anim_whats01 {
				top: 731.3333333333vw;
				left: 12.9333333333vw;
		}
		#BG .anim_whats01 img {
				width: 32.2666666667vw;
		}
		#BG .anim_whats02 {
				top: 728.9333333333vw;
				left: 56.6666666667vw;
		}
		#BG .anim_whats02 img {
				width: 32.1333333333vw;
		}
		#BG .anim_whats03 {
				top: 757.3333333333vw;
				left: 8vw;
		}
		#BG .anim_whats03 img {
				width: 32.2666666667vw;
		}
		#BG .anim_whats04 {
				top: 755.3333333333vw;
				left: 61.3333333333vw;
		}
		#BG .anim_whats04 img {
				width: 31.8666666667vw;
		}
		#BG .anim_whats05 {
				top: 838vw;
				left: 25.0666666667vw;
		}
		#BG .anim_whats05 img {
				width: 5.6vw;
		}
		#BG .anim_whats06 {
				top: 894.6666666667vw;
				left: 82vw;
		}
		#BG .anim_whats06 img {
				width: 10.6666666667vw;
				transform: scale(-1, 1);
		}
		#BG .anim_whats07 {
				top: 900.6666666667vw;
				left: 44.4vw;
		}
		#BG .anim_whats07 img {
				width: 4.6666666667vw;
		}
		#BG .anim_link01 {
				display: none;
		}
		#BG .anim_link02 {
				display: none;
		}
		#BG .anim_link03 {
				display: none;
		}
}

/*-------------------------------------------> plugin style */
/*-------------------------------------------> */
.movie a {
		display: block;
		position: relative;
}
.movie a span {
		display: block;
		overflow: hidden;
}
.movie a::after {
		content: "";
		display: block;
		background: rgba(0, 0, 0, 0.3);
		width: 100%;
		height: 100%;
		z-index: 1;
		position: absolute;
		top: 0;
		left: 0;
		pointer-events: none;
}
.movie a::before {
		content: "";
		display: block;
		width: 58px;
		height: 63px;
		background: url(../images/icon_play.svg) no-repeat left top;
		background-size: contain;
		filter: drop-shadow(0px 0px 3px #666);
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate3d(-50%, -50%, 0);
		z-index: 10;
		pointer-events: none;
}
@media screen and (max-width: 768px) {
		.movie a::before {
				width: 6.1333333333vw;
				height: 6.6666666667vw;
		}
}
@media screen and (min-width: 769px) {
		.movie a::after {
				transition: background 0.3s ease-out;
		}
		.movie a img {
				transition: transform 0.3s ease-out;
				transform: scale(1, 1);
		}
		.movie a:hover::after {
				background: rgba(0, 0, 0, 0);
		}
		.movie a:hover img {
				transform: scale(1.1, 1.1);
		}
}

/*-------------------------------------------> flexbox */
.flex {
		display: flex;
}
.flex.column {
		flex-direction: column;
}
@media screen and (max-width: 768px) {
		.flex.sp_column {
				flex-direction: column;
		}
}

/*-------------------------------------------> Loading
#Loading {
	display: block;
	position: fixed;
	justify-content: center;
	align-items: center;
	z-index: 9998;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
	background: $WHITE;
	@include fs(10,10,0);
	.Loading-wrap {
		width: 100%;
		height: 100%;
		background: url(../images/loading.gif) no-repeat center center;
		background-size: 25px 25px;
		text-indent: -9999px;
		.loader {
		}
	}
}
 */
/*-------------------------------------------> BlogCode */
.blogCode {
		font-size: 36px;
		line-height: 1.7777777778;
		letter-spacing: 0em;
		color: #000;
}
.blogCode p,
.blogCode ul,
.blogCode ol,
.blogCode table {
		margin: calc(64/36 * 1em) 0;
}
.blogCode ul,
.blogCode ol {
		margin-left: 1.5em;
}
.blogCode h1,
.blogCode h2,
.blogCode h3,
.blogCode h4,
.blogCode h5,
.blogCode h6 {
		margin-top: calc(64/36 * 1em);
		margin-bottom: calc(64/36 * 0.5em);
		line-height: 1.42;
		font-weight: 700;
}
.blogCode h1,
.blogCode h2,
.blogCode h3 {
		font-size: 28px;
}
.blogCode h4 {
		font-size: 25px;
}
.blogCode h5 {
		font-size: 22px;
}
.blogCode h6 {
		font-size: 19px;
}
.blogCode ul {
		list-style: disc;
}
.blogCode ol {
		list-style: decimal;
}
.blogCode li {
		list-style-position: outside;
}
.blogCode a {
		text-decoration: underline;
		color: #000;
}
@media screen and (min-width: 769px) {
		.blogCode a {
				transition: all 0.15s ease-out;
		}
		.blogCode a:hover {
				text-decoration: none;
		}
}
.blogCode strong,
.blogCode b {
		font-weight: bold;
}
.blogCode img {
		max-width: 100%;
		height: auto;
}
@media screen and (max-width: 768px) {
		.blogCode {
				font-size: 14px;
				/* legacy */
				font-size: 3.7333333333vw;
				line-height: 1.7142857143;
				letter-spacing: 0em;
		}
		.blogCode h1,
.blogCode h2,
.blogCode h3,
.blogCode h4,
.blogCode h5,
.blogCode h6 {
				line-height: 1.42;
		}
		.blogCode h1,
.blogCode h2,
.blogCode h3 {
				font-size: 5.3333333333vw;
		}
		.blogCode h4 {
				font-size: 4.8vw;
		}
		.blogCode h5 {
				font-size: 4.2666666667vw;
		}
		.blogCode h6 {
				font-size: 3.7333333333vw;
		}
}

/* animation
.image {
	animation-delay: 0.3s;
}
&.inView {
	.base, .image {
		animation-name: fadeInUp;
	}
}
*/
/*-------------------------------------------> animation module */
.anim-fadeInUp {
		opacity: 0;
		animation-duration: 0.75s;
		animation-iteration-count: 1;
		animation-timing-function: cubic-bezier(0.67, 0, 0.18, 1);
		animation-fill-mode: both;
}

.inView .isAnim.inView.anim-fadeInUp,
.inView .isAnim.inView .anim-fadeInUp,
.inView .anim-fadeInUp,
.inView.anim-fadeInUp {
		animation-name: fadeInUp;
}

.inView .isAnim.anim-fadeInUp,
.inView .isAnim .anim-fadeInUp {
		animation-name: none;
}

.anim-fadeIn {
		opacity: 0;
		animation-duration: 0.5s;
		animation-iteration-count: 1;
		animation-timing-function: cubic-bezier(0.67, 0, 0.18, 1);
		animation-fill-mode: both;
}

.inView .isAnim.inView.anim-fadeIn,
.inView .isAnim.inView .anim-fadeIn,
.inView .anim-fadeIn,
.inView.anim-fadeIn {
		animation-name: fadeIn;
}

.inView .isAnim.anim-fadeIn,
.inView .isAnim .anim-fadeIn {
		animation-name: none;
}

.anim-popup {
		opacity: 0;
		animation-duration: 0.3s;
		animation-iteration-count: 1;
		animation-timing-function: cubic-bezier(0, 1.22, 0.2, 1.3);
		animation-fill-mode: both;
}

.inView .isAnim.inView.anim-popup,
.inView .isAnim.inView .anim-popup,
.inView .anim-popup,
.inView.anim-popup {
		animation-name: popup;
}

.inView .isAnim.anim-popup,
.inView .isAnim .anim-popup {
		animation-name: none;
}

/* delay */
@media screen and (min-width: 769px) {
		.delay0 {
				animation-delay: 0s;
		}

		.delay1 {
				animation-delay: 0.2s;
		}

		.delay2 {
				animation-delay: 0.4s;
		}

		.delay3 {
				animation-delay: 0.6s;
		}

		.delay4 {
				animation-delay: 0.8s;
		}

		.delay5 {
				animation-delay: 1s;
		}

		.delay6 {
				animation-delay: 1.2s;
		}

		.delay7 {
				animation-delay: 1.4s;
		}

		.delay8 {
				animation-delay: 1.6s;
		}

		.delay9 {
				animation-delay: 1.8s;
		}

		.delay10 {
				animation-delay: 2s;
		}

		.delay11 {
				animation-delay: 2.2s;
		}
}
/*-------------------------------------------> keyframe */
@keyframes fadeInUp {
		from {
				opacity: 0;
				transform: translate3d(0, 20px, 0);
		}
		to {
				opacity: 1;
				transform: none;
		}
}
@keyframes fadeIn {
		from {
				opacity: 0;
		}
		to {
				opacity: 1;
		}
}
@keyframes popup {
		0% {
				opacity: 0;
				transform: scale(0, 0);
		}
		1% {
				opacity: 1;
				transform: scale(0, 0);
		}
		100% {
				opacity: 1;
				transform: scale(1, 1);
		}
}
@keyframes swing {
		0% {
				transform: rotate(6deg);
		}
		40% {
				transform: rotate(-4deg);
		}
		80% {
				transform: rotate(1deg);
		}
		80% {
				transform: rotate(0deg);
		}
}
@keyframes loading {
		from {
				transform: rotate(0deg);
		}
		to {
				transform: rotate(-360deg);
		}
}