@charset "utf-8";

@font-face {font-family:"Helvetica Neue"; src:local("Helvetica Neue Regular"); font-weight:100;}
@font-face {font-family:"Helvetica Neue"; src:local("Helvetica Neue Regular"); font-weight:200;}
@font-face {
	font-family:"YakuHanJP";
	font-style:normal;
	font-weight:100;
	src:url("../fonts/YakuHanJP-Thin.eot");
	src:url("../fonts/YakuHanJP-Thin.woff2") format("woff2"), 
	    url("../fonts/YakuHanJP-Thin.woff") format("woff");
}
@font-face {
	font-family:"YakuHanJP";
	font-style:normal;
	font-weight:200;
	src:url("../fonts/YakuHanJP-Light.eot");
	src:url("../fonts/YakuHanJP-Light.woff2") format("woff2"), 
	    url("../fonts/YakuHanJP-Light.woff") format("woff");
}
@font-face {
	font-family:"YakuHanJP";
	font-style:normal;
	font-weight:300;
	src:url("../fonts/YakuHanJP-DemiLight.eot");
	src:url("../fonts/YakuHanJP-DemiLight.woff2") format("woff2"), 
	    url("../fonts/YakuHanJP-DemiLight.woff") format("woff");
}
@font-face {
	font-family:"YakuHanJP";
	font-style:normal;
	font-weight:400;
	src:url("../fonts/YakuHanJP-Regular.eot");
	src:url("../fonts/YakuHanJP-Regular.woff2") format("woff2"), 
	    url("../fonts/YakuHanJP-Regular.woff") format("woff");
}
@font-face {
	font-family:"YakuHanJP";
	font-style:normal;
	font-weight:500;
	src:url("../fonts/YakuHanJP-Medium.eot");
	src:url("../fonts/YakuHanJP-Medium.woff2") format("woff2"), 
	    url("../fonts/YakuHanJP-Medium.woff") format("woff");
}
@font-face {
	font-family:"YakuHanJP";
	font-style:normal;
	font-weight:700;
	src:url("../fonts/YakuHanJP-Bold.eot");
	src:url("../fonts/YakuHanJP-Bold.woff2") format("woff2"), 
	    url("../fonts/YakuHanJP-Bold.woff") format("woff");
}
@font-face {
	font-family:"YakuHanJP";
	font-style:normal;
	font-weight:900;
	src:url("../fonts/YakuHanJP-Black.eot");
	src:url("../fonts/YakuHanJP-Black.woff2") format("woff2"), 
	    url("../fonts/YakuHanJP-Black.woff") format("woff");
}
@font-face {
	font-family:"YakuHanMP";
	font-style:normal;
	font-weight:100;
	src:url("../fonts/YakuHanMP-ExtraLight.eot");
	src:url("../fonts/YakuHanMP-ExtraLight.woff2") format("woff2"), 
	    url("../fonts/YakuHanMP-ExtraLight.woff") format("woff");
}
@font-face {
	font-family:"YakuHanMP";
	font-style:normal;
	font-weight:200;
	src:url("../fonts/YakuHanMP-Light.eot");
	src:url("../fonts/YakuHanMP-Light.woff2") format("woff2"), 
	    url("../fonts/YakuHanMP-Light.woff") format("woff");
}
@font-face {
	font-family:"YakuHanMP";
	font-style:normal;
	font-weight:300;
	src:url("../fonts/YakuHanMP-Regular.eot");
	src:url("../fonts/YakuHanMP-Regular.woff2") format("woff2"), 
	    url("../fonts/YakuHanMP-Regular.woff") format("woff");
}
@font-face {
	font-family:"YakuHanMP";
	font-style:normal;
	font-weight:400;
	src:url("../fonts/YakuHanMP-Medium.eot");
	src:url("../fonts/YakuHanMP-Medium.woff2") format("woff2"), 
	    url("../fonts/YakuHanMP-Medium.woff") format("woff");
}
@font-face {
	font-family:"YakuHanMP";
	font-style:normal;
	font-weight:500;
	src:url("../fonts/YakuHanMP-SemiBold.eot");
	src:url("../fonts/YakuHanMP-SemiBold.woff2") format("woff2"), 
	    url("../fonts/YakuHanMP-SemiBold.woff") format("woff");
}
@font-face {
	font-family:"YakuHanMP";
	font-style:normal;
	font-weight:700;
	src:url("../fonts/YakuHanMP-Bold.eot");
	src:url("../fonts/YakuHanMP-Bold.woff2") format("woff2"), 
	    url("../fonts/YakuHanMP-Bold.woff") format("woff");
}
@font-face {
	font-family:"YakuHanMP";
	font-style:normal;
	font-weight:900;
	src:url("../fonts/YakuHanMP-Black.eot");
	src:url("../fonts/YakuHanMP-Black.woff2") format("woff2"), 
	    url("../fonts/YakuHanMP-Black.woff") format("woff");
}
@font-face {
	font-family:"icons"; 
	src:url("../fonts/icons.eot?-sqo7rw"); 
	src:url("../fonts/icons.eot?-sqo7rw#iefix") format("embedded-opentype"), 
	    url("../fonts/icons.ttf?-sqo7rw") format("truetype"), 
	    url("../fonts/icons.woff?-sqo7rw") format("woff"), 
	    url("../fonts/icons.svg?-sqo7rw#icons") format("svg"); 
	font-weight:normal; 
	font-style:normal; 
}


html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0; 
	padding:0; 
	border:0; 
	outline:0; 
	font-size:inherit; 
	font-style:inherit; 
	vertical-align:baseline; 
	background:transparent;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {display:block;}
i, em {font-style:normal;}
ol, ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after,
q:before, q:after {content:''; content:none;}
a {margin:0; padding:0; font-size:inherit; vertical-align:baseline; background:transparent;}
table {border-collapse:collapse; border-spacing:0;}
hr {display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0;}
input, select, button, textarea, pre {font-size:inherit; font-family:inherit;}
input, select {vertical-align:middle;}
img {vertical-align:bottom;}

html {
	height:100%; 
	font-size:10px; 
	font-family:YakuHanJP,-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI","Noto Sans Japanese","ヒラギノ角ゴ ProN W3",Meiryo,sans-serif;
}

body {
	width:100%; 
	height:100%; 
	background:#fff; 
	color:#000; 
	text-align:center; 
	line-height:2; 
	hyphens:auto; 
	-webkit-text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}

/* IE10以上 */
@media all and (-ms-high-contrast:none) {
body {font-family:Verdana, Meiryo, sans-serif;}
}

a, 
a img, 
button {
	color:inherit; text-decoration:underline; outline:none; 
	transition:all 0.2s ease-in-out 0s; transition-property:border-color,background-color,color,opacity;}
a:hover {color:#999;}
a:hover img {opacity:0.7;}
sup {position:relative; top:-0.1em; font-size:60%; vertical-align:top;}

h1, h2, h3, h4, h5, h6 {line-height:1.5;}


/* frame */
#container_ {min-width:1034px; position:relative; margin:0 auto; border:3px solid #cc0e19; overflow:hidden;}
#container_::after {display:block; content:""; clear:both; height:0;}

#header_ {
	display:-webkit-flex; display:-ms-flexbox; display:flex; 
	width:100%; height:97px; position:relative; z-index:9999; border-bottom:1px solid #e5e5e5; background:#fff;}
#header_ > h1 {width:248px;}
#header_ > h1 > a {display:block; height:97px; background:url(../images/general.png) no-repeat; text-indent:110%; white-space:nowrap; overflow:hidden;}
#header_ > nav {-webkit-flex:1; -ms-flex:1; flex:1;}
#header_ > nav > h1 {display:none;}
#header_ > nav > ul {
	display:-webkit-flex; display:-ms-flexbox; display:flex; 
	font-size:1.4rem; line-height:1.5; height:97px;}
#header_ > nav > ul > li {
	-webkit-flex:1 1 auto; -ms-flex:1 1 auto; flex:1 1 auto; 
	padding:0 9px; border-left:1px solid #e5e5e5;}
#header_ > nav > ul > li > a {
	display:-webkit-flex; display:-ms-flexbox; display:flex; 
	-webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column;
	-webkit-justify-content:center; -ms-flex-pack:center; justify-content:center; 
	height:97px; margin:0 -9px; padding:0 9px; text-decoration:none;}
#header_ > nav > ul > li > a:hover {}
#header_ > nav > ul > li.member {font-size:1.2rem;}
#header_ > nav > ul > li.member > a {height:48.5px; border-top:1px solid #e5e5e5;}
#header_ > nav > ul > li.member > a:first-child {border-top:none;}
#header_ > nav > ul > li.cart {
	-webkit-flex:0 0 96px; -ms-flex:0 0 96px; flex:0 0 96px; 
	font-size:1.2rem;}
#header_ > nav > ul > li.cart > a::before {display:block; content:"\e62f"; color:#cc0e19; font:normal 3em/1.3 icons;}
#header_ > nav > .mask {display:none;}

#main_ {display:block; padding:0 0 90px;}
#main_::after {display:block; content:""; clear:both; height:0;}

#footer_ {position:relative; padding:13px 0 0; background:#f3f3f3;}
#footer_ a {display:block; text-decoration:none;}
#footer_ > h1 {width:940px; margin:0 auto;}
#footer_ > h1 > a {width:236px; height:97px; margin:0 0 0 -27px; background:url(../images/general.png) no-repeat; text-indent:110%; white-space:nowrap; overflow:hidden;}
#footer_ > .site {position:relative; margin:10px 0 0; letter-spacing:-0.4em;}
#footer_ > .site > * {letter-spacing:normal;}
#footer_ > .site > h1 {display:none;}
#footer_ > .site > .sitemap {display:inline-block; width:720px; margin:-40px 0 35px -20px; text-align:left; vertical-align:top; letter-spacing:-0.4em;}
#footer_ > .site > .sitemap > section {display:inline-block; width:220px; margin:40px 0 0 20px; letter-spacing:normal; vertical-align:top;}
#footer_ > .site > .sitemap > section > h1 {padding:0 0 0.6em; border-bottom:1px solid #000; font-size:1.4rem; font-weight:bold;}
#footer_ > .site > .sitemap > section > h1 > a {margin:0 0 -10px; padding:0 0 10px;}
#footer_ > .site > .sitemap > section > ul {font-size:1.2rem;}
#footer_ > .site > .sitemap > section > ul > li {padding:5px 0 4px; border-bottom:1px solid #c2c2c2;}
#footer_ > .site > .sitemap > section > ul > li > a {margin:-5px 0 -4px; padding:5px 0 4px;}
#footer_ > .site > .banners {display:inline-block; width:220px; margin:2em 0 35px 20px; font-size:1.4rem; vertical-align:top;}
#footer_ > .site > .banners > ul {}
#footer_ > .site > .banners > ul > li {
	margin:20px 0 0; padding:14px; border:1px solid #dadada; background:#fff; color:#66070d; font-size:1.8rem; font-weight:bold; text-align:center; line-height:1.5;}
#footer_ > .site > .banners > ul > li:first-child {margin-top:0;}
#footer_ > .site > .banners > ul > li > a {display:block; margin:-14px; padding:14px; color:inherit; text-decoration:none;}
#footer_ > .site > .banners > ul > li img {display:block;}
#footer_ > .site > .banners > ul > li > a:hover {opacity:0.7;}
#footer_ > .site > .banners > ul > li > a:hover img {opacity:1;}
#footer_ > .site > .sns {
	display:-webkit-flex; display:-ms-flexbox; display:flex; 
	-webkit-align-items:center; -ms-flex-align:center; align-items:center; 
	position:absolute; right:50%; top:-80px; margin:0 -470px 0 0;}
#footer_ > .site > .sns > h1 {margin:0 0.5em 0 0; font-size:1.2rem; font-weight:normal;}
#footer_ > .site > .sns > ul {
	display:-webkit-flex; display:-ms-flexbox; display:flex; 
	margin:0 -5px 0 0;}
#footer_ > .site > .sns > ul > li {width:42px;}
#footer_ > .site > .sns > ul > li > a {display:block; height:42px; position:relative; text-indent:110%; white-space:nowrap; overflow:hidden;text-decoration:none;}
#footer_ > .site > .sns > ul > li > a::after {display:block; position:absolute; left:50%; top:50%; margin:-0.5em 0 0 -0.5em; font:normal 3em/1 icons; text-indent:0;}
#footer_ > .site > .sns > ul > li.twitter   > a::after {content:"\e63b"; color:#30a6df;}
#footer_ > .site > .sns > ul > li.facebook  > a::after {content:"\e63a"; color:#3b74bb;}
#footer_ > .site > .sns > ul > li.instagram > a::after {
	content:"\e63c"; color:#d72f82; 
	background:-ms-radial-gradient(circle at 33% 100%, #fed373 4%, #f15245 30%, #d92e7f 62%, #9b36b7 85%, #515ecf); 
	background:radial-gradient(circle at 33% 100%, #fed373 4%, #f15245 30%, #d92e7f 62%, #9b36b7 85%, #515ecf); 
	-webkit-background-clip:text; -webkit-text-fill-color:transparent;}
#footer_ > .site > small {display:block; padding:15px; background:#dadada; font-size:1.1rem; line-height:1;}
#footer_ > .company {padding:30px; background:#fff;}
#footer_ > .company > h1 {width:180px; margin:0 auto;}
#footer_ > .company > h1 > a {display:block; height:50px; background:url(../images/general.png) 0 -100px no-repeat; text-indent:110%; white-space:nowrap; overflow:hidden;}
#footer_ > .company > ul {font-size:1.1rem; letter-spacing:-0.4em;}
#footer_ > .company > ul > li {display:inline-block; height:1em; padding:0 5px; border-left:1px solid #939393; letter-spacing:normal; vertical-align:top; line-height:1;}
#footer_ > .company > ul > li:first-child {border-width:0;}
#footer_ > .company > ul > li > a {margin:-10px -5px; padding:10px 5px;}
#footer_ > .company > small {display:block; margin:0.3em 0 0; font-size:1.1rem;}

@media all and (-ms-high-contrast:none){
#footer_ > .site > .sns > ul > li.instagram > a::after {background:none;}
}

/* footer banners */
#footer_ > .site > .banners > ul > li.free-sample {position:relative; border-color:transparent; background:#cc0e19; color:#fff;}
#footer_ > .site > .banners > ul > li.free-sample .image {margin:-55px auto 0;}
#footer_ > .site > .banners > ul > li.free-sample .image > img {display:block; margin:0 auto; backface-visibility:hidden;}
#footer_ > .site > .banners > ul > li.free-sample b {display:block; font-size:1.4rem;}
#footer_ > .site > .banners > ul > li.free-sample strong {display:block; font-size:2.4rem;}
#footer_ > .site > .banners > ul > li.free-sample small {display:block; font-size:1.0rem; font-weight:normal;}

#footer_ > .site > .banners > ul > li.mail-magazine {border-color:transparent; background:#66070d; color:#fff;}
#footer_ > .site > .banners > ul > li.mail-magazine small {display:block; font-size:1.4rem;}
#footer_ > .site > .banners > ul > li.mail-magazine strong {display:block; font-size:2.4rem;}
#footer_ > .site > .banners > ul > li.mail-magazine strong::before {
	display:inline-block; content:"\e626"; height:1.2em; margin:0 0.1em 0 0; font:normal 1.3em/1 icons; vertical-align:middle;}

#footer_ > .site > .banners > ul > li.book-store {}

/* font */
#footer_ > .site > .sns > h1 
	{font-family:"Crimson Text", serif;}



@media screen and (max-width:599px) {

body {min-width:320px; max-width:599px; line-height:1.5;}
body::before, 
body::after {display:block; content:""; width:2px; height:50vh; position:fixed; top:0; z-index:1; background:#cc0e19; overflow:hidden;}
body::before {left:0;}
body::after  {right:0;}


/* frame */
#container_ {min-width:0; z-index:2; border-width:2px; border-top:none; box-sizing:border-box; background:#fff; overflow:visible;}
#container_::after {}

#header_ {
	display:block; width:auto; min-width:316px; height:44px; position:fixed; left:0; top:0; right:0; 
	background:transparent; border:2px solid #cc0e19; border-bottom:none; overflow:hidden; transition:height 0s 0.3s;}
#header_ > h1 {width:118px; position:relative; z-index:3;}
#header_ > h1 > a {height:44px; background-position:-1px -2px; background-size:118px auto;}
#header_ > nav {height:100%; position:relative; z-index:2; margin:-44px 0 0; padding:44px 0 0; box-sizing:border-box;}
#header_ > nav::after {
	display:block; height:43px; content:""; position:absolute; left:0; right:0; top:0; z-index:3; border-bottom:1px solid #e5e5e5; 
	background:#fff; transition:border-color 0.3s ease-in-out 0s;}
#header_ > nav > h1 {
	display:none; width:44px; height:44px; position:absolute; right:0; top:0; z-index:4; 
	color:#cc0e19; text-indent:110%; white-space:nowrap; overflow:hidden; cursor:pointer;}
#header_ > nav > h1::before, 
#header_ > nav > h1::after  {
	display:block; position:absolute; left:0; right:0; top:0; bottom:0; font:normal 16px/44px icons; text-indent:0; text-align:center; 
	transition:0.3s cubic-bezier(0.215, 0.61, 0.355, 1); transition-property:opacity,transform;}
#header_ > nav > h1::before {content:"\e620"; transition-delay:0.05s;}
#header_ > nav > h1::after  {content:"\e61b"; opacity:0; transform:rotate(90deg); transition-delay:0s;}
#header_ > nav > ul {
	display:block; height:auto; position:relative; z-index:2; border-bottom:1px solid #f5cfd1; 
	background:#fff; font-size:1.2rem; font-size:3.75vw; text-align:left; overflow:auto; -webkit-overflow-scrolling:touch; 
	transform:translateY(-100%); transition:transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0s;}
#header_ > nav > ul::after {display:block; content:""; clear:both; height:0;}
#header_ > nav > ul a {position:relative;}
#header_ > nav > ul a::after {
	display:block; content:"\e615"; width:45px; position:absolute; right:0; top:50%; margin:-0.5em 0 0; color:#cc0e19; font:normal bold 2em/1 icons; text-align:center;}
#header_ > nav > ul > li {height:auto; padding:15px 20px; border-left:none; border-top:1px solid #f5cfd1; box-sizing:border-box;}
#header_ > nav > ul > li:first-child {border-top:none;}
#header_ > nav > ul > li br {display:none;}
#header_ > nav > ul > li > a {display:block; height:auto; margin:-15px -20px; padding:15px 45px 15px 20px;}
#header_ > nav > ul > li > a:hover {}
#header_ > nav > ul > li.member {float:left; width:68.75%; padding:10px; border-right:1px solid #f5cfd1; font-size:inherit;}
#header_ > nav > ul > li.member > a {height:auto; margin:0; padding:5px; border:none;}
#header_ > nav > ul > li.member > a::after {display:none;}
#header_ > nav > ul > li.cart {float:left; width:31.25%; margin-left:-1px; padding:5px; border-left:1px solid #f5cfd1; font-size:inherit; text-align:center;}
#header_ > nav > ul > li.cart > a {margin:-5px; padding:5px;}
#header_ > nav > ul > li.cart > a::before {}
#header_ > nav > ul > li.cart > a::after  {display:none;}
#header_ > nav > .mask {position:absolute; left:0; right:0; top:0; bottom:0; z-index:1;}


/* header nav */
html.fac-js-enabled #header_ > nav > h1 {display:block;}
html.fac-nav-show #header_ {height:100%; transition-delay:0s;}
html.fac-nav-show #header_ > nav::after {border-bottom-color:#cc0e19;}
html.fac-nav-show #header_ > nav > h1::before {opacity:0; transform:rotate(-90deg); transition-delay:0s;}
html.fac-nav-show #header_ > nav > h1::after  {opacity:1; transform:rotate(0deg); transition-delay:0.05s;}
html.fac-nav-show #header_ > nav > ul {max-height:100%; transform:translateY(0);}
html.fac-nav-show #header_ > nav > .mask {display:block;}
html.fac-is-smartdevice #header_ > nav > ul::before {display:block; content:""; width:1px; height:1px; position:absolute; bottom:-3px;}


#main_ {padding:46px 0 20px; overflow:hidden;}
#main_::after {}

#footer_ {padding:0; border-top:1px solid #cdcdcd;}
#footer_ a {}
#footer_ > h1 {width:124px; margin:0; padding:5px;}
#footer_ > h1 > a {width:auto; height:0; margin:0; background-size:100%; padding:41.1016% 0 0;}
#footer_ > .site {margin:0;}
#footer_ > .site > * {}
#footer_ > .site > h1 {}
#footer_ > .site > .sitemap {display:block; width:auto; margin:0; border-bottom:1px solid #cdcdcd;}
#footer_ > .site > .sitemap > section {display:block; width:auto; margin:0; border-top:1px solid #cdcdcd; overflow:hidden;}
#footer_ > .site > .sitemap > section a {position:relative;}
#footer_ > .site > .sitemap > section a::after {
	display:block; content:"\e615"; width:1.5em; position:absolute; right:0; top:50%; margin:-0.5em 0 0; font:normal bold 2em/1 icons; text-align:center;}
#footer_ > .site > .sitemap > section > h1 {padding:15px 20px; border:none; background:#f3f3f3; font-size:1.2rem; font-size:3.75vw; font-weight:normal;}
#footer_ > .site > .sitemap > section > h1 > a {margin:-15px -20px; padding:15px 20px;}
#footer_ > .site > .sitemap > section > ul {padding:0 20px; background:#fff; font-size:1.2rem; font-size:3.75vw;}
#footer_ > .site > .sitemap > section > ul > li {padding:15px 0; border-color:#d6d6d6;}
#footer_ > .site > .sitemap > section > ul > li:last-child {border:none;}
#footer_ > .site > .sitemap > section > ul > li > a {margin:-15px -20px; padding:15px 3em 15px 20px;}
#footer_ > .site > .banners {display:block; width:auto; margin:0; padding:20px; font-size:1.2rem; font-size:3.75vw;}
#footer_ > .site > .banners > ul {}
#footer_ > .site > .banners > ul > li {margin:10px 0 0; padding:9px; font-size:1.2rem; font-size:3.75vw;}
#footer_ > .site > .banners > ul > li:first-child {}
#footer_ > .site > .banners > ul > li > a {margin:-9px; padding:9px;}
#footer_ > .site > .banners > ul > li img {width:100%; height:auto;}
#footer_ > .site > .banners > ul > li > a:hover {}
#footer_ > .site > .banners > ul > li > a:hover img {}
#footer_ > .site > .sns {right:16px; top:-44px; margin:0;}
#footer_ > .site > .sns > h1 {font-size:0.8rem;}
#footer_ > .site > .sns > ul {margin:0;}
#footer_ > .site > .sns > ul > li {width:26px;}
#footer_ > .site > .sns > ul > li > a {height:26px;}
#footer_ > .site > .sns > ul > li > a::after {font-size:20px;}
#footer_ > .site > .sns > ul > li.twitter   > a::after {}
#footer_ > .site > .sns > ul > li.facebook  > a::after {}
#footer_ > .site > .sns > ul > li.instagram > a::after {}
#footer_ > .site > small {padding:1em 20px; font-size:0.9rem; font-size:2.8125vw; line-height:1.2;}
#footer_ > .company {margin:0; padding:1em 20px 0; text-align:center;}
#footer_ > .company > h1 {width:50%; margin:1em auto 0;}
#footer_ > .company > h1 > a {height:0; padding:27.7777% 0 0; background-position:0 bottom; background-size:131.1111%;}
#footer_ > .company > ul {
	display:-webkit-flex; display:-ms-flexbox; display:flex; 
	-webkit-flex-wrap:wrap; -ms-flex-wrap:wrap; flex-wrap:wrap; 
	-webkit-justify-content:center; -ms-flex-pack:center; justify-content:center; 
	height:auto; font-size:1.0rem; font-size:3.125vw;}
#footer_ > .company > ul > li {height:1em; margin:1em 0 0 -1px; margin-left:-1px; border-right:1px solid #939393;}
#footer_ > .company > ul > li:first-child {border-width:1px;}
#footer_ > .company > ul > li > a {margin:-5px; padding:5px 5px;}
#footer_ > .company > small {position:static; margin:1em -20px 0; padding:2em 0; background:#e7e7e7; font-size:0.9rem; font-size:2.8125vw; line-height:1; text-align:center;}


/* sitemap accordion */
#footer_ > .site > .sitemap > section.fac-switcher > h1 {position:relative; padding-right:3em; cursor:pointer;}
#footer_ > .site > .sitemap > section.fac-switcher > h1::after {
	display:block; content:"\e616"; width:1.5em; position:absolute; right:0; top:50%; margin:-0.5em 0 0; font:normal bold 2em/1 icons; text-align:center; 
	transition:transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0s;}
#footer_ > .site > .sitemap > section.fac-switcher > h1 > a {margin-right:-3em; padding-right:3em; pointer-events:none;}
#footer_ > .site > .sitemap > section.fac-switcher > h1 > a::after {display:none;}
#footer_ > .site > .sitemap > section.fac-switcher-show > h1::after {transform:rotate(-180deg);}
#footer_ > .site > .sitemap > section.fac-switcher > ul {height:0; transition:height 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0s; overflow:hidden;}
html.fac-initial #footer_ > .site > .sitemap > section.fac-switcher > h1::after, 
html.fac-initial #footer_ > .site > .sitemap > section.fac-switcher > ul {transition-duration:0s;}

/* footer banners */
#footer_ > .site > .banners > ul > li.free-sample {margin-top:20px}
#footer_ > .site > .banners > ul > li.free-sample > a::after {display:block; content:""; clear:both; height:0;}
#footer_ > .site > .banners > ul > li.free-sample > a > * {margin-left:50%;}
#footer_ > .site > .banners > ul > li.free-sample .image {float:left; width:50%; margin:-10% 0 0;}
#footer_ > .site > .banners > ul > li.free-sample .image > img {width:100%; height:auto;}
#footer_ > .site > .banners > ul > li.free-sample b {font-size:1.2rem; font-size:3.75vw;}
#footer_ > .site > .banners > ul > li.free-sample strong {font-size:2.2rem; font-size:6.875vw;}
#footer_ > .site > .banners > ul > li.free-sample small {font-size:0.8rem; font-size:2.5vw;}

#footer_ > .site > .banners > ul > li.mail-magazine {}
#footer_ > .site > .banners > ul > li.mail-magazine small {font-size:1.0rem; font-size:3.125vw;}
#footer_ > .site > .banners > ul > li.mail-magazine strong {font-size:2.1rem; font-size:6.5625vw;}
#footer_ > .site > .banners > ul > li.mail-magazine strong::before {}

#footer_ > .site > .banners > ul > li.book-store {}

}



/** Components **/

/* ボタン：バニラ */
.c-button-vanilla {
	display:inline-block; min-width:240px; margin:1em auto 0; padding:10px; border:1px solid #cc0e19; box-sizing:border-box; background:#cc0e19; 
	color:#fff; font-size:1.4rem; font-weight:bold; text-decoration:none; text-align:center; cursor:pointer;}
.c-button-vanilla::before {display:inline-block; content:""; width:0; height:2em; vertical-align:middle;}
.c-button-vanilla[target="_blank"]::before {content:"\e636"; width:1.4em;}
button.c-button-vanilla {
	height:50px; 
	-webkit-appearance:none; -moz-appearance:none; appearance:none;}
.c-button-vanilla:hover {border-color:#e06e75; background-color:#e06e75; color:#fff;}
@media screen and (max-width:599px) {
.c-button-vanilla {min-width:53%; padding:1em; font-size:1.0rem; font-size:3.125vw;}
button.c-button-vanilla {height:40px; height:12.5vw; min-height:40px;}
.c-button-vanilla:hover {}
}

/* ボタン：デフォルト */
.c-button-default {
	display:inline-block; min-width:240px; margin:1em auto 0; padding:10px; border:1px solid #cc0e19; box-sizing:border-box; background:#cc0e19; 
	color:#fff; font-size:1.4rem; font-weight:bold; text-decoration:none; text-align:center; cursor:pointer;}
button.c-button-default {
	height:50px; 
	-webkit-appearance:none; -moz-appearance:none; appearance:none;}
.c-button-default::before {display:inline-block; content:"\e605"; width:1em; height:1.2em; margin:0 0.3em 0 0; font:normal 1em/1 icons; vertical-align:middle;}
.c-button-default[target="_blank"]::before {content:"\e636"; width:1.4em;}
.c-button-default:hover {border-color:#e06e75; background-color:#e06e75; color:#fff;}
@media screen and (max-width:599px) {
.c-button-default {min-width:53%; padding:1em; font-size:1.0rem; font-size:3.125vw;}
button.c-button-default {height:40px; height:12.5vw; min-height:40px;}
.c-button-default::before {}
.c-button-default:hover {}
}

/* ボタン：白抜き */
.c-button-reverse {
	display:inline-block; min-width:240px; margin:1em auto 0; padding:10px; border:1px solid #cc0e19; box-sizing:border-box; background:#fff; 
	color:#cc0e19; font-size:1.4rem; font-weight:bold; text-decoration:none; text-align:center; cursor:pointer;}
button.c-button-reverse {
	height:50px; 
	-webkit-appearance:none; -moz-appearance:none; appearance:none;}
.c-button-reverse::before {display:inline-block; content:"\e605"; width:1em; height:1.2em; margin:0 0.3em 0 0; font:normal 1em/1 icons; vertical-align:middle;}
.c-button-reverse[target="_blank"]::before {content:"\e636"; width:1.4em;}
.c-button-reverse:hover {border-color:#e06e75; color:#e06e75;}
@media screen and (max-width:599px) {
.c-button-reverse {min-width:53%; padding:1em; font-size:1.0rem; font-size:3.125vw;}
button.c-button-reverse {height:40px; height:12.5vw; min-height:40px;}
.c-button-reverse::before {}
.c-button-reverse:hover {}
}

/* ボタン：淡い */
.c-button-pale {
	display:inline-block; min-width:240px; margin:1em auto 0; padding:10px; border:1px solid #e5e5e5; box-sizing:border-box; background:#fff; 
	font-size:1.4rem; font-weight:normal; text-decoration:none; text-align:center; cursor:pointer;}
button.c-button-pale {
	height:50px; 
	-webkit-appearance:none; -moz-appearance:none; appearance:none;}
.c-button-pale::before {display:inline-block; content:"\e605"; width:1em; height:1.2em; margin:0 0.3em 0 0; color:#cc0e19; font:normal 1em/1 icons; vertical-align:middle;}
.c-button-pale[target="_blank"]::before {content:"\e636"; width:1.4em;}
.c-button-pale:hover {}
@media screen and (max-width:599px) {
.c-button-pale {min-width:53%; padding:1em; font-size:1.0rem; font-size:3.125vw;}
button.c-button-pale {height:40px; height:12.5vw; min-height:40px;}
.c-button-pale::before {}
.c-button-pale:hover {}
}

/* ボタン：カート */
.c-button-cart {
	display:inline-block; min-width:240px; margin:1em auto 0; padding:10px; border:1px solid #cc0e19; box-sizing:border-box; background:#cc0e19; 
	color:#fff; font-size:1.4rem; font-weight:bold; text-decoration:none; text-align:center; cursor:pointer;}
button.c-button-cart {
	height:50px; 
	-webkit-appearance:none; -moz-appearance:none; appearance:none;}
.c-button-cart::before {display:inline-block; content:"\e62f"; width:1em; height:1.0em; margin:-0.3em 0.3em 0 0; font:normal 1.5em/1 icons; vertical-align:middle;}
.c-button-cart:hover {border-color:#e06e75; background-color:#e06e75; color:#fff;}
@media screen and (max-width:599px) {
.c-button-cart {min-width:53%; padding:1em; font-size:1.0rem; font-size:3.125vw;}
button.c-button-cart {height:40px; height:12.5vw; min-height:40px;}
.c-button-cart::before {}
.c-button-cart:hover {}
}

/* ボタン：購入者向け「学習サポート」 */
.c-button-support {
	display:block; margin:1em 0 0; position:relative; padding:19px 9px 19px 28%; border:1px solid #e5e5e5; box-sizing:border-box; 
	background:#fff; text-align:left; text-decoration:none; line-height:1.5; cursor:pointer;}
.c-button-support::before {
	display:block; content:"\e629"; width:1.5em; position:absolute; right:74%; top:50%; margin:-0.5em 0 0; 
	color:#cc0e19; font:normal 4.8em/1 icons; text-align:right; vertical-align:middle;}
.c-button-support > small {display:block;font-size:1.2rem;}
.c-button-support > b     {display:block; font-size:2.4rem; font-weight:500;}
@media screen and (max-width:599px) {
.c-button-support {padding:1em 1em 1em 23%;}
.c-button-support::before {right:80%; font-size:3em; font-size:9.375vw;}
.c-button-support > small {font-size:0.8rem; font-size:2.5vw;}
.c-button-support > b     {font-size:1.5rem; font-size:4.6875vw;}
}

/* ボタン：リスニング・トレーナー */
.c-button-app {
	display:block; margin:1em 0 0; position:relative; padding:19px 9px 19px 28%; border:1px solid #e5e5e5; box-sizing:border-box; 
	background:#fff; text-align:left; text-decoration:none; line-height:1.5; cursor:pointer;}
.c-button-app::before {
	display:block; content:""; width:49px; height:0; position:absolute; right:74%; top:50%; margin:-25px 0 0; padding:49px 0 0; 
	background:url(../images/icon_app_listening-trainer.png) center center no-repeat;}
.c-button-app > small {display:block;font-size:1.2rem;}
.c-button-app > b     {display:block; font-size:2.4rem; font-weight:500;}
@media screen and (max-width:599px) {
.c-button-app {padding:1em 1em 1em 23%;}
.c-button-app::before {width:12%; right:82%; margin:-6% 0 0; padding:12% 0 0; background-size:contain;}
.c-button-app > small {font-size:0.8rem; font-size:2.5vw;}
.c-button-app > b     {font-size:1.5rem; font-size:4.6875vw;}
}

/* セレクト：デフォルト */
.c-select-default {position:relative; margin:1em 0 0; font-size:1.4rem;}
.c-select-default::after {
	display:block; content:"\e602"; width:3em; position:absolute; right:0; top:50%; margin:-0.5em 0 0; 
	color:#000; font:bold 1em/1 icons; text-align:center; pointer-events:none;}
.c-select-default > select {
	display:block; width:100%; position:relative; padding:17px 3em 17px 14px; border:1px solid #e5e5e5; border-radius:5px; box-sizing:border-box; 
	background:#fff; line-height:1; 
	-webkit-appearance:none; -moz-appearance:none; appearance:none;}
.c-select-default > select::-ms-expand {display:none;}


/* ビデオ：ビデオエリア */
.c-video-area {position:relative; background:#000; color:#fff; font-size:1.2rem;}
.c-video-area::before {
	display:block; content:"このコンテンツを見るためにはJavaScriptを有効にしてください。\APlease enable JavaScript to watch this content."; 
	position:absolute; left:10px; right:10px; top:50%; z-index:2; margin:-1em 0 0; text-align:center; white-space:pre;}
.c-video-area::after {display:block; content:""; height:0; padding:56.25% 0 0; overflow:hidden;}
html.fac-js-enabled .c-video-area::before, 
html.fac-js-enabled .c-video-area::after  {display:none;}
@media screen and (max-width:599px) {
.c-video-area {font-size:1.0rem; font-size:3.125vw;}
.c-video-area::before {white-space:normal;}
.c-video-area::after {}
html.fac-js-enabled .c-video-area::before, 
html.fac-js-enabled .c-video-area::after  {}
}

/* ビデオ：JStreamPlayer */
.fac-jstream-player {height:0; position:relative; z-index:1; padding:56.25% 0 0; background:#000; overflow:hidden;}
.fac-jstream-player> iframe {width:100% !important; height:100% !important; position:absolute; left:0; top:0;}

