@import url(http://fonts.googleapis.com/css?family=Noto+Sans:400,700,400italic|Noto+Serif:400,700,400italic);
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family : sans-serif;
  /* 1 */
  -ms-text-size-adjust : 100%;
  /* 2 */
  -webkit-text-size-adjust : 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin : 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display : block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio, canvas, progress, video {
  display : inline-block;
  /* 1 */
  vertical-align : baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display : none;
  height : 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden], template {
  display : none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color : transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active, a:hover {
  outline : 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom : 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b, strong {
  font-weight : bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style : italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size : 2em;
  margin : 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background : #ffff00;
  color : #000000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size : 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub, sup {
  font-size : 75%;
  line-height : 0;
  position : relative;
  vertical-align : baseline;
}

sup {
  top : -0.5em;
}

sub {
  bottom : -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border : 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow : hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin : 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -webkit-box-sizing : content-box;
          box-sizing : content-box;
  height : 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow : auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code, kbd, pre, samp {
  font-family : monospace, monospace;
  font-size : 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button, input, optgroup, select, textarea {
  color : inherit;
  /* 1 */
  font : inherit;
  /* 2 */
  margin : 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow : visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button, select {
  text-transform : none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button, html input[type="button"], input[type="reset"], input[type="submit"] {
  -webkit-appearance : button;
  /* 2 */
  cursor : pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled], html input[disabled] {
  cursor : default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner, input::-moz-focus-inner {
  border : 0;
  padding : 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height : normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"], input[type="radio"] {
  -webkit-box-sizing : border-box;
          box-sizing : border-box;
  /* 1 */
  padding : 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  height : auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance : textfield;
  /* 1 */
  -webkit-box-sizing : content-box;
  /* 2 */
  box-sizing : content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance : none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border : 1px solid #c0c0c0;
  margin : 0 2px;
  padding : 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border : 0;
  /* 1 */
  padding : 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow : auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight : bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse : collapse;
  border-spacing : 0;
}

td, th {
  padding : 0;
}

body {
  background-color : #faf2e2;
  -webkit-text-size-adjust : none;
  text-size-adjust : none;
  font-family : "Noto Sans", sans-serif;
}

ul {
  padding : 0;
  list-style-type : none;
}

img {
  vertical-align : bottom;
}

a:visited, a:hover, a:active {
  text-decoration : none;
}

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

table {
  width : 100%;
  background : #ffffff;
}
table th, table td {
  padding : 20px 18px 19px;
  border : 2px solid #95470e;
  font-size : 14px;
  line-height : 1.57143;
  text-align : left;
  vertical-align : top;
  -webkit-box-sizing : border-box;
          box-sizing : border-box;
}
table th {
  width : 30%;
  background : #cb874b;
  font-weight : normal;
  color : #ffffff;
}
table td {
  width : 70%;
}
table .error {
  display : block;
  margin-top : 5px;
  color : red !important;
}

.base-page {
  min-width : 320px;
  padding : 0;
  background : #faf2e2;
  overflow : hidden;
}
.base-page.type-image {
  background : #faf2e2 url("../img/base/bg.png") repeat 50% 0;
}

.base-contents {
  max-width : 950px;
  margin : 0 auto;
  padding : 0 25px;
}
.base-contents.type2 {
  max-width : 850px;
  padding : 0 75px;
}

@media only screen and (max-width: 768px) {
  table {
    border-top : 2px solid #95470e;
  }
  table th, table td {
    float : left;
    display : block !important;
    width : 100% !important;
    height : auto !important;
    border-top : none !important;
  }
  table .error {
    display : block;
    margin-top : 5px;
    color : red !important;
  }

  .base-page.type-image {
    -webkit-background-size : 880px auto;
            background-size : 880px auto;
  }

  .base-contents {
    max-width : none !important;
    padding : 0 10px !important;
  }
}

/**
 * Gridpak Beta SCSS 
 *
 * Generator - http://gridpak.com/
 * Created by @erskinedesign
 */
/* Reusable column setup */
.col {
  border : 0 solid rgba(0, 0, 0, 0);
  float : left;
  -webkit-box-sizing : border-box;
  box-sizing : border-box;
  -webkit-background-clip : padding-box !important;
  background-clip : padding-box !important;
}

/* 1. 12 Column Grid 0px - Infinity 
    ----------------------------------------------------------------------------- 
    
    Span 1:    8.33333333333%
    Span 2:    16.6666666667%
    Span 3:    25.0%
    Span 4:    33.3333333333%
    Span 5:    41.6666666667%
    Span 6:    50.0%
    Span 7:    58.3333333333%
    Span 8:    66.6666666667%
    Span 9:    75.0%
    Span 10:    83.3333333333%
    Span 11:    91.6666666667%
    Span 12:    100%
    
    ----------------------------------------------------------------------------- */
@media screen and (min-width: 0) {
  .row {
    margin-left : -20px;
  }

  .col {
    border-left-width : 20px;
    padding : 0 0;
  }

  /* --- Gridpak variables ---*/
  /*
        Add your semantic classnames in alongside their corresponding spans here. e.g.
        
        .span_3,
        .my_semantic_class_name {
            ...
        }
        
        */
  .span_1 {
    width : 8.3333333333%;
    border-left-width : 20px;
    padding : 0 0;
    margin-left : 0;
  }

  .span_2 {
    width : 16.6666666667%;
    border-left-width : 20px;
    padding : 0 0;
    margin-left : 0;
  }

  .span_3 {
    width : 25%;
    border-left-width : 20px;
    padding : 0 0;
    margin-left : 0;
  }

  .span_4 {
    width : 33.3333333333%;
    border-left-width : 20px;
    padding : 0 0;
    margin-left : 0;
  }

  .span_5 {
    width : 41.6666666667%;
    border-left-width : 20px;
    padding : 0 0;
    margin-left : 0;
  }

  .span_6 {
    width : 50%;
    border-left-width : 20px;
    padding : 0 0;
    margin-left : 0;
  }

  .span_7 {
    width : 58.3333333333%;
    border-left-width : 20px;
    padding : 0 0;
    margin-left : 0;
  }

  .span_8 {
    width : 66.6666666667%;
    border-left-width : 20px;
    padding : 0 0;
    margin-left : 0;
  }

  .span_9 {
    width : 75%;
    border-left-width : 20px;
    padding : 0 0;
    margin-left : 0;
  }

  .span_10 {
    width : 83.3333333333%;
    border-left-width : 20px;
    padding : 0 0;
    margin-left : 0;
  }

  .span_11 {
    width : 91.6666666667%;
    border-left-width : 20px;
    padding : 0 0;
    margin-left : 0;
  }

  .span_12 {
    margin-left : 0;
    width : 100%;
  }
}

/*doc
*/
.wgt-section-inner {
  max-width : 1000px;
  margin : 0 auto;
  padding : 20px 0 0;
  overflow : hidden;
}

/* widget
----------------------------------------*/
/* wgt-section */
.wgt-section {
  /* margin: 0; */
  margin : 0 0 60px;
}

/* wgt-heading */
.wgt-heading {
  margin : 0 0 27px;
  text-align : center;
}

/* wgt-p */
.wgt-p {
  margin : 0 0 30px;
  color : #762f07;
  font-size : 16px;
  line-height : 1.875;
}

/* Module
----------------------------------------*/
/* mod-header */
.mod-header {
  position : relative;
  top : 0;
  left : 0;
  width : 100%;
  background-color : #faf2e2;
  z-index : 50;
}
.mod-header.type-top {
  position : absolute;
  top : 0;
  left : 0;
  width : 100%;
  z-index : 50;
  background : none;
}

.mod-header-inner {
  max-width : 1000px;
  margin : 0 auto;
  padding : 13px 0 6px;
  overflow : hidden;
}

.mod-header-logo {
  float : left;
  margin : 0;
  padding-left : 5px;
}
.mod-header-logo img {
  max-width : 100%;
  height : auto;
}

.mod-header-globalnav {
  float : right;
  width : 604px;
  margin : 0;
  padding : 0 5px 0 0;
  display : block;
  z-index : 50;
}

.mod-header-globalnav-spbtn {
  display : none;
  margin : 0;
}

.mod-header-globalnav-nav {
  margin : 0;
  padding : 0;
  overflow : hidden;
}
.mod-header-globalnav.opened .mod-header-globalnav-nav {
  display : block;
}

.mod-header-globalnav-navitem {
  float : left;
  margin : 0 0 0 3.816%;
  font-weight : bold;
  font-size : 18px;
  line-height : 1.33333;
}
.page-about .mod-header-globalnav-navitem.item01 :after, .page-menu .mod-header-globalnav-navitem.item02 :after, .page-shop .mod-header-globalnav-navitem.item03 :after, .page-contact .mod-header-globalnav-navitem.item04 :after {
  background-color : #e10000;
  width : 100%;
}
.mod-header-globalnav-navitem a {
  position : relative;
  display : block;
  padding : 0 2px;
  height : 75px;
  line-height : 75px;
  color : #e10000;
  text-align : center;
  text-decoration : none;
}
.mod-header-globalnav-navitem a:after {
  display : block;
  content : "";
  width : 0;
  height : 3px;
  background-color : #e10000;
  position : absolute;
  left : 0;
  bottom : 10px;
  -webkit-transition : all ease 0.3s;
}
.mod-header-globalnav-navitem a:hover:after {
  background-color : #e10000;
  width : 100%;
}
.mod-header-globalnav-navitem img {
  vertical-align : middle;
}

.mod-header-globalnav-navitem-spOnly {
  display : none;
}

@media only screen and (max-width: 768px) {
  .mod-header {
    min-width : 320px;
  }

  .mod-header-inner {
    padding : 5px 0;
  }

  .mod-header-logo {
    float : none;
    width : auto;
    padding-left : 5px;
    padding-right : 70px;
  }

  .mod-header-globalnav {
    float : none;
  }
  .mod-header-globalnav.opened {
    position : fixed;
    top : 0;
    right : 0;
    display : block;
    padding : 0 0 0 60px;
    width : 100%;
    height : 100%;
    background : rgba(0, 0, 0, 0.5);
    overflow : hidden;
    -webkit-box-sizing : border-box;
            box-sizing : border-box;
    -webkit-transition-duration : 0.3s;
            transition-duration : 0.3s;
  }

  .mod-header-globalnav-spbtn {
    position : absolute;
    top : 28px;
    right : 18px;
    display : block;
  }
  .mod-header-globalnav-spbtn a {
    display : block;
    width : 25px;
    height : 13px;
    background : url("../img/mod-header/btn-menu.png") no-repeat 0 0;
    -webkit-background-size : 50px auto;
            background-size : 50px auto;
    text-indent : -9999px;
    overflow : hidden;
  }
  .mod-header-globalnav.opened .mod-header-globalnav-spbtn {
    left : 18px;
    right : auto;
  }
  .mod-header-globalnav.opened .mod-header-globalnav-spbtn a {
    background-position : 100% 0;
  }

  .mod-header-globalnav-nav {
    display : none;
  }
  .mod-header-globalnav.opened .mod-header-globalnav-nav {
    display : block;
  }

  .mod-header-globalnav-navitem {
    float : none;
    width : 100%;
    margin : 0;
    color : #000000;
  }
  .page-about .mod-header-globalnav-navitem.item01 a, .page-menu .mod-header-globalnav-navitem.item02 a, .page-shop .mod-header-globalnav-navitem.item03 a, .page-contact .mod-header-globalnav-navitem.item04 a {
    color : #e10000;
  }
  .mod-header-globalnav-navitem a {
    position : relative;
    display : block;
    padding : 10px;
    background : #f3f3f3;
    border-top : 1px solid #ffffff;
    height : auto;
    color : inherit;
    line-height : 1.5;
    text-align : left;
  }
  .mod-header-globalnav-navitem a:after {
    display : none;
  }
  .mod-header-globalnav-navitem a:before {
    position : absolute;
    top : 50%;
    right : 20px;
    margin : -9px 0 0;
    display : block;
    content : "";
    width : 10px;
    height : 18px;
    background : url("../img/mod-header/bg-arrow.png") no-repeat 0 0;
    -webkit-background-size : 10px auto;
            background-size : 10px auto;
  }

  .mod-header-globalnav-navitem-spOnly {
    display : inline;
    margin-left : 8px;
  }
}

/* mod-footer */
.mod-footer {
  background : #fff000 url("../img/base/bg-footer.png") no-repeat 50% 0;
}

.mod-footer-info-inner {
  max-width : 1000px;
  margin : 0 auto;
  padding : 64px 10px 46px;
  text-align : center;
}

.mod-footer-logo img {
  display : inline-block;
}
.mod-footer-logo img:first-child {
  margin-right : 15px;
}

.mod-footer-copyright {
  max-width : 1000px;
  margin : 14px auto;
  color : #762f07;
  font-size : 14px;
  line-height : 1.07143;
}

.mod-footer-pagetop {
  margin : 0 auto;
  text-align : center;
}
.mod-footer-pagetop a {
  position : relative;
  display : block;
  padding : 20px;
  background : #d9ccb9;
  text-indent : -9999px;
  overflow : hidden;
}
.mod-footer-pagetop a:before {
  position : absolute;
  top : 50%;
  left : 50%;
  content : "";
  display : block;
  width : 22px;
  height : 16px;
  background : url("../img/base/bg-pagetop.png") no-repeat 0 0;
  margin : -8px 0 0 -11px;
}
.mod-footer-pagetop a:hover {
  background : #e10000;
}
.mod-footer-pagetop a:hover:before {
  background-position : 100% 0;
}

@media only screen and (max-width: 768px) {
  .mod-footer {
    background-image : none;
  }


  .mod-footer-info-inner {
    padding : 15px 40px 0;
  }

  .mod-footer-logo img {
    display : block;
    max-width : 100%;
    height : auto;
    margin : 0 auto;
  }
  .mod-footer-logo img:first-child {
    margin : 0 auto;
  }
}

/* mod-keyvisual */
.mod-keyvisual {
  background : #faf2e2;
}

.mod-keyvisual-inner {
  max-width : 1000px;
  margin : 0 auto;
}

.mod-keyvisual-inner2 {
  max-width : 1350px;
  margin : 0 -17.5%;
}
.mod-keyvisual-inner2 img {
  display : block;
  max-width : 100%;
  height : auto;
}

@media only screen and (max-width: 768px) {
  .mod-keyvisual {
    margin-bottom : 20px;
  }


  .mod-keyvisual-inner2 {
    margin : 0 -35%;
  }
}

/* mod-pagetitle */
.mod-pagetitle {
  margin : -30px 0 45px;
}

.mod-pagetitle-h {
  margin : 0;
  padding : 0 20px;
  text-align : center;
}
.mod-pagetitle-h img {
  max-width : 100%;
  height : auto;
}
.mod-pagetitle-h .Japanese {
  display : block;
  margin-top : 40px;
}

@media only screen and (max-width: 768px) {
  .mod-pagetitle {
    margin-top : 0;
    margin-bottom : 20px;
  }

  .mod-pagetitle-h .Japanese {
    margin-top : 20px;
  }
  .mod-pagetitle-h .Japanese img {
    max-width : 80%;
    height : auto;
  }
  .mod-pagetitle-h img {
    max-width : 80%;
    height : auto;
  }
}

/* mod-about */
.mod-about {
  max-width : 1146px;
  margin : 0 -17.412% 11.176%;
  padding : 0 23.735%;
  background : url("../img/mod-about/bg.png") no-repeat 100% 100%;
}

.mod-about-inner {
  position : relative;
  max-width : 602px;
  margin : 0 auto;
  -webkit-box-sizing : border-box;
          box-sizing : border-box;
}
.mod-about-inner p {
  margin : 0 0 30px;
  color : #762f07;
  font-size : 16px;
  line-height : 1.875;
}

@media only screen and (max-width: 768px) {
  .mod-about {
    margin : 0 0 30px;
    padding : 0 10px;
    background-position : 100% 100%;
    -webkit-background-size : 113px auto;
            background-size : 113px auto;
  }

  .mod-about-inner p {
    text-shadow : 1px 1px 1px #ffffff;
  }
}

/* mod-about2 */
.mod-about2 {
  max-width : 1146px;
  margin : 0 -17.412% 11.176%;
  padding : 0 23.735% 22.588%;
  background : url("../img/mod-about2/bg2.png") no-repeat 0 100%;
}

.mod-about2-inner {
  position : relative;
  max-width : 602px;
  margin : 0 auto;
  background : #ffffff;
  border : 2px solid #e10000;
  -webkit-box-sizing : border-box;
          box-sizing : border-box;
}
.mod-about2-inner:before, .mod-about2-inner:after {
  position : absolute;
  content : "";
  display : block;
  width : 128px;
  height : 66px;
  background : url("../img/mod-about2/bg.png") no-repeat;
}
.mod-about2-inner:before {
  top : 0;
  left : 0;
  background-position : 0 0;
}
.mod-about2-inner:after {
  top : 0;
  right : 0;
  background-position : 100% 0;
}

.mod-about2-inner2 {
  padding : 13.289% 7.475% 8.306%;
}
.mod-about2-inner2:before, .mod-about2-inner2:after {
  position : absolute;
  content : "";
  display : block;
  width : 128px;
  height : 66px;
  background : url("../img/mod-about2/bg.png") no-repeat;
}
.mod-about2-inner2:before {
  bottom : 0;
  left : 0;
  background-position : 0 100%;
}
.mod-about2-inner2:after {
  bottom : 0;
  right : 0;
  background-position : 100% 100%;
}
.mod-about2-inner2 p {
  position : relative;
  margin : 0 0 30px;
  color : #762f07;
  font-size : 14px;
  line-height : 2;
  z-index : 5;
}

@media only screen and (max-width: 768px) {
  .mod-about2 {
    margin : 0 0 20px;
    padding : 0 0 120px;
    -webkit-background-size : 213px auto;
            background-size : 213px auto;
  }

  .mod-about2-inner:before, .mod-about2-inner:after {
    width : 64px;
    height : 33px;
    -webkit-background-size : 128px auto;
            background-size : 128px auto;
  }

  .mod-about2-inner2:before, .mod-about2-inner2:after {
    width : 64px;
    height : 33px;
    -webkit-background-size : 128px auto;
            background-size : 128px auto;
  }
}

/* mod-about2 */
fieldset {
  border : none;
}

.mod-contact {
  margin : 0 0 40px;
  color : #984b10;
}
.mod-contact input, .mod-contact textarea {
  width : 100%;
  border : 1px solid #cccccc;
  -webkit-box-sizing : border-box;
          box-sizing : border-box;
}
.mod-contact td.message {
  height : 240px;
}

.mod-contact-button {
  margin : 60px 0 0;
  text-align : center;
}
.mod-contact-button input, .mod-contact-button button, .mod-contact-button a {
  margin : 0 10px;
  border : none !important;
  padding : 14px 10px 13px;
  background : #984b10;
  color : #ffffff;
  font-size : 14px;
  line-height : 1.57143;
}
.mod-contact-button input:hover, .mod-contact-button button:hover, .mod-contact-button a:hover {
  opacity : 0.65;
  filter : alpha(opacity=0.65);
}
.mod-contact-button textarea {
  height : 240px;
}

.mod-contact-message {
  margin : 100px 0;
  color : #762f07;
  font-size : 16px;
  line-height : 1.5;
  text-align : center;
}

@media only screen and (max-width: 768px) {
  .mod-contact-button {
    margin-top : 30px;
  }
}

/* mod-shop */
.mod-shop {
  margin : 0 0 60px;
}

.mod-shop-h {
  text-align : center;
}
.mod-shop-h img {
  max-width : 100%;
  height : auto;
}

.mod-shop-item, .mod-shop-item2 {
  position : relative;
  margin : 0 0 60px;
  padding : 20px;
  background : #cb874b;
}
.mod-shop-item:after, .mod-shop-item2:after {
  content : "";
  display : block;
  clear : both;
}

.mod-shop-figure {
  float : left;
  width : 43.703%;
  margin : 0 2.469% 0 0;
  padding : 0 0 0 0.74%;
  text-align : center;
}
.mod-shop-figure:after {
  content : "";
  display : block;
  clear : both;
}
.mod-shop-figure img {
  display : block;
  float : left;
  width : 50%;
  height : auto;
}
.mod-shop-figure img:first-child {
  position : relative;
  left : -6px;
}
.mod-shop-figure a {
  color : inherit;
}

.mod-shop-main {
  float : left;
  width : 53.086%;
  margin : 0;
}

.mod-shop-name {
  margin : 0;
  color : #ffffff;
  font-weight : bold;
  font-size : 20px;
  line-height : 1.2;
}

.mod-shop-address, .mod-shop-address2 {
  margin : 0;
  color : #ffffff;
  font-weight : normal;
  font-size : 16px;
  line-height : 1.5;
}

.mod-shop-tel {
  position : absolute;
  right : 20px;
  bottom : 20px;
  margin : 2em 0 0;
  color : #ffffff;
  text-align : right;
  font-weight : normal;
  font-size : 18px;
  line-height : 1.33333;
}

.mod-shop-address2 {
  margin-bottom : 20px;
}

.mod-shop-data {
  display : table;
  width : 100%;
  margin : 0 0 20px;
}

.mod-shop-tel2, .mod-shop-mail2 {
  display : table-cell;
  width : 50%;
  margin : 0;
  color : #ffffff;
  font-size : 23px;
  line-height : 1.21739;
}

.mod-shop-notes {
  margin : 20px 0 0;
  color : #ffffff;
  font-weight : normal;
  font-size : 16px;
  line-height : 1.5;
}

@media only screen and (max-width: 768px) {
  .mod-shop {
    margin-bottom : 30px;
  }


  .mod-shop-item, .mod-shop-item2 {
    padding : 10px;
    margin-bottom : 30px;
  }

  .mod-shop-figure {
    float : none;
    width : auto;
    display : table;
    margin : 0 auto 10px;
  }

  .mod-shop-main {
    float : none;
    width : 100%;
  }



  .mod-shop-tel {
    position : static;
    margin-top : 20px;
    text-align : right;
  }



  .mod-shop-data {
    display : block;
    width : auto;
  }

  .mod-shop-tel2, .mod-shop-mail2 {
    display : block;
    width : auto;
    margin : 0 0 10px;
  }
}

/* mod-comingsoon */
.mod-comingsoon {
  margin : 40px 0 60px;
  background : #ffffff;
  border : 4px solid #e10000;
}

.mod-comingsoon-h {
  margin : -26px 0 0;
  padding : 0 10px;
  text-align : center;
}
.mod-comingsoon-h img {
  max-width : 100%;
  height : auto;
}

.mod-comingsoon-list {
  margin : 30px 0;
  padding : 0;
  text-align : center;
}
.mod-comingsoon-list li {
  margin : 0 0 10px;
  color : #984b10;
  font-size : 22px;
  line-height : 1.27273;
}

@media only screen and (max-width: 768px) {
  .mod-comingsoon {
    margin-bottom : 30px;
  }
}

/* mod-mainvisual */
.mod-mainvisual-inner {
  overflow : hidden;
  position : relative;
}

.mod-mainvisual-list {
  overflow : hidden;
  width : 300%;
  margin : 0;
  padding : 0;
}

.mod-mainvisual-listitem {
  float : left;
  width : 33.3333%;
  overflow : hidden;
}
.mod-mainvisual-listitem img {
  width : 100%;
  height : auto;
}

.mod-mainvisual-pager {
  position : absolute;
  left : 0;
  bottom : 5%;
  width : 100%;
  margin : 0;
  padding : 0;
  text-align : center;
  font-size : 0;
  line-height : 0;
  z-index : 41;
}
.mod-mainvisual-pager a, .mod-mainvisual-pager span {
  display : inline-block;
  width : 16px;
  height : 16px;
  margin : 0 6px;
  background : url("../img/mod-mainvisual/bg.png") no-repeat 100% 0;
}
.mod-mainvisual-pager a.current, .mod-mainvisual-pager span.current {
  background-position : 0 0;
}

@media only screen and (max-width: 768px) {
  .mod-mainvisual-listitem img {
    width : 160%;
    margin-left : -30%;
  }
}

/* mod-topsection */
.mod-topsection {
  color : #ffffff;
  background : #e10000;
}
.mod-topsection.type-02 {
  background-color : #ffbb24;
  color : #974a0f;
}
.mod-topsection.type-03 {
  background-color : #762f07;
}
.mod-topsection.type-04 {
  background-color : #ffffff;
}
.mod-topsection a {
  display : block;
  color : inherit;
  text-decoration : none;
}

.mod-topsection-inner2 {
  overflow : hidden;
}
.mod-topsection-inner2 img {
  max-width : 100%;
  height : auto;
}
.mod-topsection.type-04 .mod-topsection-inner2 {
  max-width : 1000px;
  margin : 0 auto;
}

.mod-topsection-image {
  float : right;
  width : 50%;
}
.mod-topsection.type-right .mod-topsection-image {
  float : left;
}
.mod-topsection-image img {
  display : block;
  width : 100%;
  height : auto;
}
.mod-topsection-image img.image-02-01 {
  width : 112%;
  max-width : none;
  margin-right : -12%;
}

.mod-topsection-main {
  float : left;
  width : 50%;
  padding-top : 12%;
  padding-left : 0;
  -webkit-box-sizing : border-box;
          box-sizing : border-box;
  text-align : center;
}
.mod-topsection.type-right .mod-topsection-main {
  float : right;
  padding-left : 0;
  padding-right : 0;
}
.mod-topsection-main.type-single {
  float : none;
  width : 100%;
  padding : 76px 0 20px;
}
.mod-topsection-main.type-single figure {
  margin : 0;
}

.mod-topsection-h {
  margin : 0;
}

.mod-topsection-text {
  font-size : 20px;
  line-height : 1.5;
}

.mod-topsection-donut {
  max-width : 1036px;
  margin : 0 auto;
  padding : 0;
}
.mod-topsection-donut:after {
  content : "";
  display : block;
  clear : both;
}
.mod-topsection-donut img {
  max-width : 100%;
  height : auto;
}

.mod-topsection-donutitem {
  float : left;
  width : 25%;
  text-align : center;
}

@media only screen and (max-width: 768px) {
  .mod-topsection {
    border-top : 3px solid #ffffff;
  }


  .mod-topsection-inner2 {
    margin : 0;
  }

  .mod-topsection-image {
    float : none;
    width : 100%;
    text-align : center;
  }
  .mod-topsection-image img.image-02-01 {
    position : relative;
    display : block;
    width : 112%;
    margin-right : -12%;
  }

  .mod-topsection-main {
    float : none;
    width : 100%;
    padding : 30px 10px 20px;
  }
  .mod-topsection.type-right .mod-topsection-main {
    padding : 30px 10px 20px;
  }
  .mod-topsection-main.type-single {
    padding : 30px 10px 20px;
  }




  .mod-topsection-donutitem {
    width : 50%;
  }
}

/* mod-product */
.mod-product {
  margin : 0 0 80px;
}
.mod-product.type-c01 {
  color : #bd380e;
}
.mod-product.type-c02 {
  color : #db6500;
}
.mod-product.type-c03 {
  color : #662200;
}
.mod-product.type-c04 {
  color : #cb445d;
}
.mod-product.type-c05 {
  color : #e00000;
}

.mod-product-h {
  margin : 0 0 20px;
  text-align : center;
}

.mod-product-list {
  max-width : 964px;
  margin : -2.63% 0 0 -1.45%;
  padding : 0;
  font-size : 0;
  text-align : center;
}
.mod-product-list:after {
  content : "";
  display : block;
  clear : both;
}

.mod-product-listitem {
  display : inline-block;
  width : 23.54%;
  margin : 2.63% 0 0 1.45%;
  font-size : 14px;
  line-height : 1.42857;
  vertical-align : top;
  text-align : center;
}
.mod-product-listitem a {
  display : block;
  color : inherit;
  text-decoration : none;
  letter-spacing : 0;
}
.mod-product-listitem a:hover {
  opacity : 0.65;
}

.mod-product-name {
  margin : 7px 0 0;
  font-weight : bold;
}

.mod-product-thumb img {
  border-radius : 14px;
  max-width : 100%;
  height : auto;
}

@media only screen and (max-width: 768px) {
  .mod-product {
    margin-bottom : 40px;
  }

  .mod-product-h img {
    max-width : 80%;
    height : auto;
  }


  .mod-product-listitem {
    width : 46.5%;
    font-size : 12px;
    line-height : 1.33333;
  }
}

/* lightbox */
.nivo-lightbox-theme-default .nivo-lightbox-title {
  display : inline-block;
}
