@charset "UTF-8";
/*----------------------------------------
	clearfix
----------------------------------------*/
/*! normalize.css v3.0.0 | 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:  "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, 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 in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
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.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

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



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

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

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

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

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

/**
 * 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.
 */
img {
  border: 0;
}

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

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

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-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:  "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
  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 5, 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.
 */
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+, 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"] {
  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 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -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.
 * 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.
 */
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;
}

/* @ Form Layout
 * ------------------------------------------------------------ */
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
}

input[type="search"] {
  box-sizing: border-box;
}

input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  /* IE8-9 */
  line-height: normal;
}

input[type="file"] {
  display: block;
}

select[multiple],
select[size] {
  height: auto;
}

select optgroup {
  font-size: inherit;
  font-style: inherit;
  font-family: inherit;
}

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button {
  height: auto;
}

input[type="radio"][disabled], fieldset[disabled] input[type="radio"],
input[type="checkbox"][disabled], fieldset[disabled]
input[type="checkbox"] {
  cursor: not-allowed;
}

@media print {
 /* @  Print Layout
* ------------------------------------------------------------ */
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }

  body {
    -webkit-print-color-adjust: exact;
  }
}
/* @  Reset +
 * ------------------------------------------------------------ */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

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

h1, h2, h3, h4, h5, h6, p, ul, ol, dl, table, pre, figure, blockquote {
  margin: 0;
}

ul, ol {
  list-style-type: none;
  list-style-image: none;
  padding-left: 0;
}

dd {
  margin-left: 0;
}

p, li, dt, dd, th, td, pre {
  -ms-line-break: strict;
  line-break: strict;
  word-wrap: break-word;
  word-break: normal;
}

dfn {
  font-style: normal;
}

sup {
  vertical-align: text-top;
  top: 0;
}

sub {
  vertical-align: text-bottom;
  bottom: 0;
}

hr {
  display: none;
}

img {
  border: 0;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic;
}

iframe {
  border: 0;
  vertical-align: top;
}

img, object, video {
  max-width: 100%;
  height: auto;
}

/* @  Print Reset +
* ------------------------------------------------------------ */
@media print {
  .header,
  .footer,
  .beta-block {
    display: none;
  }

  .alpha-block {
    width: 100% !important;
  }
}
/* @  Font Reset
* ------------------------------------------------------------ */
html {
  font-family:  "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, 游ゴシック, "Yu Gothic", メイリオ, Meiryo, Verdana, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;      
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  color: #333333;
  font-size: 87.5%;
  line-height: 1.6;
}
@media screen and (max-width: 62.4375em) {
  html {
    font-size: 87.5%;
  }
}
@media screen and (max-width: 46.1875em) {
  html {
    font-size: 87.5%;
  }
}
@media screen and (max-width: 62.4375em) {
  html {
    line-height: 1.4375;
  }
}
@media screen and (max-width: 46.1875em) {
  html {
    line-height: 1.4375;
  }
}

/* @  Link Reset
* ------------------------------------------------------------ */
a:link,
a:visited,
a:hover,
a:active {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

::-moz-selection {
  background: #C81740;
  color: #FFF;
  text-shadow: none;
}

::selection {
  background: #C81740;
  color: #FFF;
  text-shadow: none;
}

a {
  -webkit-tap-highlight-color: rgba(200, 23, 64, 0.5);
}

a:link {
  -webkit-tap-highlight-color: rgba(200, 23, 64, 0.5);
}

/*----------------------------------------
	body
----------------------------------------*/
.ie8 body {
  min-width: 1020px;
}

body, html {
  background-color: #fff;
}
@media screen and (min-width: 46.25em) {
  body, html {
    min-width: 1020px;
  }
}
@media screen and (max-width: 46.1875em) {
  body, html {
    overflow-x: hidden;
    min-width: 320px;
  }
}

a {
  color: #C81740;
}
@media only screen and (min-width: 340px) and (max-width: 759px) {
  a:hover {
    opacity: 1 !important;
    filter: alpha(opacity=100);
  }
  a:hover img {
    opacity: 1 !important;
    filter: alpha(opacity=100);
  }
}
@media only screen and (max-width: 339px) {
  a:hover {
    opacity: 1 !important;
    filter: alpha(opacity=100);
  }
  a:hover img {
    opacity: 1 !important;
    filter: alpha(opacity=100);
  }
}

.clearfix {
  min-height: 1px;
  _height: 1%;
}
.clearfix:after {
  content: "";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden;
}

/*----------------------------------------
	IE6 Upgrade Warning
----------------------------------------*/
#ieError {
  color: #FFF;
  background: #000;
  padding: 20px;
  text-align: center;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1000;
  width: 100%;
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha( opacity=80 )";
}
#ieError strong {
  color: #FFF;
}
#ieError a {
  color: #D90000;
  text-decoration: underline;
}

/*----------------------------------------
	font
----------------------------------------*/
@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon.eot?-eerl0x");
  src: url("../fonts/icomoon.eot?#iefix-eerl0x") format("embedded-opentype"), url("../fonts/icomoon.woff?-eerl0x") format("woff"), url("../fonts/icomoon.ttf?-eerl0x") format("truetype"), url("../fonts/icomoon.svg?-eerl0x#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-couple:before {
  content: "\e61b";
}

.icon-dining-table:before {
  content: "\e610";
}

.icon-up127:before {
  content: "\e600";
}

.icon-down127:before {
  content: "\e601";
}

.icon-left28:before {
  content: "\e602";
}

.icon-right127:before {
  content: "\e603";
}

.icon-up127_wo_circle:before {
  content: "\e604";
}

.icon-down127_wo_circle:before {
  content: "\e605";
}

.icon-left127_wo_circle:before {
  content: "\e606";
}

.icon-right127_wo_circle:before {
  content: "\e607";
}

.icon-lines7:before {
  content: "\e608";
}

.icon-delete8:before {
  content: "\e609";
}

.icon-home:before {
  content: "\e60a";
}

.icon-pencil43:before {
  content: "\e60b";
}

.icon-cart:before {
  content: "\e93a";
}

.icon-dark4:before {
  content: "\e60c";
}

.icon-facebook:before {
  content: "\e60d";
}

.icon-calendar68:before {
  content: "\e60e";
}

.icon-handshake1:before {
  content: "\e60f";
}

.icon-news:before {
  content: "\e611";
}

.icon-wine65:before {
  content: "\e612";
}

.icon-upper8:before {
  content: "\e613";
}

.icon-navi_heart:before {
  content: "\e614";
}

.icon-branavi:before {
  content: "\e615";
}

.icon-yamadayamate:before {
  content: "\e616";
}

.icon-arrow413:before {
  content: "\e617";
}

.icon-coin16:before {
  content: "\e618";
}

.icon-in-love2:before {
  content: "\e619";
}

.icon-placeholder8:before {
  content: "\e61a";
}

@font-face {
  font-family: 'base';
  src: url("../fonts/base.eot?akn08o");
  src: url("../fonts/base.eot?#iefixakn08o") format("embedded-opentype"), url("../fonts/base.woff?akn08o") format("woff"), url("../fonts/base.ttf?akn08o") format("truetype"), url("../fonts/base.svg?akn08o#base") format("svg");
  font-weight: normal;
  font-style: normal;
}
.icon_base {
  font-family: 'base';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon01:before {
  content: "\e61b";
}

.icon02:before {
  content: "\e61a";
}

.icon03:before {
  content: "\e619";
}

.icon04:before {
  content: "\e618";
}

.icon05:before {
  content: "\e617";
}

.icon06:before {
  content: "\e616";
}

.icon07:before {
  content: "\e615";
}

.icon08:before {
  content: "\e614";
}

.icon09:before {
  content: "\e613";
}

.icon10:before {
  content: "\e612";
}

.icon11:before {
  content: "\e611";
}

.icon12:before {
  content: "\e610";
}

.icon13:before {
  content: "\e60f";
}

.icon14:before {
  content: "\e60e";
}

.icon15:before {
  content: "\e60d";
}

.icon16:before {
  content: "\e60c";
}

.icon17:before {
  content: "\e60b";
}

.icon18:before {
  content: "\e60a";
}

.icon19:before {
  content: "\e609";
}

.icon20:before {
  content: "\e608";
}

.icon21:before {
  content: "\e607";
}

.icon22:before {
  content: "\e606";
}

.icon23:before {
  content: "\e605";
}

.icon24:before {
  content: "\e604";
}

.icon25:before {
  content: "\e603";
}

.icon26:before {
  content: "\e602";
}

.icon27:before {
  content: "\e601";
}

.icon28:before {
  content: "\e600";
}

.icon29:before {
  content: "\e61c";
}

.icon30:before {
  content: "\e61d";
}

.space {
  margin-right: .2em;
}

.media:before, .media:after {
  content: " ";
  display: table;
}
.media:after {
  clear: both;
}

.mediaImg img > img {
  display: block;
}

.mediaBody {
  overflow: hidden;
}

@media screen and (max-width: 46.1875em) {
  .mediaImg {
    text-align: center;
  }

  .mediaImg.pull-right {
    float: none !important;
  }

  .mediaImg.pull-left {
    float: none !important;
  }
}
/*----------------------------------------
	header
----------------------------------------*/
.header-fixed {
  background-color: #fff;   
  border-top:4px solid #20B97B;

}

.siteId {
  float: left;
  margin-top: 20px;
  margin-left: 5px;
  margin-bottom: 13px;
}
@media screen and (max-width: 46.1875em) {
  .siteId {
    float: none;
  }
}
@media screen and (max-width: 46.1875em) {
  .siteId {
    width: 50%;
  }
}
@media screen and (max-width: 46.1875em) {
  .siteId {
    margin-top: 0;
  }
}
@media screen and (max-width: 46.1875em) {
  .siteId {
    padding-top: 5px;
  }
}
@media screen and (max-width: 46.1875em) {
  .siteId {
    margin-left: 10px;
  }
}
@media screen and (max-width: 46.1875em) {
  .siteId {
    margin-bottom: 0.7rem;
  }
}
.siteId a {
  display: block;
  width: 100%;
  max-width: 350px;
  height: 0;
  padding-top: 21%;
  background: url(../images/common/logo.png) top left no-repeat;
  background-size: contain;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.siteId a:hover {
  opacity: .8;
}

@media screen and (max-width: 46.1875em) {
  .headDesctiption {
    border-bottom: 1px solid #E1E1E1;
  }

  .headContact {
    padding-bottom: .5rem;
    padding-left: 10px;
    padding-right: 10px;
  }
  .headContact ul {
    display: table;
    width: 100%;
  }
  .headContact li {
    display: table-cell;
    vertical-align: middle;
    padding-right: .5rem;
  }
  .headContact li:last-child {
    padding-right: 0;
  }
  .headContact li i {
    display: none;
  }
  .headContact li a {
    font-size: 13px;
    font-weight: bold;
    padding: 11px 4px 7px 4px;
    height: 40px;
    line-height: 1.2;
  }
  .headContact .btnA_blue2 {
    font-size: 12px;
    padding: 6px 4px;
  }

  .is-menu--on {
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(204, 204, 204, 0.7);
    width: 100%;
    height: 100%;
    z-index: 100;
  }

  .header {
    position: relative;
    z-index: 200;
  }

  .menu-a {
    position: absolute;
    z-index: 200;
    right: 0.71429rem;
    top: 15px;
  }
  .menu-a .menu-a_item {
    line-height: 1;
    float: right;
    display: block;
  }
  .menu-a .menu-a_links {
    color: #000;
    font-size: 20px;
    display: block;
  }
  .menu-a .menu-a_links:hover {
    text-decoration: none;
  }

  .dropdown-a_body {
    display: none;
  }

  .dropdown-a_body li a:after {
    font-family: 'base';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .dropdown-a {
    display: block;
  }

  .dropdown-a_toggle {
    cursor: pointer;
  }

  .dropdown-a {
    position: absolute;
    z-index: 200;
    left: 0;
    width: 100%;
  }

  .gNaviList {
    background-color: #ffffff;
  }
  .gNaviList li {
    border-bottom: 1px solid #E4E2C0;
  }
  .gNaviList a {
    display: block;
    padding: 20px;
    color: #999999;
    font-size: 16px;
    font-family: MaruminYoshino;
  }
  .gNaviList a:hover {
    text-decoration: none;
  }
  .gNaviList .fontLato {
    float: right;
    margin-top: .4em;
    font-size: 10px;
  }

  .gNaviList2 {
    background-color: #FFF;
  }
  .gNaviList2 li {
    background-color: #FFF;
    float: left;
    width: 50%;
    border-bottom: 1px solid #E1E1E1;
  }
  .gNaviList2 li:nth-child(odd) {
    border-right: 1px solid #E1E1E1;
  }
  .gNaviList2 a {
    display: block;
    padding: 10px;
    color: #333333;
    font-size: 14px;
  }
  .gNaviList2 a:hover {
    text-decoration: none;
  }
  .gNaviList2 i {
    color: #C1143D;
    font-size: .8em;
  }

  .dropdown-a_body {
    height: auto;
    background-color: transparent;
  }

  .dropdown-a_toggle.is-toggle--on i:before {
    content: "\e609";
  }

  .dropdown-a_body.is-toggle--hidden {
    height: 0;
  }
}
@media screen and (min-width: 46.25em) {
  .headDesctiption,
  .gNavInner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1000px;
    width: 100%;
    padding-right: 10px;
    padding-left: 10px;
  }
  .headDesctiption:before, .headDesctiption:after,
  .gNavInner:before,
  .gNavInner:after {
    content: " ";
    display: table;
  }
  .headDesctiption:after,
  .gNavInner:after {
    clear: both;
  }

  .headNav {
    margin-top: 14px;
    margin-bottom: 13px;
    text-align: right;
  }
  .headNav li {
    display: inline-block;
  }
  .headNav a {
    font-size: 12px;
    color: #000;
  }
  .headNav i {
    font-size: .6em;
    margin-left: 14px;
  }

  .headContact {
    margin-bottom: 13px;
    text-align: right;
  }
  .headContact li {
    display: inline-block;
    margin-right: 1px;
  }

  .gNav {
    background-color: #ffffff;
    border-top: 1px solid #E4E2C0;
    border-bottom: 2px solid #00C081;
  }

  .gNavInner ul {
    display: table;
    width: 100%;
  }
  .gNavInner li {
    border-right: 1px solid #E4E2C0;
    text-align: center;
    display: table-cell;
  }
  .gNavInner li:first-child {
    border-left: 1px solid #E4E2C0;
  }
  .gNavInner a {
    display: block;
    padding: 16px 16px;
    color: #313100;
    line-height: 1.2;
    font-weight: normal;
    text-decoration: none;
  }
  .gNavInner a:hover {
    background-color: #F1F1F1;
  }
  .gNavInner a:active {
    box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, 0.1);
  }
  .gNavInner .gNavItem {
    white-space: nowrap;
  }
  .gNavInner .fontLato {
    font-size: 10px;
  }
}
.ie8 .headDesctiption,
.ie8 .gNavInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  width: 100%;
  padding-right: 10px;
  padding-left: 10px;
}
.ie8 .headDesctiption:before, .ie8 .headDesctiption:after,
.ie8 .gNavInner:before,
.ie8 .gNavInner:after {
  content: " ";
  display: table;
}
.ie8 .headDesctiption:after,
.ie8 .gNavInner:after {
  clear: both;
}
.ie8 .headNav {
  margin-top: 14px;
  margin-bottom: 13px;
  text-align: right;
}
.ie8 .headNav li {
  display: inline-block;
}
.ie8 .headNav a {
  font-size: 12px;
  color: #000;
}
.ie8 .headNav i {
  font-size: .6em;
  margin-left: 14px;
}
.ie8 .headContact {
  margin-bottom: 13px;
  text-align: right;
}
.ie8 .headContact li {
  display: inline-block;
  margin-right: 1px;
}
.ie8 .gNav {
  background-color: #C81740;
  border-top: 1px solid #C81740;
  border-bottom: 1px solid #C81740;
}
.ie8 .gNavInner ul {
  display: table;
  width: 100%;
}
.ie8 .gNavInner li {
  border-right: 1px solid #E9A2B3;
  text-align: center;
  display: table-cell;
}
.ie8 .gNavInner li:first-child {
  border-left: 1px solid #E9A2B3;
}
.ie8 .gNavInner a {
  display: block;
  padding: 12px 16px;
  color: #FFF;
  line-height: 1.2;
  font-weight: bold;
  text-decoration: none;
}
.ie8 .gNavInner a:hover {
  background-color: #D34566;
}
.ie8 .gNavInner a:active {
  box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, 0.1);
}
.ie8 .gNavInner .gNavItem {
  white-space: nowrap;
}
.ie8 .gNavInner .fontLato {
  font-size: 10px;
}

/*----------------------------------------
	footer
----------------------------------------*/
.foot {
  padding-top: 20px;
  border-top:2px solid #21B77A;
  background-color:#EAEFF3;
}
@media screen and (max-width: 46.1875em) {
  .foot {
    padding-top: 1rem;
  }
}

.footLogo {
  margin-bottom: 20px;
  width: 300px;
  height: 64px;
  padding-top: 10px;
  background: url(../images/common/foot_logo.png) center 2px no-repeat;
  background-size: contain;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (max-width: 46.1875em) {
  .footLogo {
    margin-bottom: 1rem;
  }
}

.footInner {
  padding-bottom: 25px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  width: 100%;
  padding-right: 10px;
  padding-left: 10px;

}
@media screen and (max-width: 46.1875em) {
  .footInner {
    padding-bottom: 2rem;
  }
}
.footInner:before, .footInner:after {
  content: " ";
  display: table;
}
.footInner:after {
  clear: both;
}
@media screen and (max-width: 46.1875em) {
  .footInner {
    background-size: 100px;
  }
}

.footCopy {
  padding-top: 30px;
  font-size: 12px;
  color: #00C07B;
  float: left;
  clear: both;
}
@media screen and (max-width: 46.1875em) {
  .footCopy {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .footCopy {
    font-size: 0.5rem;
  }
}

.footNav ul {
  width: 230px;
  float: left;
}
@media screen and (max-width: 46.1875em) {
  .footNav ul {
    width: 50%;
  }
}
.footNav a {
  margin-bottom: 14px;
  display: block;
}
@media screen and (max-width: 46.1875em) {
  .footNav a {
    font-size: 0.9rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .footNav a {
    margin-bottom: 1rem;
  }
}

.footBtn {
  padding-top: 34px;
  float: right;
  width: 230px;
}
@media screen and (max-width: 46.1875em) {
  .footBtn {
    clear: both;
  }
}
@media screen and (max-width: 46.1875em) {
  .footBtn {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .footBtn {
    float: none;
  }
}
@media screen and (max-width: 46.1875em) {
  .footBtn {
    width: auto;
  }
}
.footBtn li {
  margin-bottom: 9px;
}

.footBnr {
  padding-top: 25px;
  text-align: center;
  background-color: #FFF;
}
@media screen and (max-width: 46.1875em) {
  .footBnr {
    padding-top: 1rem;
  }
}

.footBnrInner {
  display: table;
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  width: 100%;
  margin-bottom: 22px;
  padding-left: 50px;
  padding-right: 50px;
}
@media screen and (max-width: 46.1875em) {
  .footBnrInner {
    display: block;
  }
}
@media screen and (max-width: 46.1875em) {
  .footBnrInner {
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .footBnrInner {
    padding-left: 10px;
  }
}
@media screen and (max-width: 46.1875em) {
  .footBnrInner {
    padding-right: 10px;
  }
}

.footBnrItem, .footBnrItem_first, .footBnrItem_last {
  display: table-cell;
}
@media screen and (max-width: 46.1875em) {
  .footBnrItem, .footBnrItem_first, .footBnrItem_last {
    display: block;
  }
}
@media screen and (max-width: 46.1875em) {
  .footBnrItem, .footBnrItem_first, .footBnrItem_last {
    padding-top: 0.5rem;
  }
}
.footBnrItem a:hover, .footBnrItem_first a:hover, .footBnrItem_last a:hover {
  opacity: .7;
}
@media screen and (max-width: 46.1875em) {
  .footBnrItem, .footBnrItem_first, .footBnrItem_last {
    border-bottom: 1px solid #E4E4E4;
    margin-left: -10px;
    margin-right: -10px;
    padding-bottom: 1.5rem;
  }
}

.footBnrItem_first {
  width: 217px;
}
@media screen and (max-width: 46.1875em) {
  .footBnrItem_first {
    width: auto;
  }
}

.footBnrItem_last {
  width: 213px;
}
@media screen and (max-width: 46.1875em) {
  .footBnrItem_last {
    width: auto;
  }
}
@media screen and (max-width: 46.1875em) {
  .footBnrItem_last {
    border-bottom-width: 0;
  }
}

.footBnrItemCaption {
  display: block;
  padding-top: 35px;
  color: #323232;
  font-size: 13px;
  line-height: 1.29;
}
@media screen and (max-width: 46.1875em) {
  .footBnrItemCaption {
    padding-top: 1.5rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .footBnrItemCaption {
    font-size: 0.9rem;
  }
}

.content {
  padding-top: 50px;
  padding-bottom: 80px;
}
@media screen and (max-width: 46.1875em) {
  .content {
    padding-top: 2rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .content {
    padding-bottom: 2rem;
  }
}

.mainVisual_inquiry, .mainVisual_party, .mainVisual_reserve, .mainVisual_information, .mainVisual_about, .mainVisual_shop, .mainVisual_flow, .mainVisual_service, .mainVisual_faq, .mainVisual_price, .mainVisual_join {
  background-size: contain;
  background-position: center right;
  background-repeat: no-repeat;
  min-height: 130px;
  min-height: 130px;
  background-color: #F9F9F7;
}
@media screen and (max-width: 46.1875em) {
  .mainVisual_inquiry, .mainVisual_party, .mainVisual_reserve, .mainVisual_information, .mainVisual_about, .mainVisual_shop, .mainVisual_flow, .mainVisual_service, .mainVisual_faq, .mainVisual_price, .mainVisual_join {
    min-height: inherit;
  }
}

.mainVisualInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  width: 100%;
  padding-right: 10px;
  padding-left: 10px;
}

.mainVisual_inquiry {
  background-image: url("../images/inquiry/main_visual.jpg");
}

.mainVisual_party {
  background-image: url("../images/party/main_visual.jpg");
}

.mainVisual_reserve {
  background-image: url("../images/reserve/main_visual.jpg");
}

.mainVisual_information {
  background-image: url("../images/information/main_visual.jpg");
}

.mainVisual_about {
  background-image: url("../images/about/main_visual.jpg");
}

.mainVisual_shop {
  background-image: url("../images/shop/main_visual.jpg");
}

.mainVisual_flow {
  background-image: url("../images/flow/main_visual.jpg");
}

.mainVisual_service {
  background-image: url("../images/service/main_visual.jpg");
}

.mainVisual_faq {
  background-image: url("../images/faq/main_visual.jpg");
}

.mainVisual_price {
  background-image: url("../images/price/main_visual.jpg");
}

.mainVisual_join {
  background-image: url("../images/join/main_visual.jpg");
}



.mainTitle {
  font-family: MaruminYoshino;
  font-size: 28px;
  line-height: 1.58;
  color: #20AC74;
  text-align: left;
  text-shadow: 2px 2px 0px white;
  padding-top: 36px;
  padding-left: 56px;
}
@media screen and (max-width: 46.1875em) {
  .mainTitle {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .mainTitle {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .mainTitle {
    padding-bottom: 1rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .mainTitle {
    padding-left: 0;
  }
}

.breadcrumb {
  border-bottom: 1px solid #EDEDED;
  padding: 10px 0;
}

.breadcrumbInner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  width: 100%;
  padding-right: 10px;
  padding-left: 10px;
  font-size: 12px;
}
.breadcrumbInner:before, .breadcrumbInner:after {
  content: " ";
  display: table;
}
.breadcrumbInner:after {
  clear: both;
}
@media screen and (max-width: 46.1875em) {
  .breadcrumbInner {
    font-size: 0.8rem;
  }
}
.breadcrumbInner a, .breadcrumbInner i, .breadcrumbInner .breadcrumbArrow {
  color: #999999;
}

.pagination {
  text-align: center;
}
.pagination:before, .pagination:after {
  content: " ";
  display: table;
}
.pagination:after {
  clear: both;
}

.paginationBody {
  position: relative;
  margin: 0 auto;
}
.paginationBody li {
  display: inline-block;
  margin-left: 6px;
}
.paginationBody li:first-child {
  margin-left: 0;
}
.paginationBody a {
  display: block;
  color: #006BC0;
  background-color: #F9F9F7;
  padding: 10px 16px 10px 16px;
  font-size: 14px;
}
@media screen and (max-width: 46.1875em) {
  .paginationBody a {
    font-size: 11px;
  }
}
@media screen and (max-width: 46.1875em) {
  .paginationBody a {
    padding: 6px 10px 6px 10px;
  }
}
.paginationBody a:hover,
.paginationBody .current {
  text-decoration: none;
  color: #FFF;
  background-color: #C82550;
}
.paginationBody .prev a,
.paginationBody .next a {
  color: #FFF;
  background-color: #C82550;
}

.to-top {
  position: fixed;
  bottom: 10px;
  left: auto;
}
.to-top a {
  display: block;
  background-color: #21B97B;
  color: #FFF;
  text-decoration: none;
  border-radius: 50%;
  padding: 15px;
  line-height: 15px;
}
@media screen and (max-width: 46.1875em) {
  .to-top a {
    padding: 8px;
  }
}
.to-top a:hover {
  opacity: .8;
}

.join_bg {
  background: #F9F9F7 url("../images/join/bg.png") bottom center no-repeat;
  background-size: cover;
  padding-top: 72px;
  padding-bottom: 80px;
}
@media screen and (max-width: 46.1875em) {
  .join_bg {
    padding-top: 1.5rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .join_bg {
    padding-bottom: 1.5rem;
  }
}

.price_bg {
  background: #F9F9F7 url("../images/price/bg.png") bottom center no-repeat;
  background-size: cover;
  padding-top: 72px;
  padding-bottom: 80px;
}
@media screen and (max-width: 46.1875em) {
  .price_bg {
    padding-top: 1.5rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .price_bg {
    padding-bottom: 1.5rem;
  }
}

.l-col90w_flow {
  float: left;
  width: 90px;
  margin-bottom: 20px;
  margin-left: 10px;
}
@media screen and (max-width: 46.1875em) {
  .l-col90w_flow {
    float: none;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col90w_flow {
    width: auto;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col90w_flow {
    padding-left: 10px;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col90w_flow {
    padding-right: 10px;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col90w_flow {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col90w_flow {
    margin-left: 0;
  }
}

.l-col850w_flow {
  float: left;
  margin-left: 40px;
  width: 850px;
  margin-bottom: 20px;
}
@media screen and (max-width: 46.1875em) {
  .l-col850w_flow {
    float: none;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col850w_flow {
    margin-left: 0;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col850w_flow {
    width: auto;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col850w_flow {
    padding-left: 10px;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col850w_flow {
    padding-right: 10px;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col850w_flow {
    margin-bottom: 1rem;
  }
}

.l-col250w_flow {
  text-align: center;
  float: left;
  margin-left: 80px;
  width: 250px;
  margin-bottom: 30px;
}
@media screen and (max-width: 46.1875em) {
  .l-col250w_flow {
    float: none;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col250w_flow {
    margin-left: 0;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col250w_flow {
    width: auto;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col250w_flow {
    margin-bottom: 1rem;
  }
}

.l-col270w_flow {
  float: left;
  margin-left: 20px;
  width: 270px;
  margin-bottom: 20px;
}
@media screen and (max-width: 46.1875em) {
  .l-col270w_flow {
    float: none;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col270w_flow {
    margin-left: 0;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col270w_flow {
    width: auto;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col270w_flow {
    margin-bottom: 2rem;
  }
}
.l-col270w_flow:first-child {
  margin-left: 0;
}

.l-col520w_flow {
  float: left;
  width: 520px;
  margin-bottom: 20px;
}
@media screen and (max-width: 46.1875em) {
  .l-col520w_flow {
    float: none;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col520w_flow {
    width: auto;
  }
}
@media screen and (max-width: 46.1875em) {
  .l-col520w_flow {
    margin-bottom: 1rem;
  }
}

.entry {
  line-height: 1.68;
}
.entry img {
  height: auto !important;
}
.entry hr {
  display: block !important;
}

.entryBody {
  margin-bottom: 50px;
}
@media screen and (max-width: 46.1875em) {
  .entryBody {
    margin-bottom: 2rem;
  }
}
.entryBody .entryText {
  margin-bottom: 30px;
  font-size: 15px;
}
@media screen and (max-width: 46.1875em) {
  .entryBody .entryText {
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .entryBody .entryText {
    font-size: 1rem;
  }
}
.entryBody .entryTitle,
.entryBody .entryTitle_underline {
  font-size: 18px;
  color: #C6173F;
  font-weight: bold;
}
@media screen and (max-width: 46.1875em) {
  .entryBody .entryTitle,
  .entryBody .entryTitle_underline {
    font-size: 1.2rem;
  }
}
.entryBody .entryTitle_underline {
  text-decoration: underline;
  margin-bottom: 30px;
}
@media screen and (max-width: 46.1875em) {
  .entryBody .entryTitle_underline {
    margin-bottom: 1.5rem;
  }
}
.entryBody .entryLead {
  font-size: 16px;
  margin-bottom: 40px;
  color: #C6173F;
}
@media screen and (max-width: 46.1875em) {
  .entryBody .entryLead {
    font-size: 1rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .entryBody .entryLead {
    margin-bottom: 1.5rem;
  }
}
.entryBody .entryDl {
  font-size: 15px;
  margin-bottom: 30px;
}
@media screen and (max-width: 46.1875em) {
  .entryBody .entryDl {
    font-size: 1rem;
  }
}
.entryBody .entryDl:before, .entryBody .entryDl:after {
  content: " ";
  display: table;
}
.entryBody .entryDl:after {
  clear: both;
}
@media screen and (max-width: 46.1875em) {
  .entryBody .entryDl {
    margin-bottom: 1.5rem;
  }
}
.entryBody .entryDl dt {
  clear: both;
}
.entryBody .entryDl dt, .entryBody .entryDl dd {
  float: left;
}
@media screen and (max-width: 46.1875em) {
  .entryBody .entryDl dt, .entryBody .entryDl dd {
    float: none;
  }
}
@media screen and (max-width: 46.1875em) {
  .entryBody .entryDl dd {
    margin-left: 10px;
  }
}

.entryFoot {
  margin-bottom: 97px;
  font-size: 15px;
}
@media screen and (max-width: 46.1875em) {
  .entryFoot {
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .entryFoot {
    font-size: 1rem;
  }
}

.entryContact {
  padding-top: 80px;
  margin-bottom: 30px;
}
@media screen and (max-width: 46.1875em) {
  .entryContact {
    padding-top: 1.5rem;
  }
}
.entryContact .entryContact_title {
  font-weight: normal;
}
@media screen and (max-width: 46.1875em) {
  .entryContact {
    margin-bottom: 1.5rem;
  }
}

.entryContact_lead {
  margin-bottom: 33px;
}
@media screen and (max-width: 46.1875em) {
  .entryContact_lead {
    margin-bottom: 1rem;
  }
}

.entryImg2col img {
  float: left;
  width: 50%;
}

.entryImg3col img {
  float: left;
  width: 33.3%;
}

.entryImg1col,
.entryImg2col,
.entryImg3col {
  margin-left: -10px;
  margin-right: -10px;
}
.entryImg1col:before, .entryImg1col:after,
.entryImg2col:before,
.entryImg2col:after,
.entryImg3col:before,
.entryImg3col:after {
  content: " ";
  display: table;
}
.entryImg1col:after,
.entryImg2col:after,
.entryImg3col:after {
  clear: both;
}
.entryImg1col img,
.entryImg2col img,
.entryImg3col img {
  margin-bottom: 20px;
  padding-left: 10px;
  padding-right: 10px;
}
@media screen and (max-width: 46.1875em) {
  .entryImg1col img,
  .entryImg2col img,
  .entryImg3col img {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .entryImg1col img,
  .entryImg2col img,
  .entryImg3col img {
    float: none;
    width: auto;
  }
}

.secFeatuer {
  padding: 40px 0 30px;
  background-color: #F9F9F7;
}
.secFeatuer:before, .secFeatuer:after {
  content: " ";
  display: table;
}
.secFeatuer:after {
  clear: both;
}

@media screen and (max-width: 46.1875em) {
  .secFeatuer {
    padding: 20px 10px;
  }
}
.bnrTop {
  margin: 0 auto;
  width: 980px;
}
.bnrTop a:hover img {
  opacity: 0.5;
  filter: alpha(opacity=50);
}

@media screen and (max-width: 46.1875em) {
  .bnrTop {
    margin: 0 auto;
    width: auto;
    max-width: 489px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .bnrTop img {
    width: inherit;
    max-width: 100%;
    height: auto;
    display: block;
  }
}
.bnrBridalFair2015 {
  border: 1px solid #C7103D;
}

.mainVisual_top {
  background-color: #F9F9F7;
  padding-bottom: 30px;
}
.mainVisual_top:before, .mainVisual_top:after {
  content: " ";
  display: table;
}
.mainVisual_top:after {
  clear: both;
}
@media screen and (max-width: 46.1875em) {
  .mainVisual_top {
    padding-bottom: 1rem;
  }
}

.mainVisualInner_top {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  width: 100%;
  position: relative;
  background-position: top left;
  background-repeat: no-repeat;
  background-image: url("../images/top/main_visual_pc.jpg");
}
@media screen and (max-width: 46.1875em) {
  .mainVisualInner_top {
    background-size: contain;
    background-image: url("../images/top/main_visual_sp.jpg");
  }
}

.mainTitle_top {
  font-size: 34px;
  position: absolute;
  top: 50px;
  left: 62px;
  font-family: MaruminYoshino;
  line-height: 1.8;
  color: #20AC74;
  text-align: left;
  text-shadow: 2px 2px 0px white;
}
@media screen and (max-width: 46.1875em) {
  .mainTitle_top {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 20em) {
  .mainTitle_top {
    font-size: 1rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .mainTitle_top {
    top: 1rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .mainTitle_top {
    left: 10px;
  }
}

.mainTitle_icon {
  color: #C1143D;
  font-size: 45px;
  position: absolute;
  top: 72px;
  right: 298px;
}
@media screen and (max-width: 46.1875em) {
  .mainTitle_icon {
    font-size: 2rem;
  }
}

.mainVisualBox {
  text-align: center;
  border-bottom: 1px solid #D4D4D2;
  border-right: 1px solid #D4D4D2;
  margin-bottom: 25px;
  margin-left: 10px;
  width: 320px;
  height: 320px;
  float: left;
  position: relative;
}
@media screen and (max-width: 46.1875em) {
  .mainVisualBox {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .mainVisualBox {
    margin-left: 10px;
  }
}
@media screen and (max-width: 46.1875em) {
  .mainVisualBox {
    margin-right: 10px;
  }
}
@media screen and (max-width: 46.1875em) {
  .mainVisualBox {
    width: auto;
  }
}
@media screen and (max-width: 46.1875em) {
  .mainVisualBox {
    height: auto;
  }
}
@media screen and (max-width: 46.1875em) {
  .mainVisualBox {
    float: none;
  }
}
@media screen and (max-width: 46.1875em) {
  .mainVisualBox {
    padding-top: 20px;
  }
}

.mainVisualBoxImg1 {
  background: url("../images/top/main_img01.jpg") center center no-repeat;
  background-size: cover;
}

.mainVisualBoxImg2 {
  background: url("../images/top/main_img02.jpg") center center no-repeat;
  background-size: cover;
}

.mainVisualBoxImg3 {
  background: url("../images/top/main_img03.jpg") center center no-repeat;
  background-size: cover;
}

.mainVisualBox:first-child {
  margin-left: 0;
}

.mainVisualBoxBody {
  border-bottom: 1px solid #CACAC9;
  border-right: 1px solid #CACAC9;
  position: absolute;
  top: 0;
  left: 0;
  height: 240px;
  width: 240px;
  margin: 40px;
  padding: 60px 20px;
  background-color: #fff;
  opacity: .95;
}
@media screen and (max-width: 46.1875em) {
  .mainVisualBoxBody {
    height: auto;
  }
}
@media screen and (max-width: 46.1875em) {
  .mainVisualBoxBody {
    width: auto;
  }
}
@media screen and (max-width: 46.1875em) {
  .mainVisualBoxBody {
    margin: 0 30px 20px 30px;
    padding: 20px;
    position: static;
  }
}
.mainVisualBoxBody i {
  margin-bottom: 20px;
  font-size: 40px;
  color: #C7123C;
}
@media screen and (max-width: 46.1875em) {
  .mainVisualBoxBody i {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .mainVisualBoxBody i {
    font-size: 2rem;
  }
}

.mainVisualBoxImg {
  overflow: hidden;
}
@media screen and (max-width: 46.1875em) {
  .mainVisualBoxImg {
    height: 160px;
  }
}

.mainVisualBoxText {
  padding-top: 20px;
  color: #333333;
  font-size: 17px;
}
@media screen and (max-width: 46.1875em) {
  .mainVisualBoxText {
    padding-top: 0.5rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .mainVisualBoxText {
    font-size: 1rem;
  }
}

.sec1 {
  background-color: #F9F9F7;
  padding-top: 50px;
  padding-bottom: 50px;
}
@media screen and (max-width: 46.1875em) {
  .sec1 {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .sec1 {
    padding-bottom: 1rem;
  }
}

.sec2 {
  padding-top: 20px;
  padding-bottom: 50px;
}
@media screen and (max-width: 46.1875em) {
  .sec2 {
    padding-top: 0;
  }
}
@media screen and (max-width: 46.1875em) {
  .sec2 {
    padding-bottom: 1rem;
  }
}

.sec3 {
  background-color: #F9F9F7;
  padding-top: 50px;
  padding-bottom: 50px;
}
@media screen and (max-width: 46.1875em) {
  .sec3 {
    padding-top: 1rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .sec3 {
    padding-bottom: 1rem;
  }
}

.sec4 {
  padding-top: 50px;
}
@media screen and (max-width: 46.1875em) {
  .sec4 {
    padding-top: 1rem;
  }
}

/*!
Animate.css - http://daneden.me/animate
Licensed under the MIT license - http://opensource.org/licenses/MIT

Copyright (c) 2015 Daniel Eden
*/
.animated {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

.animated.flipOutX,
.animated.flipOutY {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
}

@-webkit-keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
@keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}
.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}

@-webkit-keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
@keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

@-webkit-keyframes rubberBand {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes rubberBand {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}

@-webkit-keyframes shake {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes shake {
  0%, 100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
.shake {
  -webkit-animation-name: shake;
  animation-name: shake;
}

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}

@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  0% {
    -webkit-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes wobble {
  0% {
    -webkit-transform: none;
    transform: none;
  }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}

@-webkit-keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  20% {
    -webkit-transform: scale3d(1.3, 1.3, 1.3);
    transform: scale3d(1.3, 1.3, 1.3);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    -webkit-transform: scale3d(1.33, 1.33, 1.33);
    transform: scale3d(1.33, 1.33, 1.33);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  20% {
    -webkit-transform: scale3d(1.3, 1.3, 1.3);
    transform: scale3d(1.3, 1.3, 1.3);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    -webkit-transform: scale3d(1.33, 1.33, 1.33);
    transform: scale3d(1.33, 1.33, 1.33);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInDown {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInLeft {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes bounceInRight {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  100% {
    -webkit-transform: none;
    transform: none;
  }
}
.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInUp {
  0%, 60%, 75%, 90%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeOutUp {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}

@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}

@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}

@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}

@-webkit-keyframes lightSpeedIn {
  0% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes lightSpeedIn {
  0% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOut {
  0% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOut {
  0% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}

@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
}

@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
}

@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
}

@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
}

@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1;
  }
}
.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
}

@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
}

@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
}

@-webkit-keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
}

@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
}

@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1;
  }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
}

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  100% {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  100% {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@keyframes rollOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}

@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInDown {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInLeft {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInRight {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInUp {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}

@-webkit-keyframes zoomOut {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  100% {
    opacity: 0;
  }
}
@keyframes zoomOut {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  100% {
    opacity: 0;
  }
}
.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
}

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
}
.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
}

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center;
  }
}
.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
}

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
}

@-webkit-keyframes slideInDown {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}

@-webkit-keyframes slideOutDown {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes slideOutDown {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes slideOutLeft {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideOutRight {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes slideOutUp {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}
/*----------------------------------------
	2016.8
----------------------------------------*/
.whatsSec01 {
text-align:center;
padding:0;
margin:0 auto;
 }
 	
  .image{
	margin:0 auto;
}

 @media screen and (max-width: 46.1875em) {
 .image{
 display:none; }
}

 .image2a{
 display:none; }


 @media screen and (max-width: 46.1875em) {
  .image2a{
    width:100%;
	height:auto;
	margin:0 auto;
	display:block; }
}
	
.boxAText2a {
  display: block;
  padding-top: 4px;
  font-size: 13px;
  margin-bottom: 10px;
}
@media screen and (max-width: 46.1875em) {
  .boxAText2a {
    font-size: 0.9rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .boxAText2a {
    margin-bottom: 0.5rem;
  }
}

.boxATel2a {
  background: url(../../images/common/icon/dot_bar.png) top left repeat-x;
  color: #C6123B;
  font-size: 16px;
  padding-top: 10px;
}

.clubLead3 {
  font-family: TsukuGoPr5-R;
  font-size: 16px;
  text-align:left;
  padding:0;
  margin:0 auto;
  margin-bottom:20px;
  margin-top:20px;
  padding-top:20px;}
  @media screen and (max-width: 46.1875em) {
    .clubLead3 {
      font-size: 14px;
	  width:96%; } }	 
	  
	  
  .clubMainTitle .icon-club {
    color: #555554; }
  .clubMainTitle .icon-branavi {
    font-size: 55px;
    color: #C1143D; }
    @media screen and (max-width: 46.1875em) {
      .clubMainTitle .icon-branavi {
        font-size: 35px; } }
		













.clubMainTitle {
  margin-bottom: 30px;
  font-family: TsukuMinPr6-M;
  font-size: 38px;
  color: #BF163F;
  line-height: 1.3; }
  @media screen and (max-width: 46.1875em) {
    .clubMainTitle {
      margin-bottom: 10px; } }
  @media screen and (max-width: 46.1875em) {
    .clubMainTitle {
      font-size: 22px; } }
  .clubMainTitle .icon-club {
    color: #555554; }
  .clubMainTitle .icon-branavi {
    font-size: 55px;
    color: #C1143D; }
    @media screen and (max-width: 46.1875em) {
      .clubMainTitle .icon-branavi {
        font-size: 35px; } }
		
.clubMainTitle2 {
  margin-bottom: 30px;
  font-family: TsukuMinPr6-M;
  font-size: 30px;
  color: #BF163F;
  line-height: 1.3; }
  @media screen and (max-width: 46.1875em) {
    .clubMainTitle2 {
      margin-bottom: 10px; } }
  @media screen and (max-width: 46.1875em) {
    .clubMainTitle2 {
      font-size: 18px; } }













	  
.mainVisual {
  padding-bottom: 15px;
  padding-top: 50px;
  text-align: center;
  background-color: #FFF; }
  @media screen and (max-width: 46.1875em) {
    .mainVisual {
      padding-bottom: 10px; } }
  @media screen and (max-width: 46.1875em) {
    .mainVisual {
      padding-top: 20px; } }
	  
.contactSec01 {
  padding-bottom: 20px;
  background-color: #F8FEFB; }
  @media screen and (max-width: 46.1875em) {
    .contactSec01 {
      padding-bottom: 20px; } }

.contactSec01Box_first {
  padding-left: 90px;
  padding-top: 50px;
  width: 550px;
  float: left;
  float: left; }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Box_first {
      padding-left: 0; } }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Box_first {
      padding-top: 20px; } }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Box_first {
      width: auto; } }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Box_first {
      float: none; } }

.contactSec01Box_last {
  width: 390px;
  padding-top: 50px;
  float: left;
  position: relative; }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Box_last {
      width: auto; } }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Box_last {
      float: none; } }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Box_last {
      position: static; } }
	  


.contactSec01Title {
  font-family: TsukuMinPr6-M;
  letter-spacing: -.1em;
  font-size: 32px;
  color: #20AC74;
  line-height: 1.4;
  margin-bottom: 37px;
  padding-left: 4px; }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Title {
      font-size: 20px; } }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Title {
      margin-bottom: 10px; } }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Title {
      padding-left: 0; } }

.contactSec01Img {
  position: absolute;
  top: 100px;
  left: 50px; }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Img {
      position: static; } }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Img {
      text-align: center; } }
	  
 

.clubText {
  margin-bottom: 20px;
  font-size: 14px; }
  @media screen and (max-width: 46.1875em) {
    .clubText {
      font-size: 12px; } }

.clubTextLeft {
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 10px;
  width: 450px;
  font-size: 14px;
  text-align: left; }
  @media screen and (max-width: 46.1875em) {
    .clubTextLeft {
      width: auto; } }
  @media screen and (max-width: 46.1875em) {
    .clubTextLeft {
      font-size: 12px; } }
	  
.w760 {
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
  width: 100%; }
  
.w980 {
  margin-left: auto;
  margin-right: auto;
  max-width: 980px;
  width: 100%; }

.w1050 {
  margin-left: auto;
  margin-right: auto;
  max-width: 1050px;
  width: 100%; }
  
/*----------------------------------------
	clearfix
----------------------------------------*/
.btnEma2015 {
  position: fixed;
  top: 330px;
  right: 0;
  z-index: 998; }

.btnEma2015 a {
  margin: 0;
  padding: 0; }

.btnEma2015 a:hover {
  background: none; }

@media screen and (max-width: 46.1875em) {
  .btnEma2015 {
    position: absolute;
    top: 258px; }

  .btnEma2015 img {
    width: 36px;
    height: auto; } }
.ema2015Box {
  padding: 30px; }
  @media screen and (max-width: 46.1875em) {
    .ema2015Box {
      padding: 5px; } }

@media screen and (max-width: 46.1875em) {
  .ema2015BoxImg {
    margin-bottom: 30px; } }

.ema2015BoxTitle {
  text-align: center;
  margin-bottom: 35px;
  margin-bottom: 35px; }
  @media screen and (max-width: 46.1875em) {
    .ema2015BoxTitle {
      margin-bottom: 15px; } }

.ema2015BoxLead {
  text-align: left;
  font-family: TsukuMinPr6-M;
  font-size: 18px;
  margin-bottom: 5px;
  color: #BF1339; }
  @media screen and (max-width: 46.1875em) {
    .ema2015BoxLead {
      font-size: 14px; } }
  @media screen and (max-width: 46.1875em) {
    .ema2015BoxLead {
      margin-bottom: 5px; } }

.ema2015BoxText {
  font-family: TsukuMinPr6-M;
  text-align: center;
  margin-bottom: 60px; }
  @media screen and (max-width: 46.1875em) {
    .ema2015BoxText {
      margin-bottom: 20px; } }

.ema2015BoxText01 {
  color: #000000;
  font-size: 26px;
  display: block;
  margin-bottom: 10px; }
  @media screen and (max-width: 46.1875em) {
    .ema2015BoxText01 {
      font-size: 18px; } }
  @media screen and (max-width: 46.1875em) {
    .ema2015BoxText01 {
      margin-bottom: 5px; } }

.ema2015BoxText02 {
  font-size: 32px;
  color: #BF1339; }
  @media screen and (max-width: 46.1875em) {
    .ema2015BoxText02 {
      font-size: 20px; } }

.ema2015BoxText03 {
  color: #000000;
  font-size: 24px; }
  @media screen and (max-width: 46.1875em) {
    .ema2015BoxText03 {
      font-size: 16px; } }

.ema2015BoxText04 {
  color: #000000;
  font-size: 32px; }
  @media screen and (max-width: 46.1875em) {
    .ema2015BoxText04 {
      font-size: 20px; } }

.ema2015BoxSubText {
  font-family: TsukuGoPr5-R;
  font-size: 12px;
  text-align: center; }
  
.boxD2a:before, .boxD2a:after,
.boxDInner:before,
.boxDInner:after {
  content: '';
  display: block;
  width: 19px;
  height: 19px;
  position: absolute;
  bottom: 3px; }
.boxD2a:before,
.boxDInner:before {
  left: 3px; }
.boxD2a:after,
.boxDInner:after {
  right: 3px; }

.boxD2a {
  margin-bottom: 5px;
  text-align: center;
  position: relative;
  margin-top:30px; }
  @media screen and (max-width: 46.1875em) {
    .boxD2a {
	width:96%;
	margin:0 auto;
      margin-bottom: 5px; 
	  margin-top:20px; } }
  .boxD2a:before, .boxD2a:after {
    top: 3px; }
  .boxD2a:before {
    background: url("http://bra-navi.com/images/common/frame_lt.png") left center no-repeat; }
  .boxD2a:after {
    background: url("http://bra-navi.com/images/common/frame_rt.png") right center no-repeat; }

.boxDInner {
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2);
  background: url("http://bra-navi.com/images/common/frame_bg.png") bottom left repeat-x;
  background-image: linear-gradient(white 0%, #f7f7f7 100%);
  padding: 4px; }
  .boxDInner:before, .boxDInner:after {
    bottom: 3px; }
  .boxDInner:before {
    background: url("http://bra-navi.com/images/common/frame_lb.png") left center no-repeat; }
  .boxDInner:after {
    background: url("http://bra-navi.com/images/common/frame_rb.png") right center no-repeat; }

.boxDBorder {
  padding: 17px 20px;
  border: #ccc solid 1px; }
  @media screen and (max-width: 46.1875em) {
    .boxDBorder {
      padding: 9px 10px; } }

.boxDTitle {
  border-bottom: 1px solid #CCC;
  font-family: TsukuMinPr6-R;
  font-size: 18px;
  padding-bottom: 9px;
  margin-bottom: 23px; }
  @media screen and (max-width: 46.1875em) {
    .boxDTitle {
      font-size: 14px; } }
  @media screen and (max-width: 46.1875em) {
    .boxDTitle {
      padding-bottom: 6px; } }
  @media screen and (max-width: 46.1875em) {
    .boxDTitle {
      margin-bottom: 10px; } }
  .boxDTitle span {
    color: #AD133C; }
  .boxDTitle .icon-branavi {
    margin-bottom: 7px;
    display: inline-block;
    color: #AD133C;
    font-size: 30px;
    line-height: 0; }
    @media screen and (max-width: 66.8125em) {
      .boxDTitle .icon-branavi {
        font-size: 26px; } }

.boxDText {
  font-size: 14px; }
  @media screen and (max-width: 46.1875em) {
    .boxDText {
      font-size: 13px; } }
	  
.content2a {
width:100%;
height:auto;
background-color: #F8FEFB;
padding-bottom: 10px; }

  
  @media screen and (max-width: 46.1875em) {
.content2a {
      padding-bottom: 10px; } }

.contactSec01 {
padding:0;
margin:0;
  background-color: #F8FEFB; }

	  
	  .contactSec02a {
	  padding:0;
	  margin:0;
  background-color: #F8FEFB; }
  

.contactSec01Box_first {
  padding-left: 90px;
  padding-top: 50px;
  width: 550px;
  float: left; }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Box_first {
      padding-left: 0; } }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Box_first {
      padding-top: 20px; } }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Box_first {
      width: auto; } }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Box_first {
      float: none; } }

.contactSec01Box_last {
  width: 390px;
  padding-top: 50px;
  float: left;
  position: relative; }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Box_last {
      width: auto; } }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Box_last {
      float: none; } }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Box_last {
      position: static; } }
	  


.contactSec01Title {
  font-family: TsukuMinPr6-M;
  letter-spacing: -.1em;
  font-size: 32px;
  color: #20AC74;
  line-height: 1.4;
  margin-bottom: 37px;
  padding-left: 4px; }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Title {
      font-size: 20px; } }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Title {
      margin-bottom: 10px; } }


.contactSec01Img {
  position: absolute;
  top: 100px;
  left: 50px; }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Img {
      position: static; } }
  @media screen and (max-width: 46.1875em) {
    .contactSec01Img {
      text-align: center; } }

.pointLead {
  font-family: TsukuMinPr6-M;
  font-size: 24px;
  margin-bottom: 23px;
  padding-left: 3px; }
  @media screen and (max-width: 46.1875em) {
    .pointLead {
      font-size: 20px; } }


.pointSubLead {
  font-family: TsukuMinPr6-R;
  font-size: 17px;
  display: block; }
  @media screen and (max-width: 46.1875em) {
    .pointSubLead {
      font-size: 15px; } }
	  
.pointSubLead2 {
  font-family: TsukuMinPr6-R;
  font-size: 20px;
  display: block; }
  @media screen and (max-width: 46.1875em) {
    .pointSubLead2 {
      font-size: 15px; } }
	  
h2.clubMainTitle {
  margin-bottom: 30px;
  font-family: TsukuMinPr6-M;
  font-size: 38px;
  color: #BF163F;
  line-height: 1.3; }
  @media screen and (max-width: 46.1875em) {
   h2.clubMainTitle {
      margin-bottom: 10px; } }
  @media screen and (max-width: 46.1875em) {
   h2.clubMainTitle {
      font-size: 18px; } }	  
	  

.subTitle {
  display: table;
  width: 100%;
  color: #B0133D;
  font-size: 14px;
  font-family: Quicksand-Regular;
  letter-spacing: 0; }
  .subTitle span {
    white-space: nowrap;
    display: table-cell;
    padding-left: 10px;
    padding-right: 10px; }
  .subTitle:before, .subTitle:after {
    content: '';
    display: table-cell;
    width: 50%;
    height: 1px;
    background: url("http://bra-navi.com/images/common/icon/icon_bar.png") left center repeat-x; }

 @media screen and (max-width: 46.1875em) {	
.youtube iframe{
  width: 100%;
  height:auto;
}	}	





.pagetop2a {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 30px;
}
.pagetop2a a {
  display: block;
  background-color: #C1143D;
  color: #FFF;
  text-decoration: none;
  border-radius: 50%;
  padding: 15px;
  line-height: 15px;
}
 
.pagetop2a a:hover {
  opacity: .8;
}

@media screen and (max-width: 46.1875em) {
  .pagetop2a a {
    padding: 8px;
  }
}


/*----------------------------------------
	New Add
----------------------------------------*/

div.kp{
width:860px;
margin:20px auto;
font-size:15px;
line-height:1.5;
background-color:#FFFFFF;
color:#333333;
}

@media screen and (max-width:768px) {
div.kp{
width:580px;
padding:0;
font-size: 24px;
}
}

div#kpb{
width:100%;
margin:0px auto;
background-color:#BDEBF4;
padding-bottom:0px;
padding-top:10px;
}

div#mainb{
text-align:center;
margin:0px auto;
padding:0;
background-color:#BDEBF4;
}



/*---------------------------------------
	Read More CSS
----------------------------------------*/
.cp_box *, .cp_box *:before, .cp_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box {
	position: relative;
}
.cp_box label {
	position: absolute;
	z-index: 1;
	bottom: 0;
	width: 100%;
	height: 140px; /* グラデーションの高さ */
	cursor: pointer;
	text-align: center;
	/* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
	background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%);
}
.cp_box input:checked + label {
	background: inherit; /* 開いた時にグラデーションを消す */
}
.cp_box label:after {
	line-height: 2.5rem;
	position: absolute;
	z-index: 2;
	bottom: 20px;
	left: 50%;
	width: 16rem;
	font-family: FontAwesome;
	content: '\f13a'' 続きをよむ';
	transform: translate(-50%, 0);
	letter-spacing: 0.05em;
	color: #ffffff;
	border-radius: 20px;
	background-color: rgba(27, 37, 56, 1);
}
.cp_box input {
	display: none;
}
.cp_box .cp_container {
	overflow: hidden;
	height: 120px; /* 開く前に見えている部分の高さ */
	transition: all 0.5s;
}
.cp_box input:checked + label {
	/* display: none ; 閉じるボタンを消す場合解放 */
}
.cp_box input:checked + label:after {
	font-family: FontAwesome;
	content: '\f139'' 閉じる';
}
.cp_box input:checked ~ .cp_container {
	height: auto;
	padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
	transition: all 0.5s;
}


/*---------------------------------------
	Read More2 CSS
----------------------------------------*/
.grad-btn {
  /*.grad-btnのCSSは表示/非表示の動作には関係ないので、ご自由にどうぞ。*/
}
.grad-btn::before {
  content: "続きを読む"
}
.grad-item {
  position: relative;
  overflow: hidden;
  height: 80px; /*隠した状態の高さ*/
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40px; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  content: "";
}
.grad-trigger {
  display: none; /*チェックボックスは常に非表示*/
}
.grad-trigger:checked ~ .grad-btn::before {
  content: "閉じる" /*チェックされていたら、文言を変更する*/
}
.grad-trigger:checked ~ .grad-item {
  height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger:checked ~ .grad-item::before {
  display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}



/*---------------------------------------
	PC SP CSS
----------------------------------------*/

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important;
 }
 .sp2 { display: none !important;
 }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 768px) {
.pc { display: none !important; }
.sp { display: block !important; }
.sp2 { display: none !important; }
}

@media only screen and (max-width: 750px) {
.sp2 { display: block !important; }
}




/*---------------------------------------
	Privacy CSS
----------------------------------------*/


.privacyLead {
  margin-bottom: 58px;
  font-family: TsukuMinPr6-R;
  line-height: 1.68; }
  @media screen and (max-width: 46.1875em) {
    .privacyLead {
      margin-bottom: 30px; } }
      



.dlA, .dlA_type01 {
  margin-bottom: 65px; }
  @media screen and (max-width: 46.1875em) {
    .dlA, .dlA_type01 {
      margin-bottom: 20px; } }
  .dlA dt, .dlA_type01 dt {
    margin-bottom: 19px;
    padding-bottom: 7px;
    border-bottom: 1px dotted #BF133B;
    font-size: 18px;
    font-family: TsukuMinPr6-M; }
    @media screen and (max-width: 46.1875em) {
      .dlA dt, .dlA_type01 dt {
        margin-bottom: 10px; } }
    @media screen and (max-width: 46.1875em) {
      .dlA dt, .dlA_type01 dt {
        padding-bottom: 4px; } }
    @media screen and (max-width: 46.1875em) {
      .dlA dt, .dlA_type01 dt {
        font-size: 16px; } }
  .dlA dd, .dlA_type01 dd {
    margin-bottom: 40px;
    padding-left: 3px; }
    @media screen and (max-width: 46.1875em) {
      .dlA dd, .dlA_type01 dd {
        margin-bottom: 20px; } }
    @media screen and (max-width: 46.1875em) {
      .dlA dd, .dlA_type01 dd {
        font-size: 14px; } }


.dlA_type01 dt {
  padding-bottom: 0;
  font-size: 22px;
  font-family: TsukuGoPr5-R; }
  @media screen and (max-width: 46.1875em) {
    .dlA_type01 dt {
      margin-bottom: 16px; } }
  @media screen and (max-width: 66.8125em) {
    .dlA_type01 dt {
      padding-bottom: 0; } }
  @media screen and (max-width: 46.1875em) {
    .dlA_type01 dt {
      padding-bottom: 0; } }
  @media screen and (max-width: 46.1875em) {
    .dlA_type01 dt {
      font-size: 18px; } }
.dlA_type01 dd {
  font-family: TsukuGoPr5-R; }
  
  
  .listRibbon li {
  font-family: TsukuGoPr5-R;
  font-size: 16px;
  padding-top: 10px;
  text-indent: -2.5em;
  padding-left: 2em;
  margin-bottom: 11px;
  line-height: 1.4; }
  @media screen and (max-width: 46.1875em) {
    .listRibbon li {
      font-size: 14px; } }
  .listRibbon li:first-child {
    padding-top: 0; }
.listRibbon i {
  font-size: 10px;
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  color: #C0133C;
  padding-right: 12px; }
  
  .icon-ribbon:before {
  content: "\e60a"; }
  
/*---------------------------------------
	New CSS
----------------------------------------*/
  
  div#main2a{
text-align:center;
margin:10px auto;
padding:0;
}

div#kp5{
width:860px;
height:75px;
margin:25px auto;
font-size:18px;
line-height:1.5;
font-weight:500;
background-color:#FFFFFF;
}
@media screen and (max-width: 768px) {
div#kp5{
width:600px;
height:auto;
font-size:24px;
}
}




























/*---------------------------------------
	以下が新規追加コード
----------------------------------------*/



@charset "UTF-8";

/* アクセシビリティ対応：スクリーンリーダー用の隠しテキスト */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* 既存のCSSをそのまま継承 */
/*----------------------------------------
	clearfix
----------------------------------------*/
/*! normalize.css v3.0.0 | 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: "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "Yu Gothic", "游ゴシック", Meiryo, "メイリオ", Verdana, Helvetica, Arial, sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  /* SEO向上：適切なline-height設定 */
  line-height: 1.6;
  /* アクセシビリティ向上：コントラスト改善 */
  color: #333333;
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
  /* SEO向上：適切なフォントサイズ */
  font-size: 16px;
  /* アクセシビリティ向上：フォーカス時のアウトライン強化 */
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
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.
 * Hide the `template` element in IE, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background: transparent;
  /* アクセシビリティ向上：明確なリンク表示 */
  text-decoration: underline;
  color: #0066CC;
  /* フォーカス時のスタイル強化 */
}

a:focus {
  outline: 2px solid #0066CC;
  outline-offset: 2px;
}



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

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

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

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */
h1 {
  margin: 0.67em 0;
  /* SEO向上：適切なフォントサイズ */
  font-size: 2em;
  font-weight: bold;
  line-height: 1.2;
}

h2 {
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.3;
  margin: 0.83em 0;
}

h3 {
  font-size: 1.17em;
  font-weight: bold;
  line-height: 1.4;
  margin: 1em 0;
}

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

/**
 * 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.
 */
img {
  border: 0;
  /* SEO向上：画像の適切な表示 */
  max-width: 100%;
  height: auto;
  /* アクセシビリティ向上：alt属性のないimg要素の補完 */
}

img:not([alt]) {
  outline: 2px solid red;
}

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

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

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-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: "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "Yu Gothic", "游ゴシック", Meiryo, "メイリオ", Verdana, Helvetica, Arial, sans-serif;
  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 5, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/* アクセシビリティ向上：フォーカス可能要素の強調 */
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline: 2px solid #0066CC;
  outline-offset: 2px;
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10.
 */
button {
  overflow: visible;
  /* アクセシビリティ向上：ボタンのカーソル */
  cursor: pointer;
}

/**
 * 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+, 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"] {
  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 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -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.
 * 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.
 */
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;
}

/* @ Form Layout
 * ------------------------------------------------------------ */
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
}

input[type="search"] {
  box-sizing: border-box;
}

input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  /* IE8-9 */
  line-height: normal;
}

input[type="file"] {
  display: block;
}

select[multiple],
select[size] {
  height: auto;
}

select optgroup {
  font-size: inherit;
  font-style: inherit;
  font-family: inherit;
}

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button {
  height: auto;
}

input[type="radio"][disabled], fieldset[disabled] input[type="radio"],
input[type="checkbox"][disabled], fieldset[disabled]
input[type="checkbox"] {
  cursor: not-allowed;
}

@media print {
 /* @  Print Layout
* ------------------------------------------------------------ */
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }

  body {
    -webkit-print-color-adjust: exact;
  }
}

/* @ Reset +
 * ------------------------------------------------------------ */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

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

h1, h2, h3, h4, h5, h6, p, ul, ol, dl, table, pre, figure, blockquote {
  margin: 0;
}

ul, ol {
  list-style-type: none;
  list-style-image: none;
  padding-left: 0;
}

dd {
  margin-left: 0;
}

p, li, dt, dd, th, td, pre {
  -ms-line-break: strict;
  line-break: strict;
  word-wrap: break-word;
  word-break: normal;
}

dfn {
  font-style: normal;
}

sup {
  vertical-align: text-top;
  top: 0;
}

sub {
  vertical-align: text-bottom;
  bottom: 0;
}

hr {
  display: none;
}

img {
  border: 0;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic;
}

iframe {
  border: 0;
  vertical-align: top;
}

img, object, video {
  max-width: 100%;
  height: auto;
}

/* @ Print Reset +
* ------------------------------------------------------------ */
@media print {
  .header,
  .footer,
  .beta-block {
    display: none;
  }

  .alpha-block {
    width: 100% !important;
  }
}

/* @ Font Reset
* ------------------------------------------------------------ */
html {
  font-family: "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "Yu Gothic", "游ゴシック", Meiryo, "メイリオ", Verdana, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;      
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  color: #333333;
  font-size: 87.5%;
  line-height: 1.6;
}
@media screen and (max-width: 62.4375em) {
  html {
    font-size: 87.5%;
  }
}
@media screen and (max-width: 46.1875em) {
  html {
    font-size: 87.5%;
  }
}
@media screen and (max-width: 62.4375em) {
  html {
    line-height: 1.4375;
  }
}
@media screen and (max-width: 46.1875em) {
  html {
    line-height: 1.4375;
  }
}

/* @ Link Reset
* ------------------------------------------------------------ */
a:link,
a:visited,
a:hover,
a:active {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

::-moz-selection {
  background: #C81740;
  color: #FFF;
  text-shadow: none;
}

::selection {
  background: #C81740;
  color: #FFF;
  text-shadow: none;
}

a {
  -webkit-tap-highlight-color: rgba(200, 23, 64, 0.5);
}

a:link {
  -webkit-tap-highlight-color: rgba(200, 23, 64, 0.5);
}

/*----------------------------------------
	body
----------------------------------------*/
.ie8 body {
  min-width: 1020px;
}

body, html {
  background-color: #fff;
}
@media screen and (min-width: 46.25em) {
  body, html {
    min-width: 1020px;
  }
}
@media screen and (max-width: 46.1875em) {
  body, html {
    overflow-x: hidden;
    min-width: 320px;
  }
}

a {
  color: #C81740;
}
@media only screen and (min-width: 340px) and (max-width: 759px) {
  a:hover {
    opacity: 1 !important;
    filter: alpha(opacity=100);
  }
  a:hover img {
    opacity: 1 !important;
    filter: alpha(opacity=100);
  }
}
@media only screen and (max-width: 339px) {
  a:hover {
    opacity: 1 !important;
    filter: alpha(opacity=100);
  }
  a:hover img {
    opacity: 1 !important;
    filter: alpha(opacity=100);
  }
}

.clearfix {
  min-height: 1px;
  _height: 1%;
}
.clearfix:after {
  content: "";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden;
}

/*----------------------------------------
	header
----------------------------------------*/
.header-fixed {
  background-color: #fff;   
  border-top:4px solid #20B97B;
}

.siteId {
  float: left;
  margin-top: 20px;
  margin-left: 5px;
  margin-bottom: 13px;
}
@media screen and (max-width: 46.1875em) {
  .siteId {
    float: none;
  }
}
@media screen and (max-width: 46.1875em) {
  .siteId {
    width: 50%;
  }
}
@media screen and (max-width: 46.1875em) {
  .siteId {
    margin-top: 0;
  }
}
@media screen and (max-width: 46.1875em) {
  .siteId {
    padding-top: 5px;
  }
}
@media screen and (max-width: 46.1875em) {
  .siteId {
    margin-left: 10px;
  }
}
@media screen and (max-width: 46.1875em) {
  .siteId {
    margin-bottom: 0.7rem;
  }
}
.siteId a {
  display: block;
  width: 100%;
  max-width: 380px;
  max-height: 70px;
  height: 0;
  padding-top: 21%;
  background: url(../images/common/logo.png) top left no-repeat;
  background-size: contain;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.siteId a:hover {
  opacity: .8;
}

/* 以降のスタイルは既存のCSSと同じ内容を継承 */


/* その他のスタイルは既存のCSSから引き続き適用 */

/*----------------------------------------
	New Add for SEO/AIO Optimization
----------------------------------------*/

/* 構造化データ対応のためのスタイル */
[itemscope] {
  /* 構造化データ要素のスタイル調整 */
}

/* Schema.org対応の商品表示 */
.product-item[itemscope] {
  border: 1px solid #e0e0e0;
  padding: 15px;
  margin-bottom: 20px;
  border-radius: 5px;
}

.product-item[itemscope]:hover {
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  transition: box-shadow 0.3s ease;
}

/* 住所表示の最適化 */
address[itemprop="address"] {
  font-style: normal;
  line-height: 1.5;
  padding: 5px;
  margin: 10px 0;
}

/* アクセシビリティ向上：ランドマークの明確化 */
main[role="main"] {
  min-height: calc(100vh - 200px);
}

nav[role="navigation"] {
  position: relative;
}

/* SEO向上：見出しの階層構造 */
h1 {
  font-size: 2.5em;
  color: #333;
  margin-bottom: 0.5em;
}

h2 {
  font-size: 2em;
  color: #444;
  margin: 1em 0 0.5em 0;
  border-bottom: 2px solid #21B77A;
  padding-bottom: 0.25em;
}

h3 {
  font-size: 1.5em;
  color: #555;
  margin: 0.75em 0 0.5em 0;
}

/* パンくずナビゲーション */
.breadcrumb {
  background-color: #f8f9fa;
  padding: 10px 15px;
  border-radius: 4px;
  margin-bottom: 20px;
}

.breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}

.breadcrumb li {
  display: flex;
  align-items: center;
}

.breadcrumb li:not(:last-child)::after {
  content: ">";
  margin: 0 8px;
  color: #6c757d;
}


/* 表示速度向上 */
.critical-resource {
  font-display: swap;
}

/* アクセシビリティ：スキップリンク */
.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: #000;
  color: #fff;
  padding: 8px;
  text-decoration: none;
  z-index: 100;
}

.skip-link:focus {
  top: 6px;
}

/* 既存のスタイルを継続 */
div.kp{
width:860px;
margin:20px auto;
font-size:15px;
line-height:1.5;
background-color:#FFFFFF;
color:#333333;
}

@media screen and (max-width:768px) {
div.kp{
width:580px;
padding:0;
font-size: 24px;
}
}

div#kpb{
width:100%;
margin:0px auto;
background-color:#BDEBF4;
padding-bottom:0px;
padding-top:10px;
}

div#mainb{
text-align:center;
margin:0px auto;
padding:0;
background-color:#BDEBF4;
}

div#main2a{
text-align:center;
margin:10px auto;
padding:0;
}


/*----------------------------------------
	2016.8
----------------------------------------*/
.whatsSec01 {
text-align:center;
padding:0;
margin:0 auto;
 }
 	
  .image{
	margin:0 auto;
}

 @media screen and (max-width: 46.1875em) {
 .image{
 display:none; }
}

 .image2a{
 display:none; }

 @media screen and (max-width: 46.1875em) {
  .image2a{
    width:100%;
	height:auto;
	margin:0 auto;
	display:block; }
}
	
.boxAText2a {
  display: block;
  padding-top: 4px;
  font-size: 13px;
  margin-bottom: 10px;
}
@media screen and (max-width: 46.1875em) {
  .boxAText2a {
    font-size: 0.9rem;
  }
}
@media screen and (max-width: 46.1875em) {
  .boxAText2a {
    margin-bottom: 0.5rem;
  }
}

.boxATel2a {
  background: url(../../images/common/icon/dot_bar.png) top left repeat-x;
  color: #00B65F;
  font-size: 16px;
  padding-top: 10px;
  text-align: center;
}

.sec4 {
  padding-top: 50px;
}
@media screen and (max-width: 46.1875em) {
  .sec4 {
    padding-top: 1rem;
  }
}

.l-wrapper {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  width: 100%;
  padding-right: 10px;
  padding-left: 10px;
}

.l-col-p12 {
  width: 100%;
}

.mb20 {
  margin-bottom: 20px;
}

.headingA_type01 {
  font-size: 28px;
  color: #20AC74;
  text-align: center;
  margin-bottom: 30px;
  font-weight: bold;
}

@media screen and (max-width: 46.1875em) {
  .headingA_type01 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }
}

.headingA_type01::after {
  display: none;
}


.boxA {
  padding: 0 10px;
  margin-bottom: 30px;
}

.l-col-p3 {
  width: 25%;
}

@media screen and (max-width: 46.1875em) {
  .l-col-p6--sm {
    width: 50%;
  }
}

.boxA a {
  display: block;
  text-decoration: none;
  color: inherit;
}

.boxA a:hover {
  opacity: 0.8;
}

.boxATitle {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
  text-align: center;
  color: #333;
}

.boxAImg {
  text-align: center;
  margin-bottom: 15px;
}

.boxAImg img {
  max-width: 100%;
  height: auto;
}

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

.btnB {
  display: inline-block;
  background-color: #20AC74;
  color: white;
  padding: 15px 30px;
  text-decoration: none;
  border-radius: 5px;
  font-weight: bold;
}

.btnB:hover {
  background-color: #F098A6;
  color: white;
}

.l-col-p5 {
  width: 41.66667%;
}

@media screen and (max-width: 46.1875em) {
  .l-col-p12--sm {
    width: 100%;
  }
}

.l-text__center {
  text-align: center;
}

.l-pull-none {
  float: none;
  margin: 0 auto;
  margin-top: 30px;
}



.boxFText {
  font-size: 15px;
  line-height: 1.6;
}

.js-height1 {
  /* JavaScript height adjustment placeholder */
}



@media screen and (max-width: 46.1875em) {
  .l-col-p3,
  .l-col-p5 {
    width: 100%;
  }
  
  .l-row {
    display: block;
  }
  
  .boxA {
    margin-bottom: 20px;
  }
}

/* アイコンフォント */
@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon.eot?-eerl0x");
  src: url("../fonts/icomoon.eot?#iefix-eerl0x") format("embedded-opentype"), 
       url("../fonts/icomoon.woff?-eerl0x") format("woff"), 
       url("../fonts/icomoon.ttf?-eerl0x") format("truetype"), 
       url("../fonts/icomoon.svg?-eerl0x#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-right127:before {
  content: "\e603";
}

.icon-left127:before {
  content: "\e602";
}

.icon-cart:before {
  content: "\e93a";
}

.icon-dark4:before {
  content: "\e60c";
}

.icon-lines7:before {
  content: "\e608";
}

.icon-up127_wo_circle:before {
  content: "\e604";
}

/* ヘッダー・ナビゲーション関連 */
@media screen and (min-width: 46.25em) {
  .headDesctiption,
  .gNavInner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1000px;
    width: 100%;
    padding-right: 10px;
    padding-left: 10px;
  }
  
  .headDesctiption:before, .headDesctiption:after,
  .gNavInner:before,
  .gNavInner:after {
    content: " ";
    display: table;
  }
  
  .headDesctiption:after,
  .gNavInner:after {
    clear: both;
  }

  .headContact {
    margin-bottom: 13px;
    text-align: right;
  }
  
  .headContact li {
    display: inline-block;
    margin-right: 1px;
  }

  .gNav {
    background-color: #ffffff;
    border-top: 1px solid #E4E2C0;
    border-bottom: 2px solid #00C081;
  }

  .gNavInner ul {
    display: table;
    width: 100%;
  }
  
  .gNavInner li {
    border-right: 1px solid #E4E2C0;
    text-align: center;
    display: table-cell;
  }
  
  .gNavInner li:first-child {
    border-left: 1px solid #E4E2C0;
  }
  
  .gNavInner a {
    display: block;
    padding: 16px 16px;
    color: #313100;
    line-height: 1.2;
    font-weight: normal;
    text-decoration: none;
  }
  
  .gNavInner a:hover {
    background-color: #F1F1F1;
  }
  
  .gNavInner .gNavItem {
    white-space: nowrap;
  }
}

/* モバイルナビゲーション */
@media screen and (max-width: 46.1875em) {
  .headDesctiption {
    border-bottom: 1px solid #E1E1E1;
  }

  .headContact {
    padding-bottom: .5rem;
    padding-left: 10px;
    padding-right: 10px;
  }
  
  .headContact ul {
    display: table;
    width: 100%;
  }
  
  .headContact li {
    display: table-cell;
    vertical-align: middle;
    padding-right: .5rem;
  }
  
  .headContact li:last-child {
    padding-right: 0;
  }

  .menu-a {
    position: absolute;
    z-index: 200;
    right: 0.71429rem;
    top: 15px;
  }
  
  .menu-a .menu-a_item {
    line-height: 1;
    float: right;
    display: block;
  }
  
  .menu-a .menu-a_links {
    color: #000;
    font-size: 20px;
    display: block;
  }

  .gNaviList {
    background-color: #ffffff;
  }
  
  .gNaviList li {
    border-bottom: 1px solid #E4E2C0;
  }
  
  .gNaviList a {
    display: block;
    padding: 20px;
    color: #999999;
    font-size: 16px;
  }
}

/* ボタンスタイル */
.btnA {
  display: inline-block;
  padding: 10px 15px;
  text-decoration: none;
  border-radius: 3px;
  font-weight: bold;
}

.btnA_green {
  background-color: #20B97B;
  color: white;
}

.btnA_blue {
  background-color: #4486AB;
  color: white;
}

.btnA:hover {
  opacity: 0.8;
}

/* その他のユーティリティクラス */
.is-visible--sm {
  display: none;
}

.is-hidden--sm {
  display: block;
}



/* 構造化データ対応 */
[itemscope] .product-price {
  font-weight: bold;
  color: #e74c3c;
}

[itemscope] .product-availability {
  color: #27ae60;
  font-size: 0.9em;
}


/* フォーカス管理の改善 */
*:focus {
  outline: 2px solid #0066CC;
  outline-offset: 2px;
}

button:focus,
a:focus,
input:focus,
select:focus,
textarea:focus {
  outline: 2px solid #0066CC;
  outline-offset: 2px;
}

/* 印刷対応 */
@media print {
  .header,
  .footer,
  .gNav {
    display: none;
  }
  
  body {
    font-size: 12pt;
    line-height: 1.4;
  }
  
  h1, h2, h3 {
    page-break-after: avoid;
  }
}

/* 高解像度ディスプレイ対応 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .siteId a {
    background-image: url(../images/common/logo.png);
  }
}

/* アニメーション無効化対応 */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}



/* 現在のCSSで問題の原因となっている箇所を特定し、追加 */
.footLogo {
  margin-bottom: 20px;
  width: 300px;
  height: 64px;
  padding-top: 10px;
  background: url(../images/common/foot_logo.png) center 2px no-repeat;
  background-size: contain;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  /* 以下を追加して緑色のアンダーラインを削除 */
  text-decoration: none;
  border-bottom: none;
  color: inherit;
}


/* フッターロゴの緑色アンダーライン削除 */
.footLogo,
.footLogo a {
  text-decoration: none !important;
  border-bottom: none !important;
}

h2.footLogo {
  border-bottom: none !important;
  text-decoration: none !important;
}












/* コルビジェとはページ用SEO・AIO最適化に対応したCSS追記 */

/* Article構造化データに対応したスタイル */
article[itemscope] {
  position: relative;
}

/* セクション構造の明確化 */
section {
  margin-bottom: 40px;
  position: relative;
}

section h3 {
  font-size: 1.25em;
  color: #20AC74;
  margin: 1.5em 0 0.75em 0;
  padding-left: 12px;
  line-height: 1.4;
  font-weight: bold;

  margin-bottom: 19px;
  padding-bottom: 7px;
  border-bottom: 1px dotted #BF133B;
  font-size: 18px;
  font-family: TsukuMinPr6-M; }
  
}

@media screen and (max-width: 46.1875em) {
  section h3 {
    font-size: 1.1em;
    margin: 1rem 0 0.5rem 0;
    padding-left: 8px;
  }
}

section p {
  text-align: left;
}


section h3 {
  color: #333333 !important;
}


/* パンくずナビの構造化データ対応 */
.breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: center;
}

.breadcrumb li {
  display: flex;
  align-items: center;
  font-size: 12px;
}

.breadcrumb li:not(:last-child)::after {
  content: "";
  margin: 0 8px;
}

/* パンくずナビの背景色を白に変更 */
.breadcrumb {
  background-color: #fff !important;
}

.breadcrumbInner .icon-home {
  margin-left: 5px;
}


/* Schema.org Person対応のスタイル調整 */
[itemtype*="Person"] {
  position: relative;
}

/* メタデータの非表示 */
meta[itemprop] {
  display: none;
}

time[style*="display:none"] {
  display: none !important;
}

/* アクセシビリティ強化 */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* フォーカス管理の改善 */
a:focus,
button:focus {
  outline: 2px solid #20AC74;
  outline-offset: 2px;
  border-radius: 2px;
}

/* スキップリンク */
.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: #000;
  color: #fff;
  padding: 8px;
  text-decoration: none;
  z-index: 1000;
}

.skip-link:focus {
  top: 6px;
}

/* メインビジュアルの最適化 */
.mainVisual_about {
  background-color: #F9F9F7;
  background-size: contain;
  background-position: center right;
  background-repeat: no-repeat;
  min-height: 130px;
  position: relative;
}

@media screen and (max-width: 46.1875em) {
  .mainVisual_about {
    min-height: inherit;
  }
}

/* 構造化データ対応のProduct表示 */
.boxA[itemscope] {
  border: 1px solid transparent;
  transition: all 0.3s ease;
  border-radius: 5px;
}

.boxA[itemscope]:hover {
  border-color: #BCE6D5;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  transform: translateY(-2px);
}

/* Article構造の改善 */
.boxBBody {
  line-height: 1.7;
  font-size: 15px;
}

@media screen and (max-width: 46.1875em) {
  .boxBBody {
    font-size: 14px;
    line-height: 1.6;
  }
}

/* セマンティックな強調表示 */
section p strong {
  color: #20AC74;
  font-weight: bold;
}

/* ナビゲーション項目の最適化 */
.gNaviList a[aria-label] {
  position: relative;
}

.footNav a[aria-label] {
  position: relative;
}



/* Core Web Vitals最適化 */
.mainVisualInner {
  contain: layout;
}

.boxBInner {
  contain: layout;
}

/* モバイル最適化 */
@media screen and (max-width: 46.1875em) {
  .breadcrumb {
    padding: 5px 10px;
  }
  
  .breadcrumbInner {
    font-size: 11px;
  }
  
  section {
    margin-bottom: 30px;
  }
  
  .boxBBody {
    padding: 15px;
  }
}

/* アニメーション無効化対応 */
@media (prefers-reduced-motion: reduce) {
  .boxA[itemscope],
  img[loading="lazy"],
  * {
    transition: none !important;
    animation: none !important;
  }
}

/* 印刷対応 */
@media print {
  .header,
  .footer,
  .breadcrumb {
    display: none;
  }
  
  .mainVisual_about {
    background: none;
    min-height: auto;
  }
  
  section h3 {
    color: #000 !important;
    border-color: #000 !important;
  }
  
  .boxBBody {
    font-size: 12pt !important;
    line-height: 1.4 !important;
  }
}

/* 高解像度ディスプレイ対応 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .mainTitle {
    text-rendering: optimizeLegibility;
  }
  
  section h3 {
    text-rendering: optimizeLegibility;
  }
}

/* ダークモード対応（将来的な拡張性のため） */
@media (prefers-color-scheme: dark) {
  /* ダークモード時のスタイルは必要に応じて実装 */
}

/* コンテンツの構造強化 */
main[role="main"] {
  min-height: calc(100vh - 300px);
}

aside[role="complementary"] {
  border-top: 1px solid #e0e0e0;
  margin-top: 40px;
  padding-top: 40px;
}

@media screen and (max-width: 46.1875em) {
  aside[role="complementary"] {
    margin-top: 20px;
    padding-top: 20px;
  }
}

/* フッターロゴの修正（緑色のアンダーライン削除） */
.footLogo,
.footLogo a {
  text-decoration: none !important;
  border-bottom: none !important;
  color: inherit;
}

h2.footLogo {
  border-bottom: none !important;
}

/* JSON-LD構造化データと連動したスタイル */
[itemtype*="Article"] {
  background: rgba(255,255,255,0.8);
}

[itemtype*="Product"] {
  transition: transform 0.2s ease;
}

[itemtype*="Product"]:hover {
  transform: scale(1.02);
}

/* SEO強化のための可視性向上 */
.headingA_type01 {
  position: relative;
  text-align: center;
  font-weight: bold;
}

.headingA_type01::after {
  content: "";
  display: block;
  width: 50px;
  height: 3px;
  margin: 10px auto 0;
}

.headingA_type01::after {
  content: none;
}

/* マイクロデータの視覚的強調 */
[itemprop="headline"] {
  font-weight: bold;
  color: #20AC74;
}

[itemprop="description"] {
  line-height: 1.6;
}

/* 構造化データ要素の整理 */
[itemscope] {
  position: relative;
}



.breadcrumb {
  margin-bottom: 10px;
}

.l-col-p12 {
  margin-top: 20px;
}
.content {
  padding-top: 20px;
}






/* 会社情報ページ専用SEO・AIO最適化CSS */

/* 構造化データ対応のテーブルスタイル */
.inquiryWebrr {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 40px;
  background-color: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.inquiryWebrr th {
  background-color: #f8f9fa;
  color: #333;
  padding: 15px 20px;
  text-align: left;
  border-bottom: 1px solid #e9ecef;
  vertical-align: top;
  width: 25%;
  font-size: 14px;
}

.inquiryWebrr td {
  padding: 15px 20px;
  border-bottom: 1px solid #e9ecef;
  vertical-align: top;
  line-height: 1.6;
  font-size: 14px;
}

.inquiryWebrr tr:last-child th,
.inquiryWebrr tr:last-child td {
  border-bottom: none;
}

/* Schema.org構造化データ要素の強調 */
[itemprop="legalName"],
[itemprop="alternateName"] {
}

[itemprop="founder"] [itemprop="name"],
[itemprop="founder"] [itemprop="jobTitle"] {
}

/* 住所情報の構造化表示 */
[itemprop="address"] {
  position: relative;
}

[itemprop="postalCode"] {
  color: #666;
}

[itemprop="addressRegion"],
[itemprop="addressLocality"] {
  font-weight: 500;
}

[itemprop="streetAddress"] {
  color: #333;
}

/* 連絡先情報の強調 */
[itemprop="telephone"] {
  font-family: 'Courier New', monospace;
  font-size: 16px;
}

[itemprop="email"] {
  font-family: 'Courier New', monospace;
  font-size: 14px;
}

[itemprop="email"]:hover {
  color: #0052A3;
}

/* 営業時間の表示改善 */
[itemprop="openingHours"] {
  font-weight: 500;
}

/* URLリンクの改善 */
[itemprop="url"],
[itemprop="sameAs"] {
  color: #0066CC;
  text-decoration: underline;
  word-break: break-all;
}

[itemprop="url"]:hover,
[itemprop="sameAs"]:hover {
  color: #0052A3;
  text-decoration: none;
}

/* 会社画像の最適化 */
[itemprop="image"] {
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  max-width: 100%;
  height: auto;
}

[itemprop="image"]:hover {
  transform: scale(1.02);
  box-shadow: 0 6px 20px rgba(0,0,0,0.2);
}

/* セクション構造の改善 */
.section3ar {
  margin-bottom: 60px;
  padding: 40px 0;
}

@media screen and (max-width: 46.1875em) {
  .section3ar {
    margin-bottom: 40px;
    padding: 20px 0;
  }
}

/* テーブルレスポンシブ対応 */
@media screen and (max-width: 768px) {
  .inquiryWebrr {
    font-size: 13px;
  }
  
  .inquiryWebrr th {
    width: 30%;
    padding: 10px 12px;
    font-size: 12px;
  }
  
  .inquiryWebrr td {
    padding: 10px 12px;
    font-size: 13px;
  }
  
  .linefirst,
  .linefirst2,
  .line {
    font-size: 12px;
    line-height: 1.4;
  }
}

@media screen and (max-width: 46.1875em) {
  .inquiryWebrr {
    display: block;
    border: none;
    box-shadow: none;
  }
  
  .inquiryWebrr tbody {
    display: block;
  }
  
  .inquiryWebrr tr {
    display: block;
    margin-bottom: 20px;
    border-radius: 8px;
    overflow: hidden;
  }
  
  .inquiryWebrr th {
    display: block;
    width: 100%;
    color: white;
    text-align: center;
    padding: 12px;
    font-size: 14px;
  }
  
  .inquiryWebrr td {
    display: block;
    width: 100%;
    padding: 15px;
    border-bottom: none;
  }
}

/* アクセシビリティ強化 */
.inquiryWebrr th[scope="row"] {
  position: relative;
}

.inquiryWebrr th[scope="row"]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
}

/* フォーカス管理の改善 */
.inquiryWebrr a:focus {
  outline-offset: 2px;
  border-radius: 2px;
}

/* 印刷対応 */
@media print {
  .inquiryWebrr {
    box-shadow: none;
    border: 1px solid #000;
  }
  
  .inquiryWebrr th {
    background-color: #f0f0f0 !important;
    color: #000 !important;
  }
  
  [itemprop="telephone"],
  [itemprop="email"],
  [itemprop="url"],
  [itemprop="sameAs"] {
    color: #000 !important;
  }
  
  [itemprop="image"] {
    box-shadow: none;
  }
}

/* 高解像度ディスプレイ対応 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .inquiryWebrr th {
    text-rendering: optimizeLegibility;
  }
  
  [itemprop="legalName"],
  [itemprop="alternateName"] {
    text-rendering: optimizeLegibility;
  }
}

/* ダークモード対応（将来的な拡張性のため） */
@media (prefers-color-scheme: dark) {
  .inquiryWebrr {
    background-color: #2d3748;
    color: #e2e8f0;
  }
  
  .inquiryWebrr th {
    background-color: #4a5568;
    color: #e2e8f0;
  }
  
  .inquiryWebrr td {
    border-color: #4a5568;
  }
}

/* アニメーション無効化対応 */
@media (prefers-reduced-motion: reduce) {
  [itemprop="image"] {
    transition: none !important;
  }
  
  [itemprop="image"]:hover {
    transform: none;
  }
}

/* Core Web Vitals最適化 */
.companyProfile {
  contain: layout;
}

.section3ar .container {
  contain: layout;
}

/* 会社情報ページ専用の追加スタイル */
.mb60 {
  margin-bottom: 60px;
}

@media screen and (max-width: 46.1875em) {
  .mb60 {
    margin-bottom: 40px;
  }
}

.taL {
  text-align: left;
}

.jobList {
  margin: 0;
}

.jobList dd {
  margin: 0;
  padding: 0;
}



/* Schema.org LocalBusiness対応 */
.section3ar[itemtype*="Organization"] {
  position: relative;
}

.section3ar[itemtype*="Organization"]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
}

/* JSON-LD構造化データと連動したスタイル */
[itemscope][itemtype*="Organization"] .headingA_type01 {
  position: relative;
}




/* 日時表示の改善 */
time[datetime][itemprop="foundingDate"] {
  position: relative;
}

time[datetime][itemprop="foundingDate"]::before {
  content: "📅";
  margin-right: 5px;
}

/* 会社説明文の強調 */
[itemprop="description"] {
  line-height: 1.7;
  color: #555;
  font-size: 15px;
}

/* 連絡先情報のグループ化 */
[itemprop="contactPoint"] {
  background-color: #f8f9fa;
  padding: 15px;
  border-radius: 8px;
}

/* SEO強化のためのマイクロインタラクション */
.inquiryWebrr tr:hover {
  background-color: #f8f9fa;
  transition: background-color 0.2s ease;
}

@media (prefers-reduced-motion: reduce) {
  .inquiryWebrr tr:hover {
    transition: none;
  }
}


/* プライバシーポリシーページ専用SEO・AIO最適化CSS */

/* 既存のcontents7.cssに追記してください */

/* プライバシーポリシー専用構造化データ対応スタイル */
[itemtype*="PrivacyPolicy"] {
  position: relative;
  background: rgba(255,255,255,0.95);
}

/* セクション構造の強化 */
.boxBBody section {
  margin-bottom: 5px;
  padding: 20px 0;
  position: relative;
}

.boxBBody section:not(:last-child) {
  border-bottom: 1px solid #f0f0f0;
}

@media screen and (max-width: 46.1875em) {
  .boxBBody section {
    margin-bottom: 5px;
    padding: 15px 0;
  }
}

/* h3見出しのスタイル強化 */
.boxBBody h3 {
  font-size: 20px;
  color: #333;
  margin: 10px 0 20px 0;
  padding: 12px 0 8px 12px;
  background-color: #f8f9fa;
  font-weight: bold;
  line-height: 1.4;
}

@media screen and (max-width: 46.1875em) {
  .boxBBody h3 {
    font-size: 18px;
    margin: 20px 0 15px 0;
    padding: 10px 0 6px 10px;
  }
}

/* h4見出しのスタイル */
.boxBBody h4 {
  font-size: 16px;
  color: #444;
  margin: 15px 0 15px 0;
  padding: 8px 0 5px 8px;
  font-weight: bold;
  line-height: 1.4;
}

@media screen and (max-width: 46.1875em) {
  .boxBBody h4 {
    font-size: 15px;
    margin: 20px 0 12px 0;
    padding: 6px 0 4px 6px;
  }
}

/* リスト表示の改善 */
.boxBBody ol,
.boxBBody ul {
  margin: 20px 0;
  padding-left: 25px;
  line-height: 1.7;
}

.boxBBody ol li,
.boxBBody ul li {
  margin-bottom: 12px;
  position: relative;
}

.boxBBody ol li {
  list-style-type: decimal;
  color: #555;
}

.boxBBody ul li {
  list-style-type: disc;
  color: #555;
}

@media screen and (max-width: 46.1875em) {
  .boxBBody ol,
  .boxBBody ul {
    padding-left: 20px;
    margin: 15px 0;
  }
  
  .boxBBody ol li,
  .boxBBody ul li {
    margin-bottom: 10px;
    font-size: 14px;
  }
}

/* 段落の最適化 */
.boxBBody p {
  margin: 15px 0;
  line-height: 1.7;
  color: #333;
  text-align: left;
}

@media screen and (max-width: 46.1875em) {
  .boxBBody p {
    margin: 12px 0;
    font-size: 14px;
    line-height: 1.6;
  }
}

/* 構造化データ要素の視覚的強調 */
[itemprop="about"] {
  background-color: #f8f9fa;
  padding: 2px;
  border-radius: 4px;
  margin-bottom: 2px;
}

[itemprop="text"] {
  position: relative;

}

/* アクセシビリティ強化 */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* フォーカス管理の改善 */
.boxBBody a:focus {
  outline-offset: 2px;
  border-radius: 2px;
}

/* セクション間の視覚的区切り */
.boxBBody section + section




/* li要素内テキストの左寄せ修正 */

/* 既存のCSSに以下を追記してください */

.boxBBody ol li,
.boxBBody ul li {
  text-align: left;
  margin-bottom: 12px;
  position: relative;
}

/* より具体的にプライバシーポリシーページ内のリストを対象にする場合 */
[itemtype*="PrivacyPolicy"] .boxBBody ol li,
[itemtype*="PrivacyPolicy"] .boxBBody ul li {
  text-align: left !important;
}

/* セクション内のリストも確実に左寄せ */
.boxBBody section ol li,
.boxBBody section ul li {
  text-align: left;
}

/* 念のため、すべてのli要素に対して */
.boxBBody li {
  text-align: left;
}

.sec4 .headingA_type01[itemprop="name"] {
  margin-top: 10px !important;
}

.sec4[role="complementary"] {
  padding-top: 20px !important;
}




/* PR001ページ専用SEO/AIO最適化CSS */

/* 商品画像の最適化 */
.image-container {
  text-align: center;
  margin: 20px auto;
  position: relative;
}

.image-container img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transition: transform 0.3s ease;
}

.image-container img:hover {
  transform: scale(1.02);
}

/* 商品テーブルの強化 */
.inquiryWebrr[itemscope] {
  background-color: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  border-radius: 8px;
}

.inquiryWebrr th[scope="row"] {
  background-color: #f8f9fa;
  font-weight: bold;
  position: relative;
}

/* 価格表示の強化 */
[itemprop="price"] {
  font-weight: bold;
  color: #e74c3c;
  font-size: 1.1em;
}

[itemprop="offers"] {
  background-color: #f8f9fa;
  padding: 10px;
  border-radius: 5px;
  margin: 10px 0;
}

/* 商品画像ギャラリーの最適化 */
.whatsSec01[aria-label] {
  margin: 40px 0;
  padding: 20px 0;
}

@media screen and (max-width: 46.1875em) {
  .whatsSec01[aria-label] {
    margin: 20px 0;
    padding: 10px 0;
  }
}

/* 構造化データ要素の視覚的強調 */
[itemprop="name"] {
  position: relative;
}

[itemprop="description"] {
  line-height: 1.7;
  color: #444;
}

/* アクセシビリティ強化 */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* 住所表示の最適化 */
address[itemprop="location"] {
  font-style: normal;
  background-color: #f9f9f9;
  padding: 15px;
  border-radius: 5px;
  border-left: 4px solid #20AC74;
}

/* 購入セクションの強化 */
.contactSec02 [itemscope] {
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  transition: border-color 0.3s ease;
}

.contactSec02 [itemscope]:hover {
  border-color: #20AC74;
}

/* モバイル最適化 */
@media screen and (max-width: 46.1875em) {
  .image-container img {
    border-radius: 5px;
  }
  
  address[itemprop="location"] {
    padding: 10px;
  }
  
  [itemprop="offers"] {
    padding: 8px;
  }
}


/* 印刷対応 */
@media print {
  .image-container img {
    box-shadow: none;
    border: 1px solid #000;
  }
  
  [itemprop="price"] {
    color: #000 !important;
  }
  
  .contactSec02,
  .to-top {
    display: none;
  }
}

/* ダークモード対応（将来的な拡張性） */
@media (prefers-color-scheme: dark) {
  .inquiryWebrr[itemscope] {
    background-color: #2d3748;
    color: #e2e8f0;
  }
  
  .inquiryWebrr th[scope="row"] {
    background-color: #4a5568;
    color: #e2e8f0;
  }
}

/* アニメーション無効化対応 */
@media (prefers-reduced-motion: reduce) {
  .image-container img,
  .contactSec02 [itemscope],
  .lazy-load {
    transition: none !important;
    transform: none !important;
  }
}
/* PR001ページ専用修正データS */

/* 修正1: h2.h2Mdrrの緑色のアンダーラインを削除 */
.h2Mdrr {
  border-bottom: none !important;
  text-decoration: none !important;
}

/* 修正2: メイン画像のホバー時拡大効果を無効化 */
.whatsSec01 .image-container img,
.whatsSec01 img {
  transition: none !important;
  transform: none !important;
}

.whatsSec01 .image-container img:hover,
.whatsSec01 img:hover {
  transform: none !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

/* 修正3: 商品詳細テーブルの文字色を元に戻す */
.inquiryWebrr.companyProfile th,
.inquiryWebrr.companyProfile td {
  color: #333333 !important;
}

.inquiryWebrr.companyProfile th {
  background-color: #f8f9fa !important;
  color: #333333 !important;
}

.inquiryWebrr.companyProfile td {
  color: #333333 !important;
}

/* テーブル内のリンクも見やすい色に */
.inquiryWebrr.companyProfile a {
  color: #0066CC !important;
}

.inquiryWebrr.companyProfile a:hover {
  color: #0052A3 !important;
}

/* PR001ページ専用追加修正データS */

/* 修正1: すべての画像の上下余白を半分に縮小 */
.whatsSec01 {
  margin: 10px 0 !important;
  padding: 10px 0 !important;
}

.image-container {
  margin: 5px auto !important;
}

.sec4 .whatsSec01 {
  margin: 10px 0 !important;
}

@media screen and (max-width: 46.1875em) {
  .whatsSec01 {
    margin: 7px 0 !important;
    padding: 5px 0 !important;
  }
  
  .image-container {
    margin: 5px auto !important;
  }
}

/* 修正2: h1, h2の上側余白を半分に縮小 */
h1.h2Mdrr2 {
  margin-top: 5px !important;
  margin-bottom: 10px !important;
}

h2.h2Mdrr {
  margin-top: 3px !important;
  margin-bottom: 15px !important;
  color: #777777 !important;
}

.headingA_type01 {
  margin-top: 15px !important;
  margin-bottom: 15px !important;
}

.sec4 .l-col-p12.mb20 {
  margin-top: 10px !important;
}

.sec4 {
  padding-top: 25px !important;
}

@media screen and (max-width: 46.1875em) {
  h1.h2Mdrr2 {
    margin-top: 5px !important;
    margin-bottom: 10px !important;
  }
  
  h2.h2Mdrr {
    margin-top: 3px !important;
    margin-bottom: 8px !important;
    color: #777777 !important;

  }
  
  .headingA_type01 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
  }
  
  .sec4 {
    padding-top: 15px !important;
  }
}

/* 修正3: ページトップへ戻るボタンの問題を解決 */
.to-top {
  position: fixed !important;
  bottom: 20px !important;
  right: 20px !important;
  z-index: 999 !important;
  transition: opacity 0.3s ease !important;
}

.to-top a {
  display: block !important;
  width: 50px !important;
  height: 50px !important;
  background-color: #21B97B !important;
  color: #FFF !important;
  text-decoration: none !important;
  border-radius: 50% !important;
  text-align: center !important;
  line-height: 50px !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.3) !important;
}

.to-top a:hover {
  background-color: #1a8c5f !important;
  transform: translateY(-2px) !important;
  transition: all 0.3s ease !important;
}

.to-top a i {
  font-size: 20px !important;
  line-height: 50px !important;
}

/* スムーズスクロールの改善 */
html {
  scroll-behavior: smooth !important;
}

/* ページ固まり問題の解決 */
body {
  overflow-x: hidden !important;
}

.js-to-top {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* JavaScriptの競合を防ぐ */
.js-to-top-fade,
.js-to-top-width {
  transition: opacity 0.3s ease !important;
}

@media screen and (max-width: 46.1875em) {
  .to-top {
    bottom: 15px !important;
    right: 15px !important;
  }
  
  .to-top a {
    width: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
  }
  
  .to-top a i {
    font-size: 16px !important;
    line-height: 40px !important;
  }
}




/* PR001ページ専用追加修正データ2 */



/* すべての画像のホバー効果を無効化 */
img,
.image-container img,
.whatsSec01 img,
.boxEImg img,
.ema2015BoxImg img,
[itemprop="image"] {
  transition: none !important;
  transform: none !important;
}

img:hover,
.image-container img:hover,
.whatsSec01 img:hover,
.boxEImg img:hover,
.ema2015BoxImg img:hover,
[itemprop="image"]:hover {
  transition: none !important;
  transform: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  scale: 1 !important;
}

/* テーブルのホバー効果を無効化 */
.inquiryWebrr,
.inquiryWebrr[itemscope],
table {
  transition: none !important;
  transform: none !important;
}

.inquiryWebrr:hover,
.inquiryWebrr[itemscope]:hover,
table:hover {
  transition: none !important;
  transform: none !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
  scale: 1 !important;
}

.inquiryWebrr tr:hover {
  background-color: transparent !important;
  transition: none !important;
}

/* 商品ボックスのホバー効果も無効化 */
.boxA,
.boxE,
.contactSec02 [itemscope],
.ema2015Box {
  transition: none !important;
  transform: none !important;
}

.boxA:hover,
.boxE:hover,
.contactSec02 [itemscope]:hover,
.ema2015Box:hover {
  transition: none !important;
  transform: none !important;
  border-color: none !important;
  box-shadow: none !important;
  scale: 1 !important;
}

/* すべてのホバーアニメーションを無効化 */
*:hover {
  transition: none !important;
  transform: none !important;
  scale: 1 !important;
}

/* 既存のホバー効果をリセット */
.boxA[itemscope]:hover,
[itemtype*="Product"]:hover {
  transform: none !important;
  border-color: inherit !important;
  box-shadow: inherit !important;
}

/* CSS transformプロパティを完全に無効化 */
* {
  transform: none !important;
}

*:hover {
  transform: none !important;
}



/* PR001ページ専用追加修正データ3 */


 /* ページトップに戻るボタンを元の状態に戻す */  
 /* ページトップに戻るボタンを右側に固定 */
.to-top {
  position: fixed !important;
  bottom: 10px !important;
  right: 10px !important;
  left: auto !important;
  z-index: 999 !important;
  width: auto !important;
  height: auto !important;
}

.to-top a {
  display: block !important;
  background-color: #21B97B !important;
  color: #FFF !important;
  text-decoration: none !important;
  border-radius: 50% !important;
  padding: 15px !important;
  line-height: 15px !important;
  width: auto !important;
  height: auto !important;
  text-align: center !important;
  box-shadow: none !important;
}

.to-top a:hover {
  opacity: .8 !important;
  background-color: #21B97B !important;
  transform: none !important;
  transition: opacity 0.3s ease !important;
}

.to-top a i {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* モバイル対応も元に戻す */
@media screen and (max-width: 46.1875em) {
  .to-top {
    bottom: 10px !important;
    right: 10px !important;
  }
  
  .to-top a {
    padding: 8px !important;
    line-height: 15px !important;
  }
}
}

/* ページトップに戻るボタンを右側に強制固定 */
p.to-top.js-to-top.js-to-top-fade.js-to-top-width {
  position: fixed !important;
  bottom: 10px !important;
  right: 10px !important;
  left: unset !important;
  z-index: 9999 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
}

p.to-top.js-to-top.js-to-top-fade.js-to-top-width a {
  display: block !important;
  background-color: #21B97B !important;
  color: #FFF !important;
  text-decoration: none !important;
  border-radius: 50% !important;
  padding: 15px !important;
  line-height: 15px !important;
  width: auto !important;
  height: auto !important;
  text-align: center !important;
  box-shadow: none !important;
  margin: 0 !important;
  float: none !important;
}

p.to-top.js-to-top.js-to-top-fade.js-to-top-width a:hover {
  opacity: 0.8 !important;
  background-color: #21B97B !important;
  transform: none !important;
  transition: opacity 0.3s ease !important;
}

p.to-top.js-to-top.js-to-top-fade.js-to-top-width a i {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* モバイル対応 */
@media screen and (max-width: 46.1875em) {
  p.to-top.js-to-top.js-to-top-fade.js-to-top-width {
    bottom: 10px !important;
    right: 10px !important;
  }
  
  p.to-top.js-to-top.js-to-top-fade.js-to-top-width a {
    padding: 8px !important;
    line-height: 15px !important;
  }
}

.boxEBody.boxF_type05[itemprop="text"] section p {
  line-height: 200% !important;
  padding-bottom: 20px !important;
  font-size: 15px; 
}
/* モバイル対応 */
@media screen and (max-width: 46.1875em) {
.boxEBody.boxF_type05[itemprop="text"] section p {
    font-size: 14px;
  }
}

.boxFTex {
  line-height: 200% !important;
}

/* contactSec02内のボックスの境界線を削除 */
.contactSec02 .boxD2a {
  border: none !important;
}

.contactSec02 .boxDInner {
  border: none !important;
  box-shadow: none !important;
}


/* より具体的にすべての境界線を削除 */
.contactSec02 .boxD2a,
.contactSec02 .boxDInner,
.contactSec02 .ema2015Box {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
}

/* テーブル内の境界線も削除する場合 */
.contactSec02 table,
.contactSec02 td,
.contactSec02 th {
  border: none !important;
}

/* offers要素のスタイルを通常のddと同じに戻す */
dd[itemprop="offers"] {
  background-color: transparent !important;
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

/* 価格表示のフォントスタイルを通常に戻す */
dd[itemprop="offers"] [itemprop="price"],
dd[itemprop="offers"] span[itemprop="price"] {
  font-weight: normal !important;
  color: #333333 !important;
  font-size: inherit !important;
}

/* offers内のすべてのテキストを通常の色に */
dd[itemprop="offers"],
dd[itemprop="offers"] * {
  color: #333333 !important;
  font-weight: normal !important;
}

/* より具体的にoffers要素内を指定 */
[itemtype="https://schema.org/Offer"] {
  background-color: transparent !important;
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

[itemtype="https://schema.org/Offer"] span {
  color: #333333 !important;
  font-weight: normal !important;
}

/* テーブルのホバー時の枠線変化を無効化 */
table.inquiryWebrr.companyProfile {
  border: 1px solid #e9ecef !important;
  transition: none !important;
}

table.inquiryWebrr.companyProfile:hover {
  border: 1px solid #e9ecef !important;
  border-color: #e9ecef !important;
  transition: none !important;
  transform: none !important;
}


/* offers要素の枠線を完全に削除 */
p[itemprop="offers"] {
  border: none !important;
  border-color: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  transition: none !important;
}

p[itemprop="offers"]:hover {
  border: none !important;
  border-color: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  transition: none !important;
}


/* スムーズスクロールを有効化 */
html {
  scroll-behavior: smooth !important;
}

/* ページトップに戻るボタンのスタイル（既存のまま） */
p.to-top.js-to-top.js-to-top-fade.js-to-top-width {
  position: fixed !important;
  bottom: 10px !important;
  right: 10px !important;
  left: unset !important;
  z-index: 9999 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
}

p.to-top.js-to-top.js-to-top-fade.js-to-top-width a {
  display: block !important;
  background-color: #21B97B !important;
  color: #FFF !important;
  text-decoration: none !important;
  border-radius: 50% !important;
  padding: 15px !important;
  line-height: 15px !important;
  width: auto !important;
  height: auto !important;
  text-align: center !important;
  box-shadow: none !important;
  margin: 0 !important;
  float: none !important;
}

/* 全ての.boxEBody.boxF_type05内のpタグに統一スタイルを適用 */
.boxEBody.boxF_type05 p,
.boxEBody.boxF_type05 section p,
.boxEBody.boxF_type05 div p {
  line-height: 200% !important;
  padding-bottom: 20px !important;
  font-size: 15px !important;
}

/* モバイル対応 */
@media screen and (max-width: 46.1875em) {
  .boxEBody.boxF_type05 p,
  .boxEBody.boxF_type05 section p,
  .boxEBody.boxF_type05 div p {
    font-size: 14px !important;
  }
}

/* mainとfooterの間の空白を縮小 */
.content {
  padding-bottom: 30px !important; /* 80pxから30pxに変更 */
}

@media screen and (max-width: 46.1875em) {
  .content {
    padding-bottom: 1rem !important; /* 2remから1remに変更 */
  }
}



