@charset "utf-8";

/* Reset

Copyright (c) 2010, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 2.8.2r1

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

html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit}del,ins{text-decoration:none}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:baseline}sub{vertical-align:baseline}legend{color:#000}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit}input,button,textarea,select{*font-size:100%}

/* Font
-------------------------------------------------------------------------------*/

body{
	font:14px "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	line-height:1.86;
	letter-spacing:.05em;
	background-image: url(../images/bg_html.png);
	background-repeat: repeat;
}


/* basic
-------------------------------------------------------------------------------*/

a{text-decoration:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}a:link{color:#33c}a:visited{color:#802080}a:hover{text-decoration:underline;color:#eb6100}a:active{color:#ebc300}a:focus{outline:0}a img{vertical-align:top}.opc a:hover img{opacity:.2;-moz-opacity:.2;-ms-filter:"alpha(opacity=20)";filter:alpha(opacity=20)}.opc .current>a:hover img{opacity:1;-moz-opacity:1;-ms-filter:"alpha(opacity=100)";filter:alpha(opacity=100)}.current>a{cursor:default}.sprite{position:relative;display:block;overflow:hidden}.sprite:hover{/zoom:1}.sprite img{position:absolute}.normal{font-weight:normal!important}.bold{font-weight:bold}.fltL{float:left!important}.fltR{float:right!important}.clrml{margin-left:0!important}.clrmr{margin-right:0!important}.clrmb{margin-bottom:0!important}.clrmt{margin-top:0!important}.clrbt{clear:both!important}.clrL{clear:left!important}.clrR{clear:right!important}.clrbd{border:none!important}.alnR{text-align:right}.block{display:block}.whitespace{white-space:pre;white-space:pre-wrap;white-space:pre-line;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:-moz-pre-wrap;white-space:-hp-pre-wrap;word-wrap:break-word}.clrfx:before,.clrfx:after{content:"";display:table}.clrfx:after{clear:both}.clrfx{zoom:1}

/* layout
-------------------------------------------------------------------------------*/

html {
    background: url(../images/bg_html.png) 50% -1431px;
}

#wrapper {
    width: 850px;
    padding: 0 50px;
    margin: 0 auto;
    background: #fff;
}

iframe {
    border: none;
}


.opc a:hover img {
    opacity: .4;
    -moz-opacity: .4;
    -ms-filter: "alpha(opacity=40)";
    filter: alpha(opacity=40);
}

/* #header
-------------------------------------------------------------------------------*/

#header {
    padding: 11px 0 0;
    position: relative;
}

#header h1 {
    float: left;
    margin-left: 1px;
}

#header > img {
    float: left;
    margin: 7px 0 0 2px;
}

#header ul {
    float: right;
    margin-top: 8px;
}

#header li {
    float: left;
}

#header li:first-child {
    margin-right: 12px;
}

#header li + li {
    margin-left: 25px;
}

#header ul + p {
    clear:both;
    border-top: #000 3px solid;
}

#slide {
    clear:both;
    width: 850px;
    height: 567px;
    border-top: #000 3px solid;
}

#slide .disp {
    position: relative;
    overflow: hidden;
    width: 850px;
    height: 567px;
}

#slide .disp img {
    position: absolute;
    display: none;
}

#slide .disp img.foreGround {
    z-index: 1;
    display: block;
}

#slide .disp img.backGround {
    display: block;
}

#slide + p {
    margin-left: -2px;
}

/* #footer
-------------------------------------------------------------------------------*/

#footer {
    padding: 60px 0 15px;
}

#footer ul:first-child {
    padding: 0 1px 20px;
    margin-bottom: 7px;
    border-bottom: #000 3px solid;
}

#footer ul:first-child li {
    float: left;
}

#index #footer ul:first-child li {
    float: right;
    margin-top: 18px;
}

#footer ul:first-child li + li {
    float: right;
    margin-top: 18px;
}

#footer ul + ul {
    float: left;
    clear: both;
}

#footer ul + ul li {
    float: left;
    margin: 4px 39px 0 0;
}

#footer address {
    float: right;
    margin: 7px 2px 0 0;
}

#footer ul + ul li + li + li + li {
    margin-top: 0;
}

/* #book
-------------------------------------------------------------------------------*/

#book {
   padding-top: 103px;
   margin: 0 -50px;
}

#book > img {
    display: none;
    z-index: 1001;
    box-shadow: 0px 0px 3px 2px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 0px 0px 3px 2px rgba(0, 0, 0, 0.1);
    position: absolute;
}

#book.loading > img {
    display: block;
}

#disp {
    position: relative;
    margin-top: 46px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    overflow: hidden;
    width: 950px;
}

#disp > div {
    display: none;
    top: 0;
}

#disp > div.current {
    display: block;
}

#disp > div.active {
    display: block;
    position: absolute;
}

#disp > div a.sold {
    cursor: default;
}

#ctrl {
    text-align: center;
    border-top: #000 3px solid;
    margin: 0 50px;
}

#ctrl h3 {
    margin-top: -49px;
}

#ctrl ul {
    display: inline-block;
    padding: 7px 20px 4px;
	margin: 8px auto 0;
	background: #fff;
}

#ctrl li {
    float: left;
    width: 45px;
    height: 45px;
    overflow: hidden;
    position: relative;
}

#ctrl li + li {
    margin-left: 13px;
}

#ctrl li.current a {
    cursor: default;
}

#ctrl a img {
    position: absolute;
    top: 0;
}

/*#ctrl a:hover img,*/
#ctrl li.current a img {
    top: -56px;
}

#ctrl li img {
    left: 0;
}

#ctrl li + li img {
    left: -58px;
}

#ctrl li + li + li img {
    left: -115px;
}

#ctrl li + li + li + li img {
    left: -173px;
}

#ctrl li + li + li + li + li img {
    left: -231px;
}

#ctrl li + li + li + li + li + li img {
    left: -289px;
}

/* page
-------------------------------------------------------------------------------*/

.page {
    width: 850px;
    padding: 0 50px;
    background: #fff;
}

.main {
    border-bottom: #424242 3px solid;
    padding-bottom: 54px;
}

.main > div {
    float: left;
    width: 236px;
}

.main > div + div {
    float: right;
    width: 585px;
    text-align: center;
}

.main dl {
    padding-bottom: 13px;
    margin-bottom: 31px;
    border-bottom: #424242 2px dashed;
}

.main dt img {
    display: block;
    margin-bottom: 21px;
}

.main table {
    margin-top: -6px;
}

.main dd span {
    display: block;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #e13333;
    margin-top: 6px;
    width: 129px;
    min-height: 11px;
    text-align: center;
}

.main td,
.main th {
    text-align: left;
    vertical-align: top;
    font-size: 10px;
    line-height: 1.8;
    letter-spacing: .05em;
    white-space: nowrap;
}

.main th:after {
    content: "：";
}

.slide {
    width: 585px;
    padding-bottom: 37px;
}

.slide .disp {
    width: 585px;
    height: 390px;
    overflow: hidden;
    position: relative;
}

.slide .disp img {
    position: absolute;
    display: none;
}

.slide .disp img.foreGround {
    z-index: 1;
    display: block;
}

.slide .disp img.backGround {
    display: block;
}

.slide .disp div img.foreGround,
.slide .disp a img.foreGround {
    z-index: 2;
}

.slide .disp div img.backGround {
    z-index: 1;
}

.slide .ctrl {
    display: inline-block;
    margin-top: 28px;
}

.slide .ctrl li {
    float: left;
}

.slide .ctrl li + li {
    margin-left: 5px;
}

.slide .ctrl li a {
    display: none;
}

.slide .ctrl li a img {
    display: block;
    width: 71px;
    height: 48px;
    border: #fff 2px solid;
}

.slide .ctrl li.current a {
    cursor: default;
}

.slide .ctrl li a:hover img,
.slide .ctrl li.current img {
    border: #e13333 2px solid;
}

/* section
-------------------------------------------------------------------------------*/

.section {
    width: 676px;
    padding-top: 40px;
}

.section + .section {
    border-top: #424242 2px dashed;
}

.s00 {
    padding: 44px 0 8px;
}

.s00 h3 {
    float: left;
}

.s00 h3 + a {
    float: left;
    margin: 14px 0 0 12px;
}

.s00 h3 + a + p {
    clear: both;
    padding: 13px 0 8px 2px;
}

.s00 p + p {
    font-size: 10px;
    line-height: 1.8;
    letter-spacing: .05em;
    padding-bottom: 13px;
}

.s00 dl {
    float: left;
    text-align: center;
    margin: 0 0 11px 2px;
}

.s00 dl dd {
    padding-right: 2px;
}

.s00 dl + dl {
    margin-left: 18px;
}

.s00 dl + dl dd {
    padding-left: 12px;
    padding-right: 0;
}

.s00 dl + dl + dl {
    margin-left: 24px;
}

.s00 dl + dl + dl dd {
    padding-left: 20px;
}

.s00 dl + dl + dl + dl {
    margin-left: 3px;
}

.s00 dl + dl + dl + dl dd {
    padding-left: 14px;
}

.s00 dl + dl + dl + dl + dl {
    margin-left: -21px;
}

.s00 dl + dl + dl + dl + dl dd {
    padding-left: 28px;
}

.s00 dd {
    padding-top: 9px;
}

.s00 dd span {
    display: block;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #e13333;
    margin-top: 6px;
    min-height: 11px;
}

.s00 #baloon {
    margin: 73px 0 12px 32px;
}

.s01 {
    padding-bottom: 40px;
}

.s01 h3 {
    margin-bottom: 10px;
}

.s01 p {
    font-size: 10px;
    line-height: 1.8;
    letter-spacing: .05em;
    margin-bottom: 7px;
}

.s01 dl {
    text-align: center;
    float: left;
    margin-right: 23px;
}

.s01 dl dd {
    padding-right: 8px;
}

.s01 dl + dl {
    margin-right: 13px;
}

.s01 dl + dl dd {
    padding-right: 16px;
}

.s01 dl + dl + dl {
    margin-right: 5px;
}

.s01 dl + dl + dl dd {
    padding-right: 24px;
}

.s01 dl + dl + dl + dl + dl {
    margin: 25px 42px 0 0;
}

.s01 dl + dl + dl + dl + dl dd {
    padding-right: 2px;
}

.s01 dl + dl + dl + dl + dl + dl dd {
    padding-right: 12px;
}

.s01 dl img {
    vertical-align: top;
}

.s01 dd {
    padding-top: 9px;
}

.s01 dd > img {
    display: block;
    margin: 12px auto 0;
}

.s01 dd span {
    display: block;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #e13333;
    margin-top: 6px;
    min-height: 11px;
}

.s01 #baloon {
    margin: 62px 0 65px -13px;
}

.s02 {
    padding-bottom: 41px;
}

.s02 h3 {
    margin-bottom: 22px;
}

.s02 p {
    font-size: 12px;
    line-height: 2.25;
    letter-spacing: 0.15em;
}

.s02 table {
    margin-top: 19px;
    border-top: #e13333 4px solid;
    border-bottom: #e13333 4px solid;
    border-left: #424242 2px solid;
    border-right: #424242 2px solid;
    background: url(/store/gift/cart/contents/images/bg_s02_table.png) repeat-y -2px -4px;
}

.s02 th,
.s02 td {
    text-align: center;
    vertical-align: middle;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: 0.15em;
}

.s02 thead th {
    border-bottom: #e13333 3px solid;
    border-right: #424242 2px dotted;
    height: 60px;
    background: #fff;
}

.s02 thead th:first-child {
    border-right: #424242 2px solid;
    background: none;
    padding: 9px 10px 8px 11px;
    background: url(/store/gift/cart/contents/images/bg_s02_th.png) no-repeat 50% 50%;
}

.s02 thead th:first-child span {
    display: inline-block;
    background: #fff;
}

.s02 tbody th {
    border-bottom: #424242 2px dotted;
    border-right: #424242 2px solid;
    width: 155px;
    height: 131px;
}

.s02 tbody td {
    border-bottom: #424242 2px dotted;
    border-right: #424242 2px dotted;
    width: 149px;
    height: 131px;
    background: #fff;
}

.s03 {
    padding-bottom: 50px;
}

.s03 h3 {
    margin-bottom: 22px;
}

.s03 p {
    font-size: 12px;
    line-height: 2.25;
    letter-spacing: 0.15em;
}

.s03 ul {
    margin: 21px -11px 0 0;
}

.s03 li {
    float: left;
    margin: 0 11px 10px 0;
}

.s04 h3 {
    margin-bottom: 22px;
}

.s04 h3 + img {
    float: right;
    margin-top: 8px;
}

.s04 li {
    font-size: 12px;
    line-height: 2.25;
    letter-spacing: 0.15em;
    position: relative;
    padding-left: 1.5em;
}

.s04 li:before {
    content: "※";
    position: absolute;
    left: 0;
}

/* nav
-------------------------------------------------------------------------------*/

#nav {
    width: 172px;
    padding-top: 127px;
    position: absolute;
    top: 0;
    left: -9999px;
    z-index: 99;
}

#nav:before {
    content: url(/store/gift/cart/images/title_nav.png);
    position: absolute;
    top: 0;
}

#nav li + li {
    margin-top: 15px;
}

#nav li + li + li + li + li + li {
    margin-top: 49px;
}

#nav li + li + li + li + li + li + li {
    margin-top: 22px;
}

/* baloon
-------------------------------------------------------------------------------*/

#baloon {
    float: left;
    padding-left: 61px;
    position: relative;
    min-height: 233px;
}

#baloon:before {
    content: url(/store/gift/images/img_baloon.png);
    position: absolute;
    left: 0;
}

#baloon p {
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .15em;
    margin: 0;
}

#baloon p strong {
    color: #f46280;
}

#baloon p + p {
    display: inline-block;
    vertical-align: top;
    margin: 20px 17px 0 0;
}

#baloon + p {
    clear: both;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .15em;
    text-align: right;
    margin: 0 18px 0 0;
}

/* index
-------------------------------------------------------------------------------*/

#index #header h1 {
    float: none;
    position: absolute;
    z-index: 2;
    top: 86px;
    left: 41px;
    
}

#index #footer ul:first-child li {
    float: right;
    margin-top: 18px;
}

#index #book {
   padding-top: 44px;
}

#index #disp {
    margin-top: 0;
}

#index #disp > div {
    display: block;
    width: 850px;
    padding: 0 50px;
    background: #fff;
}

#index #disp > div > ul {
    padding: 0 0 31px 21px;
    border-bottom: #424242 3px solid;
}

#index #disp > div > ul li {
    float: left;
}

#index #disp > div > ul li + li {
    margin-left: 80px;
}

#index #disp > div > ul li + li + li {
    margin-left: 127px;
}

#index .s01 {
    padding: 42px 0 8px;
}

#index .s01 h3 {
    float: left;
    padding-top: 7px;
    margin-bottom: 10px;
}

#index .s01 h3 + a {
    float: left;
    margin-left: 17px;
}

#index .s01 p {
    clear: both;
}

#index #ctrl {
    text-align: left;
    border-top: none;
    margin: 36px 0 0;
}

#index .s02 table {
    display: none;
}

#index .s table.s,
#index .m table.m,
#index .l table.l,
#index .ll table.ll {
    display: table;
}
