@charset "UTF-8";
/*
Site Name: リストーナのゴルフ専門のコンディショニングプログラム
Author: リストーナ（RESTORNA）
Description:
Version: 1.0.1
Updated: 2023-05-29
*/

/* Color Scheme
-----------------------------------------------------

	=THEME COLOR = #274b59

-----------------------------------------------------
*/

@import url(reset.css);

/*
-----------------------------------------------------

	=GLOBAL LAYOUT

-----------------------------------------------------
*/

* {
	margin: 0; padding: 0;
}

*, *:before, *:after {
	-webkit-box-sizing: border-box;
		 -moz-box-sizing: border-box;
			 -o-box-sizing: border-box;
			-ms-box-sizing: border-box;
					box-sizing: border-box;
}

html {
	font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", sans-serif, serif;
	-webkit-font-smoothing: antialiased !important;
	-webkit-text-stroke: 1px transparent;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
	color: #274b59;
	font-size: 10px;
	font-weight: normal;
	line-height: 2.0;
	word-wrap: break-word;
	letter-spacing: 0.05em;
}
/* Firefox
@-moz-document url-prefix() {
	html {
		font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", sans-serif, serif;
	}
} */
/* IE11 */
_:-ms-lang(x)::-ms-backdrop, html {
	font-family: 'Noto Sans JP', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", sans-serif, serif;
}

body {
	font-size: 1.6rem;
}
body::before {
	content: "";
	position: fixed;
	z-index: -99;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
h1, h2, h3, h4, h5, h6, p, pre, dt, dd, li {
	line-height: 2.0;
}
p, ul, ol, dl, table {
	margin-bottom: 2em;
}
p:last-child, ul:last-child, ol:last-child, dl:last-child, table:last-child {
	margin-bottom: 0;
}
table {
	width: 100%;
	border-collapse: collapse;
	line-height: 1.8;
	text-align: left;
}
th, td {
	padding: 1em 1.5em;
	vertical-align: top;
	border: none;
}
th {
	font-weight: bold;
	text-align: justify;
}
tr {
	border-bottom: solid 1px rgba(0,0,0,0.1);
}

hr {
	clear: both;
	border: none;
}
img {
	display: inline-block;
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
a img {
	border: none;
}
a {
	color: #274b59;
	text-decoration: underline;
}
a {
	cursor: pointer;
	-webkit-transition: all ease-out 0.2s;
		 -moz-transition: all ease-out 0.2s;
			-ms-transition: all ease-out 0.2s;
					transition: all ease-out 0.2s;
}
a:hover {
	opacity: 0.5;
	text-decoration: none;
}
/*::selection {
	background-color: rgba(0,0,0,0.25);
}*/

em {}

ol{
	counter-reset: number;
	list-style: none;
}
ol li {
	position: relative;
	padding-left: 2.5em;
}
ol li:not( :last-child ) {
	margin-bottom: 1.5em;
}
ol li::before {
	position: absolute;
	left: 0;
	counter-increment: number;
	content: "("counter(number)")";
	margin: 0 1.0em 0 0;
}
ol li ol:last-child { margin-bottom: 2em; }
ol li ol li::before {
	content: "("counter(number,lower-roman)")";
}
ol li ol li:not( :last-child ) {
	margin-bottom: .5em;
}


strong { font-weight: bold; }
iframe { display: block; max-width: 100%;}
form {}
input[type=text],
input[type=email],
input[type=tel],
input[type=password],
textarea {
	padding: 5px;
	font-size: 16px;
	font-weight: inherit;
	color: inherit;
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
input[type=text],
input[type=email],
input[type=tel],
input[type=password],
textarea,
select {
	background-color: #eee;
	color: #555;
	border: 1px solid #eee;
	line-height: 1;
	vertical-align: middle;
	max-width: 100%;
	border-radius: 5px;
}
textarea {}
input[type=text] { margin-bottom: 0.5em; }
input[type=text]:last-child { margin-bottom: 0; }
input[type=email] {}
input[type=submit] { cursor: pointer;}
input[type=text]:focus,
textarea:focus {
	color: #555;
}
form ul { margin: 0 !important; padding: 0 !important; border: none !important;}
form ul li { display: inline-block !important;}
form label { margin-right: 1.4em;}
form input[type*="submit"] {
	display: block;
	width: 100%;
	max-width: 300px;
	margin: 0 auto 20px;
	padding: 1em 2em;
	border: none;
	background-color: #e45539;
	color: #fff;
	font-size: 1.0em;
	font-weight: bold;
	text-align: center;
	border-radius: 5px;
	cursor: pointer;
	-webkit-transform: translate3d(0,0,0);
		 -moz-transform: translate3d(0,0,0);
			-ms-transform: translate3d(0,0,0);
					transform: translate3d(0,0,0);
	-webkit-transition: all ease-out 0.1s;
		 -moz-transition: all ease-out 0.1s;
			-ms-transition: all ease-out 0.1s;
					transition: all ease-out 0.1s;
}
form input[type*="submit"]:hover {
	opacity: 0.7;
}
::placeholder {
	color: #ddd;
}



/*
-----------------------------------------------------

	=GLOBAL STYLE

-----------------------------------------------------
*/

#container {
	overflow: hidden;
}

.wrapper {
	width: 1200px;
	max-width: 100%;
	margin: auto;
}
.wrapper-min { width: 800px;}
.wrapper-1120 { width: 1120px;}
.wrapper-1000 { width: 1000px;}
.wrapper-960 { width: 960px;}
.wrapper-800 { width: 800px;}
.wrapper-720 { width: 720px;}

#cont {}
#main {}
#main main {}


/*
-----------------------------------------------------

	=MEDIA QUERIES RESPONSIVE STRUCTURE

-----------------------------------------------------
*/

/* DESKTOP
----------------------------------------------------- */
@media screen and (min-width: 600px) {
	.sp { display: none !important; }

	body {
		min-width: 1200px;
	}
}

/* SMARTPHONE
----------------------------------------------------- */
@media screen and (min-width: 0px) and (max-width: 599px) {
	.pc { display: none !important;}

	html { 
		font-size: 10px; 
	}
	body { 
		font-size: 1.2rem; 
		letter-spacing: 0;
	}

	/* APPERANCE
	--------------------------------------------------*/
	input[type="button"],
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="submit"],
	select {
		-webkit-appearance: none;
		border-radius: 0;
	}

	iframe {
		width: 100%; 
		max-height: 240px;
	}
	th, td {
		font-size: 1.2rem;
		padding: 1em 0.5em;
	}

	/* =GLOBAL STYLE
	-------------------------------------------------- */
	.wrapper {
		width: auto;
		padding: 0 6.25vw;
		margin: auto;
	}
}

/*
-----------------------------------------------------

 	=PRELOADER (imagesloaded.pkgd.min.js)

-----------------------------------------------------
*/

.js-imageloaded {}
.js-imageloaded.loaded {}

/* =ANIMATION (jquery.inview.js)
----------------------------------------------------- */
.js-inview {
		-webkit-transition: 1s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
			 -moz-transition: 1s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
				-ms-transition: 1s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
				 -o-transition: 1s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
						transition: 1s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
}

.js-inview.inview-fadein {
	opacity: 0;
}
.js-inview.inview-fadein.is-show { 
	opacity: 1; 
}

.js-inview.inview-zoomin {
	opacity: 0;
	transform: scale(1.3);
	-webkit-transform: scale(1.3);
	-moz-transform: scale(1.3);
	-ms-transform: scale(1.3);
	-o-transform: scale(1.3);
	filter: blur(5px);
	-webkit-filter: blur(5px);
	-moz-filter: blur(5px);
	-ms-filter: blur(5px);
	-o-filter: blur(5px);
}
.js-inview.inview-zoomin.is-show {
	opacity: 1;
	filter: blur(0);
	-webkit-filter: blur(0);
	-moz-filter: blur(0);
	-ms-filter: blur(0);
	-o-filter: blur(0);
	transform: scale(1);
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1); 
}
.js-inview.inview-zoom {
	transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-webkit-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-moz-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-ms-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-o-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;

	opacity: 0;
	transform: scale(0.9);
	-webkit-transform: scale(0.9);
	-moz-transform: scale(0.9);
	-ms-transform: scale(0.9);
	-o-transform: scale(0.9);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	-o-backface-visibility: hidden;
}
.js-inview.inview-zoom.is-show {
	opacity: 1;
	transform: scale(1);
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
}

.js-inview.inview-blur {
	opacity: 0;
	filter: blur(100px);
	-webkit-filter: blur(100px);
	-moz-filter: blur(100px);
	-ms-filter: blur(100px);
	-o-filter: blur(100px);
}
.js-inview.inview-blur.is-show {
	opacity: 1;
	filter: blur(0);
	-webkit-filter: blur(0);
	-moz-filter: blur(0);
	-ms-filter: blur(0);
	-o-filter: blur(0);
}

.js-inview.inview-floatup {
	transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
	-webkit-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
	-moz-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
	-ms-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
	-o-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;

	opacity: 0;
	transform: translate3d(0px, 200px, 0px);
	-webkit-transform: translate3d(0px, 200px, 0px);
	-moz-transform: translate3d(0px, 200px, 0px);
	-ms-transform: translate3d(0px, 200px, 0px);
	-o-transform: translate3d(0px, 200px, 0px);
}
.js-inview.inview-floatup.is-show {
	opacity: 1;
	transform: translate3d(0px, 0, 0px);
	-webkit-transform: translate3d(0px, 0, 0px);
	-moz-transform: translate3d(0px, 0, 0px);
	-ms-transform: translate3d(0px, 0, 0px);
	-o-transform: translate3d(0px, 0, 0px);
}
.js-inview.inview-floatintoright {
	transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-webkit-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-moz-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-ms-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-o-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;

	opacity: 0;
	transform: translate3d(-40px, 0px, 0px);
	-webkit-transform: translate3d(-40px, 0px, 0px);
	-moz-transform: translate3d(-40px, 0px, 0px);
	-ms-transform: translate3d(-40px, 0px, 0px);
	-o-transform: translate3d(-40px, 0px, 0px);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	-o-backface-visibility: hidden;
}
.js-inview.inview-floatintoright.is-show {
	opacity: 1;
	transform: translate3d(0px, 0, 0px);
	-webkit-transform: translate3d(0px, 0, 0px);
	-moz-transform: translate3d(0px, 0, 0px);
	-ms-transform: translate3d(0px, 0, 0px);
	-o-transform: translate3d(0px, 0, 0px);
}
.js-inview.inview-floatintoleft {
	transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-webkit-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-moz-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-ms-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;
	-o-transition: 1.6s cubic-bezier(0.19, 1, 0.22, 1) 0.4s;

	opacity: 0;
	transform: translate3d(40px, 0px, 0px);
	-webkit-transform: translate3d(40px, 0px, 0px);
	-moz-transform: translate3d(40px, 0px, 0px);
	-ms-transform: translate3d(40px, 0px, 0px);
	-o-transform: translate3d(40px, 0px, 0px);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	-o-backface-visibility: hidden;
}
.js-inview.inview-floatintoleft.is-show {
	opacity: 1;
	transform: translate3d(0px, 0, 0px);
	-webkit-transform: translate3d(0px, 0, 0px);
	-moz-transform: translate3d(0px, 0, 0px);
	-ms-transform: translate3d(0px, 0, 0px);
	-o-transform: translate3d(0px, 0, 0px);
}


/*
-----------------------------------------------------

	=HEADER

-----------------------------------------------------
*/

/* =HEADER
----------------------------------------------------- */
#cont {
	padding-top: 150px;
}
.header-global {
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	padding: 0;
	width: 100%;
	background-color: #fff;
}

.header-global,
.header-global * {
	-webkit-transition: all ease-out 0.2s;
	-moz-transition: all ease-out 0.2s;
	-ms-transition: all ease-out 0.2s;
	transition: all ease-out 0.2s;
}

.header-global>.inner {
	padding: 35px 40px;
	align-items: center;
	-webkit-transition: all ease-out 0.2s;
	-moz-transition: all ease-out 0.2s;
	-ms-transition: all ease-out 0.2s;
	transition: all ease-out 0.2s;
}
.header-global>.inner .header-left {}
.header-global>.inner .header-right {}
.header-global>.inner .header-left {}
.header-global>.inner .header-right .nav-pc {}
.header-global>.inner .header-right .nav-sp {}
.header-global>.inner .header-left .logo {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 203px;
	margin-left: 20px;
}
.header-global>.inner .header-right .nav-pc ul.nav-main li a {}
.header-global>.inner .header-right .nav-pc ul.nav-main li a:hover {}

/* TELボタン・お問い合わせボタンなど（ページ内共通） */
.button-tel {
	display: block;
	color: inherit;
	text-align: center;
	text-decoration: none;
}
.button-tel .inner-text {}
.button-tel .inner-text .text {
	display: block;
	line-height: 1.3;
}
.button-tel .inner-text .text01 {
	font-size: 1.5rem;
	font-weight: bold;
}
.button-tel .inner-text .text02 {
	display: inline-block;
	font-size: 3.4rem;
	font-family: futura-pt, sans-serif;
	font-weight: 600;
	padding-left: 30px;
	background: url(assets/images/icon-tel.webp) no-repeat left center;
	background-size: 24px auto;
}
.button-tel .inner-text .text03 {
	font-size: 1.0rem;
}
/* お問い合わせボタン（スマホでは追従型で使用） */
.button-join {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 0 2em;
	max-width: 280px;
	height: 80px;
	background-color: #279d99;
	color: #fff;
	font-size: 2.0rem;
	border-radius: 3em;
	text-transform: uppercase;
	text-decoration: none;
	-webkit-transition: all ease-out 0.2s;
	   -moz-transition: all ease-out 0.2s;
	    -ms-transition: all ease-out 0.2s;
	        transition: all ease-out 0.2s;
}
.button-join .inner-text {}
.button-join .inner-text .text {
	display: block;
	line-height: 1.3;
}
.button-join .inner-text .text01 {
	font-size: 1.5rem;
	opacity: 0.75;
}
.button-join .inner-text .text02 {
	font-size: 2.0rem;
	font-weight: bold;
}
.button-join:hover {
	opacity: 1;
	background-color: #56beba;
}
@media screen and (min-width: 600px) {
	.button-join.min {
		padding: 1.0em 1em;
		width: 200px;
	}
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.button-join {
		max-width: 100%;
		min-width: 200px;
		font-size: 1.4rem;
	}
}


/* 画面スクロール時 */
.scrolled .header-global {
	background-color: #fff;
}
.scrolled .header-global>.inner .header-left .logo img {}
.scrolled .header-global>.inner .header-left .logo:after {}
.scrolled .header-global>.inner .header-right .nav-pc ul.nav-main li,
.scrolled .header-global>.inner .header-right .nav-pc ul.nav-main li a {}

@media screen and (min-width: 600px) {
	#cont {}
	/* 画面スクロール時 */
	.scrolled .header-global {
		height: auto;
	}
	.scrolled .header-global>.inner {
		padding: 25px 40px;
	}
}

@media screen and (min-width: 0px) and (max-width: 599px) {
	#cont {
		padding-top: 60px;
	}
	.top #cont {
		padding-top: 0;
	}
	.header-global {
		height: 60px;
	}
	.scrolled .header-global {
		background-color: #eef4f4;
		background-color: #fff;
	}
	.header-global>.inner {
		padding: 0 6.25vw;
		height: 100%;
	}
	.header-global>.inner .header-left {
		width: 100%;
		padding: 0;
	}
	.header-global>.inner .header-right {}
	.header-global>.inner .header-left .logo {
		width: 120px;
		margin-left: 0;
		max-width: 100%;
	}
	/* 画面スクロール時 */
	.scrolled .header-global {}
}

/*
-----------------------------------------------------

	=NAVIGATION - PC

-----------------------------------------------------
*/

@media screen and (min-width: 600px) {

	/* =NAVIGATION - PC
	----------------------------------------------------- */
	.nav-pc {
		margin: 0 0 0 2em;
	}
	.nav-pc * {
		-webkit-transition: all ease-out 0.2s;
		   -moz-transition: all ease-out 0.2s;
		    -ms-transition: all ease-out 0.2s;
		        transition: all ease-out 0.2s;
	}
	.nav-pc ul.nav-main {
		letter-spacing: 0;
		font-size: 0;
	}
	.nav-pc ul.nav-main li {
		display: inline-block;
		vertical-align: middle;
	}
	.nav-pc ul.nav-main li:not(:last-child) {
		margin: 0 25px 0 0;
	}
	.nav-pc ul.nav-main li a:not(:last-child) {
		position: relative;
		display: block;
		color: inherit;
		line-height: 1;
		text-decoration: none;
	}
	.nav-pc ul.nav-main li a:not(:last-child):hover {
		opacity: 1;
	}
}

@media screen and (min-width: 600px) and (max-width: 1439px) {
	.nav-pc ul.nav-main li {
		font-size: 1.6rem;
	}
	.nav-pc ul.nav-main li:not(:last-child) {
		margin: 0 1.75em 0 0;
	}
}

/*
-----------------------------------------------------

	=NAVIGATION - SP

-----------------------------------------------------
*/

@media screen and (min-width: 0px) and (max-width: 599px) {

	/* =NAVIGATION - SP
	----------------------------------------------------- */
	.nav-sp {
		position: fixed;
		z-index: 9992;
		top: 0;
		left: 0;
		bottom: auto;
		width: 80vw;
		height: 100vh;
		padding: 0;
		border-radius: 0;
		background-color: transparent;
		background-color: rgba(255, 255, 255, 1);
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		-webkit-transform: translate3d(0, -100%, 0);
		-moz-transform: translate3d(0, -100%, 0);
		-ms-transform: translate3d(0, -100%, 0);
		transform: translate3d(0, -100%, 0);
		-webkit-transition: opacity ease-out 0.25s;
		-moz-transition: opacity ease-out 0.25s;
		-ms-transition: opacity ease-out 0.25s;
		transition: opacity ease-out 0.25s;
		opacity: 0;
	}
	.nav-sp.on {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		   -moz-transform: translate3d(0, 0, 0);
		    -ms-transform: translate3d(0, 0, 0);
		        transform: translate3d(0, 0, 0);
	}
	.nav-sp.on .inner {}
	.nav-sp .inner {
		padding: 6.25vw;
	}
	.nav-sp .inner .logo {
		margin: 0 0 6.25vw;
	}
	.nav-sp ul.nav-main {
		margin: 0 0 0 0;
	}
	.nav-sp ul.nav-main li:not(:last-child) {
		margin: 0 0 1.5em 0;
	}
	.nav-sp ul.nav-main li {
	}
	.nav-sp ul.nav-main li a:not(:last-child) {
		display: block;
		line-height: 1;
		color: inherit;
		text-decoration: none;
	}
	.nav-sp ul.nav-main li a:not(:last-child):hover {
		opacity: 0.25;
	}
	.nav-sp ul.nav-main ul {
		margin: 1.5em 0 0 0;
	}
	.nav-sp ul.nav-main ul li {
		margin: 1.5em 0 0 0;
		position: relative;
		padding-left: 1em;
	}
	.nav-sp ul.nav-main ul li:before {
		position: absolute;
		left: 0.25em;
		top: -0.5em;
		content: "-";
		color: #666;
	}

	/* =TOGGLER
	----------------------------------------------------- */
	ul.nav-icon {
		position: fixed;
		z-index: 9999;
		top: 0;
		right: 0;
		margin: 0;
		padding: 0;

		text-align: right;
		font-size: 0;
		letter-spacing: 0;
	}

	ul.nav-icon li {
		display: inline-block;
		vertical-align: top;
		z-index: 9999;
		top: 0;
		right: 6.25vw;
		width: 70px;
		height: 50px;
		border-radius: 0;
		background-color: #f0f5f2;
		text-align: center;
		-webkit-transition: all ease-out 0.4s;
			 -moz-transition: all ease-out 0.4s;
				-ms-transition: all ease-out 0.4s;
						transition: all ease-out 0.4s;
		cursor: pointer;
	}
	ul.nav-icon li:not( :last-child ) {
		margin-right: 0;
	}
	ul.nav-icon li a {
		display: block;
		text-decoration: none;
	}
	ul.nav-icon li.toggler {
		padding: 22px 0;
		background-color: transparent;
	}
	.scrolled ul.nav-icon li.toggler {}
	ul.nav-icon li.toggler a.trigger-bars {
		display: inline-block;
	}
	a.trigger-bars,
	a.trigger-bars span {
		box-sizing: border-box;
		display: inline-block;
		-webkit-transition: all ease-out 0.4s;
			 -moz-transition: all ease-out 0.4s;
				-ms-transition: all ease-out 0.4s;
						transition: all ease-out 0.4s;
	}
	a.trigger-bars {
		position: relative;
		z-index: 9999;
		width: 28px;
		height: 16px;
		color: #000000;
	}
	a.trigger-bars::after {
		position: absolute;
		width: 200%;
		left: -50%;
		top: 27px;
		display: block;
		letter-spacing: 0em;
		font-size: 1.0rem;
		font-weight: bold;
		text-transform: uppercase;
		line-height: 1;
	}
	a.trigger-bars span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #005aff;
		border-radius: 0;
		-webkit-transition: all ease-out 0.14s;
			 -moz-transition: all ease-out 0.14s;
				-ms-transition: all ease-out 0.14s;
						transition: all ease-out 0.14s;
	}
	.scrolled a.trigger-bars span,
	.sub a.trigger-bars span { background-color: #005aff; }
	a.trigger-bars span:nth-of-type(1) { top: 0;}
	a.trigger-bars span:nth-of-type(2) { top: 7px;}
	a.trigger-bars span:nth-of-type(3) { bottom: 0;}

	/*ul.nav-icon li.toggler.active { background-color: #fff;}*/
	.active a.trigger-bars { color: #005aff;}
	.active a.trigger-bars span { background-color: #005aff; }

	.active a.trigger-bars span:nth-of-type(1) {
		-webkit-transform: translateY(7px) rotate(-45deg);
						transform: translateY(7px) rotate(-45deg);
	}
	.active a.trigger-bars span:nth-of-type(2) {
		opacity: 0;
	}
	.active a.trigger-bars span:nth-of-type(3) {
		-webkit-transform: translateY(-7px) rotate(45deg);
						transform: translateY(-7px) rotate(45deg);
	}

	/* TOGGLER NAVIGATION - CONTACT */
	ul.nav-icon li.tel {
		margin: 5px 5px 5px 0;
		padding: 4px 0;
		border-radius: 5px;
		background-color: #eef4f4;
		background-color: #dde6e6;
	}
	ul.nav-icon li.tel a {
		position: relative;
	}
	ul.nav-icon li.tel a span {
		display: block;
		position: absolute;
		width: 200%;
		left: -50%;
		top: 27px;
		letter-spacing: 0em;
		font-size: 1.0rem;
		font-weight: bold;
		text-transform: uppercase;
		line-height: 1;
	} 
	ul.nav-icon li.tel a i.icon {
		display: inline-block;
		vertical-align: baseline;
		width: 22px;
		height: 22px;
		background: url(assets/images/icon-tel.webp) no-repeat center;
		background-size: contain;
	}
}


/*
-----------------------------------------------------

	=COMMON PARTS

-----------------------------------------------------
*/


/* =SECTION
----------------------------------------------------- */
.anchor {
	visibility: hidden;
	height: 0;
	display: block;
	padding-top: 160px;
	margin-top: -160px;
}
.block:not( :last-child ) {
	margin-bottom: 120px;
}
.section {
	padding: 120px 0;
}

hr {
	clear: both;
	border: none;
	height: 60px;
}
hr.sep {
	background-color: #dcdcdc;
	height: 1px;
}
hr.hr-border {
	margin: 2em auto;
	height: 1px;
	background-color: #dcdcdc;
}

.section-header {
	text-align: center;
}

@media screen and (min-width: 0px) and (max-width: 599px) {
	.block:not( :last-child ) {
		margin: 0 auto 6.25vw;
	}
	.section {
		padding: 6.25vw 0;
	}
	hr {
		height: 6.25vw; 
	}
	hr.hr-border {
		margin: 3.125vw auto;
	}
}

/* =HEADING
----------------------------------------------------- */
.title-english {
	margin: 0 0 0.25em;
	font-family: futura-pt, sans-serif;
	font-size: 8.0rem;
	font-weight: bold;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}
.title-japanese {
	margin: 0 0 0.35em;
	font-size: 4.0rem;
	font-weight: bold;
	letter-spacing: 0em;
	line-height: 1.8;
}
.title-20 {
	margin: 0 0 0.65em;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 2.0;
	letter-spacing: 0.05em;
}
.title-32 {
	margin: 0 0 0.35em;
	font-size: 3.2rem;
	font-weight: bold;
	letter-spacing: 0em;
	line-height: 1.8;
}
.title-32 em {
	display: block;
	color: #56beba;
	font-family: futura-pt, sans-serif;
	font-size: 2.0rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.title-32.underline>* {
	display: inline-block;
	padding-bottom: 0.25em;
	border-bottom: solid 1px #274b59;
}
.title-24 {
	margin: 0 0 0.65em;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.8;
}
.title-section {
	margin: 0 0 50px;
	text-align: center;
}
.title-section .english,
.title-section .japanese {
	display: block;
}
.title-section .english {
	font-family: futura-pt, sans-serif;
	font-size: 5.4rem;
	font-weight: bold;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}
.title-section .japanese {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.8;
}

@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.title-english {
		font-size: 4.0rem;
	}
	.title-japanese {
		font-size: 2.4rem;
	}
	.title-20 {
		font-size: 1.1em;
	} 
	.title-32 {
		font-size: 1.7rem;
		line-height: 1.5;
	}
	.title-32 em {
		font-size: 1.0rem;
	}
	.title-24 {
		font-size: 1.2em;
		line-height: 1.7;
	}
	.title-section {
		margin: 0 0 3.25vw;
	}
	.title-section .english {
		font-size: 2.8rem;
	}
	.title-section .japanese {
		font-size: 1.1em;
	}
}


.title-reveal {
	margin: 0 0 0.5em;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.5;
}
.title-reveal>*,
.title-reveal>*::after {
	animation-delay: 0 2s;
	animation-iteration-count: 1;
	animation-duration: 800ms;
	animation-fill-mode: both;
	animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
}
.title-reveal>* {
	--animation-delay: 0;
	--animation-duration: 800ms;
	--animation-iterations: 1;
	position: relative;
	white-space: nowrap;
	cursor: default;

	display: inline-block;
	margin: 0 0 0.25em;
	padding: 0.1em 0.5em;
	background-color: #fff;
	color: #274b59;
  	opacity: 0;
}
.title-reveal.is-show>* {
	animation-name: clip-text;
}
.title-reveal>*::after {
	content: "";
	position: absolute;
	z-index: 999;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fff;
	transform: scaleX(0);
	transform-origin: 0 50%;
	pointer-events: none;
}
.title-reveal.is-show>*::after {
	animation-name: text-revealer;
}
@keyframes clip-text {
  from {
  	opacity: 0;
    clip-path: inset(0 100% 0 0);
  }
  to {
  	opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}
@keyframes text-revealer {
  0%, 50% {
    transform-origin: 0 50%;
  }
  60%, 100% {
    transform-origin: 100% 50%;   
  }
  60% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(0);
  }
}
@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.title-reveal {
		font-size: 1.2em;
	}
	.title-reveal>* {}
}

/* =BUTTON
----------------------------------------------------- */
ul.list-button {
	font-size: 0;
	letter-spacing: 0;
	text-align: center;
}
ul.list-button li {
	display: inline-block;
	vertical-align: top;
	margin: 0 10px 10px 0;
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	ul.list-button li {
		display: block;
	}
}

/* =OTHER PARTS
----------------------------------------------------- */
.typography {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	font-family: futura-pt, sans-serif;
	font-size: 30.0rem;
	font-weight: bold;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
	/*text-shadow: 0px 0px 1px #274b59;
	color: #dde6e6;*/
	-webkit-text-stroke: 1px #274b59;
	text-stroke: 1px #274b59;
	color: transparent;
	opacity: 0.25;
}

@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.typography {
		font-size: 18.0rem;
	}
}


/*
-----------------------------------------------------

	=FIRSTVIEW

-----------------------------------------------------
*/
.top-fv {
	position: relative;
	z-index: 3;
	width: 100%;
	height: auto;
	background: url(assets/images/object-loops-top-fv.webp) no-repeat bottom -380px center;
	background-size: auto 1280px;
}
.top-fv .inner {
	position: relative;
}

/* FIRSTVIEW - IMAGE */
.top-fv .hero {
	position: absolute;
	z-index: 2;
	top: -180px;
	left: 500px;
	width: 988px;
	height: auto;
}

/* FIRSTVIEW - CONTENT */
.top-fv .content {
	position: relative;
	z-index: 3;
}
.top-fv .content .tagline {}
.top-fv .content .tagline .mvvss {}
.top-fv .content .tagline .text {
	margin: 0 0 40px;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: -0.05em;
}
.top-fv .content .tagline .text01 {
	font-size: 2.4rem;
}
.top-fv .content .tagline .text02 {
	font-size: 4.0rem;
	line-height: 1.5;
}
.top-fv .content .tagline ul.list-checklist {}
ul.list-checklist {}
ul.list-checklist li {
	margin: 0 0 0;
	padding-left: 20px;
	line-height: 1.8;
	background: url(assets/images/icon-checklist.webp) no-repeat center left;
	background-size: 11px auto;
}
.top-fv ul.list-checklist {
	margin: 0 0 60px;
}
.top-fv .button {
	position: relative;
	display: inline-block;
	margin: 20px 0 40px;
}
.top-fv .button ul {
	font-size: 0;
	letter-spacing: 0;
}
.top-fv .button>.speaker {
	position: absolute;
	top: -50px;
	width: 100%;
	text-align: center;
	color: #274b59;
	line-height: 1;
}
/*.top-fv .button ul li {
	display: inline-block;
	vertical-align: top;
	margin: 0 40px 0 0;
	display: block;
	margin: 0 0 60px 0;
}*/
.top-fv .button ul li {
	display: inline-block;
	vertical-align: top;
	margin: 0 15px 0 0;
}
/*
.title-speaker {
	margin-bottom: 2em;
	text-align: center;
}
.title-speaker > * {
	position: relative;
	display: inline-block;
	padding: 0 1em;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.0em;
}
.title-speaker > *::before,
.title-speaker > *::after {
	content: "";
	width: 0.125rem;
	height: 100%;
	background-color: #274b59;
	position: absolute;
	top: 0;
}
.title-speaker > *::before {
	left: 0;
	-webkit-transform: rotate(-25deg);
	-ms-transform: rotate(-25deg);
	transform: rotate(-25deg);
}
.title-speaker > *::after {
	right: 0;
	-webkit-transform: rotate(25deg);
	-ms-transform: rotate(25deg);
	transform: rotate(25deg);
}
*/
.title-speaker {
	position: relative;
	display: block;
	margin-bottom: 1em;
}
.title-speaker > * {
	position: relative;
	display: inline-block;
	padding: 0 1em;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.0em;
}
.title-speaker.big > * {
	font-size: 1.4em;
}
.title-speaker > *::before,
.title-speaker > *::after {
	content: "";
	width: 0.125rem;
	height: 100%;
	background-color: #274b59;
	position: absolute;
	top: 0;
}
.title-speaker > *::before {
	left: 0;
	-webkit-transform: rotate(-25deg);
	-ms-transform: rotate(-25deg);
	transform: rotate(-25deg);
}
.title-speaker > *::after {
	right: 0;
	-webkit-transform: rotate(25deg);
	-ms-transform: rotate(25deg);
	transform: rotate(25deg);
}
.campaign-attention {}
.campaign-attention p {
	margin-bottom: 1em;
}
.text-note {
	color: #888;
	font-size: 1.2rem;
	line-height: 1.6;
}
a.link-underline {
	color: #274b59;
	font-weight: bold;
}
a.link-campaign {
	display: inline-block;
	padding-left: 52px;
	padding-bottom: 8px;
	border-bottom: solid 2px #279d99;
	background: url(assets/images/icon-campaign.webp) no-repeat left center;
	background-size: 40px auto;
	color: #274b59;
	color: #279d99;
	font-size: 1.35em;
	font-weight: bold;
	text-decoration: none;
}

@media screen and (min-width: 600px) {
	.top-fv {
		min-height: 720px;
	}
	.top-fv .section {
		padding-bottom: 160px;
	}
}

@media screen and (min-width: 0px) and (max-width: 599px) {
	.top-fv {
		background-position: bottom -40vh center;
		background-size: auto 120vh;
	}
	.top-fv .hero {
		position: absolute;
		z-index: -2;
		top: -21vw;
		top: -11vw;
		left: auto;
		right: -160px;
		width: calc(64% + 80px);
		height: auto;
	}
	.top-fv .content {}
	.top-fv .content .tagline .mvvss {
		margin-top: 13vw;
		margin-top: 3vw;
	}
	.top-fv .content .tagline .mvvss img {
		zoom: 0.25;
	}
	.top-fv .content .tagline .text {
		margin: 0 0 20px;
	}
	.top-fv .content .tagline .text01 {
		font-size: 1.2rem;
	}
	.top-fv .content .tagline .text02 {
		font-size: 1.9rem;
	}
	/*
	.top-fv .content .button {
		margin: 13vw 0;
	}
	.top-fv .button ul li {
		margin: 0 0 40px 0;
	}*/
	.top-fv .content .button {
		width: 100%;
		margin: 10px 0 10px 0;
	}
	.top-fv .button ul li {
		display: block;
		margin: 0 0 5px 0;
	}
	.top-fv .button>.speaker {
		top: -40px;
		text-align: left;
	}
	.text-note {
		font-size: .9rem;
	}
	a.link-campaign {
		padding-left: 28px;
		padding-bottom: 3px;
		border-bottom: solid 2px #279d99;
		background-size: 22px auto;
	}
}
.button-more {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 0 2em;
	width: 240px;
	max-width: 100%;
	height: 70px;
	background-image: -moz-linear-gradient( 120deg, rgb(86,190,186) 0%, rgb(39,157,153) 100%);
	background-image: -webkit-linear-gradient( 120deg, rgb(86,190,186) 0%, rgb(39,157,153) 100%);
	background-image: -ms-linear-gradient( 120deg, rgb(86,190,186) 0%, rgb(39,157,153) 100%);
	background-color: #279d99;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	border-radius: 3em;
	text-transform: uppercase;
	text-decoration: none;
	-webkit-transition: all ease-out 0.2s;
	   -moz-transition: all ease-out 0.2s;
	    -ms-transition: all ease-out 0.2s;
	        transition: all ease-out 0.2s;
}
.button-more>* {
	display: block;
	width: 100%;
	background: url(assets/images/icon-arrow-right-white.webp) no-repeat right center;
	background-size: 18px auto;
}
@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.button-more {
		width: 240px;
		height: 50px;
		font-size: 1.6rem;
	}
	.button-more>* {
		background-size: 12px auto;
	}
}
.button-action {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	margin: 40px 0 0;
	padding: 0 0;
	padding-left: 30px;
	width: 450px;
	height: 90px;
	background-color: #279d99;
	background-image: -moz-linear-gradient( 120deg, rgb(86,190,186) 0%, rgb(39,157,153) 100%);
	background-image: -webkit-linear-gradient( 120deg, rgb(86,190,186) 0%, rgb(39,157,153) 100%);
	background-image: -ms-linear-gradient( 120deg, rgb(86,190,186) 0%, rgb(39,157,153) 100%);
	color: #fff;
	font-size: 2.0rem;
	border-radius: 3em;
	text-transform: uppercase;
	text-decoration: none;
	-webkit-transition: all ease-out 0.2s;
	   -moz-transition: all ease-out 0.2s;
	    -ms-transition: all ease-out 0.2s;
	        transition: all ease-out 0.2s;
}
.button-action .speaker {
	position: absolute;
	top: -1.6em;
	color: #274b59;
	line-height: 1;
}
.button-action .balloon {
	position: absolute;
	z-index: 2;
	bottom: -15px;
	left: -15px;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background-color: #274b59;
	color: #fff;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.button-action .balloon .text {
	display: block;
	line-height: 1.1;
	letter-spacing: -0.05em;
}
.button-action .balloon .text01 {}
.button-action .balloon .text02 {
	font-size: 2em;
	font-weight: 300;
}
.button-action .balloon .shopname {
	font-size: 1.2em;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.button-action .main {}
.button-action .main .inner-text {}
.button-action .main .inner-text .text {
	display: block;
	line-height: 1.5;
}
.button-action .main .inner-text .text01 {
	font-size: 1.5rem;
	opacity: 0.75;
}
.button-action .main .inner-text .text02 {
	font-size: 2.2rem;
	font-weight: bold;
}
.button-action .speaker {
	position: absolute;
	top: -1.6em;
	color: #274b59;
	line-height: 1;
}
.button-action .speaker .title-speaker {
	margin-bottom: 2em;
	text-align: center;
}
@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.button-action {
		margin: 40px 0 0;
	    padding-left: 30px;
	    width: 100%;
	    height: 70px;
	}
	.button-action .balloon {
		top: -10px;
		width: 90px;
		height: 90px;
	}
	.button-action .balloon .text01 {
		font-size: 0.8em;
	}
	.button-action .balloon .text02 {
		font-size: 1.5em;
	}
	.button-action .balloon .shopname {
		font-size: 0.9em;
	}
	.button-action .speaker {
		top: -1.5em;
	}
	.title-speaker > * {
		font-size: 1.2rem;
	}
	.button-action .main .inner-text .text01 {
		font-size: 1.2rem;
	}
	.button-action .main .inner-text .text02 {
		font-size: 1.7rem;
	}
}


/*
-----------------------------------------------------

	=MAIN CONTENTS

-----------------------------------------------------
*/

/* =FIXED BUTTON
----------------------------------------------------- */
@media screen and (min-width: 600px) {
	#fixed-button {
		display: none;
	}
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.footer-global {
		padding-bottom: 70px;
	}
	#fixed-button {
		position: fixed;
		z-index: 9994;
		left: 0;
		right: 0;
		bottom: -70px;
		margin: 0;
		width: 100%;
		height: 70px;
		-webkit-transition: all ease-out 0.2s;
		   -moz-transition: all ease-out 0.2s;
		    -ms-transition: all ease-out 0.2s;
		        transition: all ease-out 0.2s;
	}
	#fixed-button.scrolled {
		bottom: 0;
	}
	#fixed-button ul {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		flex-shrink: 0;
		justify-items: center;
		align-items: center;
		align-items: flex-start;
		padding: 0
	}
	#fixed-button ul li {
		width: 33.33%;
		width: 48%;
		width: 100%;
	}
	#fixed-button .button-join {
		width: 100%;
		height: 70px;
		border-radius: 0;
		background-image: -moz-linear-gradient( 120deg, rgb(86,190,186) 0%, rgb(39,157,153) 100%);
		background-image: -webkit-linear-gradient( 120deg, rgb(86,190,186) 0%, rgb(39,157,153) 100%);
		background-image: -ms-linear-gradient( 120deg, rgb(86,190,186) 0%, rgb(39,157,153) 100%);
	}
}


/* LP MAIN CONTENTS - QUESTION
----------------------------------------------------- */
.top-question {
	position: relative;
	z-index: 2;
	overflow: hidden;
	background-color: #dde6e6;
}
.top-question .section {
	padding-top: 180px;
}
.top-question .inner {
	position: relative;
	z-index: 1;
}
.top-question .inner .typography {
	top: -120px;
	left: -185px;
	-webkit-text-stroke: 1px #274b59;
	text-stroke: 1px #274b59;
	color: #dde6e6;
	color: transparent;
}
.question-lineup {}
.question-lineup .lineup {}
.question-lineup .lineup .inner {}
.question-lineup .lineup .inner .header {
	position: relative;
	margin: 0 0 2em;
	padding: 5px 0 0 70px;
}
.question-lineup .lineup .inner .header .numbering {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	font-family: futura-pt, sans-serif;
	font-size: 5.4rem;
	font-weight: 600;
	line-height: 1;
}
.question-lineup .lineup .inner .header .title {
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 2.0;
	display: inline;
	padding-bottom: 2px;
	border-bottom: solid 1px #274b59;
}
.question-lineup .lineup .inner .image {
	position: relative;
	height: 0;
	padding-bottom: 66.66%;
}
.question-lineup .lineup .inner .image img {
	position: absolute;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.question-lineup .lineup .inner .content {
	background-color: rgba(0,0,0,0.06);
	padding: 2em 2em;
}
.question-lineup .lineup .inner .content .text {
	position: relative;
	font-size: 1.4rem;
	font-weight: 600;
}
.question-lineup .lineup .inner .content .text p {
	line-height: 1.6;
}
.question-lineup .lineup .inner .content .text .face {
	position: absolute;
	z-index: 2;
	top: -80px;
	left: -5px;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	border: solid 3px #bde0d8;
}

@media screen and (min-width: 600px) {
	.question-lineup .lineup:nth-of-type(2) {
		margin-top: 60px;
	}
	.question-lineup .lineup:nth-of-type(3) {
		margin-top: 120px;
	}
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.top-question .section {
		padding-top: 13vw;
	}
	.top-question .inner .typography {
		top: -0.1em;
		left: -0.1em;
	}
	.question-lineup .lineup .inner .header .numbering {
		font-size: 4.0rem;
	}
	.question-lineup .lineup .inner .header {
		padding: 0 0 0 50px;
	}
	.question-lineup .lineup .inner .content {
		padding: 40px 2em 2em;
	}
	.question-lineup .lineup .inner .content .text .face {
		top: -70px;
		width: 60px;
		height: 60px;
	}
}


/* TOP - PROFESSIONAL
----------------------------------------------------- */
.top-professional {
	position: relative;
	z-index: 2;
	overflow: visible;
	background-color: #274b59;
	color: #fff;
}
.top-professional .arrow {
	position: absolute;
	top: -200px;
	left: 0;
	right: 0;
	margin: auto;
	margin-top: 60px;
	padding-top: 200px;
	height: 240px;
	background: url(assets/images/icon-arrow-down-double-white.webp) no-repeat center bottom;
	background-size: 17px auto;
}
.top-professional .arrow::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
	width: 1px;
	height: 200px;
	background-color: #fff;
}
.top-professional .inner {
	position: relative;
	z-index: 1;
}
.top-professional .inner .typography {
	top: 0;
	left: -185px;
	-webkit-text-stroke: 1px #dde6e6;
	text-stroke: 1px #dde6e6;
	color: #274b59;
	color: transparent;
}
.top-professional .title-japanese {
	line-height: 1.5;
}
/* トレーナーの顔写真一覧（REASON 01でも共通） */
.face-lineup {
	justify-content: center;
}
.face-lineup .lineup {
	margin: 0 15px;
	text-align: center;
}
.face-lineup .lineup .face {
	margin: 0 auto 15px;
	width: 135px;
}
.face-lineup .lineup .name {}
.face-lineup .lineup .name .japanese,
.face-lineup .lineup .name .english {
	display: block;
	line-height: 1.2;
}
.face-lineup .lineup .name .japanese {
	margin: 0 0 10px;
	font-size: 2.0rem;
	font-weight: normal;
	letter-spacing: 0.10em;
}
.face-lineup .lineup .name .english {
	font-family: futura-pt, sans-serif;
	font-size: 0.85em;
	font-weight: 300;
	letter-spacing: 0.10em;
}
@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.top-professional .section {
		padding-top: 13vw;
	}
	.top-professional .arrow {
		top: -0px;
		margin-top: 0px;
		padding-top: 40px;
		height: 50px;
		background-size: 10px auto;
	}
	.top-professional .arrow::before {
		height: 30px;
	}
	.face-lineup .lineup {
		width: calc(20%);
		margin: 0 4px;
	}
	.face-lineup .lineup .face {
		margin: 0 0 10px;
		width: 100%;
	}
	.face-lineup .lineup .name .japanese {
		margin: 0 0 5px;
		font-size: .9rem;
		letter-spacing: 0;
	}
	.face-lineup .lineup .name .english {
		font-size: .9rem;
		letter-spacing: 0;
	}
}



/* TOP - CASE STUDY
----------------------------------------------------- */
.top-case {
	position: relative;
	z-index: 2;
	overflow: hidden;
	background: url(assets/images/object-restorna-loop.webp) no-repeat left -560px top 600px;
	background-size: 720px auto;
}
.top-case::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(assets/images/object-restorna-loop.webp) no-repeat right -560px top 1200px;
	background-size: 720px auto;
}
.top-case .section {
	position: relative;
	z-index: 2;
}
.top-case .inner .typography {
	top: -0.25em;
	left: 50%;
}
/* CASE 1. ~ CASE 2. */
.top-case .case-main {}
.case-lineup {}
.case-lineup .lineup {
	position: relative;
}
.case-lineup .lineup:not( :last-child ) {}
.case-lineup .behind-layout {}
.case-lineup .behind-layout.left {}
.case-lineup .behind-layout.right {}
.case-lineup .behind-layout.left .title-english {}

.case-lineup .lineup .case-numbering {
	position: relative;
	margin: 0 0 1em;
	text-align: right;
}
.case-lineup .lineup .case-numbering::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	height: 1px;
	background-color: #274b59;
}
.case-lineup .lineup .case-numbering>* {
	position: relative;
	padding-left: 80px;
	background: url(assets/images/icon-comment.webp) no-repeat center left 20px;
	background-size: 40px auto;
	background-color: #fff;
	font-family: futura-pt, sans-serif;
	font-size: 5.0rem;
	font-weight: bold;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.case-lineup .lineup .case-summary {}
.case-lineup .lineup .case-summary>.image {}
.case-lineup .lineup .case-summary>.content {}
.case-lineup .lineup .case-summary .age {
	opacity: 0.5;
}
.case-lineup .lineup .case-summary .title {
	margin: 0 0 15px;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.8;
}
.case-lineup .lineup .case-comment {
	padding: 40px;
	background-color: #274b59;
	color: #fff;
	font-weight: 500;
}
.case-lineup .lineup .case-comment .title {
	margin: 0 0 0.5em;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.8;
}

.case-lineup .lineup .case-comment>.image {}
.case-lineup .lineup .case-comment>.content {}
.case-lineup .lineup .case-comment .face {
	margin: 0 auto 15px;
	width: 130px;
}
.case-lineup .lineup .case-comment .name {
	text-align: center;
}
.case-lineup .lineup .case-comment .name .secondname,
.case-lineup .lineup .case-comment .name .japanese {
	display: block;
	line-height: 1.2;
}
.case-lineup .lineup .case-comment .name .secondname {
	margin: 0 0 5px;
	font-family: futura-pt, sans-serif;
	font-size: 0.75em;
}
.case-lineup .lineup .case-comment .name .japanese {
	font-size: 1.2em;
	font-weight: normal;
	letter-spacing: 0.10em;
}

/* このほか、よくお聞きするお悩み */
.popular-trouble {
	position: relative;
	background-color: #eef4f4;
	font-weight: bold;
}
.popular-trouble .title {
	position: absolute;
	top: 0;
	left: 0;
	padding: 0.25em 1em;
	background-color: #274b59;
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.5;
}
.popular-trouble .inner {
	padding: 80px 40px 40px;
}
.popular-trouble ul {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-shrink: 0;
	justify-items: center;
	align-items: flex-start;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}
.popular-trouble ul li {
	position: relative;
	width: 48%;
	margin: 0 0 10px 0;
	padding-left: 1.25em;
	font-size: 2.0rem;
	line-height: 1.8;
}
.popular-trouble ul li::before {
	content: "・";
	position: absolute;
	left: 0;
}
@media screen and (min-width: 600px) {
	.case-lineup .behind-layout {}
	.case-lineup .behind-layout.left {
		padding-left: 160px;
	}
	.case-lineup .behind-layout.right {
		padding-right: 160px;
	}
	.case-lineup .behind-layout.left>.title {
		position: absolute;
		z-index: 1;
		top: 0;
		left: 0;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}
	.case-lineup .lineup .case-summary>.image {}
	.case-lineup .lineup .case-summary>.content {}

	.case-lineup .lineup .case-comment>.image { width: 150px }
	.case-lineup .lineup .case-comment>.content { width: calc(100% - 150px - 40px); }
	.case-lineup .lineup .case-comment {
		position: relative;
	}
	.case-lineup .lineup .case-comment::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		margin: 0;
		width: 300px;
		height: 100%;
		background-color: #274b59;
	}
	.case-lineup .lineup.left .case-comment::before {
		right: -300px;
	}
	.case-lineup .lineup.right .case-comment::before {
		left: -300px;
	}
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.top-case {
		background-position: right -560px top 450px;
	}
	.top-case::before {
		background-position: right -560px top 1600px;
	}
	.case-lineup .lineup .title-japanese {
		font-size: 1.8rem;
	}
	.case-lineup .lineup .case-numbering>* {
		padding-left: 60px;
		background-size: 28px auto;
		font-size: 2.4rem;
	}
	.case-lineup .lineup .case-summary .title {
		font-size: 2.1rem;
		line-height: 1.5;
	}
	.case-lineup .lineup .case-comment {
		margin: 0 -6.25vw;
		max-width: 100vw;
		padding: 6.25vw;
	}
	.case-lineup .lineup .case-comment .title {
		font-size: 2.1rem;
		line-height: 1.5;
	}
	.case-lineup .lineup .case-comment .face {
		width: 100px;
	}
	.popular-trouble .title {
		width: 100%;
		background-color: #279d99;
		font-size: 1.8rem;
		text-align: center;
	}
	.popular-trouble .inner {
		padding: 50px 2em 2em;
	}
	.popular-trouble ul li {
		margin: 0 0 5px;
		width: 100%;
		font-size: 1.0em;
		font-weight: normal;
	}
}

/* まとめ（プロのトレーナーが、あなたのお悩みの解決策を見つけ出します） */
.top-case .case-ending {
	position: relative;
	z-index: 2;
	overflow: hidden;
	background-color: #279d99;
	color: #fff;
}
.top-case .case-ending .image-content {}
.top-case .case-ending .image-content>.image {
	position: relative;
}
.top-case .case-ending .image-content>.content {}
.top-case .case-ending .mvvss {
	position: absolute;
	z-index: 9;
	right: -60px;
	top: -60px;
	width: 518px;
}
.top-case .case-ending .faces {}
.top-case .case-ending .faces ul {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	flex-shrink: 0;
	justify-items: center;
	align-items: flex-start;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}
.top-case .case-ending .faces ul li {
	width: 50%;
}
.top-case .case-ending .title-reveal>* {
	color: #279d99;
}
@media screen and (min-width: 600px) {
	.case-ending .image-content { align-items: center; }
	.case-ending .image-content>.image { width: calc(45% + 160px); margin-left: -160px; }
	.case-ending .image-content>.content { width: calc(55% - 100px); }
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.top-case .case-ending .section {
		padding-top: 0;
	}
	.top-case .case-ending .faces {
		margin: 0 -6.25vw 6.25vw ;
		max-width: 100vw;
	}
	.top-case .case-ending .faces ul li {
		width: 25%;
	}
	.top-case .case-ending .mvvss {
		position: static;
		width: 75%;
		margin: auto;
	}
	.top-case .case-ending .title-reveal {
		text-align: center;
	}
}


/* =ACTION - CONTACT
----------------------------------------------------- */
.action-contact {
	position: relative;
	z-index: 2;
	overflow: hidden;
	background: url(assets/images/action-img01.webp) no-repeat center top;
	background-size: cover;
	color: #fff;
	text-align: center;
}
.action-contact .reserve-area .inner {
	padding: 80px 0;
}
.action-contact .reserve-area .inner .title-20 {
	margin: 0;
	font-weight: normal;
	line-height: 1.5;
}
.action-contact .reserve-area .inner .link-underline {
	color: #fff;
}
.action-contact .reserve-area .inner .button {
	display: inline-block;
	margin: auto;
}
.action-contact .reserve-area .inner .button ul.list-button li {}
.action-contact .button-action {
	margin-top: 2em;
	margin-top: 0;
}
.action-contact .button-action .speaker {
	color: #fff;
}
.action-contact .button-action .speaker .title-speaker > *::before,
.action-contact .button-action .speaker .title-speaker > *::after {
	background-color: #fff;
}
.action-contact .button-action .balloon {
	background-color: #fff;
	color: #274b59;
}
.action-contact .tel-area {
	background-color: rgba(0,0,0,0.25);
}
.action-contact .tel-area .inner {
	padding: 40px 0;
}
.action-contact .tel-area .inner ul.list-button {}
.action-contact .tel-area .inner ul.list-button li {
	margin: 0 20px 0;
}
.action-contact .tel-area .inner ul.list-button li .button-tel {
	padding: 20px 60px;
	border-radius: 10px;
	background-color: #fff;
	color: #274b59;
}
.action-contact .tel-area .inner ul.list-button li .button-tel:hover {
	opacity: 1;
	background-color: #ddd;
}
.action-contact .tel-area .inner ul.list-button li .text-note {
	margin: 1em 0 0;
	color: #fff;
}
.action-contact a.link-underline {
	font-size: 1.3em;
}

@media screen and (min-width: 600px) {
	.action-contact .reserve-area .inner .button ul.list-button li {
		margin: 0 20px 0;
	}
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.action-contact {}
	.action-contact .reserve-area .inner {
		padding: 6.25vw 0;
	}
	.action-contact .reserve-area .inner .title-japanese {
		margin: 0 0 0.75em;
		font-size: 2.1rem;
		line-height: 1.5;
	}
	.action-contact .reserve-area .inner .title-20 {
		opacity: 0.6;
	}
	.action-contact .reserve-area .inner .button {
		display: block;
		margin: auto;
	}
	.action-contact .button-action {
		margin-top: 25px;
		margin-top: 50px;
	}
	.action-contact .tel-area .inner {
		padding: 6.25vw 0;
	}
	.action-contact .tel-area .inner ul.list-button li {
		margin: 0 0 15px;
	}
	.action-contact .tel-area .inner ul.list-button li .button-tel {
		padding: 15px;
	}
}



/* TOP - REASON
----------------------------------------------------- */
.top-reason {
	position: relative;
	z-index: 2;
	overflow: hidden;
}

/* 3つの理由 イントロダクション */
.reason-intro {}
.reason-intro-lineup {}
.reason-intro-lineup .lineup {
	text-align: center;
}
.reason-intro-lineup .lineup>* {
	margin: 0 0 20px;
}
.reason-intro-lineup .lineup .numbering {}
.reason-intro-lineup .lineup .numbering>* {
	display: inline-block;
	font-family: futura-pt, sans-serif;
	font-size: 5.4rem;
	font-weight: 600;
	border-bottom: solid 1px #274b59;
}
.reason-intro-lineup .lineup .image {
	height: 260px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.reason-intro-lineup .lineup .header {
	margin: 0;
}
.reason-intro-lineup .lineup .header .title {
	font-size: 1.05em;
	font-weight: bold;
	line-height: 1.5;
}
@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.reason-intro-lineup.flex-row.responsive > .lineup.flex-child {
		margin-bottom: 8vw;
	}
	.reason-intro-lineup .lineup .image {
		height: auto;
	}
}

/* 理由01 ~ 03 共通部分 */
.reason-lineup {}
.reason-lineup .lineup {}
.reason-lineup .lineup01 {}
.reason-lineup .lineup02 {}
.reason-lineup .lineup03 {}

.reason-lineup .lineup .reason-cover {}
.reason-cover {}
.reason-cover .inner {
	position: relative;
	padding-left: 140px;
}
.reason-cover .inner .cover {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 40%;
	width: 880px;
	height: 100%;
}
.reason-cover .inner .cover img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.reason-cover .inner .content .numbering {
	position: relative;
	margin: 0 0 60px;
	font-size: 8.0rem;
	width: 480px;
	max-width: 100%;
}
.reason-cover .inner .content .numbering:before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: calc(100% - 1.8em);
	height: 1px;
	background-color: #274b59;
}
.reason-cover .inner .content .numbering span {
	font-family: futura-pt, sans-serif;
	font-weight: bold;
	line-height: 1;
}
.reason-cover .inner .content {
	position: relative;
	z-index: 2;
	width: 720px;
	max-width: 100%;
}
.reason-cover .inner .headline {
	position: absolute;
	z-index: 1;
	top: inherit;
	left: 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-family: futura-pt, sans-serif;
	font-size: 8.0rem;
	font-weight: bold;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.reason-cover .inner .content .title-reveal {
	margin: 0 0 30px;
}
.reason-lineup .lineup .reason-content {}
.reason-content {}
@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.reason-cover .inner {
		padding-left: 40px;
	}
	.reason-cover .inner .section {}
	.reason-cover .inner .cover {
		position: static;
		margin: -6.25vw -6.25vw -6.25vw 0;
		width: calc(100% + 6.25vw);
		max-width: 100vw;
	}

	/*.reason-cover .inner .cover {
		width: 100%;
		left: 25%;
	}*/
	.reason-cover .inner .headline {
		font-size: 3.0rem;
	}
	.reason-cover .inner .content  {
		width: 100%;
	}
	.reason-cover .inner .content p {
		line-height: 1.7;
	}
	.reason-cover .inner .content .title-reveal {
		margin: 0 0 1em;
		margin-left: -1rem;
	}
	.reason-cover .inner .content .numbering {
		margin: 0 0 6.25vw;
		font-size: 5.4rem;
	}
	.reason-cover .inner .content .numbering::before {
		display: none;
	}
}

/* カラーリング */
.reason-lineup .lineup01 .reason-cover {
	background-color: #274b59;
	color: #fff;
}
.reason-lineup .lineup01 .reason-cover .inner .content .numbering:before {
	background-color: #fff;
}
.reason-lineup .lineup01 .reason-cover .inner .headline {
	-webkit-text-stroke: 1px #fff;
	text-stroke: 1px #fff;
	color: #274b59;
	color: transparent;
}
.reason-lineup .lineup02 .reason-cover {
	background-color: #eef4f4;
}
.reason-lineup .lineup02 .reason-cover .inner .content .numbering:before {
	background-color: #274b59;
}
.reason-lineup .lineup02 .reason-cover .inner .headline {
	-webkit-text-stroke: 1px #274b59;
	text-stroke: 1px #274b59;
	color: #eef4f4;
	color: transparent;
}
.reason-lineup .lineup03 .reason-cover {
	background-color: #8fb7ae;
	color: #fff;
}
.reason-lineup .lineup03 .reason-cover .inner .content .numbering:before {
	background-color: #fff;
}
.reason-lineup .lineup03 .reason-cover .inner .headline {
	-webkit-text-stroke: 1px #fff;
	text-stroke: 1px #fff;
	color: #8fb7ae;
	color: transparent;
}
@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
}

/* 理由01 */
.reason-lineup .lineup01 {}
.reason-content .reason-jfgo {
	text-align: center;
}
.reason-content .reason-trainer {
	background-color: #274b59;
	color: #fff;
}
@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.reason-lineup .lineup01 .reason-cover .inner .content .title-reveal {}
}

/* 理由02 */
.reason-lineup .lineup02 {}
.reason-content .reason-program {}
@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
}

/* 理由03 */
.reason-lineup .lineup03 {}
.reason-content .reason-tools {}
.reason-content .reason-tools .inbody {}
.reason-content .reason-tools .machine {}
.machine-lineup {}
.machine-lineup .lineup {
	margin-bottom: 60px;
}
.reason-content .reason-kaatsu {}
.kaatsu-box {
	background: url(assets/images/top-reason03-kaatsu-bg.webp) no-repeat center;
	background-size: cover;
	background-color: #000;
	color: #fff;
}
.kaatsu-box .inner {
	padding: 50px;
}
.kaatsu-box .inner .title-32>* {
	border-color: #fff;
}
@media screen and (min-width: 600px) {
	.reason-content .reason-tools .inbody .image-content { align-items: center; }
	.reason-content .reason-tools .inbody .image-content>.image { width: 167px }
	.reason-content .reason-tools .inbody .image-content>.content { width: calc(100% - 167px - 80px); }
	.kaatsu-box .image-content>.image { width: 360px;}
	.kaatsu-box .image-content>.content { width: 690px;}
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.reason-content .reason-tools .inbody .image-content>.image {
		text-align: center;
	}
	.reason-content .reason-tools .inbody .title-32 {
		text-align: center;
	}
	.reason-content .reason-tools .inbody img {
		zoom: 0.35;
	}
	.reason-content .reason-tools .machine .title-32 {
		text-align: center;
	}
	.reason-content .reason-kaatsu .section {
		padding-bottom: 0;
	}
	.kaatsu-box {
		margin: 0 -6.25vw 0;
		max-width: 100vw;
	}
	.kaatsu-box .inner {
		padding: 6.25vw;
	}
	.kaatsu-box .inner .title-24 {
		margin: 1em 0 0;
		font-size: 1em;
	}
}

/* 3つの理由 エンディング */
.reason-ending {
	position: relative;
	z-index: 2;
	overflow: hidden;
	background-color: #279d99;
	color: #fff;
}
.reason-ending .section {
	padding: 50px 0 100px;
}
.reason-ending .cover img {
	width: 100%;
	height: auto;
}
.reason-ending .section-header {
	position: relative;
}
.reason-ending .section-header .typography {
	top: -100px;
	left: -185px;
	-webkit-text-stroke: 1px #fff;
	text-stroke: 1px #fff;
	color: #274b59;
	color: transparent;
}
@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.reason-ending .section {
		padding: 6.25vw 0;
	}
	.reason-ending .mvvss {
		margin-top: -9vw;
	}
	.reason-ending .mvvss img {
		zoom: 0.35;
	}
	.reason-ending .title-24 {
		font-weight: normal;
		line-height: 2.0;
		text-align: left;
	}
}


/* TOP - PRICE
----------------------------------------------------- */
.top-price {
	position: relative;
	z-index: 2;
	overflow: hidden;
	background: url(assets/images/object-restorna-loop.webp) no-repeat right -460px center;
	background-size: 720px auto;
}
table.table-price {}
table.table-price tr {}
table.table-price tr:last-child {}
table.table-price th,
table.table-price td {
	vertical-align: middle;
	padding: 1.0em;
	text-align: center;
	font-size: 120%;
	font-weight: bold;
	background-color: #fff;
	border: solid 1px #dcdcdc;
}
table.table-price th,
table.table-price td,
table.table-price p {
	line-height: 1.25;
}
table.table-price.ta-l td,
table.table-price .ta-l {
	text-align: left;
}
table.table-price th {
}

table.table-price thead th {
	background-color: #93afaf;
	color: #fff;
}
table.table-price thead th.title {
	font-size: 150%;
}
table.table-price tbody th {
	background-color: #ebefef;
}
table.table-price td.price {
	font-size: 120%;
}
table.table-price .text-note {
	display: inline-block;
}

@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.top-price {
		background-image: none;
	}
	table.table-price {
		display: block;
		overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
	table.table-price::before {
		content: "※横にスクロールしてご覧ください";
		display: block;
		margin-bottom: 0.75em;
		font-size: inherit;
		font-weight: bold;
		text-align: left;
	}
	table.table-price th,
	table.table-price td {
		padding: 0.5em 1em;
		font-size: 1em;
		text-align: left;
	}
	table.table-price thead th.title {
		font-size: 1.25em;
		text-align: left;
	}
}
.text-attention {
	font-size: 1.1em;
	font-weight: bold;
}

/* タブ切り替え機能（PRICE・ACCESSで共通） */
.tabbox { display: none;}
.tabbox:first-child {}
.tab-container {}
.tabbox {}

ul.tabs {
	display: block;
	margin: auto;
	margin-bottom: 0;
	text-align: center;

	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	flex-shrink: 0;
}
/*ul.tabs li {
	width: calc(33.33% - 5px);
	margin-right: 5px;
}
ul.tabs li:last-child {
    margin-right: 0;
}
ul.tabs li a {
	display: block;
	padding: 0.75em 2em;
	background-color: #dde6e6;
	color: #274b59;
	font-size: 2.0rem;
	text-decoration: none;
	font-weight: bold;
}
ul.tabs .active a,
ul.tabs li a:hover {
	opacity: 1;
	background-color: #274b59;
	color: #fff;
}*/
ul.tabs li {
	width: calc(33.33% - 15px);
	margin-right: 15px;
}
ul.tabs li:last-child {
    margin-right: 0;
}
ul.tabs li a {
	position: relative;
	display: block;
	padding: 0.75em 2em;
	background-color: #dde6e6;
	color: #274b59;
	font-size: 2.0rem;
	text-decoration: none;
	font-weight: bold;
	border-radius: 5em;
	border-radius: 0;
}
ul.tabs li a::before {
	display: none;
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: transparent;
	border-top-color: #274b59;
	border-width: 10px;
	margin-left: -10px;
}
ul.tabs .active a,
ul.tabs li a:hover {
	opacity: 1;
	background-color: #274b59;
	color: #fff;
}
ul.tabs .active a::before {
	display: block;
}
@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	ul.tabs li {
		margin-right: 1%;
		width: 50%;
	}
	ul.tabs li:first-child {}
	ul.tabs li:last-child {
		margin-right: 0;
	}
	ul.tabs li a {
		padding: 0.85em 0.25em;
		font-size: 1.1rem;
		letter-spacing: 0;
	}
}

/* TOP - HOW TO START
----------------------------------------------------- */
.top-howtostart {
	position: relative;
	z-index: 2;
	overflow: hidden;
	background-color: #ecf3f3;
}
.howtostart-lineup .lineup {
	font-size: 1.2rem;
}
.howtostart-lineup .lineup>* {
	margin: 0 0 15px;
	line-height: 1.8;
}
.howtostart-lineup .lineup .numbering {
	font-size: 3.6rem;
	font-family: futura-pt, sans-serif;
	font-weight: 600;
	line-height: 1.0;
}
.howtostart-lineup .lineup .image {}
.howtostart-lineup .lineup .title {
	font-size: 1.7rem;
	text-align: center;
	line-height: 1.5;
}
@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.top-howtostart .section-header {
		text-align: left;
	}
	.howtostart-lineup .lineup .numbering {
		font-size: 2.8rem;
		text-align: center;
	}
}


/* TOP - ACCESS
----------------------------------------------------- */
.top-access {
	position: relative;
	z-index: 2;
	overflow: hidden;
}
.top-access .section {}
.access-content {
	background-color: #faf8f1;
}
.access-content .logo-shop {}
.logo-shop {
	position: relative;
	margin: 0 0 100px;
	padding: 0 0 50px;
	text-align: center;
}
.logo-shop::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100px;
	height: 1px;
	background-color: #274b59;

}
.access-content .gallery-access {}
.gallery-access {
	padding-top: 5px;
}
.gallery-access .col {}
.gallery-access .col:not( :last-child ) {
	padding-right: 5px;
}
.gallery-access .col img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.gallery-access .col-1pic {
	width: 50%;
}
.gallery-access .col-2pic-a {
	width: 25%;
}
.gallery-access .col-2pic-a img:nth-child(1) {
	height: calc(34%);
	padding-bottom: 5px;
}
.gallery-access .col-2pic-a img:nth-child(2) {
	height: 66%;
}
.gallery-access .col-2pic-b {
	width: 25%;
}
.gallery-access .col-2pic-b img:nth-child(1) {
	height: calc(64%);
	padding-bottom: 5px;
}
.gallery-access .col-2pic-b img:nth-child(2) {
	height: 36%;
}
table.table-minimal {}
table.table-minimal tr {
	border: none;
}
table.table-minimal th,
table.table-minimal td {
	border: none;
	padding-left: 0;
}
table.table-minimal th {
	font-family: futura-pt, sans-serif;
	font-size: 1.05em;
	font-weight: 600;
	letter-spacing: 0.08em;
}
table.table-minimal td {
	font-size: .9em;
}
@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.logo-shop {
		margin: 0 0 6.25vw;
		padding: 6.25vw 0 6.25vw;
	}
	.logo-shop::before {
		width: 50px;
	}
	.logo-shop img {
		zoom: 0.3;
	}
	.access-summary.flex-parent>.flex-child{
		margin-bottom: 0;
	}
	table.table-minimal th {
		width: 35%;
	}
}

/* TOP - FAQ
----------------------------------------------------- */
.top-faq {
	position: relative;
	z-index: 2;
	overflow: hidden;
	background-color: #eef4f4;
}
.top-faq .whitebox {
	padding: 25px 50px;
	background-color: #fff;
	border-radius: 10px;
}
.faq-lineup {}
.faq-lineup .lineup {
	background-color: #fff;
}
.faq-lineup .lineup:not( :last-child ) {
	border-bottom: solid 1px #dcdcdc;
}
.faq-lineup .lineup .header,
.faq-lineup .lineup .content {
	position: relative;
}
.faq-lineup .lineup .header::before,
.faq-lineup .lineup .content::before {
	content: "Q";
	position: absolute;
	top: 0;
	left: 0.0em;
	bottom: 0;
	margin: auto;
	height: 40px;
	line-height: 40px;
	font-family: futura-pt, sans-serif;
	color: #279d99;
	font-size: 4.0rem;
	font-weight: 600;
}
.faq-lineup .lineup .content::before {
	content: "A";
	content: "";
}
.faq-lineup .lineup .header {
	padding: 25px 50px;
	background: url(assets/images/icon-accordion-open.webp) no-repeat right 0 center;
	background-size: 26px auto;
	font-size: 2.0rem;
}
.faq-lineup .lineup .header.js-acc-header-on {
	background-image: url(assets/images/icon-accordion-close.webp);
}
.faq-lineup .lineup .content {
	border-top: solid 0 #dcdcdc;
	padding: 0px 50px 25px;
	color: #555;
}
.faq-lineup .lineup .content::before {
	top: 0;
}

@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.top-faq .section {}
	.top-faq .whitebox {
		padding: 3.125vw 6.25vw;
	}
	.faq-lineup .lineup:not( :last-child ) {
	    margin-bottom: 0;
	} 
	.faq-lineup .lineup .header::before,
	.faq-lineup .lineup .content::before {
		font-size: 2.4rem;
	}
	.faq-lineup .lineup .header {
		padding: 20px 35px;
		background-position: right 0 center;
	    background-size: 16px auto;
		font-size: 1.4rem;
	}
	.faq-lineup .lineup .header * {
		line-height: 1.5;
	}
	.faq-lineup .lineup .content {
		position: relative;
		padding: 0px 35px 20px;
	}
}

/*
-----------------------------------------------------

	=FOOTER

-----------------------------------------------------
*/

.footer-global {
	position: relative;
	z-index: 9990;
	text-align: center;
}
.footer-global a {
	text-decoration: none;
}
.footer-global hr:not([class])	{
	height: 2em;
}
.footer-global .footer-area {
	padding: 50px 0 25px;
}
.footer-global .footer-area .logo {
	margin: 0 0 2em;
}
.footer-global .footer-area .logo img {}
.footer-global .footer-area .address {
	font-size: 1.4rem;
}
ul.list-sns {
	margin: 0;
	display: block;
	font-size: 0;
	letter-spacing: 0;
}
ul.list-sns li {
	display: inline-block;
	vertical-align: middle;
	margin: 0 5px 0;
	width: 40px;
}
.footer-global .copyright-area {
	padding: 0 0 50px;
}
.footer-global .copyright-area .copyright {
	margin: 0 0 0;
	font-family: 'Boston', sans-serif;
	letter-spacing: 0.10em;
	font-size: 1.2rem;
	line-height: 1;
}

@media screen and (min-width: 600px) {
}
@media screen and (min-width: 0px) and (max-width: 599px) {
	.footer-global {
		font-size: 1.0rem;
	}
	.footer-global .footer-area,
	.footer-global .copyright-area {
		padding: 6.25vw 0;
		text-align: center;
	}
	.footer-global .footer-area .logo img {
		width: 120px;
	}
	.footer-global .footer-area .address {
		font-size: 1.1rem;
	}
	.footer-global .copyright-area {
		padding-top: 0;
	}
	.footer-global .copyright-area .copyright {
		text-align: center;
		font-size: 9px;
	}
	ul.list-sns li {
		margin: 0 5px 0;
		width: 32px;
	}
}
