/* @group base --------------------------------------------------------*/
html {
	display: block;
	height: 100%;
	width: 100%;
	-webkit-text-size-adjust: 100%;
}
body {
	font-family: Arial,"ヒラギノ角ゴPro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",Verdana,sans-serif;
	color: #333;
	font-size: 14px;
	line-height: 1.7;
	height: 100%;
	width: 100%;
	-webkit-font-smoothing: antialiased;
}

body * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

@font-face {
	font-family: 'Swis721 Cn BT';
	src: url('font_swis721_cn_bt/Swis721-Cn-BT-Bold.woff') format('woff'), url('font_swis721_cn_bt/Swis721-Cn-BT-Bold.svg#Swis721-Cn-BT-Bold') format('svg'), url('font_swis721_cn_bt/Swis721-Cn-BT-Bold.eot'), url('font_swis721_cn_bt/Swis721-Cn-BT-Bold.eot?#iefix') format('embedded-opentype');
	font-weight: bold;
	font-style: normal;
}
.font_swis721 {
	font-family: 'Swis721 Cn BT';
}


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

::selection {
    background: #28bcb7; /* Safari */
    color: #FFF;
}
::-moz-selection {
    background: #28bcb7; /* Firefox */
    color: #FFF;
}

a {
	color: #28bcb7;
	text-decoration: none;
}
a:link, a:visited, a:active {
	text-decoration: none;
}
a:hover {
	color: #28bcb7;
	text-decoration: underline;
}

.zoom_cursor{
	cursor: zoom-in;
	cursor: -moz-zoom-in;
	cursor: -webkit-zoom-in;
	cursor: all-scroll\9;
}

#wrapper {
	position: relative;
	height: 100%;
	width: 100%;
	z-index: 1;
	min-width: 320px;
}

#header {
	top: 14px;
	left: 2%;
	position: fixed;
	display: inline-block;
	vertical-align: top;
	text-align: left;
	z-index: 53;
	width: 200px;
}
#navi {
	width: 100%;
	top: 0;
	left: 0;
	text-align: center;
	z-index: 52;
	position: fixed;
	line-height: 0;
	background: rgba(255,255,255,0.78);
}

#entry {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	z-index: 510;
}

#container {
	position: relative;
	width: 100%;
	display: block;
	z-index: 5;
	height: 100%;
	padding-bottom: 200px;
}
html.touch_device #container {
	height: 100vh;
}

#footer {
	width: 100%;
	background: #28bcb7;
	z-index: 51;
	height: 286px;
	position: relative;
}

a#return_top	{
	position: fixed;
	bottom: -80px;
	margin-left: -80px;
	width: 80px;
	height: 70px;
	background: #28bcb7 url(../elements/btn_arrow_23_up.gif?160126) center center no-repeat;
	cursor: pointer;
	z-index: 50;
	right: 19px;

	opacity: 0;
	-moz-opacity: 0;				/* Firefox */
	filter: alpha(opacity=0);		/* IE6/7 */
	-ms-filter: "alpha(opacity=0)";	/* IE8 */
}
a#btn_viewcart	{
	width: 120px;
	height: 25px;
	background: #abb900;
	cursor: pointer;
	z-index: 50;
	right: 135px;
	color: #FFF;
	line-height: 30px;
	text-align: center;
	font-weight: bold;
	position: absolute;
	top: 15px;
	font-size: 70%;
	display: block;
}
a#btn_viewcart > img {
	display: block;
	width: 100px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
a#btn_viewcart:hover {
	text-decoration: none;
}
footer > aside > a.return_top	{
	background: url(../elements/btn_arrow_23_up.png?160126) center center no-repeat;
	position: absolute;
	margin-left: 0;
	width: 70px;
	height: 60px;
	cursor: pointer;
	z-index: 50;
	right: 10px;
	top: 0px;
}

a.close img,
a.next_entry img,
a.prev_entry img	{
	width: 100%; 
	height: 100%;
}

.rollover{
	opacity: 0.4;
	-moz-opacity: 0.4;				/* Firefox */
	filter: alpha(opacity=40);		/* IE6/7 */
	-ms-filter: "alpha(opacity=40)";	/* IE8 */
}

#loading{
	width: 100%; 
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background : url(../elements/overlay_w80.png?160126) repeat;
	z-index: 2000;
}
#loading div{
	width: 100%; 
	height: 100%;
	top: 0;
	left: 0;
	background : url(../elements/spinner08.gif?160126) no-repeat center center;
	z-index: 1900;
}

.partition_top{
	height: 230px;
	width: 100%;
	background: #FFF url(../elements/line_horizontal.png?160126) no-repeat center 200px;
}
.partition{
	height: 30px;
	width: 100%;
	background: #FFF url(../elements/line_horizontal.png?160126) no-repeat center center;
}
.front {
	position: absolute;
	z-index: 5;
}
.delay {
	opacity: 0;
	-moz-opacity: 0;				/* Firefox */
	filter: alpha(opacity=0);		/* IE6/7 */
	-ms-filter: "alpha(opacity=0)";	/* IE8 */
}
a.btn_badge {
	width: 210px;
	height: 180px;
	display: block;
	position: fixed;
	top: 10px;
	right: 10px;
	z-index: 8000;
	text-decoration: none;
	line-height: 1.6;
	letter-spacing: 0.18em;

	color: #FFF;
	background: url(../elements/btn_badge.png?160126) no-repeat center center;
	cursor: pointer;
}
a.btn_badge div {
	width: 210px;
	height: 180px;
	display: table-cell;
	vertical-align: middle;
}
a.btn_badge div span {
	display: inline;
}

img.pc {
	display: block !important;
}
img.sp {
	display: none !important;
}

img.object_fit {
	object-fit: cover;
	object-position: center center;
	font-family: 'object-fit:cover;object-position: center center;';
}

div.bg_float_wrapper {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}
div.bg_float_wrapper > div {
	position: absolute;
	height: 300%;
	width: 300px;
	top: -100%;

	transition-property: opacity;
	transition-duration: 0.6s;
	transition-timing-function: ease-out;

	opacity: 0;
	-moz-opacity: 0;			/* Firefox */
	filter: alpha(opacity=0);		/* IE6/7 */
	-ms-filter: "alpha(opacity=0)";	/* IE8 */
}
div.bg_float_wrapper > div.active {
	opacity: 1;
	-moz-opacity: 1;				/* Firefox */
	filter: alpha(opacity=100);		/* IE6/7 */
	-ms-filter: "alpha(opacity=100)";	/* IE8 */
}
div.bg_float_wrapper > div.pattern_1.left.layer_1 {
	left: 0;
	background-image: url(../elements/bg_float_01.png?160127);
	background-position: 0% 50%;
}
div.bg_float_wrapper > div.pattern_1.left.layer_2 {
	left: 0;
	background-image: url(../elements/bg_float_02.png?160127);
	background-position: 0% 50%;
}
div.bg_float_wrapper > div.pattern_1.right.layer_1 {
	right: 0;
	background-image: url(../elements/bg_float_03.png?160127);
	background-position: 100% 50%;
}
div.bg_float_wrapper > div.pattern_1.right.layer_2 {
	right: 0;
	background-image: url(../elements/bg_float_04.png?160127);
	background-position: 100% 50%;
}
div.bg_float_wrapper > div.pattern_2.left.layer_1 {
	left: 0;
	background-image: url(../elements/bg_float_05.png?160127);
	background-position: 0% 50%;
}
div.bg_float_wrapper > div.pattern_2.left.layer_2 {
	left: 0;
	background-image: url(../elements/bg_float_06.png?160127);
	background-position: 0% 50%;
}
div.bg_float_wrapper > div.pattern_2.right.layer_1 {
	right: 0;
	background-image: url(../elements/bg_float_07.png?160127);
	background-position: 100% 50%;
}
div.bg_float_wrapper > div.pattern_2.right.layer_2 {
	right: 0;
	background-image: url(../elements/bg_float_08.png?160127);
	background-position: 100% 50%;
}
div.bg_float_wrapper > div.pattern_3.left.layer_1 {
	left: 0;
	background-image: url(../elements/bg_float_09.png?160127);
	background-position: 0% 50%;
}
div.bg_float_wrapper > div.pattern_3.left.layer_2 {
	left: 0;
	background-image: url(../elements/bg_float_10.png?160127);
	background-position: 0% 50%;
}
div.bg_float_wrapper > div.pattern_3.right.layer_1 {
	right: 0;
	background-image: url(../elements/bg_float_11.png?160127);
	background-position: 100% 50%;
}
div.bg_float_wrapper > div.pattern_3.right.layer_2 {
	right: 0;
	background-image: url(../elements/bg_float_12.png?160127);
	background-position: 100% 50%;
}
div.bg_float_wrapper > div {
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: contain;
}

div.bg_float_wrapper > div.layer_2 {
	background-position-y: 200px;
}
html.touch_device div.bg_float_wrapper > div {
	background-attachment: scroll !important;
}

/* @end */




/* @group preload --------------------------------------------------------*/

.dummy {
	display: none;
}
#preloader {
	display: block;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1000;
	background: #FFF;
}

body.action_login #preloader {
	display: none;
}

html.touch_device #preloader {
	height: 100%;
}
#preloader > div.bg {
	display: block;
	width: 100%;
	height: 100%;
	background: #FFF;
}
#preloader > div.bg > div.logo_wrapper > #progress_bg {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 2px;
	width: 100%;
	z-index: 1;
	background: #EEE;
}
#preloader > div.bg > div.logo_wrapper > #progress_bg > #progress {
	position: absolute;
	left: 0;
	bottom: 0;
	height: 100%;
	width: 0%;
	background: #28bcb7;
	z-index: 1;
}
#preloader > div.bg > div.logo_wrapper {
	position: absolute;
	width: 200px;
	z-index: 2;
	top: -50px;
	left: 0;
	margin: auto;
	background: #FFF;
	right: 0;
	bottom: 0;
	height: 150px;
	line-height: 0;
	overflow: hidden;
}
html.touch_device #preloader > div.bg > div.logo_wrapper {
	top: -35px;
}

#preloader > div.bg > div.logo_wrapper > img.logo {
	position: absolute;
	height: auto;
	width: 120%;
	z-index: 2;
	display: block;
	margin: -10%;
}

/* @end */




/* @group header --------------------------------------------------------*/


#header header {
	width: 100%;
}

#header header hgroup {
	width: 100%;
}

#header header hgroup h1 a{
	display: block;
	line-height: 0;
	width: 100%;
}
#header header hgroup h1 img {
	display: block;
	width: 100%;
	height: auto;
}

#header header hgroup h2 {
	display: none;
}

/* @end */




/* @group nav --------------------------------------------------------*/

#navi > nav > div.social_link {
	width: 120px;
	letter-spacing: -.40em;
	position: absolute;
	top: 18px;
	left: 2%;
	margin-left: 165px;
}
#navi > nav > div.social_link > h4 {
	display: none;
}
#navi > nav > div.social_link > a {
	display: inline-block;
	letter-spacing: normal;
	max-width: 110px;
	width: 20%;
	margin: 0 5%;
}
#navi > nav > div.social_link > a > img {
	display: block;
	width: 100%;
	height: auto;
}

#navi nav {
	font-size: 130%;
	display: inline-block;
	vertical-align: top;
	width: 100%;
	height: 90px;
	position: relative;
}
#navi.open nav {
	animation: slidein 0.25s;
	animation-iteration-count: 1;
	animation-timing-function: ease-out;
	-webkit-animation: slidein 0.25s; /* Safari & Chrome */
	-webkit-animation-iteration-count: 1;
}
@keyframes slidein {
	0%   { transform:  translate(50px, 0px);}
	100%  { transform:  translate(0px, 0px);}
}
@-webkit-keyframes slidein {
	0%   { -webkit-transform:  translate(50px, 0px);}
	100%  { -webkit-transform:  translate(0px, 0px);}
}

#navi nav > ul {
	letter-spacing: -.40em;
	margin: 0;
	line-height: 1;
	text-align: right;
	position: absolute;
	right: 0;
	bottom: 0;
}

#navi nav > ul > li {
	display: inline-block;
	margin: 0;
	vertical-align: bottom;
	text-align: center;
	letter-spacing: normal;
	position: relative;
}
#navi nav > ul > li > a {
	display: inline-block;
	white-space:nowrap;
	font-size: 70%;
	color: #4d4d4d;
	font-weight: bold;
	letter-spacing: 0.2em;
	padding: 0 15px;
	line-height: 40px;
}
#navi nav > ul > li a.over {
	cursor: pointer;
}
#navi nav > ul li.active::after {
	height: 2px;
}
#navi nav > ul li.p_active::after {
	height: 2px;
}
#navi nav > ul li.active a {
	cursor: default;
}
#navi nav > ul li a:hover {
	text-decoration: none;
}
#navi nav > ul > li::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto auto 0;
	top: 0;
	background: #28bcb7;
	height: 0px;

	transition-property: height;
	transition-duration: 0.1s;
	transition-timing-function: ease-out;
}
#navi nav > ul > li.over.on::after {
	height: 2px;
}
#navi nav > ul > li.active::after {
	height: 2px;
}

#navi nav > ul > li.class_member {
	width: 100px;
	height: 90px;
	position: relative;
	margin-left: 20px;
	line-height: 0;
}
#navi nav > ul > li.class_member::after {
	display: none;
}
#navi nav > ul > li.class_member > a {
	width: 100%;
	height: 100%;
	display: block;
	cursor: pointer;
	transition-property: background;
	transition-duration: 0.2s;
	transition-timing-function: ease-out;
	background: #abb900;
}
#navi nav > ul > li.class_member > a:hover {
	background: #BACA00;
}
#navi nav > ul > li.class_member > a > img {
	width: 60px;
	height: 60px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}




#navi nav > ul > li > ul {
	display: none;
	position: absolute;
	width: 90px;
	text-align: center;
	left: 50%;
	margin: 0 0 0 -45px;
	background: rgba(76,156,128,0.5);
}

html.ie7_html #navi nav > ul > li > ul {
	background: #555;
}

#navi nav > ul > li > ul > li {
	display: inline-block;
}
#navi nav > ul > li > ul > li > a {
	height: 30px;
	display: inline-block;

	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}



#navi #menu_toggle {
	position: fixed;
	top: 0;
	right: 0;
	width: 60px;
	height: 60px;
	cursor: pointer;
	z-index: 100;
	display: none;
}

#navi #menu_toggle_open {
	position: absolute;
	top: 0;
	right: 0;
	width: 60px;
	height: 60px;
	display: block;
	background: url(../elements/btn_menu_toggle.png?160126) no-repeat center top;
}
#navi #menu_toggle_close {
	position: absolute;
	top: 0;
	right: 0;
	width: 60px;
	height: 60px;
	display: none;
	background: url(../elements/btn_menu_toggle.png?160126) no-repeat center bottom;
}
#navi .modal_overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #FFF;
	opacity: 0.5;
	-moz-opacity: 0.5;				/* Firefox */
	filter: alpha(opacity=50);		/* IE6/7 */
	-ms-filter: "alpha(opacity=50)";	/* IE8 */
	z-index: -1;
}

#container > article span > span {
	display: inline-block;
}

/* @end */




/* @group entry --------------------------------------------------------*/

#entry > article {
	position: relative;
	padding: 80px 50px 60px;
	margin: 0 auto;
	display: block;
	z-index: 510;
	background: #FFF;
	color: #333;
	max-width: 1050px;
	width: 96%;

	box-shadow:rgba(0, 0, 0, 0.2) 0px 3px 10px 0px;
	-webkit-box-shadow:rgba(0, 0, 0, 0.2) 0px 3px 10px 0px;
	-moz-box-shadow:rgba(0, 0, 0, 0.2) 0px 3px 10px 0px;

}

#entry > article > div.body {
	font-size: 95%;
	min-height:100%;
}

#entry > article.umbrellas_long > div.body,
#entry > article.umbrellas_mini > div.body,
#entry > article.sunshade_long > div.body,
#entry > article.sunshade_mini > div.body,
#entry > article.raincoats > div.body {
}
#entry > article.umbrellas_long,
#entry > article.umbrellas_mini,
#entry > article.sunshade_long,
#entry > article.sunshade_mini,
#entry > article.raincoats {
	position: relative;
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	display: block;
	z-index: 510;
	background: #FFF;
	color: #333;
}

#entry a.close	{
	position: absolute;
	right: 35px;
	top: 5px;
	width: 70px; 
	height: 70px;
	cursor: pointer;
	z-index: 520;
	background: url(../elements/close.png?160126) no-repeat center center;
}

#entry a.next_entry	{
	display: block;
	height: 80px;
	width: 80px;
	position: fixed;
	left: 0px;
	top: 50%;
	margin-top: -40px;
}
#entry a.prev_entry	{
	display: block;
	height: 80px;
	width: 80px;
	position: fixed;
	right: 0px;
	top: 50%;
	margin-top: -40px;
}


#entry .modal_overlay {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: 500;
	background : #7EA997;

	opacity: 0.5;
	-moz-opacity: 0.5;				/* Firefox */
	filter: alpha(opacity=50);		/* IE6/7 */
	-ms-filter: "alpha(opacity=50)";	/* IE8 */
}

#entry > article > div.body > div.text {
	position: relative;
}

#entry > article > div.body > div.text header {
}

#entry > article > div.body > div.text header > h1 {
	font-weight: normal;
	line-height: 1.4;
	position: relative;
}
#entry > article > div.body > div.text header > h1 > span.line {
	font-family: Arial;
	font-weight: bold;

	display: block;
	font-size: 150%;
	border-bottom: 1px solid #000;
	padding-bottom: 5px;
	margin-bottom: 5px;
}
#entry > article > div.body > div.text header > h1 > span.title {
	font-family: Arial;
	font-weight: bold;
	padding-right: 20px;

	display: inline-block;
	font-size: 280%;
	vertical-align: middle;
	line-height: 1.1;
}
#entry > article > div.body > div.text header > h1 > span#pid {
	font-family: Arial;

	display: inline-block;
	font-size: 100%;
	vertical-align: middle;
	padding-right: 100px;
}
#entry > article > div.body > div.text header > h1 > span.price {
	font-family: Arial;
	font-weight: bold;

	font-size: 200%;
	position: absolute;
	top: 45px;
	right: 0;
}

#entry > article > div.body > div.text header > h2 {
	line-height: 1.4;
	font-weight: normal;
	font-size: 90%;
}
#entry > article > div.body > div.text header > h2 > span.title {
	display: inline-block;
	font-size: 100%;
}


#entry > article > div.body div.description {
}
#entry > article > div.body div.info {
	letter-spacing: -.40em;
	line-height: 1.2;
}
#entry > article > div.body div.info > dl {
	display: inline-block;
	vertical-align: top;
	margin: 10px 0;
}
#entry > article > div.body div.info > dl.quality {
	width: 100%;
}
#entry > article > div.body div.info > dl.size {
	width: 50%;
	padding-right:  30px;
}
#entry > article > div.body div.info > dl.jan {
	width: 50%;
	padding-left:  30px;
}
#entry > article > div.body div.info > dl > dt {
	font-family: Arial;
	font-weight: bold;
	display: block;
	letter-spacing: normal;
	vertical-align: top;
	clear: both;
	float: left;
}
#entry > article > div.body div.info > dl > dt.title {
	width: 100%;
	border-bottom: 1px solid #AAA;
	display: block;
	font-size: 140%;
	padding: 3px 0;
	margin-bottom: 20px;
	letter-spacing: 0.1em
}
#entry > article > div.body div.info > dl > dt.sub {
	display: block;
	width: 100%;
	margin-top: 0;
	margin-bottom: 10px;
}
#entry > article > div.body div.info > dl > dd {
	display: block;
	letter-spacing: normal;
	vertical-align: top;
	padding-bottom: 10px;
	float: left;
}
#entry > article > div.body div.info > dl.quality > dt {
	text-align: right;
	width: 35%;
	padding-bottom: 5px;
	padding-right: 5%;
}
#entry > article > div.body div.info > dl.quality > dt.title {
	width: 100%;
	text-align: left;
	padding-right: 0;
}
#entry > article > div.body div.info > dl.quality > dd {
	float: left;
	width: 60%;
	overflow: hidden;
}

#entry > article > div.body div.info > dl.size > dt.title {
	width: 100%;
}
#entry > article > div.body div.info > dl.size > dt.sub {
	width: 100%;
}
#entry > article > div.body div.info > dl.size > dt {
	width: 40%;
	min-width: 100px;
	padding-right: 5%;
}
#entry > article > div.body div.info > dl.size > dd {
	width: auto;
}

#entry > article > div.body div.info > dl.jan > dt.title {
	width: 100%;
}
#entry > article > div.body div.info > dl.jan > dt {
	width: 40%;
	min-width: 100px;
	padding-right: 5%;
}
#entry > article > div.body div.info > dl.jan > dd {
	width: auto;
}

#entry > article > div.body div.info > dl.coating {
	width: 100%;
	line-height: 1.5
}
#entry > article > div.body div.info > dl.coating > dt.title {
	font-size: 120%;
	position: relative !important;
}
#entry > article > div.body div.info > dl.coating > dt {
	float: none;
	position: absolute;
}
#entry > article > div.body div.info > dl.coating > dd {
	float: none;
	padding-left: 15px;
}


#entry article.about > a.close	{
	position: absolute;
	right: 0px;
	top: 0px;
	width: 70px; 
	height: 70px;
	cursor: pointer;
	z-index: 520;
	background: url(../elements/close.png?160126) no-repeat center center;
}

#entry article.about + .modal_overlay {
	background: #000;
	opacity: 0.8;
	-moz-opacity: 0.8;				/* Firefox */
	filter: alpha(opacity=80);		/* IE6/7 */
	-ms-filter: "alpha(opacity=80)";	/* IE8 */
}

/* @end */


/* @group entry product --------------------------------------------------------*/

#entry > article > div.body {
	display: block;
	letter-spacing: -40em;
	width: 100%;
}
#entry > article > div.body > * {
	display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
}
#entry > article > div.body > div.img {
	width: 40%;
}
#entry > article > div.body > div.img > img {
	display: block;
	max-width: 100%;
}
#entry > article > div.body > div.text {
	width: 60%;
	padding-left: 30px;
	text-align: justify;
}
#entry > article > div.body > div.text > header {
	padding-bottom: 10px;
}
#entry > article > div.body > div.text > header > h1 {
}
#entry > article > div.body > div.text > header > h1 > span.num {
	width: 120px;
	display: block;
	float: left;
	margin-top: -23px;
	margin-right: 25px;
	margin-left: -10px;
}
#entry > article > div.body > div.text > header > h1 > span.num > img {
	width: 100%;
	display: block;
}
#entry > article > div.body > div.text > header > h1 > span.title {
	display: inline-block;
}
#entry > article > div.body > div.text > header > h1 > span.title.en {
	font-size: 210%;
	display: block;
	border-top: 1px solid #28bcb7;
	border-bottom: 1px solid #28bcb7;
	overflow: hidden;
	color: #28bcb7;
	position: relative;
	font-family: 'Swis721 Cn BT';
	padding: 10px 0;
}
#entry > article > div.body > div.text > header > h1 > span.title.en > img {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto auto auto 0;
	max-height: 100%;
	max-width: 100%;
	height: auto;
	width: auto;
}
#entry > article > div.body > div.text > header > h1 > span.title.jp {
	font-size: 110%;
	font-weight: normal;
	display: block;
	padding: 16px 0;
	color: #4d382f;
}
#entry > article > div.body > div.text > header > h2 {
	display: none;
}
#entry > article > div.body > div.text > div.description {
	color: #4d382f;
}
#entry > article > div.body > div.text > div.description > div.point {
	border: 1px solid #7a6862;
	display: inline-block;
	padding: 5px 15px;
	margin: 20px 0;
	line-height: 1.3;
}
#entry > article > div.body > div.text > div.description > h2 {
	color: #28bcb7;
	font-size: 140%;
	letter-spacing: 0.15em;
	font-weight: normal;
	border-bottom: 1px dashed #887e79;
	line-height: 1.3;
	position: relative;
	padding: 5px 0;
	margin-top: 60px;
	margin-bottom: 10px;
}
#entry > article > div.body > div.text > div.description ul {
	padding: 10px 0 10px 20px;
}
#entry > article > div.body > div.text > div.description ul > li {
	padding: 5px 0;
	line-height: 1.3;
}
#entry > article > div.body > div.text > div.description ul > li::before {
	content: "・";
	margin-left: -20px;
	width: 20px;
	display: inline-block;
}
#entry > article > div.body > div.text > div.price {
	font-size: 240%;
	color: #4d382f;
}
#entry > article > div.body > div.text > div.price > span {
	font-size: 50%;
	margin-right: 15px;
}
#entry > article > div.body > div.text > div.price.str {
	font-size: 200%;
	padding: 30px 0;
}
#entry > article > div.body > div.text > div.price.str.sold {
	padding: 15px 0 0;
	font-size: 150%;
}
#entry > article > div.body > div.text > div.btn_wrapper {
	margin-top: 45px;
	height: 100px;
	width: 250px;
	overflow: hidden;
}
#entry > article > div.body > div.text > div.btn_wrapper > iframe {
	width: 100%;
	height: 100%;
	background: #EEE url(../elements/spinner01.gif) no-repeat center center;
}
#entry > article > div.body > div.text > div.btn_wrapper.sold {
	height: auto;
	margin: 0;
}
#entry > article > div.body > div.text > div.btn_wrapper.sold > div.cart {
	line-height: 40px;
	letter-spacing: 0.1em;
	color: #FFF;
	font-weight: bold;
	font-size: 120%;
	background: #AAA;
	text-align: center;
}
body#cart {
	text-align: left;
	background: #FFF;
}
body#cart > div {
	text-align: left;
	width: 250px !important;
}
body#cart > div table {
	margin: 0 0 10px 0 !important;
}
body#cart > div th,
body#cart > div td {
	padding: 5px !important;
	font-size: 80%;
	line-height: 20px !important; 
}
body#cart > div div.cartjs_cart_in {
	background: #abb900;
	position: relative;

	transition-property: background;
	transition-duration: 0.1s;
	transition-timing-function: ease-out;
}
body#cart > div div.cartjs_cart_in:hover {
	background: #C2CC5C;
}
body#cart > div div.cartjs_cart_in::after {
	content: "カートに追加";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	line-height: 40px;
	letter-spacing: 0.1em;
	color: #FFF;
	font-weight: bold;
	font-size: 120%;
}
body#cart > div div.cartjs_cart_in > input {
	position: relative;
	z-index: 5;
	opacity: 0;
	-moz-opacity: 0;			/* Firefox */
	filter: alpha(opacity=0);		/* IE6/7 */
	-ms-filter: "alpha(opacity=0)";
}
/* @end */


/* @group container article --------------------------------------------------------*/
#container > article{
	font-size: 82%;
}

#container > article > div.body{
	width: 100%;
	margin: 0;
	height: 100%;
	position: relative;
	padding: 30px 0 30px 0;
	z-index: 4;
}

#container > article.ground{
	width: 100%;
	height: 100%;
	background: #FFF;
	padding-top: 60px;
}
html.touch_device #container > article.ground{
	height: 100vh;
}

#container > article.ground > header {
	padding: 50px 0 50px;
}
#container > article.ground > header > h2 {
	max-width: 320px;
	width: 100%;
	height: auto;
	line-height: 0;
	margin: 0 auto;
}
#container > article.ground > header > h2 > img {
	display: block;
	width: 100%;
	height: auto;
}
#container > article.ground > header > h3 {
	font-size: 180%;
	line-height: 1.2;
	letter-spacing: 0.1em;
}


#container > article.page{
	width: 100%;
	height: 100%;
	background: #FFF;
}
html.touch_device #container > article.page{
	height: 100vh;
}

#container > article.page > header {
	padding: 60px 0 60px;
}
#container > article.page > header > h2 {
	max-width: 320px;
	width: 100%;
	height: auto;
	line-height: 0;
	margin: 0 auto;
}
#container > article.page > header > h2 > img {
	display: block;
	width: 100%;
	height: auto;
}
#container > article.page > header > h3 {
	font-size: 180%;
	line-height: 1.2;
	letter-spacing: 0.1em;
}



#container > article#pagebase {
	width: 100%;
	position: relative;
	padding: 100px 0 100px 0;
	z-index: 4;
	overflow: hidden;
}
#container > article#pagebase > .wrapper {
	width: 100%;
	height: auto;
	position: relative;
}
#container > article#pagebase > .wrapper > h2 {
	display: none;
}

#container > div.floatbase{
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 510;
	
	display: none;
}
#container > div.floatbase > article.modal{
	width: 98%;
	max-width: 900px;
	position: relative;
	padding: 0 60px 90px 60px;
	margin: 0 auto 30px;
	display: block;
	z-index: 510;
	background: #FFF;

	box-shadow:rgba(0, 0, 0, 0.2) 0px 3px 10px 0px;
	-webkit-box-shadow:rgba(0, 0, 0, 0.2) 0px 3px 10px 0px;
	-moz-box-shadow:rgba(0, 0, 0, 0.2) 0px 3px 10px 0px;

}
#container > div.floatbase > article.modal > div > header {
	padding: 60px 0 60px;
}
#container > div.floatbase > article.modal > div > header > h1 {
	max-width: 320px;
	width: 100%;
	height: auto;
	line-height: 0;
	margin: 0 auto;
}
#container > div.floatbase > article.modal > div > header > h1 > img {
	display: block;
	width: 100%;
	height: auto;
}
#container > div.floatbase > article.modal > div > div {
}
#container > div.floatbase > article.modal > div > div > div {
}
#container > div.floatbase > article#law.modal > div > div > div {
	display: none;
}
#container > div.floatbase > article#law.modal > div > div > div#law_include {
	display: block;
}
#container > div.floatbase > article#law.modal > div > div > div#law_include {
}
#container > div.floatbase > article#law.modal > div > div > div#law_include > h2.shopkeeper-h2 {
	display: none;
}
#container > div.floatbase > article#law.modal > div > div > div#law_include > h2.shopkeeper-h2 > span.google-font {
}
#container > div.floatbase > article#law.modal > div > div > div#law_include > div {
}
#container > div.floatbase > article#law.modal > div > div > div#law_include > div > dl.def-lst {
}
#container > div.floatbase > article#law.modal > div > div > div#law_include > div > dl.def-lst > dt.def-lst-dt {
	font-size: 90%;
	font-weight: bold;
	padding-bottom: 5px;
	color: #888;
	letter-spacing: 0.1em;
}
#container > div.floatbase > article#law.modal > div > div > div#law_include > div > dl.def-lst > dd.def-lst-dd {
	padding-bottom: 40px;
	font-size: 110%;
}

#container > div.floatbase > article.modal > div > div > div > h2 {
	font-size: 150%;
	letter-spacing: 0.1em;
	margin: 70px 0 15px;
}

#container article.ground h1,
#container article.ground h2,
#container article.ground h3,
#container article.ground h4 {
	font-size: 120%;
	line-height: 2.5;
	font-weight: bold;
}
#container > div.floatbase > article.modal a.close	{
	position: absolute;
	right: 0px;
	top: 0px;
	width: 70px; 
	height: 70px;
	cursor: pointer;
	z-index: 520;
	background: url(../elements/close.png?160126) no-repeat center center;
}
#container > div.floatbase > .modal_overlay {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: 400;
	background: #3E7B79;
	opacity: 0.5;
	-moz-opacity: 0.5;				/* Firefox */
	filter: alpha(opacity=50);		/* IE6/7 */
	-ms-filter: "alpha(opacity=50)";	/* IE8 */
}

#container > article.social{
	width: 100%;
	background: #FFF;
}

#container > article.social > div{
	padding: 50px 50px;
}

.clearfix::after{
	content: '';
	display: block;
	clear: both;
	height: 0;
}



/* page  --------------------------------------------------*/
#container > article#pagebase .past_elm {
	z-index: 1 !important;
	position: absolute !important;
	top: 200px !important;
}
#container > article#pagebase > .wrapper > article {
	width: 100%;
	position: relative;
	left: 0;
	z-index: 2;
	top: auto;
}
#container > article#pagebase > .wrapper > article > header {
	width: 100%;
}
#container > article#pagebase > .wrapper > article > header > h2 {
	max-width: 320px;
	width: 100%;
	height: auto;
	line-height: 0;
	margin: 0 auto;
}
#container > article#pagebase > .wrapper > article > header > h2 > img {
	display: block;
	width: 100%;
	height: auto;
}

#container > article#pagebase > .wrapper > article > div.body {
}
#container > article#pagebase > .wrapper > article > div.body > section {
}
#container > article#pagebase > .wrapper > article > div.body > section > div.header {
	height: auto;
	padding-bottom: 30px;
	margin-top: 15px;
	position: relative;
}
#container > article#pagebase > .wrapper > article > div.body > section > div.header > h3 {
	position: absolute;
	bottom: 10%;
	left: 6%;
	width: 40%;
	max-width: 250px;
	min-width: 150px;
}
#container > article#pagebase > .wrapper > article > div.body > section > div.header > h3 > img {
	width: 100%;
	display: block;
}
#container > article#pagebase > .wrapper > article > div.body > section > div.header > .description {
	width: 80%;
	max-width: 900px;
	margin: 10px auto;
	font-size: 120%;
	text-align: justify;
	color: #000;
}
#container > article#pagebase > .wrapper > article > div.body > section > div.slide > img.sentence {
	position: absolute;
	height: 170px;
	width: auto;
	top: 50%;
	left: 5%;
	z-index: 100;
	margin-top: -85px;
}

#container > article#pagebase > .wrapper > div.page_prev_wrapper {
	position: absolute;
	top: 450px;
	left: 5px;
	margin-top: -25px;
	height: 50px;
	width: 50px;
	z-index: 8;
	display: none;
}
#container > article#pagebase > .wrapper > div.page_next_wrapper {
	position: absolute;
	top: 450px;
	right: 5px;
	margin-top: -25px;
	height: 50px;
	width: 50px;
	z-index: 9;
	display: none;
}
#container > article#pagebase > .wrapper > div.page_prev_wrapper > a,
#container > article#pagebase > .wrapper > div.page_next_wrapper > a {
	display: block;
	height: 100%;
	width: 100%;

	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;

	opacity: 0.5;
	-moz-opacity: 0.5;				/* Firefox */
	filter: alpha(opacity=50);		/* IE6/7 */
	-ms-filter: "alpha(opacity=50)";	/* IE8 */
}
#container > article#pagebase > .wrapper > div.page_prev_wrapper > a > img,
#container > article#pagebase > .wrapper > div.page_next_wrapper > a > img {
	display: block;
	height: 100%;
	width: 100%;
}

#container > article#pagebase > .wrapper > article > div.body > section > div.concept {
}
#container > article#pagebase > .wrapper > article > div.body > section > div.concept > img {
	display: block;
	width: 100%;
	max-width: 910px;
	margin: 0 auto;
}
html.ie7_html #container > article#pagebase > .wrapper > article > div.body > section > div.concept > img {
	max-width: none;
	width: 80%;
}




/* top --------------------------------------------------*/
article#slide > header {
	top: 0;
	left: 0;
	display: block;
	height: 100%;
	width: 100%;
	z-index: 2;
	position: absolute;
}
article#slide > header > h2{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
article#slide > header > h2 > img {
	display: block;

	position: absolute;
	right: 0;
	margin: 0 auto;
	height: auto;
	max-width: 378px;
	width: 35%;
	bottom: 15%;
}
html.touch_device article#slide > header > h2 > img {
	bottom: 25%;
}

article#slide > div.fade_slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
article#slide > div.fade_slider > img {
	position: absolute;
	display: block;
	top: -100%;
	left: -100%;
	right: -100%;
	bottom: -100%;
	margin: auto;
	z-index: 1;

	transition-property: opacity;
	transition-duration: 0.6s;
	transition-timing-function: ease-out;

	opacity: 0;
	-moz-opacity: 0;			/* Firefox */
	filter: alpha(opacity=0);		/* IE6/7 */
	-ms-filter: "alpha(opacity=0)";
}
article#slide > div.fade_slider > img.horizontal {
	height: 100%;
	width: auto;
}
article#slide > div.fade_slider > img.vertical {
	height: auto;
	width: 100%;
}
article#slide > div.fade_slider > img.active {
	z-index: 2;

	opacity: 1;
	-moz-opacity: 1;				/* Firefox */
	filter: alpha(opacity=100);		/* IE6/7 */
	-ms-filter: "alpha(opacity=100)";	/* IE8 */
}

article#slide > div.lead {
	width: 90%;
	height: auto;
	text-align: center;
	color: #FFF;
	padding: 10px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: auto;
	margin: auto;
	z-index: 100;
	border: 1px solid #FFF;
	background: rgba(170, 170, 170, 0.4);
	max-width: 620px;
	font-weight: bold;
	display: inline-block;
	top: 55%;
}
article#slide > div.lead > span {
	display: inline-block;
}
/* @end */



/* intro --------------------------------------------------*/
#container > article#intro {
	height: 100%;
	z-index: 1;
}
html.touch_device #container > article#intro {
	height: 100vh;
}

#container > article#intro > div.body{
	height: 100%;
	padding: 0;
}
#container > article#intro > div.body > header {
	display: block;
	width: 40%;
	max-width: 400px;
	position: absolute;
	z-index: 2;
	margin: -75px 0 0 0;
	left: 8%;
	bottom: 30%;
}
#container > article#intro > div.body > header > h2{
	line-height: 0;
	width: 100%;
}
#container > article#intro > div.body > header > h2 > img {
	display: block;
	width: 100%;
	height: auto;
}
#container > article#intro > div.body > div.body {
	position: relative;
	display: block;
	width: 100%;
	z-index: 2;
	height: 100%;
}
#container > article#intro > div.body > div.body > section {
	display: block;
	height: 100%;
	width: 100%;
	text-align: center;
}
#container > article#intro > div.body > section#video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	overflow: hidden;
}
#container > article#intro > div.body > section#video > video {
	min-height: 100%;
	min-width: 100%;
}
#container > article#intro > div.body > div.body > section > div {
	width: 700px;
	margin: 0 auto;
}
#container > article#intro > div.body > div.body > section > div.scroll_down {
	cursor: pointer;
	position: absolute;
	bottom: 20px;
	left: 50%;
	margin-left: -40px;
	width: 80px;
	height: 40px;
	border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	background: #4E351E;
	cursor: pointer;
	z-index: 2;

	opacity: 0.65;
	-moz-opacity: 0.65;			/* Firefox */
	filter: alpha(opacity=65);		/* IE6/7 */
	-ms-filter: "alpha(opacity=65)";	/* IE8 */
}
#container > article#intro > div.body > div.body > section > div.scroll_down > div {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -8px;
	margin-left: -20px;
	width: 40px;
	height: 20px;
	background: url(../elements/btn_arrow_21_bottom.gif?160126) no-repeat center bottom;
}
#container > article#intro > div.body > div.body a.btn_video{
	line-height: 0;
	display: inline-block;
	width: 180px;
	height: 110px;
	margin: 20px 0;
}
#container > article#intro > div.body > div.body a.btn_video > img {
	display: block;
	width: 180px;
	height: 110px;
}
#container > article#intro > div.body > div.body div.description{
	display: inline-block;
	width: 700px;
	height: 240px;
	color: #FFF;
	line-height: 1.8;
	font-size: 140%;
}
#container > article#intro > div.body > div.body div.description > h4{
	font-family: Arial;
	font-size: 200%;
}

#container > article#intro > div.body > div.overlay {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: #7EA997;
	z-index: 3;

	opacity: 0;
	-moz-opacity: 0;				/* Firefox */
	filter: alpha(opacity=0);		/* IE6/7 */
	-ms-filter: "alpha(opacity=0)";	/* IE8 */
}

/* @end */



/* movie --------------------------------------------------*/
#container > article#movie {
	height: auto;
}
#container > article#movie > div.body{
	height: auto;
}

#container > article#movie > div.body > header {
	display: block;
	width: 100%;
	position: relative;
	z-index: 1;
}
#container > article#movie > div.body > header > h2{
	text-align: center;
	width: 50%;
	max-width: 295px;
	margin: 0 auto;
}
#container > article#movie > div.body > header > h2 > img {
	display: block;
	height: auto;
	width: 100%;
}
#container > article#movie > div.body {
	position: relative;
	display: block;
	z-index: 2;
	margin: 0 auto;
	padding: 0;
}
#container > article#movie > div.body > section {
	display: block;
}
#container > article#movie > div.body > section > div.lead {
	display: block;
	width: 100%;
	text-align: center;
	color: #FFF;
	font-size: 130%;
	letter-spacing: 0.2em;
	line-height: 2.4;
	font-weight: bold;
	position: relative;
	z-index: 2;
	padding: 80px 0;
	max-width: 1400px;
	margin: 0 auto;
}

#container > article#movie > div.body > section > div.lead > div.video_area {
	margin-top: 70px;
	width: 100%;
	letter-spacing: -.40em;
	padding: 0 3%;
}
#container > article#movie > div.body > section > div.lead > div.video_area > div.col {
	display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
	width: 44%;
	margin: 0 3%;
}
#container > article#movie > div.body > section > div.lead > div.video_area > div.col > div.shade {
	width: 100%;
	background: rgba(0, 0, 0, 0.7);
	padding: 15px;
}
#container > article#movie > div.body > section > div.lead > div.video_area > div.col > div.shade > div.video {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
#container > article#movie > div.body > section > div.lead > div.video_area > div.col > div.shade > div.video > iframe {
	width: 100% !important;
	height: 100% !important;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}
#container > article#movie > div.body > section > div.lead > div.video_area > div.col > a.btn_video{
	line-height: 0;
	display: inline-block;
	width: 200px;
	height: auto;
	margin: 50px 0 0;
}
#container > article#movie > div.body > section > div.lead > div.video_area > div.col > a.btn_video > img {
	display: block;
	width: 200px;
	height: auto;
}
#container > article#movie > div.body div.description > h4{
	display: block;
	width: 100%;
	margin: 20px auto 20px auto;
}
#container > article#movie > div.body div.description > h4 > img {
	display: block;
	height: auto;
	width: 100%;
}

#container > article#movie > div.body div.description{
	display: inline-block;
	color: #FFF;
	line-height: 1.8;
	font-size: 110%;
}

#container > article#movie > div.body > section.bottom {
	margin-top: 120px;
}
#container > article#movie > div.body > section.bottom > div.lead {
	height: 550px;
	position: relative;
	width: 80%;
	max-width: none;
}
#container > article#movie > div.body > section.bottom > div.lead > span {
	font-size: 130%;
	display: block;
	text-align: right;
	position: absolute;
	top: 35%;
	right: 0;
	width: 50%;
	
}
#container > article#movie > div.body > section.bottom > div.lead > img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	display: block;
}
#container > article#movie > div.body > section.bottom > div.lead > img#movie_bottom_img_1 {
	right: auto;
	bottom: auto;
	height: auto;
	width: 35%;
	margin: -5% auto auto -10%;
}
#container > article#movie > div.body > section.bottom > div.lead > img#movie_bottom_img_2 {
	right: auto;
	top: auto;
	margin: auto auto -7% -5%;
	height: auto;
	width: 25%;
}
#container > article#movie > div.body > section.bottom > div.lead > img#movie_bottom_img_3 {
	left: auto;
	top: auto;
	margin: auto -9% -8% auto;
	height: auto;
	width: 40%;
}

/* @end */



/* concept --------------------------------------------------*/
#container > article#concept {
	height: auto;
	padding-top: 120px;
}
#container > article#concept > div.body{
	height: auto;
}

#container > article#concept > div.body > header {
	display: block;
	width: 100%;
	position: relative;
	z-index: 1;
}
#container > article#concept > div.body > header > h2{
	text-align: center;
	width: 50%;
	max-width: 295px;
	margin: 0 auto;
}
#container > article#concept > div.body > header > h2 > img {
	display: block;
	height: auto;
	width: 100%;
}
#container > article#concept > div.body {
	position: relative;
	display: block;
	z-index: 2;
	margin: 0 auto;
	padding: 0;
}
#container > article#concept > div.body > section#concept_1 {
	margin-top: 70px;
	height: 650px;
}
#container > article#concept > div.body > section#concept_1 > img {
	position: absolute;
	display: block;
	width: 70%;
}
#container > article#concept > div.body > section#concept_1 > img#concept_1_img_1 {
	max-width: 620px;
	bottom: 42%;
	left: 8%;
}
#container > article#concept > div.body > section#concept_1 > img#concept_1_img_2 {
	max-width: 470px;
	margin: 20px 0;
	top: 60%;
	left: 11%;
}


#container > article#concept > div.body > section#concept_2 {
	letter-spacing: -.40em;
	text-align: center;
	max-width: 1300px;
	margin: 70px auto 0;
}
#container > article#concept > div.body > section#concept_2 > h3 {
	margin-bottom: 50px;
}
#container > article#concept > div.body > section#concept_2 > h3 > img {
	max-width: 520px;
	width: 90%;
	margin: 0 auto;
	display: block;
}
#container > article#concept > div.body > section#concept_2 > dl {
	letter-spacing: normal;
	display: inline-block;
	vertical-align: top;
	width: 47%;
	padding: 3% 3% 3% 2%;
	text-align: left;
	color: #4d382f;
}
#container > article#concept > div.body > section#concept_2 > dl > dt {
	float: left;
	margin-right: 10px;
}
#container > article#concept > div.body > section#concept_2 > dl > dt > img {
	width: 95px;
	height: auto;
	margin-top: -20px;
}
#container > article#concept > div.body > section#concept_2 > dl > dd {
}
#container > article#concept > div.body > section#concept_2 > dl > dd > h4 {
	border-bottom: 1px dashed #000;
	overflow: hidden;
	margin-bottom: 10px;
	font-size: 180%;
	letter-spacing: 0.15em;
	line-height: 1.3;
	padding-bottom: 10px;
}
#container > article#concept > div.body > section#concept_2 > dl:nth-child(3) > dd > h4 {
	letter-spacing: normal;
}
#container > article#concept > div.body > section#concept_2 > dl:nth-child(4) > dd > h4 {
	letter-spacing: normal;
}

#container > article#concept > div.body > section#concept_2 > dl > dd > div {
	overflow: hidden;
	font-size: 115%;
}



#container > article#concept > div.body > section#concept_3 > div.point_1 {
	margin-top: 70px;
	height: 630px;
}
#container > article#concept > div.body > section#concept_3 > div.point_2 {
	margin-top: 70px;
	height: 520px;
}
#container > article#concept > div.body > section#concept_3 > div.point_2 > div.bg {
	width: 70%;
	left: auto;
}
#container > article#concept > div.body > section#concept_3 > div.point_3 {
	margin-top: 70px;
	height: 550px;
}
#container > article#concept > div.body > section#concept_3 > div.point_4 {
	margin-top: 70px;
	height: 685px;
}
#container > article#concept > div.body > section#concept_3 > div > div.content {
	letter-spacing: -.40em;
	width: 100%;
	height: 100%;
	text-align: center;
	max-width: 1200px;
	margin: 0 auto;
}
#container > article#concept > div.body > section#concept_3 > div:nth-child(even) {
	direction: rtl;
}
#container > article#concept > div.body > section#concept_3 > div:nth-child(even) > * > * {
	direction: ltr;
}


#container > article#concept > div.body > section#concept_3 > div > div.content > * {
	display: inline-block;
	width: 45%;
	vertical-align: middle;
	letter-spacing: normal;
	text-align: left;
}
#container > article#concept > div.body > section#concept_3 > div > div.content > div.img {
	padding: 15px 0;
	position: relative;
	height: 100%;
}
#container > article#concept > div.body > section#concept_3 > div.point_4 > div.content > div.img {
	width: 20%;
}
#container > article#concept > div.body > section#concept_3 > div.point_4 > div.content > div.text {
	width: 60%;
}
#container > article#concept > div.body > section#concept_3 > div.point_4 > div.content > div.text > div.description {
	color: #FFF;
	max-width: 520px;
}
#container > article#concept > div.body > section#concept_3 > div > div.content > div.img > img {
	height: 100%;
	display: block;
	width: auto;
	margin: 0 auto;
}
#container > article#concept > div.body > section#concept_3 > div.point_3 > div.content > div.img > img {
	width: auto;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
#container > article#concept > div.body > section#concept_3 > div.point_3 > div.content > div.img > img.img_1 {
	right: auto;
	bottom: auto;
	margin: -12% auto auto -5%;
	width: 70%;
}
#container > article#concept > div.body > section#concept_3 > div.point_3 > div.content > div.img > img.img_2 {
	left: auto;
	z-index: 10;
	margin: auto 10% 7% auto;
	width: 47%;
}
#container > article#concept > div.body > section#concept_3 > div.point_3 > div.content > div.img > img.img_3 {
	right: auto;
	top: auto;
	margin: auto auto -30% -12%;
	width: 63%;
}
#container > article#concept > div.body > section#concept_3 > div > div.content > div.text {
	padding: 15px;
}
#container > article#concept > div.body > section#concept_3 > div > div.content > div.text > * {
	margin-bottom: 5%;
}
#container > article#concept > div.body > section#concept_3 > div > div.content > div.text > *:last-child {
	margin-bottom: 0;
}
#container > article#concept > div.body > section#concept_3 > div > div.content > div.text > h3 {
}
#container > article#concept > div.body > section#concept_3 > div > div.content > div.text > h3 > img {
	max-height: 54px;
	max-width: 100%;
	display: block;
}
#container > article#concept > div.body > section#concept_3 > div > div.content > div.text > h4 {
}
#container > article#concept > div.body > section#concept_3 > div > div.content > div.text > h4 > img {
	max-height: 80px;
	max-width: 100%;
	display: block;
}
#container > article#concept > div.body > section#concept_3 > div.point_3 > div.content > div.text > h4 > img {
	max-height: 130px;
	max-width: 100%;
	display: block;
}
#container > article#concept > div.body > section#concept_3 > div > div.content > div.text > div.description {
	font-size: 120%;
	max-width: 480px;
	font-weight: bold;
	color: #4d4d4d;
}
#container > article#concept > div.body > section#concept_3 > div > div.content > div.text > div.description > img {
	max-height: 100px;
	max-width: 100%;
	display: block;
	margin-top: 40px;
}
#container > article#concept > div.body > section#concept_3 > div > div.content > div.text > a {
	display: inline-block;
}
#container > article#concept > div.body > section#concept_3 > div > div.content > div.text > a > img {
	max-height: 63px;
	max-width: 100%;
	display: block;
}

#container > article#concept > div.body > section#concept_3 > img {
	position: absolute;
	display: block;
	max-width: 470px;
	width: 90%;
	margin: 20px 0;
	left: 8%;
}
#container > article#concept > div.body > section#concept_3 > img#concept_3_img_1 {
	bottom: 47%;
}
#container > article#concept > div.body > section#concept_3 > img#concept_3_img_2 {
	top: 53%;
}

/* @end */




/* products --------------------------------------------------*/
#container > article#products {
	height: auto;
	padding-top: 120px;
}
#container > article#products > div.body{
	height: auto;
}

#container > article#products > div.body > header {
	display: block;
	width: 100%;
	position: relative;
	z-index: 1;
}
#container > article#products > div.body > header > h2{
	text-align: center;
	width: 50%;
	max-width: 295px;
	margin: 0 auto;
}
#container > article#products > div.body > header > h2 > img {
	display: block;
	height: auto;
	width: 100%;
}
#container > article#products > div.body {
	position: relative;
	display: block;
	z-index: 2;
	margin: 0 auto;
	padding: 0;
}

/* @end */



/* products list common --------------------------------------------------*/
div.index {
	padding: 0 0 100px;
}
div.index > ul {
	width: 100%;
	min-height: 500px;
	background: #FFF;
	margin: 0 auto;
	letter-spacing: -.40em;
	padding: 0 15px;
	text-align: center;
	max-width: 1200px;
}
div.index > ul > li {
	width: 25%;
	letter-spacing: normal;
	display: inline-block;
	vertical-align: baseline;
	padding: 0 0.1% 5%;

	transition-property: opacity,transform;
	transition-duration: 1s;
	transition-timing-function: ease-out;
	transform: matrix(1, 0, 0, 1, 0, 30);

	opacity: 0;
	-moz-opacity: 0;				/* Firefox */
	filter: alpha(opacity=0);		/* IE6/7 */
	-ms-filter: "alpha(opacity=0)";	/* IE8 */
}
div.index > ul > li.show {
	transform: matrix(1, 0, 0, 1, 0, 0);

	opacity: 1;
	-moz-opacity: 1;				/* Firefox */
	filter: alpha(opacity=100);		/* IE6/7 */
	-ms-filter: "alpha(opacity=100)";	/* IE8 */
}
div.index > ul > li > a {
	display: block;
	height: 100%;
	width: 100%;
	overflow: hidden;
	background: #FFF;
	color: #555;
	text-decoration: none;
}

div.index > ul > li > a div.img {
	width: 100%;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
div.index > ul > li > a div.img img {
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	max-width: 290px;
}
div.index > ul > li > a div.text_wrapper {
	position: relative;
	font-family: Arial;
	font-weight: bold;
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
	width: 100%;
	z-index: 2;
}
div.index > ul > li > a div.text_wrapper > div.text {
	padding-top: 35px;
}
div.index > ul > li > a div.text_wrapper > div.text > .title {
	display: block;
}
div.index > ul > li > a div.text_wrapper > div.text > .title > .jp {
	display: block !important;
	font-size: 84%;
	line-height: 1.3;
	padding: 15px 0;
	min-height: 62px;
}
div.index > ul > li > a div.text_wrapper > div.text > .title > .en {
	display: none !important;
}
div.index > ul > li > a div.text_wrapper > div.text > .title > span.num {
	width: 100%;
	display: block;
	
}
div.index > ul > li > a div.text_wrapper > div.text > .title > span.num > img {
	width: 25%;
	display: block;
	margin: 0 auto;
}
div.index > ul > li > a div.text_wrapper > div.text > .title > .headline {
	position: relative;
	max-width: 190px;
	width: 100%;
	font-family: 'Swis721 Cn BT';
	color: #2abcb7;
	font-size: 155%;
	line-height: 1.3;
	margin-bottom: 10px;
}
div.index > ul > li > a div.text_wrapper > div.text > .title > .headline > img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100%;
	display: block;
	margin: 0 auto;
}
div.index > ul > li > a div.text_wrapper > div.text > .arrow {
	height: 40px;
	line-height: 40px;
	width: 114px;
	text-align: center;
	display: inline-block;
	background: #abb900;
	color: #FFF;
	font-size: 80%;
}
div.index > ul > li > a div.text_wrapper > div.text > .arrow > img {
	height: 100%;
}
/* @end */



/* thought --------------------------------------------------*/
#container > article#thought {
	height: auto;
}
#container > article#thought > div.body > section {
	letter-spacing: -.40em;
	text-align: center;
	max-width: 1200px;
	margin: 0 auto 0;
}
#container > article#thought > div.body > section > h3 {
	margin-bottom: 50px;
}
#container > article#thought > div.body > section > h3 > img {
	max-width: 460px;
	width: 90%;
	margin: 0 auto;
	display: block;
}
#container > article#thought > div.body > section > div.content {
	letter-spacing: -.40em;
	width: 100%;
	height: 100%;
	text-align: center;
	max-width: 1200px;
	margin: 0 auto 70px;
	padding: 0 5%;
}
#container > article#thought > div.body > section > div.content:nth-child(even) {
	direction: rtl;
}
#container > article#thought > div.body > section > div.content:nth-child(even) > * > * {
	direction: ltr;
}


#container > article#thought > div.body > section > div.content > * {
	display: inline-block;
	width: 50%;
	vertical-align: top;
	letter-spacing: normal;
	text-align: left;
}
#container > article#thought > div.body > section > div.content > div.img {
	height: 100%;
	padding: 0;
	position: relative;
}
#container > article#thought > div.body > section > div.content > div.img > img {
	display: block;
	margin: auto;
	height: auto;
	width: 85%;
}
#container > article#thought > div.body > section > div.content > div.text {
	padding: 0 3%;
	text-align: justify;
}
#container > article#thought > div.body > section > div.content > div.text > * {
	margin-bottom: 10%;
}
#container > article#thought > div.body > section > div.content > div.text > *:last-child {
	margin-bottom: 0;
}
#container > article#thought > div.body > section > div.content > div.text > h3 {
	max-width: 480px;
	color: #28bcb7;
	font-size: 205%;
	letter-spacing: 0.15em;
	line-height: 1.3;
	font-weight: normal;
}
#container > article#thought > div.body > section > div.content > div.text > h3 > span {
	display: inline-block;
}
#container > article#thought > div.body > section > div.content > div.text > div.description {
	font-size: 120%;
	max-width: 480px;
	font-weight: bold;
	color: #4d4d4d;
}
/* @end */





/* salon --------------------------------------------------*/
#container > article#salon {
	height: auto;
	min-height: 100%;
}
#container > article#salon > header {
	display: block;
	width: 100%;
	position: relative;
	z-index: 1;
	height: 350px;
}
#container > article#salon > header > h2{
	margin: 0 auto;
	position: absolute;
	bottom: 33%;
	line-height: 1.3;
	font-size: 230%;
	color: #4d382f;
	left: 5%;
	width: auto;
}
#container > article#salon > header > div.bg > img {
	top: -70%;
}
#container > article#salon > div.body {
	padding-top: 100px;
}





#container > article#salon > div.body > section {
	letter-spacing: -.40em;
	text-align: center;
	max-width: 1200px;
	margin: 0 auto 0;
	padding: 0 5%;
	position: relative;
}
#container > article#salon > div.body > section::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 134px 134px 0 0;
	border-color: #4d382f transparent transparent transparent;
	position: absolute;
	top: -60px;
	left: -60px;
}
#container > article#salon > div.body > section > header {
	margin-bottom: 50px;
	text-align: left;
	letter-spacing: normal;
}
#container > article#salon > div.body > section > header > h2 {
	font-size: 400%;
	line-height: 1.3;
	color: #4d382f;
	letter-spacing: 0.1em;
}
#container > article#salon > div.body > section > header > h2 > span {
	font-size: 30%;
	display: inline-block;
}
#container > article#salon > div.body > section > header > span {
	font-size: 120%;
}
#container > article#salon > div.body > section > div.content {
	letter-spacing: -.40em;
	width: 100%;
	height: 100%;
	text-align: center;
	max-width: 1200px;
	margin: 0 auto 70px;
}
#container > article#salon > div.body > section > div.content:nth-child(even) {
}
#container > article#salon > div.body > section > div.content:nth-child(even) > * > * {
	direction: ltr;
}


#container > article#salon > div.body > section > div.content > * {
	display: inline-block;
	width: 50%;
	vertical-align: top;
	letter-spacing: normal;
	text-align: left;
}
#container > article#salon > div.body > section > div.content > div.img {
	height: 100%;
	position: relative;
}
#container > article#salon > div.body > section > div.content > div.img > img {
	height: auto;
	display: block;
	width: 90%;
	max-width: 100%;
	margin: 0 auto;
}
#container > article#salon > div.body > section > div.content > div.img > #gmap {
	height: 0;
	position: relative;
	background: #EEE;
	width: 93%;
	display: block;
	padding-bottom: 45%;
	margin: 0 auto;
}

#container > article#salon > div.body > section > div.content > div.text {
	padding: 0;
}
#container > article#salon > div.body > section > div.content > div.text > * {
	margin-bottom: 15px;
}
#container > article#salon > div.body > section > div.content > div.text > *:last-child {
	margin-bottom: 0;
}
#container > article#salon > div.body > section > div.content > div.text > h3 {
	max-width: 480px;
	color: #28bcb7;
	font-size: 170%;
	letter-spacing: 0.15em;
	font-weight: normal;
	border-bottom: 1px dashed #887e79;
	line-height: 1.3;
	position: relative;
	padding: 10px 0;
}
#container > article#salon > div.body > section > div.content > div.text > h3 > a {
	display: inline-block;
	vertical-align: bottom;
	position: absolute;
	right: 0;
	top: 0;
}
#container > article#salon > div.body > section > div.content > div.text > h3 > a > img {
	max-width: 205px;
	width: 100%;
	display: block;
}

#container > article#salon > div.body > section > div.content > div.text > div.description {
	font-size: 120%;
	max-width: 480px;
	font-weight: bold;
	color: #684b3c;
	padding-bottom: 20px;
}
/* @end */


/* registration --------------------------------------------------*/
#container > article#registration {
	height: auto;
	min-height: 100%;
}
#container > article#registration > header {
	display: block;
	width: 100%;
	position: relative;
	z-index: 1;
	height: 500px;
}
#container > article#registration > header > h2 {
	margin: 0 auto;
	position: absolute;
	bottom: 43%;
	line-height: 1.3;
	font-size: 230%;
	color: #FFF;
	left: 5%;
	width: auto;
}
#container > article#registration > header > h3 {
	margin: 0 auto;
	position: absolute;
	bottom: 36%;
	line-height: 1.3;
	font-size: 150%;
	color: #FFF;
	left: 5%;
	letter-spacing: 0.2em;
	padding-left: 4px;
}
#container > article#registration > header > div.bg > img {
	width: 100%;
	height: 110%;
	margin: auto;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
#container > article#registration > div.body {
	padding-top: 80px;
}

#container > article#registration > div.body > header {
	padding: 60px 0 60px;
}
#container > article#registration > div.body > header > h2 {
	max-width: 320px;
	width: 100%;
	height: auto;
	line-height: 0;
	margin: 0 auto;
}
#container > article#registration > div.body > header > h2 > img {
	display: block;
	width: 100%;
	height: auto;
}
#container > article#registration > div.body > div.lead {
	width: 90%;
	max-width: 700px;
	margin: 0 auto 65px;
	text-align: center;
	font-size: 115%;
	color: #4e382f;
}
#container > article#registration > div.body > div.lead > small {
	display: block;
	font-weight: normal;
	font-size: 70%;
	color: #6f5a51;
}
#container > article#registration > div.body > div.lead > small > h4 {
	margin-bottom: 5px;
	color: #4d382f;
}
#container > article#registration > div.body > div.lead span {
	display: inline-block;
}
#container > article#registration > div.body > div.img {
	margin-bottom: 65px;
}
#container > article#registration > div.body > div.img > img {
	display: block;
	max-width: 830px;
	margin: 0 auto;
	width: 96%;
}
#container > article#registration > div.body > div.iframe_wrapper {
	
}
#container > article#registration > div.body > div.iframe_wrapper > iframe {
	height: 1050px;
	display: block;
	width: 100%;
}


body#registration article.form_wrapper > h2 {
	display: none;
}
body#registration_thanks {
	text-align: center;
	font-size: 100%;
}
body#registration_thanks > div.description {
	padding: 50px 0;
}
body#registration_thanks > div.description > h2 {
	font-size: 130%;
	margin-bottom: 10px;
}
body#registration_thanks > div.description > span {
	display: inline-block;
}

/* @end */


/* member --------------------------------------------------*/
#container > article#member {
	height: auto;
	min-height: 1125px;
}
#container > article#member > header {
	display: block;
	width: 100%;
	position: relative;
	z-index: 1;
	height: 500px;
}
#container > article#member > header > h2 {
	margin: 0 auto;
	position: absolute;
	bottom: 43%;
	line-height: 1.3;
	font-size: 230%;
	color: #FFF;
	left: 5%;
	width: auto;
}
#container > article#member > header > h3 {
	margin: 0 auto;
	position: absolute;
	bottom: 36%;
	line-height: 1.3;
	font-size: 150%;
	color: #FFF;
	left: 5%;
	letter-spacing: 0.2em;
	padding-left: 4px;
}
#container > article#member > header > div.bg > img {
	top: 0%;
}
#container > article#member > div.body {
	padding-top: 10px;
}

#container > article#member > div.body > header {
	padding: 60px 0 60px;
}
#container > article#member > div.body > header > h2 {
	max-width: 320px;
	width: 100%;
	height: auto;
	line-height: 0;
	margin: 0 auto;
}
#container > article#member > div.body > header > h2 > img {
	display: block;
	width: 100%;
	height: auto;
}
#container > article#member > div.body > div.lead {
	padding: 20px;
	width: 90%;
	max-width: 700px;
	margin: 10px auto 80px;
	border: 3px solid #000;
	text-align: center;
	font-size: 145%;
	color: #4d382f;
	font-weight: bold;
	line-height: 1.3;
}
#container > article#member > div.body > div.lead > small {
	display: block;
	font-weight: normal;
	font-size: 70%;
	color: #6f5a51;
}
#container > article#member > div.body > div.lead > small > h4 {
	margin-bottom: 5px;
	color: #4d382f;
}
#container > article#member > div.body > div.lead span {
	display: inline-block;
}



#container > article#member > div.body > section {
	letter-spacing: -.40em;
	text-align: center;
	max-width: 1200px;
	margin: 0 auto 0;
	position: relative;
}
#container > article#member > div.body > section > header {
	margin-bottom: 50px;
	text-align: left;
	letter-spacing: normal;
}
#container > article#member > div.body > section > header > h2 {
	font-size: 400%;
	line-height: 1.3;
	color: #4d382f;
	letter-spacing: 0.1em;
}
#container > article#member > div.body > section > header > h2 > span {
	font-size: 30%;
}
#container > article#member > div.body > section > header > span {
	font-size: 120%;
}
#container > article#member > div.body > section > div.content {
	letter-spacing: -.40em;
	width: 100%;
	height: 100%;
	text-align: center;
	max-width: 1200px;
	margin: 0 auto 70px;
}
#container > article#member > div.body > section > div.content:nth-child(even) {
}
#container > article#member > div.body > section > div.content:nth-child(even) > * > * {
	direction: ltr;
}


#container > article#member > div.body > section > div.content > * {
	display: inline-block;
	width: 50%;
	vertical-align: top;
	letter-spacing: normal;
	text-align: left;
}
#container > article#member > div.body > section > div.content > div.img {
	height: 100%;
	position: relative;
}
#container > article#member > div.body > section > div.content > div.img > img {
	height: 100%;
	display: block;
	width: auto;
	margin: 0 auto;
}
#container > article#member > div.body > section > div.content > div.img > #gmap {
	height: 0;
	position: relative;
	background: #EEE;
	width: 93%;
	display: block;
	padding-bottom: 45%;
	margin: 0 auto;
}

#container > article#member > div.body > section > div.content > div.text {
	padding: 0;
}
#container > article#member > div.body > section > div.content > div.text > * {
	margin-bottom: 15px;
}
#container > article#member > div.body > section > div.content > div.text > *:last-child {
	margin-bottom: 0;
}
#container > article#member > div.body > section > div.content > div.text > h3 {
	max-width: 480px;
	color: #28bcb7;
	font-size: 170%;
	letter-spacing: 0.15em;
	font-weight: normal;
	border-bottom: 1px dashed #887e79;
	line-height: 1.3;
	position: relative;
	padding: 10px 0;
}
#container > article#member > div.body > section > div.content > div.text > h3 > a {
	display: inline-block;
	vertical-align: bottom;
	position: absolute;
	right: 0;
	top: 0;
}
#container > article#member > div.body > section > div.content > div.text > h3 > a > img {
	max-width: 205px;
	width: 100%;
	display: block;
}

#container > article#member > div.body > section > div.content > div.text > div.description {
	font-size: 120%;
	max-width: 480px;
	font-weight: bold;
	color: #684b3c;
	padding-bottom: 20px;
}
/* @end */


/* login --------------------------------------------------*/
div.body_login {
	font-size: 14px;
	text-align: center;
	padding: 0 0 30px;
	max-width: 1200px;
	margin: 0 auto 0;
	width: 96%;
}
body.logging_in div.body_login {
	text-align: right;
}
div.body_login > h3 {
	font-size: 110%;
	letter-spacing: normal;
	line-height: 1.5;
	padding: 10px 0 5px;
}
div.body_login > a.btn_logout {
	color: #252525;
	display: inline-block;
	border-bottom: 1px solid #AAA;
	line-height: 1.3;
	text-decoration: none;
}
div.body_login > h1 {
	font-size: 110%;
	letter-spacing: normal;
	line-height: 1.5;
	padding: 105px 0 15px;
}
div.body_login > h1 > span {
	display: inline-block;
}
div.body_login > div.message {
	padding: 0 0 10px;
	font-weight: bold;
}
div.body_login > div.form.login {
	margin-bottom: 30px;
}
div.body_login > div.form.login > form {
}
div.body_login > div.form.login > form > input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}
div.body_login > div.form.login > form > input[type='password'] {
	border: 1px solid #aaaaaa;
	display: block;
	margin: 0 auto;
	width: 90%;
	height: 42px;
	max-width: 380px;
	font-size: 400%;
	text-align: center;
	margin-bottom: 85px;
	padding: 6px 0;
	line-height: 30px;
}
div.body_login > div.form.login > form > input[type='submit'] {
	background: #28bcb7;
	color: #FFF;
	font-weight: bold;
	font-size: 160%;
	line-height: 76px;
	width: 310px;
	display: block;
	margin: 0 auto;
	cursor: pointer;
}
div.body_login > a.btn_registration {
	color: #252525;
	display: inline-block;
	border-bottom: 1px solid #AAA;
	line-height: 1.3;
	text-decoration: none;
}
/* @end */



/* property --------------------------------------------------*/
#container > div.floatbase > article#quality.modal{
	max-width: 1000px;
}
#container > div.floatbase > article#quality.modal > div > header {
	text-align: left;
	line-height: 1.5;
	font-size: 200%;
}
#container > div.floatbase > article#quality.modal > div > header > h1 {
	text-align: left;
	line-height: 1.3;
	max-width: none;;
}
#container > div.floatbase > article#quality.modal > div > header > h1 > span {
	display: inline-block;
}
#container > div.floatbase > article#quality.modal > div > header > h1 > img {
}
#container > div.floatbase > article#quality.modal > div > div {
}
#container > div.floatbase > article#quality.modal > div > div > div.jp {
}
#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_1 {
	letter-spacing: -.40em;
	position: relative;
}
#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_1 > * {
	letter-spacing: normal;
}
#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_1 > div.text {
	width: 100%;
	text-align: justify;
	padding-right: 48%;
}
#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_1 > div.img {
	position: absolute;
	top: -50px;
	right: 0px;
	max-width: 360px;
	width: 42%;
}
#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_1 > div.img > img {
	display: block;
	width: 100%;
}
#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_2 {
	padding: 14% 0 0;
}
#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_2 > div.img {
	max-width: 660px;
	width: 100%;
	margin: 0 auto;
}
#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_2 > div.img > img {
	display: block;
	width: 100%;
}
/* @end */



/* contact --------------------------------------------------*/
#container > div.floatbase > article#contact {
}
#container > div.floatbase > article#contact > div {
}
#container > div.floatbase > article#contact > div > header {
}
#container > div.floatbase > article#contact > div > div {
}
#container > div.floatbase > article#contact > div > div iframe {
	width: 85%;
	display: block;
	height: 600px;
}

body#mailform {
	width: 100%;
}
body#mailform ::selection {
    background: #EEE; /* Safari */
    color: #555;
}
body#mailform ::-moz-selection {
    background: #EEE; /* Firefox */
    color: #555;
}

body#mailform h1 {
	display: none;
}
body#mailform dl {
	width: 100%;
	margin: 0 auto 0 auto;
}
body#mailform dl > dt {
	height: 60px;
	width: 25%;
	display: block;
	color: #FFF;
	font-weight: bold;
	background: #7EA997;
	padding: 15px 30px;
	text-align: center;
	float: left;

	border-top: 1px solid #FFFDF7;
}
body#mailform dl > dd {
	height: 60px;
	width: 75%;
	display: inline-block;
	padding: 15px 0 15px 30px;
	font-weight: bold;

	border-top: 1px solid #7EA997;
}
body#mailform dl > dt.txtarea {
	height: 200px;
	padding: 85px 30px;
}
body#mailform dl > dd.txtarea {
	height: 200px;
}
body#mailform dl > dt.email {
	height: 80px;
	padding: 25px 30px;
}
body#mailform dl > dd.email {
	height: 80px;
}
body#mailform dl > dt:last-child {
	border-bottom: 1px solid #FFFDF7;
}
body#mailform dl > dd:last-child {
	border-bottom: 1px solid #7EA997;
}
body#mailform dl > dd input {
	display: inline-block;
	height: 20px;
}
body#mailform dl > dd.genre label {
	display: inline-block;
	height: 20px;
	margin-right: 10px;
	cursor: pointer;
}
body#mailform dl > dd.txtarea textarea {
	height: 169px;
}
body#mailform dl > dd > br {
	display: none;
}
body#mailform dl > dd.email > br {
	display: block !important;
}
body#mailform > form p {
	height: 60px;
	text-align: center;
}
body#mailform > form p input {
	display: inline-block;
	margin: 20px 10px;
}
body#mailform .msg {
	color: #28bcb7;
}
body#mailform .complete {
	text-align: center;
	color: #28bcb7;
	font-weight: bold;
	font-size: 150%;
}
body#mailform table {
	width: 100%;
	margin: 0 auto 0 auto;
}
body#mailform table tr > td.headline {
	width: 25%;
	color: #FFF;
	font-weight: bold;
	background: #7EA997;
	padding: 15px 30px;
	text-align: center;

	border-top: 1px solid #FFFDF7;
}
body#mailform table tr > td.description {
	width: 75%;
	padding: 15px 0 15px 30px;
	font-weight: bold;

	border-top: 1px solid #7EA997;
}
body#mailform table tr:last-child td {
	border-bottom: 1px solid #FFFDF7;
}
body#mailform table tr:last-child td:last-child {
	border-bottom: 1px solid #7EA997;
}


body#mailform h2 {
	text-align: center;
	font-size: 150%;
	padding: 20px;
}
body#mailform h3 {
	text-align: center;
	font-size: 120%;
	padding: 20px;
}
/* @end */


/* company --------------------------------------------------*/
#container > div.floatbase > article#company > div > div > div > dl {
	width: 85%;
	margin: 30px auto 0 auto;
}
#container > div.floatbase > article#company > div > div > div > dl > dt {
	width: 25%;
	display: block;
	color: #FFF;
	font-weight: bold;
	background: #7EA997;
	padding: 15px 30px;
	text-align: center;
	float: left;

	border-top: 1px solid #FFFDF7;
}
#container > div.floatbase > article#company > div > div > div > dl > dd {
	width: 75%;
	display: inline-block;
	padding: 15px 0 15px 30px;
	font-weight: bold;

	border-top: 1px solid #7EA997;
}
#container > div.floatbase > article#company > div > div > div > dl > dt:last-child {
	border-bottom: 1px solid #FFFDF7;
}
#container > div.floatbase > article#company > div > div > div > dl > dd:last-child {
	border-bottom: 1px solid #7EA997;
}

/* @end */


/* @group contact --------------------------------------------------------*/
#container > div.floatbase > article#contact > div > div > div {
	text-align: center;
	padding-bottom: 50px;
}
#container > div.floatbase > article#contact > div > div > div > div#iframe_wrapper {
	
}
#container > div.floatbase > article#contact > div > div > div > div#iframe_wrapper > iframe {
	height: 850px;
	display: block;
	width: 100%;
}
body#contact article.form_wrapper > h2 {
	display: none;
}
body#contact_thanks {
	text-align: center;
	font-size: 100%;
}
body#contact_thanks > div.description {
	padding: 50px 0;
}
body#contact_thanks > div.description > h2 {
	font-size: 130%;
	margin-bottom: 10px;
}
body#contact_thanks > div.description > span {
	display: inline-block;
}



/* @group slide --------------------------------------------------------*/

article#slide {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	position: fixed;
	overflow: hidden;

	transition-property: opacity;
	transition-duration: 0.6s;
	transition-timing-function: ease-out;

	opacity: 0;
	-moz-opacity: 0;				/* Firefox */
	filter: alpha(opacity=0);		/* IE6/7 */
	-ms-filter: "alpha(opacity=0)";	/* IE8 */
}
article#slide.show {
	opacity: 1;
	-moz-opacity: 1;				/* Firefox */
	filter: alpha(opacity=100);		/* IE6/7 */
	-ms-filter: "alpha(opacity=100)";	/* IE8 */
}

article#slide > div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

#slide_blank {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: -2;
}

body.page #slide_blank {
	display: none;
}
body.page #wrapper > a.scroll_down {
	display: none;
}

html.touch_device article#slide {
	height: 100vh;
}
html.touch_device #slide_blank {
	height: 100vh;
}
html.android article#slide {
	position: absolute;
}

#SLIDE_fullscreen {
	width: 100%;
	height: 100%;
}
#SLIDE_fullscreen #main {
	width: 100%;
	height: 100%;
	background: #FFF url('../elements/spinner05.gif') no-repeat center center;
}
#SLIDE_fullscreen #watermark {
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	background: url('../elements/SLIDE_fullscreen_watermark.png') repeat;
}
#SLIDE_fullscreen #main div.image_wrapper {
	overflow: hidden;
	position: absolute;
	opacity: 0;
	-moz-opacity: 0;				/* Firefox */
	filter: alpha(opacity=0);		/* IE6/7 */
	-ms-filter: "alpha(opacity=0)";	/* IE8 */
}

#wrapper > a.scroll_down {
	position: absolute;
	bottom: 20px;
	left: 50%;
	margin-left: -40px;
	width: 80px;
	height: 40px;
	border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	cursor: pointer;
	z-index: 2;

	opacity: 0;
	-moz-opacity: 0;			/* Firefox */
	filter: alpha(opacity=0);		/* IE6/7 */
	-ms-filter: "alpha(opacity=0)";	/* IE8 */
}
#wrapper > a.scroll_down:hover {
	text-decoration: none;
}
#wrapper > a.scroll_down > div {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -8px;
	margin-left: -20px;
	width: 40px;
	height: 20px;
	background: url(../elements/btn_arrow_21_bottom.gif?160126) no-repeat center bottom;
}
#wrapper > a.scroll_down > span {
	display: block;
	width: 100%;
	text-align: center;
	color: #000;
	text-decoration: none;
	font-weight: bold;
	letter-spacing: 0.2em;
	font-size: 80%;
	line-height: 1;
	position: relative;
	top: -5px;
}
/* @end */





/* @group footer --------------------------------------------------------*/

footer {
	font-family: Arial;
	position: relative;
	height: 100%;
	display: block;
	width: 100%;
	padding: 15px 15px 77px;
}
footer a.over:hover {
	opacity: 0.6;
	-moz-opacity: 0.6;				/* Firefox */
	filter: alpha(opacity=60);		/* IE6/7 */
	-ms-filter: "alpha(opacity=60)";	/* IE8 */
}
footer > aside {
	width: 100%;
	display: block;
	position: relative;
	height: 100%;
	padding-top: 39px;
}
footer > aside > div.logo {
	position: absolute;
	top: 0;
	left: 0;
}
footer > aside > div.logo > a {
	display: block;
}
footer > aside > div.logo > a > img {
	max-width: 335px;
	width: 90%;
	display: block;
	margin: 0 auto;
}
footer > aside > ul {
	letter-spacing: -.40em;
	text-align: right;
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 10px 30px;
}
footer > aside > ul li {
	display: inline-block;
	padding: 0px 15px;
	letter-spacing: normal;
	border-right: 1px solid #FFF;
}
footer > aside > ul li:first-child {
	border-left: 1px solid #FFF;
}
footer > aside > ul li a {
	display: block;
	color: #FFF;
	font-size: 90%;
	line-height: 1;
}
footer > aside > ul li a:hover {
	color: #FFF;
	text-decoration: none;
}
footer > small {
	line-height: 1.2;
	font-size: 85%;
	letter-spacing: 0.05em;
	display: block;
	position: absolute;
	bottom: 0;
	width: 100%;
	padding: 30px 40px 0 0;
	background: #49524f;
	color: #939896;
	height: 77px;
	text-align: right;
	left: 0;
}

/* @end */




/* @group SOCIAL　ーーーーーーーーーーーーーーーーーーーーーーーーーー */

article .social{
	margin: 50px 0 0 0;
}

footer .social{
	float: left;
	margin: 0 0 0 20px;
	letter-spacing: -.40em;
}
footer .social > a {
	display: inline-block;
	margin: 0 7px;
	color: #888;
}
footer .social > a > img {
	height: 40px;
	width: 30px;
}
footer .social > a > span.count {
	display: none;
	letter-spacing: normal;
	text-align: center;
	border: 1px solid #888;
	line-height: 1;
	padding: 2px 2px;

	border-radius: 4px;         /* CSS3 */
	-moz-border-radius: 4px;    /* Firefox */
	-webkit-border-radius: 4px; /* Safari,Chrome */
}

#entry .social{
	letter-spacing: -.40em;
	position: absolute;
	left: 0;
	bottom: 20px;
}
#entry .social > a {
	display: inline-block;
	margin: 0 14px 0 0;
	color: #888;
}
#entry .social > a > img {
	height: 40px;
	width: 30px;
}
#entry .social > a > span.count {
	display: none;
	letter-spacing: normal;
	text-align: center;
	border: 1px solid #888;
	line-height: 1;
	padding: 2px 2px;

	border-radius: 4px;         /* CSS3 */
	-moz-border-radius: 4px;    /* Firefox */
	-webkit-border-radius: 4px; /* Safari,Chrome */
}

/* @end */


/* @group FORM BASE ーーーーーーーーーーーーーーーーーーーーーーーーーー */
form input,
form select,
form textarea {
	outline: 0;
}
input[type="button"],input[type="submit"] {
	border-radius: 0;
	-webkit-appearance: none;
}
input[type="radio"],input[type="checkbox"] {
	-moz-transform-origin: left center;
	-moz-transform: scale( 2 , 2 );
	-webkit-transform-origin: left center;
	-webkit-transform: scale( 2 , 2 );
	cursor: pointer;
}
html.pc input[type="radio"],html.pc input[type="checkbox"] {
	-moz-transform-origin: left center;
	-moz-transform: scale( 1 , 1 );
	-webkit-transform-origin: left center;
	-webkit-transform: scale( 1 , 1 );
	cursor: pointer;
}

form.disabled input[type="submit"] {
	opacity: 0.5;
	-moz-opacity: 0.5;				/* Firefox */
	filter: alpha(opacity=50);		/* IE6/7 */
	-ms-filter: "alpha(opacity=50)";	/* IE8 */
}
article.form_wrapper {
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
	padding: 30px 0 150px;
	text-align: center;
}

article.form_wrapper > h2 {
	width: 100%;
	max-width: 800px;
	margin: 30px auto;
	font-size: 130%;
	color: #262b2d;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: normal;
}
article.form_wrapper > div.description {
	width: 100%;
	text-align: center;
	font-size: 90%;
	margin-top: 10px;
	letter-spacing: normal;
}
#container > div#groundbase > article#order_ article.form_wrapper > div.description {
	text-align: center;
	font-size: 90%;
	color: #888;
	letter-spacing: 0.05em;
	padding-bottom: 30px;
}
article.form_wrapper > form input:not([type="submit"]),
article.form_wrapper > form select,
article.form_wrapper > form textarea {
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	-webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
	-o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
	transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s
}
article.form_wrapper > form input:not([type="submit"]):focus,
article.form_wrapper > form select:focus,
article.form_wrapper > form textarea:focus {
	border-color: #0088FF;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6)
}
article.form_wrapper > form input::selection,
article.form_wrapper > form select::selection,
article.form_wrapper > form textarea::selection {
	color: #555;
	background: #EEE;
}


article.form_wrapper > form {
	display: block;
}
article.form_wrapper > form div.form_row {
	width: 100%;
	margin: 30px auto 0 auto;
	line-height: 0;
	letter-spacing: -.40em;
}
article.form_wrapper > form div.form_row.text.sub_title {
	letter-spacing: normal;
	margin-top: 50px;
}
article.form_wrapper > form div.form_row.text > h2 {
	font-size: 140%;
}
article.form_wrapper > form div.form_row.text.sub_description {
	font-size: 90%;
	margin-top: 15px;
}
article.form_wrapper.confirm > form div.form_row.text.confirm_string {
	font-size: 100%;
	margin-top: 15px;
	padding-bottom: 15px;
}
article.form_wrapper.confirm > div.description {
	display: none;
}
article.form_wrapper.confirm > form div.form_row.text.sub_description {
	display: none;
}
article.form_wrapper.confirm > form div.form_row {
	margin: 20px auto 0 auto;
}
article.form_wrapper.confirm > form div.form_row.row_pw_2 {
	display: none;
}
article.form_wrapper > form div.form_row.submit {
	text-align: center;
}
article.form_wrapper > form div.form_row.hidden {
	display: none !important;
}
article.form_wrapper > form > h3.attention {
	width: 100%;
	margin: 100px auto 0 auto;
	line-height: 1.2;
	text-align: center;
	font-size: 120%;
}
article.form_wrapper > form > h2.header_sub {
	width: 100%;
	margin: 30px auto 0 auto;
	line-height: 1.2;
	text-align: center;
	font-size: 120%;
}

article.form_wrapper > form div.form_row > * {
	display: inline-block;

	line-height: 1.2;
	letter-spacing: normal;
	vertical-align: middle;

	width: 50%;
}
article.form_wrapper > form div.form_row > div.input_text {
	font-size: 120%;
}
article.form_wrapper > form div.form_row > div.input_select {
	font-size: 120%;
}
article.form_wrapper > form div.form_row > div.input_tel {
	font-size: 120%;
}
article.form_wrapper > form div.form_row > div.input_email {
	font-size: 120%;
}
article.form_wrapper label {
	cursor: pointer;
}
article.form_wrapper > form div.form_row > label {
	font-size: 110%;
	display: inline-block;
	vertical-align: middle;
	text-align: left;

	width: 25%;
	padding: 0 20px 0 0;
	font-weight: bold;
}
article.form_wrapper.confirm > form div.form_row > label {
	text-align: right;
}
article.form_wrapper.confirm > form div.form_row > div.conf {
	text-align: left;
	background-color: #EEE;
	min-height: 30px;

	padding:  5px 10px;

	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}
article.form_wrapper > form div.form_row > label.input_radio {
	font-size: 100%;
	display: inline-block;
	vertical-align: top;

	width: 25%;
	padding: 0 20px;
	font-weight: bold;
}
article.form_wrapper > form div.form_row > label.input_textarea {
	font-size: 100%;
	display: inline-block;
	vertical-align: top;

	width: 25%;
	padding: 10px 20px 10px 0;
	font-weight: bold;
}
article.form_wrapper > form div.form_row > label > span {
	font-size: 80%;
	display: inline-block;
	vertical-align: middle;
	background-color: #e36400;
	float: right;

	padding: 3px 6px;
	color: #FFF;

	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}
article.form_wrapper.confirm > form div.form_row > label > span {
	display: none;
}
article.form_wrapper > form div.form_row > div {
	position: relative;
}
article.form_wrapper > form div.form_row > div > div.spinner {
	height: 30px;
	width: 30px;
	margin: 9px 10px;
	position: absolute;
	z-index: 10;
	top: 0;
	right: 0;

	background: #FFF url(../elements/spinner01.gif) no-repeat center center;
}

article.form_wrapper > form div.form_row > div.input_text > input {
	font-size: 110%;
	padding: 10px 16px;
	line-height: 1.2;
	letter-spacing: 0.1em;
	display: block;
	height: 100%;
	width: 100%;
	border: 1px solid #AAA;
}

article.form_wrapper > form div.form_row > div.input_email > input {
	font-size: 120%;
	padding: 10px 16px;
	line-height: 1.2;
	letter-spacing: 0.1em;
	display: block;
	height: 100%;
	width: 100%;
	border: 1px solid #AAA;
}

article.form_wrapper > form div.form_row > div.input_tel > input {
	font-size: 120%;
	padding: 10px 16px;
	line-height: 1.2;
	letter-spacing: 0.1em;
	display: block;
	height: 100%;
	width: 100%;
	border: 1px solid #AAA;
}

article.form_wrapper > form div.form_row > div.input_password > input {
	font-size: 120%;
	padding: 10px 16px;
	line-height: 1.2;
	letter-spacing: 0.1em;
	display: block;
	height: 100%;
	width: 100%;
	border: 1px solid #AAA;
}

article.form_wrapper > form div.form_row > div.input_select > select {
	font-size: 100%;
	padding: 10px 16px;
	line-height: 1.2;
	letter-spacing: 0.1em;
	display: block;
	height: 100%;
	width: 30%;
	min-width: 150px;
	border: 1px solid #AAA;

	cursor: pointer;
}

article.form_wrapper > form div.form_row > div.input_checkbox > label {
	font-size: 110%;
	padding: 10px 0 10px 0;
	line-height: 1.2;
	display: block;
	width: 100%;
	cursor: pointer;
}
article.form_wrapper > form div.form_row > div.input_checkbox > input {
	display: inline-block;
	vertical-align: middle;
	height: 20px !important;
	width: 20px !important;
}
article.form_wrapper > form div.form_row > div.input_checkbox > label > * {
	display: inline-block;
	vertical-align: middle;
}
article.form_wrapper > form div.form_row > div.input_checkbox > label.other {
	width: 100%;
}
article.form_wrapper > form div.form_row > div.input_checkbox > label.other > input[type='text'] {
	font-size: 90%;
	margin-left: 15px;
	margin-top: -1%;
	line-height: 1.2;
	height: 150%;
	width: 65%;
	border: 1px solid #AAA;
	padding: 0 5px;
}
article.form_wrapper > form div.form_row > div.input_checkbox > div.checkbox_empty {
	padding: 20px;
	text-align: center;
	background-color: #fdf2f3;

	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}
article.form_wrapper > form div.form_row > div.input_checkbox > div.checkbox_empty > h3 {
	margin-bottom: 10px;
}


article.form_wrapper > form div.form_row > div.input_radio > label {
	font-size: 110%;
	line-height: 1.5;
	display: inline-block;
	vertical-align: middle;
	cursor: pointer;
	text-align: left;
	margin: 0px 0 15px 0;
	padding: 0 0 0 40px;
	position: relative;
	width: 100%;
}
article.form_wrapper > form div.form_row > div.input_radio > label > * {
	display: inline-block;
	vertical-align: middle;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto auto auto -40px;
}
html.pc article.form_wrapper > form div.form_row > div.input_radio > label {
	padding-left: 20px;
}
html.pc article.form_wrapper > form div.form_row > div.input_radio > label > * {
	margin-left: -20px;
	bottom: auto;
	top: 7px;
}
article.form_wrapper > form div.form_row > div.input_radio > label > span {
	position: relative;
	display: block;
	margin: 0 0 0 -5px !important;
	padding: 0;
	font-size: 80%;
	top: auto;
	bottom: auto;
}
article.form_wrapper > form div.form_row > div.input_radio > label.other {
	width: 100%;
}
article.form_wrapper > form div.form_row > div.input_radio > label.other > input[type='text'] {
	font-size: 90%;
	margin-left: 15px;
	margin-top: -1%;
	line-height: 1.2;
	height: 150%;
	width: 65%;
	border: 1px solid #AAA;
	padding: 0 5px;
}

article.form_wrapper > form div.form_row > div.input_textarea {
	height: 150px;
}
article.form_wrapper.confirm > form div.form_row > div.input_textarea {
	height: auto;
}
article.form_wrapper > form div.form_row > div.input_textarea > textarea {
	font-size: 120%;
	padding: 10px 16px;
	line-height: 1.2;
	letter-spacing: 0.1em;
	display: block;
	height: 100%;
	width: 100%;
	border: 1px solid #AAA;
}

article.form_wrapper > form div.form_row > div.input_text > input#input_timelimit {
	display: inline-block;
	width: 48%;
	vertical-align: top;
}

article.form_wrapper > form div.form_row > div.input_text > div.time_preset {
	display: inline-block;
	width: 48%;
	vertical-align: top;
	letter-spacing: -.40em;
}
article.form_wrapper > form div.form_row > div.input_text > div.time_preset > div {
	display: inline-block;
	width: 48%;
	margin: 0 0.5% 1% 0.5%;
	padding: 1%;
	letter-spacing: normal;
	text-align: center;
	background: #EEE;
	font-size: 85%;
	cursor: pointer;

	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}
article.form_wrapper > form div.form_row > div.input_submit {
	display: inline-block;

	min-height: 40px;
	margin: 0px auto;
}
article.form_wrapper > form div.form_row > div.input_submit > input {
	position: relative;
	font-size: 120%;
	padding: 0;
	margin: 10px 10px;
	line-height: 40px;
	display: inline-block;
	vertical-align: top;
	height: 40px;
	width: 200px;
	border: none;
	background: #28bcb7;
	color: #FFF;
	font-weight: bold;
	cursor: pointer;

	transition-duration: 0.2s;
	transition-timing-function: ease-out;

	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	letter-spacing: 0.05em;
}
article.form_wrapper > form div.form_row > div.input_submit > input:hover {
	background: #6DCAC6;
}
article.form_wrapper > form div.form_row > div.input_submit > input:active {
}
article.form_wrapper > form div.form_row > div.input_submit > div.mes {
	padding: 30px;
	font-weight: bold;
	font-size: 120%;
	background-color: #EEE;
	line-height: 1.7;

	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}
article.form_wrapper > form div.form_row > div.input_submit > div.mes > a.return {
	font-size: 100%;
	width: 200px;
	margin-top: 30px;
}
article.form_wrapper > form div.form_row > div.input_submit a.return {
	text-decoration: none;
	position: relative;
	font-size: 120%;
	padding: 0;
	margin: 10px 10px;
	line-height: 40px;
	display: inline-block;
	vertical-align: top;
	height: 40px;
	width: 200px;
	border: none;
	background: #96B3B2;
	color: #FFF;
	font-weight: bold;
	cursor: pointer;

	transition-duration: 0.2s;
	transition-timing-function: ease-out;

	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}
article.form_wrapper > form div.form_row > div.input_submit > a.return:hover {
	background: #829E9D;
}
article.form_wrapper > form div.form_row > div.input_submit > a.return:active {
	top: 1px;
	border-bottom: none;
}
article.form_wrapper > form div.form_row.err > div > input {
	background: #EEE;
	background-color: #fdf2f3;
	border: 1px solid #f8cdd1;
}
article.form_wrapper > form div.form_row.err > div > textarea {
	background: #EEE;
	background-color: #fdf2f3;
	border: 1px solid #f8cdd1;
}
article.form_wrapper > form div.form_row.err > div.input_radio {
	background: #EEE;
	background-color: #fdf2f3;
	border: 1px solid #f8cdd1;
}
article.form_wrapper > form div.form_row.err > div.input_checkbox {
	background: #EEE;
	background-color: #fdf2f3;
	border: 1px solid #f8cdd1;
}
article.form_wrapper > form div.form_row.err > div.err_mes {
	color: #cc6670;
	width: 50%;
	margin-left: 25%;
	line-height: 1.5;
	padding-top: 5px;
	text-align: left;
}
article.form_wrapper > form div.form_row > div.submit_err_mes {
	color: #cc6670;
	width: 100%;
	line-height: 1.5;
	padding-top: 5px;
	text-align: center;
}

article.form_wrapper > form div.form_row > div.agreement {
	display: inline-block;
	text-align: center;
	width: 100%;
}
article.form_wrapper > form div.form_row > div.agreement > div {
	display: inline-block;
	text-align: left;
	margin: 20px 0 20px 0;
	font-size: 110%;
}
article.form_wrapper > form div.form_row > div.agreement > article.agreement_text::-webkit-scrollbar{ /* スクロールバー全体 */
	width: 10px;
}

article.form_wrapper > form div.form_row > div.agreement > article.agreement_text::-webkit-scrollbar-thumb{ /* スクロールバーのある部分 */
	background: #666;
	border-radius: 0;
}
article.form_wrapper > form div.form_row > div.agreement > article.agreement_text::-webkit-scrollbar-track-piece:start{ /* スクロールバーが表示されてない部分（前） */
	background: #ddd;
}
article.form_wrapper > form div.form_row > div.agreement > article.agreement_text::-webkit-scrollbar-track-piece:end{ /* スクロールバーが表示されてない部分（後ろ） */
	background: #ddd;
}
article.form_wrapper > form div.form_row > div.agreement > article.agreement_text {
	text-align: left;
	height: 200px;
	padding: 20px;
	overflow-y: scroll;
	border: 1px #BBBBBB solid;
	word-wrap:break-word;
	background-color:#FFF;
	width:75%;
	margin:0 auto;
}
article.form_wrapper > form div.form_row > div.agreement > article.agreement_text h1 {
	font-size: 110%;
	margin-bottom: 30px;
}
article.form_wrapper > form div.form_row > div.agreement > article.agreement_text dl {
	line-height: 1.2;
}
article.form_wrapper > form div.form_row > div.agreement > article.agreement_text dl > dt {
	display: block;
	font-weight: bold;
}
article.form_wrapper > form div.form_row > div.agreement > article.agreement_text dl > dd {
	display: block;
	margin: 0 0 25px 0;
}
article.form_wrapper > form div.form_row > div.agreement > article.agreement_text span.highlight {
	color: #00C;
	font-weight: bold;
}

article.form_wrapper > form div.form_row > div.agreement > div > label {
	font-size: 120%;
	cursor: pointer;
}
article.form_wrapper > form div.form_row > div.agreement > div > label > input[type="checkbox"] {
	display: inline-block;
	margin-right: 20px;
	box-shadow: none;
	vertical-align: middle;
	margin-top: -5px;
}

dl.form_insert {
	width: 100%;
	margin: 10px auto 0 auto;
	line-height: 0;
	letter-spacing: -.40em;
	text-align: center;
}

dl.form_insert > * {
	line-height: 1.2;
	letter-spacing: normal;
	margin: 10px auto 0 auto;

	font-size: 110%;
	display: inline-block;
	vertical-align: middle;
	text-align: left;
	padding: 0 10px;
	font-weight: bold;
}
dl.form_insert > dt {
	width: 25%;
	padding-left: 20px;
}
dl.form_insert > dd {
	width: 50%;
}

dl.form_insert.resume {
}
dl.form_insert.resume > * {
	line-height: 1.2;
	letter-spacing: normal;
	margin: 10px auto 0 auto;

	font-size: 100%;
	display: inline-block;
	vertical-align: middle;
	text-align: left;
	padding: 0 10px;
	font-weight: bold;
}
dl.form_insert.resume > dt {
	text-align: right;
	padding-right: 15px;
	width: auto;
}
dl.form_insert.resume > dd {
	height: 24px;
	width: auto;
}
dl.form_insert.resume > dd > input[type="checkbox"] {
}

/* @end */




/* bg --------------------------------------------------*/
.parallax_base {
	position: relative;
}
.parallax_base div.bg {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 100%;
	width: 100%;
	z-index: -1;
	overflow: hidden;
}
.parallax_base div.bg > img {
	width: 115%;
	position: absolute;
	left: 0;
	right: 0;
	top: auto;
	bottom: 0;
	margin: auto -7%;

	-webkit-transition-property: transform;
	-moz-transition-property: transform;
	-o-transition-property: transform;
	transition-property: transform;

	transition-duration: 0.3s;
	transition-timing-function: ease-out;
}




/* ==========================================================================
   Media Queries
   ========================================================================== */



/* @group If <= 1000 = ipad landscape --------------------------------------------------------*/
@media only screen and (max-width: 1000px) {

	article#slide > div.fade_slider > img {
	}

	#navi #menu_toggle {
		display: block;
	}
	#navi.open {
		height: 100%;
		width: 280px;
		left: auto;
		right: 0;
		background: none;
	}
	#navi nav {
		height: 100%;
		position: absolute;
		right: 0;
		top: 0;
		width: 100%;
		background: transparent;

		transition-property: background;
		transition-duration: 0.6s;
		transition-timing-function: ease-out;
	}
	#navi.open nav {
		background: rgba(255, 255, 255, 0.9);
		box-shadow: 0 1px 50px rgba(0, 0, 0, 0.1);
	}
	#navi nav > ul {
		width: 100%;
		height: auto;
		bottom: auto;
		top: 70px;
	}
	#navi nav > ul > li {
		display: block;
		text-align: left;
		margin: 0;
		padding: 0;
	}
	#navi nav > ul > li.class_member {
		margin-top: 30px;
	}
	#navi nav > ul > li > a {
		padding: 0 20px;
		font-size: 100%;
		display: block;
	}
	a#btn_viewcart {
		position: absolute;
		right: 0;
		width: 60px;
		height: 60px;
		top: 70px;
		background: rgba(171, 185, 0, 0.8);
	}
	a#btn_viewcart img.pc {
		display: none !important;
	}
	a#btn_viewcart img.sp {
		display: block !important;
		width: 100%;
	}
 

	div.bg#movie_bg_1 > img {
		width: 140%;
		margin: auto -20%;
	}

	section#concept_1 > div.bg > img {
		width: 150%;
		margin: auto -25%;
	}

	#container > article#concept > div.body > section#concept_3 > div.point_1 > div.bg > img {
		width: 140%;
		margin: auto -20%;
	}
	#container > article#concept > div.body > section#concept_3 > div.point_2 > div.bg {
		width: 90%;
	}
	#container > article#concept > div.body > section#concept_3 > div.point_2 > div.bg > img {
	}
	#container > article#concept > div.body > section#concept_3 > div.point_4 > div.bg > img {
		width: 120%;
		margin: auto -10%;
	}

	#container > article#movie > div.body > section.bottom > div.lead > img#movie_bottom_img_1 {
		width: 45%;
		margin: -5% auto auto -10%;
	}
	#container > article#movie > div.body > section.bottom > div.lead > img#movie_bottom_img_2 {
		margin: auto auto -7% -5%;
		width: 35%;
	}
	#container > article#movie > div.body > section.bottom > div.lead > img#movie_bottom_img_3 {
		margin: auto -9% -8% auto;
		width: 50%;
	}

	#container > article#concept > div.body > section#concept_3 > div > div.content > div.img > img {
		height: auto;
		width: 90%;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
	}

	article.form_wrapper > form div.form_row > div.input_submit > input {
		position: absolute;
		font-size: 120%;
		padding: 0;
		margin: 30px auto 0;
		top: 0;
		left: 0;
		right: 0;
		line-height: 40px;
		display: inline-block;
		vertical-align: top;
		height: 40px;
		width: 200px;
		border: none;
		color: #FFF;
		font-weight: bold;
		cursor: pointer;

		transition-duration: 0.2s;
		transition-timing-function: ease-out;

		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
		letter-spacing: 0.05em;
	}
	article#order_confirm article.form_wrapper > form div.form_row > div.input_submit > input {
		margin-top: 15px;
	}
	article#order_form article.form_wrapper > form div.form_row > div.input_submit > input {
		margin-top: 85px;
	}
	article#contact_ article.form_wrapper > form div.form_row > div.input_submit > input {
		margin-top: 15px;
	}
	article#contact_confirm article.form_wrapper > form div.form_row > div.input_submit > input {
		margin-top: 15px;
	}
	article.form_wrapper > form div.form_row > div.input_submit a.return {
		text-decoration: none;
		position: relative;
		font-size: 100%;
		padding: 0;
		margin: 80px auto 0;
		left: 0;
		right: 0;
		line-height: 34px;
		display: inline-block;
		vertical-align: top;
		height: 34px;
		width: 160px;
		border: none;
		color: #FFF;
		font-weight: bold;
		cursor: pointer;

		transition-duration: 0.2s;
		transition-timing-function: ease-out;

		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
	}
	#container > article#member > header > div.bg > img {
		top: -30%;
	}


	div.index {
	}
	div.index > ul {
	}
	div.index > ul > li {
	padding: 0 1% 5%;
	}
	div.index > ul > li.show {
	}
	div.index > ul > li > a {
	}
	div.index > ul > li > a div.img {
	}
	div.index > ul > li > a div.img img {
	}
	div.index > ul > li > a div.text_wrapper {
	}
	div.index > ul > li > a div.text_wrapper > div.text {
	}
	div.index > ul > li > a div.text_wrapper > div.text > .title {
	}
	div.index > ul > li > a div.text_wrapper > div.text > .title > .jp {
	font-size: 70%;
	}
	div.index > ul > li > a div.text_wrapper > div.text > .title > .en {
	}
	div.index > ul > li > a div.text_wrapper > div.text > .title > span.num {
	}
	div.index > ul > li > a div.text_wrapper > div.text > .title > span.num > img {
	}
	div.index > ul > li > a div.text_wrapper > div.text > .title > .headline {
	}
	div.index > ul > li > a div.text_wrapper > div.text > .title > .headline > img {
	}
	div.index > ul > li > a div.text_wrapper > div.text > .arrow {
	}
	div.index > ul > li > a div.text_wrapper > div.text > .arrow > img {
	}

}
/* @end */



/* @group If <= 900  --------------------------------------------------------*/
@media only screen and (max-width: 900px) {

	#container > article#thought > div.body > section > div.content > * {
	}
	#container > article#thought > div.body > section > div.content > div.img {
		float: right;
		display: block;
		padding: 0 0 20px 30px;
	}
	#container > article#thought > div.body > section > div.content:nth-child(odd) > div.img {
		float: left;
		padding: 0 30px 20px 0;
	}
	#container > article#thought > div.body > section > div.content > div.img > img {
		width: 100%;
	}
	#container > article#thought > div.body > section > div.content > div.text {
		width: 100%;
		display: inline;
		padding: 0;
	}
	#container > article#thought > div.body > section > div.content > div.text > * {
	}
	#container > article#thought > div.body > section > div.content > div.text > *:last-child {
	}
	#container > article#thought > div.body > section > div.content > div.text > h3 {
		max-width: none;
		margin-bottom: 30px;
	}
	#container > article#thought > div.body > section > div.content > div.text > div.description {
		max-width: none;
	}

}
/* @end */



/* @group If <= 800  --------------------------------------------------------*/
@media only screen and (max-width: 800px) {
	#container > article#salon > div.body > section > header {
		max-width: 500px;
		margin: 0 auto 70px;
		display: block;
			
	}
	#container > article#salon > div.body > section > div.content > * {
		display: block;
		width: 100%;
		max-width: 500px;
		margin: 0 auto;
	}
	#container > article#salon > div.body > section > div.content > div.text > * {
		max-width: none !important;
	}
	#container > article#salon > div.body > section > div.content > div.img > * {
		width: 100% !important;
	}
	#container > article#salon > div.body > section > div.content > div.text > h3 > a {
		position: relative;
		display: block;
		
	}
	#container > article#salon > div.body > section > div.content > div.text > h3 > a > img {
		max-width: 180px;
		margin-top: 10px;
	}

	#container > article#salon > header > div.bg > img {
		top: -30%;
	}
	#container > article#member > header > div.bg > img {
		top: -20%;
		width: 160%;
		margin: 0 -40%;
	}



}
/* @end */


/* @group If <= 740 = iphone landscape --------------------------------------------------------*/
@media only screen and (max-width: 740px) {

	body {
		font-size: 80%;
	}
	#header {
		top: 4px;
		left: 7%;
		width: 180px;
	}

	article#slide > header > h2 > img {
		width: 60%;
		max-width: 300px;
	}


	#navi nav > ul > li > ul {
		display: block !important;
		opacity: 1 !important;
		background: none;
	}

	#container > article > div.body{
		padding: 50px 0 30px 0;
	}

	div.bg#movie_bg_1 > img {
		width: 250%;
		margin: auto -75%;
	}

	#container > article#concept > div.body > section#concept_1 {
		height: 540px;
		margin-top: 20px;
	}
	section#concept_1 > div.bg > img {
		width: 200%;
		margin: auto -50%;
	}
	#container > article#concept > div.body > section#concept_1 > img {
	}
	#container > article#concept > div.body > section#concept_1 > img#concept_1_img_1 {
		bottom: 45%;
	}
	#container > article#concept > div.body > section#concept_1 > img#concept_1_img_2 {
		top: 55%;
	}

	#container > article#concept > div.body > section#concept_2 > dl {
		display: block;
		width: 100%;
		clear: both;
		padding: 5% 3% 3% 2%;
	}
	#container > article#concept > div.body > section#concept_2 > dl > dt > img {
		margin-top: -20px;
	}
	#container > article#movie > div.body > section.bottom > div.lead {
		height: 300px;
	}
	#container > article#movie > div.body > section.bottom > div.lead > span {
		top: 25%;
		width: 75%;
	}
	#container > article#movie > div.body > section.bottom > div.lead > img#movie_bottom_img_1 {
		width: 35%;
		margin: -5% auto auto -10%;
	}
	#container > article#movie > div.body > section.bottom > div.lead > img#movie_bottom_img_2 {
		margin: auto auto -7% -5%;
		width: 25%;
	}
	#container > article#movie > div.body > section.bottom > div.lead > img#movie_bottom_img_3 {
		margin: auto -9% -8% auto;
		width: 40%;
	}


	#container > article#concept > div.body > section#concept_3 > div {
		height: auto !important;
	}
	#container > article#concept > div.body > section#concept_3 > div > div.content {
		width: 100%;
		height: auto;
	}
	#container > article#concept > div.body > section#concept_3 > div:nth-child(even) {
		direction: ltr;
	}
	#container > article#concept > div.body > section#concept_3 > div:nth-child(even) > * > * {
		direction: ltr;
	}
	#container > article#concept > div.body > section#concept_3 > div > div.content > * {
		display: block;
		width: 90%;
		margin: 0 auto 30px;
		max-width: 480px;
	}
	#container > article#concept > div.body > section#concept_3 > div.point_4 > div.content > div.text {
		margin-top: -60%;
		width: 90%;
	}
	#container > article#concept > div.body > section#concept_3 > div.point_4 > div.content > div.text > div.description {
		color: #4d4d4d;
		background: rgba(255, 255, 255, 0.8);
		padding: 5%;
	}
	#container > article#concept > div.body > section#concept_3 > div > div.content > div.img > img {
		height: 90%;
		width: auto;
	}

	#container > article#concept > div.body > section#concept_3 > div > div.bg {
		height: 400px;
		bottom: auto;
	}
	#container > article#concept > div.body > section#concept_3 > div.point_2 > div.content > div.text {
		margin-top: -26px;
		
	}
	#container > article#concept > div.body > section#concept_3 > div.point_3 > div.content > div.text {
		
	}
	#container > article#concept > div.body > section#concept_3 > div > div.content > div.img {
		padding: 15px 0;
		height: 400px;
	}

	#container > article#concept > div.body > section#concept_3 > div.point_1 > div.bg > img {
		width: 140%;
		margin: auto -20%;
	}
	#container > article#concept > div.body > section#concept_3 > div.point_2 > div.bg {
		width: 100%;
	}
	#container > article#concept > div.body > section#concept_3 > div.point_2 > div.bg > img {
	}
	#container > article#concept > div.body > section#concept_3 > div.point_4 > div.bg > img {
		width: 120%;
		margin: auto -10%;
	}
	#container > article#concept > div.body > section#concept_3 > div.point_3 > div.content > div.img {
		text-align: center;
		text-align: center;
		max-width: none;
		width: 94%;
		height: auto;
	}
	#container > article#concept > div.body > section#concept_3 > div.point_3 > div.content > div.img > * {
		display: inline-block;
		position: relative !important;
		margin: 0 !important;
		text-align: bottom !important;
	}
	#container > article#concept > div.body > section#concept_3 > div.point_3 > div.content > div.img > img.img_1 {
		right: auto;
		bottom: auto;
		margin: -12% auto auto -5%;
		width: 40%;
	}
	#container > article#concept > div.body > section#concept_3 > div.point_3 > div.content > div.img > img.img_2 {
		left: auto;
		z-index: 10;
		margin: auto 10% 7% auto;
		width: 19.7%;
	}
	#container > article#concept > div.body > section#concept_3 > div.point_3 > div.content > div.img > img.img_3 {
		right: auto;
		top: auto;
		margin: auto auto -30% -12%;
		width: 23.2%;
	}


	#container > article#thought > div.body {
		padding-top: 0;
	}


	#entry > article > div.body > * {
		display: block;
	}
	#entry > article > div.body > div.img {
		margin: 0 auto 30px;
		width: 60%;
	}
	#entry > article > div.body > div.img > img {
	}
	#entry > article > div.body > div.text {
		width: 100%;
		padding: 0;
	}

	#container > div.floatbase > article.modal{
		width: 98%;
		padding: 60px 60px 60px 60px;
	}
	#container > div.floatbase > article#company > div > div > div > dl {
		width: 96%;
		margin: 10px auto 0 auto;
	}


	div.index > ul > li {
		width: 33.333%;
	}


	#container > article#thought > div.body > section > div.content {
	}
	#container > article#thought > div.body > section > div.content > div.content {
	}
	#container > article#thought > div.body > section > div.content:nth-child(even) {
	}
	#container > article#thought > div.body > section > div.content:nth-child(even) > * > * {
	}
	#container > article#thought > div.body > section > div.content > * {
	}
	#container > article#thought > div.body > section > div.content > div.img {
	}
	#container > article#thought > div.body > section > div.content > div.img > img {
	}

	body#mailform dl > dt {
		height: 60px;
		width: 25%;
		padding: 15px 0;
	}
	body#mailform dl > dd {
		height: 60px;
		width: 75%;
		padding: 15px 0 15px 30px;
	}
	body#mailform dl > dt.txtarea {
		height: 200px;
		padding: 85px 0;
	}
	body#mailform dl > dd.txtarea {
		height: 200px;
	}
	body#mailform dl > dt.email {
		height: 80px;
		padding: 25px 0;
	}
	body#mailform dl > dd.email {
		height: 80px;
	}
	body#mailform dl > dd input {
		height: 20px;
	}
	body#mailform dl > dd.genre label {
		height: 20px;
		margin-right: 10px;
	}
	body#mailform dl > dd.txtarea textarea {
		height: 169px;
		width: 95%;
	}
	body#mailform > form p {
		height: 60px;
	}
	body#mailform > form p input {
		margin: 20px 10px;
	}
	body#mailform .msg {
		color: #28bcb7;
	}
	body#mailform .complete {
		font-size: 150%;
	}
	body#mailform table tr > td.headline {
		width: 25%;
		padding: 15px 30px;
	}
	body#mailform table tr > td.description {
		width: 75%;
		padding: 15px 0 15px 30px;
	}
	body#mailform h2 {
		font-size: 150%;
		padding: 20px;
	}
	body#mailform h3 {
		font-size: 120%;
		padding: 20px;
	}

	#footer {
	}


	#container > div.floatbase > article#contact > div > div iframe {
		width: 100%;
		height: 1100px;
	}
	#container > article#registration > div.body > div.iframe_wrapper > iframe {
		height: 1300px;
	}


	article.form_wrapper.confirm > form div.form_row.text.confirm_string > div {
		width: 90%;
	}

	article.form_wrapper > form div.form_row {
		margin: 20px auto 0 auto;
		width: 96%;
	}
	article.form_wrapper > form div.form_row > * {
		width: 60%;
	}
	article.form_wrapper > form div.form_row > label {
		font-size: 100%;
		width: 35% !important;
	}
	article.form_wrapper > form div.form_row > label.input_textarea {
		font-size: 100%;
		width: 35%;
	}
	article.form_wrapper > form div.form_row > div > * {
		font-size: 90%;
	}
	article.form_wrapper > form div.form_row > div.input_text > input {
		font-size: 120%;
	}
	article.form_wrapper > form div.form_row > div.input_email > input {
		font-size: 120%;
	}
	article.form_wrapper > form div.form_row > div.input_tel > input {
		font-size: 120%;
	}
	article.form_wrapper > form div.form_row > div.input_password > input {
		font-size: 120%;
	}
	article.form_wrapper > form div.form_row > div.input_select > select {
		font-size: 100%;
	}
	article.form_wrapper > form div.form_row > div.input_checkbox > label {
		font-size: 110%;
	}
	article.form_wrapper > form div.form_row > div.input_checkbox > label.other > input[type='text'] {
		font-size: 90%;
	}
	article.form_wrapper > form div.form_row > div.input_radio > label {
		font-size: 110%;
	}
	article.form_wrapper > form div.form_row > div.input_radio > label.other > input[type='text'] {
		font-size: 90%;
	}
	article.form_wrapper > form div.form_row > div.input_textarea > textarea {
		font-size: 120%;
	}


}
/* @end */


/* @group If retina diaplay --------------------------------------------------------*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),only screen and (min-device-pixel-ratio : 1.5) {

	#navi #menu_toggle_open {
		background: url(../elements/btn_menu_toggle@2x.png?160126) no-repeat center top;
		background-size:60px 120px;
		-webkit-background-size:60px 120px;
		-moz-background-size:60px 120px;
	}
	#navi #menu_toggle_close {
		background: url(../elements/btn_menu_toggle@2x.png?160126) no-repeat center bottom;
		background-size:60px 120px;
		-webkit-background-size:60px 120px;
		-moz-background-size:60px 120px;
	}

}


/* @group If <= 600 = iphone portrait --------------------------------------------------------*/
@media only screen and (max-width: 600px) {

	#navi nav > ul {
		padding: 60px 0 30px 0;
	}


	#container > article#movie > div.body > section > div.lead > div.video_area > div.col {
		display: block;
		margin: 0 auto;
		width: 90%;
		padding-bottom: 40px;
	}
	#container > article#movie > div.body > section > div.lead > div.video_area > div.col > a.btn_video {
		margin-top: 20px;
	}


	#container > article#concept > div.body > section#concept_3 > div > div.bg {
		height: 300px;
	}
	#container > article#concept > div.body > section#concept_3 > div > div.content > div.img {
	height: 300px;
		
	}
	#container > article#concept > div.body > section#concept_3 > div.point_2 > div.bg > img {
		width: 200%;
		margin: auto -70%;
	}
	#container > article#concept > div.body > section#concept_3 > div.point_4 > div.bg > img {
		width: 120%;
		margin: auto -10%;
	}

	#entry > article > div.body > div.text header {
		padding-bottom: 20px;
	}
	#entry > article > div.body > div.text header > h1 > span.title {
		padding-right: 0;
	}
	#entry > article > div.body > div.text header > h1 > span#pid {
		display: block;
	}
	#entry > article > div.body > div.text header > h1 > span.price {
		position: absolute;
		top: 90px;
		right: 0;
		font-size: 150%;
	}
	#entry a.close {
		right: 15px;
	}

	#entry .social{
		left: 0;
		bottom: 0;
	}
	#entry .social > a {
		display: block;
	}

	#container > div.floatbase > article.modal{
		width: 96%;
		padding: 30px 5%;
	}
	#container > div.floatbase > article#company > div > div > div > dl > dt {
		height: 56px;
		padding: 10px 0;
		line-height: 1.4;
	}
	#container > div.floatbase > article#company > div > div > div > dl > dd {
		height: 56px;
		padding: 10px 0 0 20px;
		line-height: 1.4;
	}

	#container > div.floatbase > article#company > div > div > div > dl {
		width: 100%;
		margin: 10px auto 0 auto;
	}

	#entry > article > div.body div.description {
		position: relative;
		top: auto;
		font-size: 110%;
	}


	#container > div.floatbase > article.modal header h1 {
		height: 30px;
	}
	#container > div.floatbase > article#company > div > h1 {
		height: 30px;
	}


	#container > div.floatbase > article#quality.modal{
	}
	#container > div.floatbase > article#quality.modal > div > header {
	}
	#container > div.floatbase > article#quality.modal > div > header > h1 {
		text-align: center;
	}
	#container > div.floatbase > article#quality.modal > div > header > h1 > img {
	}
	#container > div.floatbase > article#quality.modal > div > div {
	}
	#container > div.floatbase > article#quality.modal > div > div > div.jp {
	}
	#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_1 {
	}
	#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_1 > * {
	}
	#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_1 > div.text {
		padding-right: 0;
	}
	#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_1 > div.img {
		position: relative;
		top: auto;
		right: auto;
		width: 100%;
		margin: 0 auto;
	}
	#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_1 > div.img > img {
	}
	#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_2 {
		padding: 20% 0 0;
	}
	#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_2 > div.img {
	}
	#container > div.floatbase > article#quality.modal > div > div > div.jp > div.row.row_2 > div.img > img {
	}



	#entry article .product_info_lst {
	  border-top: 1px solid #aaa;
	  font-size: 92.307%;
	}
	#entry article .product_info_lst .icon {
	  padding: .3em 0 .3em 24px;
	  border-bottom: 1px solid #aaa;
	  line-height: 2.2;
	}
	#entry article .product_info_lst .icon:before,
	#entry article .product_info_lst .ie_icon {
	    margin-right: 0;
	    margin-left: -24px;
	  }
	#entry article .product_cart_btn {
	  width: 100%;
	}
	#entry article .trackback_url {
	  width: 90%;
	}

	div.bg_float_wrapper > div {
		background-size: 150px 600px !important;
		-webkit-background-size: 150px 600px !important;
		-moz-background-size: 150px 600px !important;
	}
	html.touch_device div.bg_float_wrapper > div {
		background-position-y: center !important;
	}




	article.form_wrapper.confirm > form div.form_row > label {
		text-align: left;
	}
	article.form_wrapper > form div.form_row > * {
		width: 90%;
		margin: 10px 5%;
	}
	article.form_wrapper > form div.form_row > label {
		font-size: 150% !important;
		width: 100% !important;
		margin: 0px 0;
		padding: 0 25px !important;
	}
	article.form_wrapper > form div.form_row > label.input_textarea {
		font-size: 150%;
		width: 100%;
		margin: 0px 0;
		padding: 0 25px;
	}
	article.form_wrapper > form div.form_row > div > * {
		font-size: 90%;
	}
	article.form_wrapper > form div.form_row > div.input_text > input {
		font-size: 120%;
	}
	article.form_wrapper > form div.form_row > div.input_email > input {
		font-size: 120%;
	}
	article.form_wrapper > form div.form_row > div.input_tel > input {
		font-size: 120%;
	}
	article.form_wrapper > form div.form_row > div.input_password > input {
		font-size: 120%;
	}
	article.form_wrapper > form div.form_row > div.input_select > select {
		font-size: 120%;
	}
	article.form_wrapper > form div.form_row > div.input_checkbox > label {
		font-size: 120%;
	}
	article.form_wrapper > form div.form_row > div.input_checkbox > label.other > input[type='text'] {
		font-size: 90%;
	}
	article.form_wrapper > form div.form_row > div.input_radio > label {
		font-size: 120%;
	}
	article.form_wrapper > form div.form_row > div.input_radio > label.other > input[type='text'] {
		font-size: 90%;
	}
	article.form_wrapper > form div.form_row > div.input_textarea > textarea {
		font-size: 120%;
	}
	article.form_wrapper > form div.form_row.err > div.err_mes {
		width: 90%;
		margin-left: 0;
		line-height: 1.5;
		padding-top: 0;
		text-align: left;
		margin: 0;
	}
	article.form_wrapper > form div.form_row > div.input_submit > p {
		font-size: 110%;
	}

	#container > article#salon > header > div.bg > img {
		top: -60%;
		width: 150%;
		margin: 0 -25%;
	}
	#container > article#registration > header > div.bg > img {
		top: -10%;
	}
	#container > article#member > header > div.bg > img {
		top: -10%;
	}

	#footer {
		height: 400px;
	}
	footer {
	}
	footer a.over:hover {
	}
	footer > aside {
		padding-top: 110px;
	}
	footer > aside > div.logo {
		position: relative;
		margin: 0 auto;
		text-align: center;
	}
	footer > aside > div.logo > a {
		display: inline-block;
	}
	footer > aside > div.logo > a > img {
	}
	footer > aside > ul {
		width: 100%;
		text-align: center;
	}
	footer > aside > ul li {
		border-left: 1px solid #FFF;
		margin: 0 -1px;
	}
	footer > aside > ul li:first-child {
	}
	footer > aside > ul li a {
	}
	footer > aside > ul li a:hover {
	}
	footer > small {
		padding: 30px 0;
		text-align: center;
	}
}
/* @end */


/* @group If <= 510 = iphone portrait small --------------------------------------------------------*/
@media only screen and (max-width: 510px) {

	img.pc {
		display: none !important;
	}
	img.sp {
		display: block !important;
	}

	#entry > article {
		padding: 60px 20px 60px;
	}

	div.bg#movie_bg_2 > img {
		width: 200%;
		margin: auto -50%;
	}

	#container > article.ground > header {
		padding: 30px 0 30px;
	}

	#container > article#movie > div.body > section.bottom > div.lead {
		height: 300px;
	}
	#container > article#movie > div.body > section.bottom > div.lead > span {
		top: 25%;
		width: auto;
	}
	#container > article#movie > div.body > section.bottom > div.lead > img#movie_bottom_img_1 {
		width: 65%;
		margin: -25% auto auto -10%;
	}
	#container > article#movie > div.body > section.bottom > div.lead > img#movie_bottom_img_2 {
		margin: auto auto -7% -5%;
		width: 45%;
	}
	#container > article#movie > div.body > section.bottom > div.lead > img#movie_bottom_img_3 {
		margin: auto -9% -8% auto;
		width: 60%;
	}

	section#concept_1 > div.bg > img {
		width: 300%;
		margin: auto -120%;
	}

	#container > article#concept > div.body > section#concept_1 {
		height: 350px;
	}
	#container > article#concept > div.body > section#concept_1 > img {
	}
	#container > article#concept > div.body > section#concept_1 > img#concept_1_img_1 {
		bottom: 40%;
	}
	#container > article#concept > div.body > section#concept_1 > img#concept_1_img_2 {
		top: 56%;
	}

	#container > article#thought > div.body > section > div.content > * {
	}
	#container > article#thought > div.body > section > div.content > div.img {
		float: none;
		width: 100%;
		padding: 0 0 20px 0;
	}
	#container > article#thought > div.body > section > div.content:nth-child(odd) > div.img {
		float: none;
		padding: 0 0 20px 0;
	}
	#container > article#thought > div.body > section > div.content > div.img > img {
	}
	#container > article#thought > div.body > section > div.content > div.text {
		display: block;
	}
	#container > article#thought > div.body > section > div.content > div.text > * {
	}
	#container > article#thought > div.body > section > div.content > div.text > *:last-child {
	}
	#container > article#thought > div.body > section > div.content > div.text > h3 {
	}
	#container > article#thought > div.body > section > div.content > div.text > div.description {
	}



	#entry > article > div.body > div.text > header > h1 {
	}
	#entry > article > div.body > div.text > header > h1 > span.num {
		float: none;
		margin: 0 auto 15px;
		width: 60px;
	}
	#entry > article > div.body > div.text > header > h1 > span.num > img {
	}
	#entry > article > div.body > div.text > header > h1 > span.title {
	}
	#entry > article > div.body > div.text > header > h1 > span.title.en {
		text-align: center;
	}
	#entry > article > div.body > div.text > header > h1 > span.title.en > img {
		margin-left: auto;
		right: 0;
	}
	#entry > article > div.body > div.text > header > h1 > span.title.jp {
		text-align: center;
	}

	div.index > ul {
		padding: 0 3%;
	}
	div.index > ul > li {
		width: 50%;
		padding: 0 4% 5%;
	}

	body#mailform dl > dt {
		display: block;
		float: none;
		height: auto;
		width: auto;
		padding: 5px 0;
		border-top: none;
		font-size: 130%;
	}
	body#mailform dl > dd {
		display: block;
		height: auto;
		width: auto;
		padding: 15px 5% 15px 5%;
		border-top: none;
	}
	body#mailform dl > dt.txtarea {
		height: auto;
		padding: 5px 0;
	}
	body#mailform dl > dd.txtarea {
		height: auto;
	}
	body#mailform dl > dt.email {
		height: auto;
		padding: 5px 0;
	}
	body#mailform dl > dd.email {
		height: auto;
	}
	body#mailform dl > dd input {
		height: 30px;
		width: 100%;
		margin: 5px 0;
		font-size: 150%;
		padding: 0 10px;
	}
	body#mailform dl > dd.genre input {
		width: 20px;
	}
	body#mailform dl > dd.genre label {
		height: 20px;
		margin-right: 10px;
	}
	body#mailform dl > dd.txtarea textarea {
		height: 300px;
		width: 100%;
		font-size: 150%;
		padding: 0 10px;
	}
	body#mailform > form p {
		height: 60px;
		margin-bottom: 30px;
	}
	body#mailform > form p input {
		margin: 20px 10px;
	}
	body#mailform .msg {
		color: #28bcb7;
	}
	body#mailform .complete {
		font-size: 150%;
	}
	body#mailform table tr > td.headline {
		width: 30%;
		padding: 15px 0;
	}
	body#mailform table tr > td.description {
		width: 75%;
		padding: 15px 0 15px 15px;
		font-size: 130%;
	}
	body#mailform h2 {
		font-size: 150%;
		padding: 20px 0;
	}
	body#mailform h3 {
		font-size: 120%;
		padding: 20px;
	}
	body#mailform dl > dt:last-child {
		border-bottom: none;
	}
	body#mailform dl > dd:last-child {
		border-bottom: none;
	}
	body#mailform dl > dd > br {
		display: block;
	}

	#container > article#catalog > div.body{
		padding-top: 60px;
	}
	#container > article#catalog > div.body > header > h2 > img {
		margin: 0 auto;
	}
	#container > article#catalog > div.body > div.body a.btn_pdf {
		margin: 20px auto;
	}
	#container > article#catalog > div.body > div.body div.headline_collection {
		left: 0;
		right: 0;
		margin: 0 auto 0px;
		width: 70%;
	}

	#container > article#salon > header > div.bg > img {
		top: -30%;
		width: 180%;
		margin: 0 -40%;
	}
	#container > article#member > header > div.bg > img {
		width: 240%;
		top: -10%;
		margin: -11% -95%;
	}

	body#contact_thanks {
		font-size: 80%;
	}


	div.index {
	}
	div.index > ul {
	}
	div.index > ul > li {
	}
	div.index > ul > li.show {
	}
	div.index > ul > li > a {
	}
	div.index > ul > li > a div.img {
	}
	div.index > ul > li > a div.img img {
	}
	div.index > ul > li > a div.text_wrapper {
	}
	div.index > ul > li > a div.text_wrapper > div.text {
	padding-top: 15px;
	}
	div.index > ul > li > a div.text_wrapper > div.text > .title {
	}
	div.index > ul > li > a div.text_wrapper > div.text > .title > .jp {
	font-size: 10px;
	padding: 10px 0;
	min-height: 40px;
	}
	div.index > ul > li > a div.text_wrapper > div.text > .title > .en {
	}
	div.index > ul > li > a div.text_wrapper > div.text > .title > span.num {
	}
	div.index > ul > li > a div.text_wrapper > div.text > .title > span.num > img {
	}
	div.index > ul > li > a div.text_wrapper > div.text > .title > .headline {
	font-size: 4.5vw;
	margin-bottom: 5px;
	}
	div.index > ul > li > a div.text_wrapper > div.text > .title > .headline > img {
	}
	div.index > ul > li > a div.text_wrapper > div.text > .arrow {
	}
	div.index > ul > li > a div.text_wrapper > div.text > .arrow > img {
	}

	#container > article#registration > header {
		height: 320px;
	}

	#container > article#member > header {
		height: 320px;
	}
	#container > article#member > div.body > header {
		padding-top: 0;
	}

	/* login --------------------------------------------------*/
	div.body_login {
	}
	body.logging_in div.body_login {
	}
	div.body_login > h3 {
	}
	div.body_login > a.btn_logout {
	}
	div.body_login > h1 {
	}
	div.body_login > h1 > span {
	}
	div.body_login > div.message {
	}
	div.body_login > div.form.login {
	}
	div.body_login > div.form.login > form {
	}
	div.body_login > div.form.login > form > input {
	}
	div.body_login > div.form.login > form > input[type='password'] {
	margin-bottom: 55px;
	}
	div.body_login > div.form.login > form > input[type='submit'] {
	font-size: 140%;
	line-height: 56px;
	width: 280px;
	}
	div.body_login > a.btn_registration {
	}
	/* @end */
}
/* @end */



/* @group If <= 400 = iphone portrait small --------------------------------------------------------*/
@media only screen and (max-width: 400px) {


	div.bg#movie_bg_1 > img {
		width: 300%;
		margin: auto -100%;
	}

	section#concept_1 > div.bg > img {
	}
	#container > article#concept > div.body > section#concept_1 > img {
	}
	#container > article#concept > div.body > section#concept_1 > img#concept_1_img_1 {
	}
	#container > article#concept > div.body > section#concept_1 > img#concept_1_img_2 {
	}



	#container > article#salon > header > div.bg > img {
		top: -20%;
		width: 210%;
		margin: 0 -50%;
	}
	#container > article#member > header > div.bg > img {
		top: -35%;
		margin: 0 -72%;
	}

	div.bg_float_wrapper > div {
		background-size: 100px 400px !important;
		-webkit-background-size: 100px 400px !important;
		-moz-background-size: 100px 400px !important;
	}
	html.touch_device div.bg_float_wrapper > div {
		background-position-y: center !important;
	}

}
/* @end */








