/*! sanitize.css v4.1.0 | CC0 License | github.com/jonathantneal/sanitize.css */ article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block
}
audio, canvas, progress, video {
  display: inline-block
}
audio:not([controls]) {
  display: none;
  height: 0
}
template, [hidden] {
  display: none
}
*, ::before, ::after {
  background-repeat: no-repeat;
  -webkit-box-sizing: inherit;
  box-sizing: inherit
}
::before, ::after {
  text-decoration: inherit;
  vertical-align: inherit
}
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: default;
  font-family: sans-serif;
  line-height: 1.5;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}
body {
  margin: 0
}
h1 {
  font-size: 2em;
  margin: .67em 0
}
code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em
}
hr {
  height: 0;
  overflow: visible
}
nav ol, nav ul {
  list-style: none
}
abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none
}
b, strong {
  font-weight: inherit
}
b, strong {
  font-weight: bolder
}
dfn {
  font-style: italic
}
mark {
  background-color: #ffff00;
  color: #000000
}
progress {
  vertical-align: baseline
}
small {
  font-size: 83.3333%
}
sub, sup {
  font-size: 83.3333%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}
sub {
  bottom: -.25em
}
sup {
  top: -.5em
}
::-moz-selection {
  background-color: #b3d4fc;
  color: #000000;
  text-shadow: none
}
::selection {
  background-color: #b3d4fc;
  color: #000000;
  text-shadow: none
}
audio, canvas, iframe, img, svg, video {
  vertical-align: middle
}
img {
  border-style: none
}
svg {
  fill: currentColor
}
svg:not(:root) {
  overflow: hidden
}
a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects
}
a:hover {
  outline-width: 0
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
button, input, select, textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
  font-size: 1em;
  margin: 0
}
button, input {
  overflow: visible
}
button, select {
  text-transform: none
}
button, html [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button
}
::-moz-focus-inner {
  border-style: none;
  padding: 0
}
:-moz-focusring {
  outline: 1px dotted ButtonText
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: .35em .625em .75em
}
legend {
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}
textarea {
  overflow: auto;
  resize: vertical
}
article a{
  text-decoration: none;
}
[type="checkbox"], [type="radio"] {
  padding: 0
}
::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
  height: auto
}
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}
::-webkit-search-cancel-button, ::-webkit-search-decoration {
  -webkit-appearance: none
}
::-webkit-input-placeholder {
  color: inherit;
  opacity: .54
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}
[aria-busy="true"] {
  cursor: progress
}
[aria-controls] {
  cursor: pointer
}
[aria-disabled] {
  cursor: default
}
a, area, button, input, label, select, textarea, [tabindex] {
  -ms-touch-action: manipulation;
  touch-action: manipulation
}
[hidden][aria-hidden="false"] {
  clip: rect(0, 0, 0, 0);
  display: inherit;
  position: absolute
}
[hidden][aria-hidden="false"]:focus {
  clip: auto
}
*, *:after, *:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility
}
a, abbr, acronym, address, applet, article, aside, audio, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block
}
html {
  line-height: 1;
  font-size: 1.21951vw;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  line-break: strict;
  overflow-wrap: break-word
}
@media (max-width: 640px) {
  html {
    font-size: 4.268vw
  }
}
@media (min-width: 1312px) {
  html {
    font-size: 16px
  }
}
body {
  color: #000;
  position: relative;
  letter-spacing: 0.03125rem;
  font-weight: 700;
  font-style: normal;
  overflow-x: hidden;
}
@media (max-width: 640px) {
  body {
    width: 100%;
    min-width: initial;
    min-width: auto
  }
  body.fixed {
    height: 100%;
    overflow: hidden;
  }
}
ol, ul {
  list-style: none
}
blockquote, q {
  quotes: none
}
blockquote:after, blockquote:before, q:after, q:before {
  content: "";
  content: none
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
table td {
  border: none
}
a {
  color: #000;
  text-decoration: underline;
  -webkit-transition: .3s;
  transition: .3s
}
a:hover {
  text-decoration: underline;
  color: #A22525;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom
}
a img:hover {
  opacity: 0.7;
  -webkit-transition: .3s;
  transition: .3s
}
strong {
  font-weight: 700;
}
strong.large{
  font-size: 1.25rem;
}
@media (max-width: 640px) {
  strong.large{
    font-size: 1.125rem;
  }
}
strong.color{
  color: #a22525;
}
em.color{
  color: #a22525;
}
small{
  font-size: .875rem;
}
small.color{
  color: #a22525;
}
p {
  line-height: 1.8
}
@media (max-width: 640px) {
  .only_pc {
    display: none
  }
}
.only_sp {
  display: none
}
@media (max-width: 640px) {
  .only_sp {
    display: block
  }
}
.container {
  width: 77.5rem;
  margin: 0 auto;
  padding: 0 1.25rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
@media (max-width: 640px) {
  .container {
    width: 100%
  }
}
.btn_lightred {
  width: 100%;
  height: 3.125rem;
  background: #E07373;
  border-radius: 3.125rem;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1rem
}
.btn_lightred i {
  margin-right: .625rem
}
.btn_lightred:hover {
  text-decoration: none;
  background: #a22525;
  color: #FFF;
}
.btn_white {
  width: 100%;
  height: 3.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #FFF;
  border-radius: 3.125rem;
  color: #a22525;
  text-decoration: none
}
.btn_white:hover {
  background: #eccad9
}
.btn_square {
  color: #a22525;
  border: 1px solid #E6D9B4;
  height: 6.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 1.25rem;
  background: #FFF
}
.btn_square:hover {
  text-decoration: none;
  background: #a22525;
  color: #FFF
}
.btn_square i {
  margin-right: .9375rem
}
.btn_regular {
  width: 20.9375rem;
  height: 3.125rem;
  border: 1px solid #000;
  border-radius: 3.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: .9375rem;
  position: relative;
  font-weight: 700;
  background: #FFF
}
.btn_regular:after {
  content: '▶︎';
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  font-size: .625rem
}
.btn_regular:hover {
  text-decoration: none;
  color: #fff;
  background: #000
}
.common_header {
  background: #fff;
  padding: 1.25rem 0 0 0
}
@media (max-width: 640px) {
  .common_header.fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index:1000;
  }
}
.common_header a{
  text-decoration: none;
}
header .common_header.sticky {
    position: fixed;
    top: 0;
    padding-top: 0.625rem;
    width: 100%;
    z-index:1000;
    -webkit-transition: .7s;
       -moz-transition: .7s;
        -ms-transition: .7s;
         -o-transition: .7s;
            transition: .7s;
}
header .common_header.sticky h1{
  width: 17rem;
}
header .common_header.sticky .common_headertel{
  position: fixed;
  bottom: 5%;
  right: 5%;
  background: #FFF;
  -webkit-transition: .7s;
     -moz-transition: .7s;
      -ms-transition: .7s;
       -o-transition: .7s;
          transition: .7s;
}
header .common_header.sticky .common_headernav{
  margin:0 0 0 auto;
  -webkit-align-items: center;
          align-items: center;
}
header .common_header.sticky .common_headernav .header_loginguide{
  display: flex;
  width: auto;
  -webkit-align-items: center;
          align-items: center;
}
header .common_header.sticky .common_headernav .header_loginguide .header_login a{
  margin:0 .75rem;
}
header .common_header.sticky .common_headernav .header_loginguide .header_guide a{
  padding: 0.625rem;
}
header .common_header.sticky .common_headernav .header_cartcontact{
  width: auto;
}
header .common_header.sticky .common_headernav .header_cartcontact ul{
  -webkit-flex-flow: nowrap;
      -ms-flex-flow: nowrap;
          flex-flow: nowrap;
  -webkit-align-items: center;
          align-items: center;
}
header .common_header.sticky .common_headernav .header_cartcontact ul li:first-child{
  width: 12.5rem;
  margin-bottom: 0;
}
header .common_header.sticky .common_headernav .header_cartcontact ul li{
  width: auto;
  padding:0 .625rem ;
}
.common_header .common_headerinner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: .9375rem
}
@media (max-width: 640px) {
  .common_header .common_headerinner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.common_header .header_title {
  width: 25rem;
  -webkit-transition: .7s;
     -moz-transition: .7s;
      -ms-transition: .7s;
       -o-transition: .7s;
          transition: .7s;
}
@media (max-width: 640px) {
  .common_header .header_title {
    width: 60%;
    margin-bottom: 0;
    margin: 0 auto
  }
}
.common_header .common_headertel {
  margin: 0 0 0 auto;
  text-align: center;
  padding: .625rem 1.25rem;
  color: #a22525;
  border: 1px solid #a22525;
  font-weight: 700
}
@media (max-width: 640px) {
  .common_header .common_headertel {
    width: 100%;
    text-align: center;
    position: fixed;
    padding: .3125rem .3125rem;
    height: 2.8125rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    bottom: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    background: #FFF;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    display: none;
  }
}
.common_header .common_headertel .ttl_telhead {
  font-size: .875rem
}
@media (max-width: 640px) {
  .common_header .common_headertel .ttl_telhead {
    font-size: .625rem;
    margin-right: 1em;
    line-height: 1.2;
    text-align: left
  }
}
.common_header .common_headertel .telnumber {
  font-size: 1.5rem;
  color: #a22525;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
@media (max-width: 640px) {
  .common_header .common_headertel .telnumber {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 1.25rem;
    letter-spacing: normal
  }
}
.common_header .common_headertel .telnumber i {
  width: 1.0625rem;
  height: 1.0625rem;
  margin-right: 3px;
  display: block
}
@media (max-width: 640px) {
  .common_header .common_headertel .telnumber i {
    width: .75rem;
    height: .75rem
  }
}
.common_header .common_headertel .telnumber:hover {
  text-decoration: none;
  opacity: 0.7
}
.common_header .common_headertel .teldate {
  color: #000;
  font-size: .7875rem
}
@media (max-width: 640px) {
  .common_header .common_headertel .teldate {
    font-size: .625rem;
    text-align: left;
    margin-left: 1em;
    line-height: 1.2
  }
}
.common_header .common_headernav {
  margin-left: 3.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media (max-width: 640px) {
  .common_header .common_headernav {
    margin-left: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 90;
    background: #FFF;
    padding: .9375rem;
    -webkit-box-shadow: 1px 0px 3px 1px rgba(175, 175, 175, 0.8);
    box-shadow: 1px 0px 3px 1px rgba(175, 175, 175, 0.8);
    display: flex;
    -webkit-align-items: center;
            align-items: center;
  }
}
.common_header .common_headernav .header_loginguide {
  width: 8.75rem
}
.common_header .common_headernav .header_loginguide .header_login {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  font-size: .75rem;
  font-weight: 700
}
@media (max-width: 640px) {
  .common_header .common_headernav .header_loginguide .header_login {
    font-size: .625rem
  }
}
.common_header .common_headernav .header_loginguide .header_login i {
  display: block;
  font-size: 1.25rem;
  margin-bottom: .625rem
}
@media (max-width: 640px) {
  .common_header .common_headernav .header_loginguide .header_login i {
    margin-bottom: .3125rem
  }
}
.common_header .common_headernav .header_loginguide .header_login a {
  text-align: center;
  color: #a22525
}
.common_header .common_headernav .header_loginguide .header_login a:hover {
  text-decoration: none;
  opacity: 0.7
}
.common_header .common_headernav .header_loginguide .header_login a.home {
  display: none
}
@media (max-width: 640px) {
  .common_header .common_headernav .header_loginguide .header_login a.home {
    display: block
  }
}
.common_header .common_headernav .header_loginguide .header_guide {
  margin-top: .625rem
}
@media (max-width: 640px) {
  .common_header .common_headernav .header_loginguide .header_guide {
    display: none;
  }
}
.common_header .common_headernav .header_loginguide .header_guide a {
  border: 1px solid #000;
  background: #FFF189;
  font-size: .75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 700;
  height: 2.1875rem
}
.common_header .common_headernav .header_loginguide .header_guide a i {
  font-size: .875rem;
  margin-right: .625rem
}
.common_header .common_headernav .header_loginguide .header_guide a:hover {
  text-decoration: none;
  opacity: 0.7
}
.common_header .common_headernav .header_cartcontact {
  width: 14.5rem;
  margin-left: .9375rem
}
@media (max-width: 640px) {
  .common_header .common_headernav .header_cartcontact {
    width: 11.25rem
  }
}
.common_header .common_headernav .header_cartcontact ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
.common_header .common_headernav .header_cartcontact ul li {
  width: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: .875rem;
  text-align: center
}
.common_header .common_headernav .header_cartcontact ul li:first-child {
  width: 100%;
  margin-bottom: 1.25rem
}
@media (max-width: 640px) {
  .common_header .common_headernav .header_cartcontact ul li{
    font-size: 0.75rem;
    display: none;
  }
  .common_header .common_headernav .header_cartcontact ul li:first-child {
    margin-bottom: 0;
    display: block;
  }
}
.common_header .common_headernav .header_cartcontact ul li:last-child {
  border-left: 1px solid #000
}
.global {
  background: #a22525;
  border-top: .375rem solid #eccad9;
  border-bottom: .375rem solid #eccad9;
  position: relative
}
.global .global_nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 1.125rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 77.5rem;
  padding: 0 1.25rem;
  margin: 0 auto;
  position: relative
}
@media (max-width: 640px) {
  .global .global_nav {
    width: 100%;
    padding: 0;
    font-size: 1rem;
  }
}
.global .global_nav .parent {
  width: calc(100% / 5)
}
@media (max-width: 640px) {
  .global .global_nav .parent {
    width: auto;
  }
  .global .global_nav .parent:nth-child(4) span:after {
    display: none
  }
}
.global .global_nav .parent:last-child a:after {
  display: none
}
.global .global_nav .parent .global_nav_hover {
  margin-top: -.375rem;
  padding: 1.25rem;
  position: absolute;
  display: none;
  left: 0;
  right: 0;
  margin: auto;
  background: #ECCAD9;
  z-index: 100;
}
.global .global_nav .parent .global_nav_hover .cards_4column li{
  width: calc(100% / 5 - 2.125rem);
}
.global .global_nav .parent .global_nav_hover .cards_4column li h3{
  font-size: 1.125rem;
}
@media (max-width: 640px) {
  .global .global_nav .parent .global_nav_hover{
    overflow: scroll;
    max-height: calc(100vh - 8.75rem);
    padding-bottom: 5rem;
  }
  .global .global_nav .parent .global_nav_hover .cards_4column li{
    width: 48.5%;
  }
  .global .global_nav .parent .global_nav_hover .cards_4column li h3{
    font-size: 1rem;
  }
}
.global .global_nav .parent > a, .global .global_nav .parent > span {
  width: 100%;
  color: #FFF;
  padding: .9375rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative
}
@media (max-width: 640px) {
  .global .global_nav .parent > a, .global .global_nav .parent > span {
    padding: .9375rem 0.625rem;
  }
}
.global .global_nav .parent > a:hover, .global .global_nav .parent > span:hover {
  text-decoration: none;
  background: #eccad9;
  color: #a22525
}
.global .global_nav .parent > a.active, .global .global_nav .parent > span.active {
  background: #ECCAD9;
  color: #a22525
}
.global .global_nav .parent > a:after, .global .global_nav .parent > span:after {
  content: '';
  width: 1px;
  height: 1.25rem;
  background: #FFF;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto
}
.cta_guide {
  background: #a22525
}
#sub-column .cta {
  color: #FFF;
  text-align: center;
  background: #a22525;
  font-size: 1.125rem
}
#sub-column .cta .cta_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media (max-width: 640px) {
  #sub-column .cta .cta_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
#sub-column .cta .cta_tel {
  width: calc(100% / 3);
  padding: 2.1875rem 1.875rem
}
@media (max-width: 640px) {
  #sub-column .cta .cta_tel {
    width: 100%;
    padding: 1.25rem 0
  }
}
#sub-column .cta .cta_fax {
  width: calc(100% / 3);
  padding: 2.1875rem 1.875rem;
  border-left: 1px solid #e07373;
  border-right: 1px solid #e07373
}
@media (max-width: 640px) {
  #sub-column .cta .cta_fax {
    width: 100%;
    padding: 1.25rem 0;
    border-left: 0;
    border-right: 0;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff
  }
}
#sub-column .cta .cta_mail {
  width: calc(100% / 3);
  padding: 2.1875rem 1.875rem
}
@media (max-width: 640px) {
  #sub-column .cta .cta_mail {
    width: 100%;
    padding: 1.25rem 0
  }
}
#sub-column .cta .tel {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 2.4375rem;
  line-height: 1;
  margin: .625rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
#sub-column .cta .tel a {
  text-decoration: none;
  letter-spacing: 2px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end
}
#sub-column .cta .tel i {
  font-size: 1.375rem;
  margin-right: .9375rem;
  margin-bottom: .3125rem;
  display: block;
  width: 1.375rem
}
#sub-column .cta .btn_white {
  width: 18.75rem;
  color: #a22525;
  text-decoration: none;
  margin: 1.25rem auto 0 auto
}
#sub-column .cta .btn_white:hover {
  color: #a22525
}
#sub-column .cta a {
  color: #FFF;
  text-decoration: underline
}
#sub-column .cta a:hover {
  color: #eccad9
}
#sub-column .common_guide {
  background: #ECCAD9;
  padding: 3.125rem 0 0 0;
  font-weight: 400
}
#sub-column .common_guide .common_guideinner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
#sub-column .common_guide .common_guideblock {
  width: 22.1875rem;
  margin-bottom: 2.8125rem;
}
@media (max-width: 640px) {
  #sub-column .common_guide .common_guideblock {
    width: 100%
  }
}
#sub-column .common_guide .common_guideblock.calender{
  height: 25rem;
}
#sub-column .common_guide .common_guideblock h3 {
  font-size: 1.125rem;
  color: #a22525;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid #a22525;
  padding-bottom: .625rem;
  margin-bottom: .625rem
}
#sub-column .common_guide .common_guideblock h3 i {
  width: 1.875rem;
  height: 1.875rem;
  display: block;
  margin-right: .9375rem
}
#sub-column .common_guide .common_guideblock p {
  margin-bottom: .5rem
}
#sub-column .common_guide .common_guideblock ul {
  line-height: 1.8;
  margin-left: 1.5em
}
#sub-column .common_guide .common_guideblock ul li {
  list-style: disc
}
#sub-column .common_guide .common_guideblock dl {
  line-height: 1.8
}
#sub-column .common_guide .common_guideblock dl dt {
  font-weight: 700
}
#sub-column .common_guide .common_guideblock table {
  border: 1px solid #a22525;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
#sub-column .common_guide .common_guideblock table th, #sub-column .common_guide .common_guideblock table td {
  border: 1px solid #a22525;
  padding: .9375rem;
  text-align: left
}
#sub-column .common_guide .common_guideblock table th {
  width: 8.75rem
}
.common_footer {
  background: #fff;
  padding: 2.5rem 0
}
@media (max-width: 640px) {
  .common_footer {
    padding: 2.5rem 0 12.5rem 0
  }
}
.common_footer a {
  text-decoration: none
}
.common_footer .common_footerinner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media (max-width: 640px) {
  .common_footer .common_footerinner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.common_footer .footer_address {
  width: 27.8125rem;
  margin-right: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
@media (max-width: 640px) {
  .common_footer .footer_address {
    width: 100%;
    margin-bottom: 1.25rem;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.common_footer .footer_address h3 {
  margin-bottom: 2.1875rem;
  width: 55%;
  margin-right: 2.5em
}
.common_footer .footer_address ul li {
  font-size: .95rem;
  margin-bottom: 1.25rem
}
.common_footer .footer_address ul li.footer_sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1.25rem
}
.common_footer .footer_address ul li.footer_sns a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #FFF;
  font-size: 1.25rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 2.5rem;
  height: 2.5rem;
  background: #a22525;
  border-radius: 50%;
  margin-right: .625rem
}
.common_footer .footer_address ul li.footer_sns a:hover {
  text-decoration: none;
  background: #e07373
}
.common_footer .footer_outsite {
  width: 11.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media (max-width: 640px) {
  .common_footer .footer_outsite {
    width: 100%
  }
}
.common_footer .footer_mailmagazine, .common_footer .footer_blog {
  width: 10.9375rem;
  border: 1px solid #a22525;
  padding: 0 .9375rem;
  color: #a22525;
  height: 14.0625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-bottom: 1.25rem
}
@media (max-width: 640px) {
  .common_footer .footer_mailmagazine, .common_footer .footer_blog {
    width: 100%;
    height: auto;
    padding: .9375rem;
  }
}
.common_footer .footer_mailmagazine h4, .common_footer .footer_blog h4 {
  font-size: .9375rem;
  text-align: center;
  margin-bottom: .625rem
}
.common_footer .footer_mailmagazine figure, .common_footer .footer_blog figure {
  text-align: center
}
.common_footer .footer_mailmagazine figure figcaption, .common_footer .footer_blog figure figcaption {
  color: #000;
  font-weight: normal;
  font-size: .83125rem
}
.common_footer .footer_mailmagazine p, .common_footer .footer_blog p {
  margin-top: 1.25rem;
  font-size: .83125rem
}
.common_footer .footer_mailmagazine a, .common_footer .footer_blog a {
  display: block;
  color: #a22525
}
.common_footer .footer_mailmagazine a:hover, .common_footer .footer_blog a:hover {
  text-decoration: none;
  color: #e07373
}
.common_footer .footer_nav {
  width: 30.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
@media (max-width: 640px) {
  .common_footer .footer_nav {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.common_footer .footer_nav dl {
  width: 12.5rem;
  margin-right: 1.875rem
}
@media (max-width: 640px) {
  .common_footer .footer_nav dl {
    width: 100%;
    margin-right: 0;
    margin-bottom: 1.25rem
  }
}
.common_footer .footer_nav dl dt {
  font-size: 1.125rem;
  padding-bottom: .625rem;
  border-bottom: 1px solid #000;
  margin-bottom: 1.25rem
}
.common_footer .footer_nav dl dd {
  font-weight: normal
}
.common_footer .footer_nav dl dd ul li {
  margin-bottom: 1.25rem
}
.common_footer .footer_nav dl dd ul li:last-child {
  margin-bottom: 0
}
.common_footer .footer_nav ul {
  width: 12.5rem
}
@media (max-width: 640px) {
  .common_footer .footer_nav ul {
    width: 100%
  }
}
.common_footer .footer_nav ul li.footer_nav_parent {
  font-size: 1.125rem;
  margin-bottom: 1.25rem
}
.common_footer .footer_nav ul li.footer_nav_child {
  font-weight: normal;
  margin-top: 1.25rem
}
.common_footer .copy {
  font-weight: normal;
  font-size: .75rem;
  text-align: center;
  margin-top: 3.4375rem
}
.sectionblock {
  padding: 5rem 0;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    box-sizing: border-box;
}
@media (max-width: 640px) {
  .sectionblock {
    padding: 2.5rem 0
  }
}
.sectionblock h2 {
  font-size: 2rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-align: center;
  margin-bottom: 1.875rem;
  font-weight: 500
}
@media (max-width: 640px) {
  .sectionblock h2 {
    font-size: 1.5rem
  }
}
.cards_2column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media (max-width: 640px) {
  .cards_2column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.cards_2column li {
  width: 48.5%;
  margin: .625rem 0
}
@media (max-width: 640px) {
  .cards_2column li {
    width: 100%
  }
}
.cards_3column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -.625rem
}
@media (max-width: 640px) {
  .cards_3column {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0
  }
}
.cards_3column li {
  width: calc(100% / 3 - 1.25rem);
  margin: .625rem
}
@media (max-width: 640px) {
  .cards_3column li {
    width: 48.5%;
    margin: .625rem 0
  }
}
.cards_4column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -1.0625rem
}
@media (max-width: 640px) {
  .cards_4column {
    margin: 0;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}
.cards_4column a {
  display: block
}
.cards_4column a:hover {
  text-decoration: none;
  opacity: 0.7
}
.cards_4column li {
  width: calc(100% / 4 - 2.125rem);
  margin: .625rem 1.0625rem
}
@media (max-width: 640px) {
  .cards_4column li {
    width: 48.5%;
    margin: .625rem 0
  }
}
.cards_4column figure {
  text-align: center;
  margin-bottom: .9375rem
}
.cards_4column figure:hover {
  opacity: 1
}
.cards_4column figure:hover img {
  opacity: 1
}
.cards_4column figure.square img {
  width: 100%;
  height: 17.1875rem;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit:cover;'
}
@media (max-width: 640px) {
  .cards_4column figure.square img {
    height: 9.375rem
  }
}
.cards_4column h3 {
  text-align: center;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 1.5rem;
  margin-bottom: .625rem;
  font-weight: 500
}
@media (max-width: 640px) {
  .cards_4column h3 {
    font-size: .95rem;
    letter-spacing: -.01rem
  }
}
.cards_4column .desc {
  text-align: center
}
@media (max-width: 640px) {
  .cards_4column .desc {
    font-size: .75rem
  }
}
.cards_4column-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -.78125rem
}
@media (max-width: 640px) {
  .cards_4column-box {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0
  }
}
.cards_4column-box li {
  width: calc(100% / 4 - 1.5625rem);
  margin: .625rem .78125rem
}
@media (max-width: 640px) {
  .cards_4column-box li {
    width: 48.5%;
    margin: .3125rem 0
  }
}
.cards_5column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -.78125rem
}
@media (max-width: 640px) {
  .cards_5column {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0
  }
}
.cards_5column li {
  width: calc(100% / 5 - 1.5625rem);
  margin: .625rem .78125rem
}
@media (max-width: 640px) {
  .cards_5column li {
    width: 48.5%;
    margin: .3125rem 0
  }
}
.category_tag {
  color: #a22525 !important;
  border: 1px solid #a22525;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 5.625rem;
  font-size: 1.25rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-align: center;
  line-height: 1.4;
  background: #FFF
}
@media (max-width: 640px) {
  .category_tag {
    font-size: .95rem;
    height: 3.75rem
  }
}
.category_tag:hover {
  text-decoration: none;
  background: #a22525;
  color: #FFF !important;
}
.top_regularitem {
  padding-top: 0;
  background: url("/pic-labo/bg_toppage_from_company.png")
}
.top_regularitem h2 {
  color: #FFF;
  background: #B54C4C;
  border-top: .875rem solid #A22525;
  padding: 1.875rem 0 7.5rem 0;
  margin-bottom: 0
}
.top_regularitem .sectionblock_inner {
  margin-top: -5.625rem
}
.top_itemcatlist {
  padding-top: 0;
  background: url("/pic-labo/bg_toppage_from_company.png")
}
.top_about {
  background: url("/pic-labo/bg_toppage_from_company.png")
}
.top_about .cards_about {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 1.875rem
}
.top_about .cards_about li {
  width: calc(100% / 4);
  color: #FFF;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 1.5625rem;
  position: relative
}
@media (max-width: 640px) {
  .top_about .cards_about li {
    width: 50%;
    font-size: 1rem
  }
}
.top_about .cards_about li a {
  width: 100%;
  height: 17.1875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #FFF
}
@media (max-width: 640px) {
  .top_about .cards_about li a {
    height: 9.375rem
  }
}
.top_about .cards_about li a:hover {
  text-decoration: none;
  opacity: 0.7
}
.top_about .cards_about li a:hover img {
  opacity: 1
}
.top_about .cards_about li figure {
  text-align: center;
  position: absolute;
  top: 0;
  left: 0
}
.top_about .cards_about li p {
  position: relative;
  z-index: 10
}
@media (max-width: 640px) {
  .top_about .cards_3column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
  .top_about .cards_3column li {
    width: 100%;
    margin: .3125rem 0
  }
  .top_about .cards_3column .btn_square {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    height: 5rem;
    padding: 0 1.25rem;
    font-size: 1.125rem
  }
}
.top_information h2 {
  width: 9.375rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  border-left: .5625rem solid #a22525;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  padding-right: 3.125rem;
  letter-spacing: 5px
}
@media (max-width: 640px) {
  .top_information h2 {
    width: 100%;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    border-left: 0;
    border-top: .28125rem solid #a22525;
    padding-right: 0;
    padding-top: 1.5625rem;
    margin-bottom: 1.875rem
  }
}
.top_information .top_information_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
@media (max-width: 640px) {
  .top_information .top_information_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.top_information .top_information_inner ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 1.875rem
}
@media (max-width: 640px) {
  .top_information .top_information_inner ul li {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}
.top_information .top_information_inner ul li:last-child {
  margin-bottom: 0
}
.top_information .top_information_inner ul li .cat {
  background: #a22525;
  color: #FFF;
  font-size: .75rem;
  padding: .4375rem;
  margin-right: 1.25rem
}
.top_information .top_information_inner ul li time {
  margin-right: 1.25rem
}
.top_information .top_information_inner ul li h3 {
  line-height: 1.4
}
@media (max-width: 640px) {
  .top_information .top_information_inner ul li h3 {
    width: 100%;
    margin-top: .625rem
  }
}
.material {
  padding-bottom: 6.25rem
}
.material .material_header {
  margin-bottom: 3.75rem
}
.material .material_header .material_nav {
  margin-bottom: 3.75rem
}
.material .material_header .material_nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
.material .material_header .material_nav ul a {
  border: 2px solid #ccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 3.75rem;
  font-size: 1.375rem
}
.material .material_header .material_nav ul a.active {
  background: #a22525;
  color: #FFF;
  pointer-events: none
}
.material .material_header .material_nav ul a:hover {
  text-decoration: none;
  color: #fff;
  background: #a22525
}
.material .material_header .material_nav ul li {
  width: 35%;
  margin: 1%
}
.material_subnav {
  margin-bottom: 1.25rem
}
.material_subnav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}
.material_subnav ul li {
  width: calc(100% / 6 - 1%);
  margin: .5%
}
.material_subnav ul.col4 li {
  width: calc(100% / 4 - 1%);
  margin: .5%;
  font-size: .875em;
  line-height: 1.4;
}
@media (max-width: 640px) {
  .material_subnav ul {
    -webkit-justify-content: space-between;
            justify-content: space-between;
  }
  .material_subnav ul li, .material_subnav ul.col4 li {
    width: 100%;
    margin: .5% 0
  }
}
.material_subnav ul a {
  color: #a22525;
  border: 1px solid #a22525;
  width: 100%;
  height: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
.material_subnav ul a:hover {
  text-decoration: none;
  color: #fff;
  background: #a22525
}
.material_subnav ul a.active{
  text-decoration: none;
  color: #fff;
  background: #a22525;
  pointer-events: none;
}
.material_att {
  color: #a22525;
  font-size: .875rem;
  font-weight: 500
}
.material .material_body .material_box {
  margin-bottom: 3.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: .875rem;
  margin-top: -350px;
  padding-top: 350px;
}
.material .material_body .material_box .material_img {
  width: 18.75rem;
  margin-right: 1.875rem
}
.material .material_body .material_box .material_text {
  font-weight: 500;
  line-height: 1.6;
  width: 100%
}
.material .material_body .material_box .material_text tr {
  border-bottom: 1px solid #DACA98
}
.material .material_body .material_box .material_text th {
  background: #F3EEDD;
  text-align: left;
  padding: .9375rem;
  width: 12.5rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: middle
}
.material .material_body .material_box .material_text td {
  padding: .9375rem;
  vertical-align: middle
}
@media (max-width: 640px) {
  .material .material_header .material_nav{
    margin-bottom: 1.8725rem;
  }
  .material .material_header .material_nav ul{
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .material .material_header .material_nav ul li{
    width: 100%;
    margin:1% 0;
  }
  .material .material_header .material_nav ul li a{
    font-size: 1rem;
  }
  .material .material_header .material_subnav ul{
    -webkit-justify-content: space-between;
            justify-content: space-between;
  }
  .material .material_header .material_subnav ul li{
    width: 48.5%;
    margin:1% 0;
  }
  .material .material_body .material_box{
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: -150px;
    padding-top: 150px;
  }
  .material .material_body .material_box .material_img{
    width: 100%;
    margin-bottom: 1.25rem;
    margin-right: 0;
  }
  .material .material_body .material_box .material_text th, .material .material_body .material_box .material_text td{
    width: 100%;
    display: block;
  }
  .material .material_body .material_box .material_text th{
    border-bottom: 1px solid #DACA98;
  }
}
@keyframes fade-in {
  0% {
    display: none;
    opacity: 0
  }
  1% {
    display: block;
    opacity: 0
  }
  100% {
    display: block;
    opacity: 1
  }
}
@-webkit-keyframes fade-in {
  0% {
    display: none;
    opacity: 0
  }
  1% {
    display: block;
    opacity: 0
  }
  100% {
    display: block;
    opacity: 1
  }
}
.clearfix::after {
  content: "";
  clear: both;
  display: block
}
/*　ショップサーブデフォルト*/
#contents{
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.news {
  width: 77.5rem;
  margin: 0 auto;
  padding: 5rem 1.25rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: flex;
  -webkit-align-items: center;
          align-items: center;
}
@media (max-width: 640px) {
  .news {
    width: 100%;
    padding: 2.5rem 0;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.news h2 {
  width: 9.375rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  border-left: .5625rem solid #a22525;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  padding-right: 3.125rem;
  letter-spacing: 5px;
  font-size: 2rem;
  font-family: "游明朝",YuMincho,"Hiragino Mincho ProN W3","ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
  font-weight: 500;
}
@media (max-width: 640px) {
  .news h2 {
    font-size: 1.5rem;
    width: 100%;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    border-left: 0;
    border-top: .28125rem solid #a22525;
    padding-right: 0;
    padding-top: 1.5625rem;
    margin-bottom: 1.875rem
  }
}
.news dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 1.875rem
}
@media (max-width: 640px) {
  .news dl {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
      line-height: 1.4;
  }
}
.news dl:last-child {
  margin-bottom: 0
}
.news dl .cat {
  background: #a22525;
  color: #FFF;
  font-size: .75rem;
  padding: .4375rem;
  margin-right: 1.25rem
}
.news dl time {
  margin-right: 1.25rem
}
.news dl h3 {
  line-height: 1.4
}
@media (max-width: 640px) {
  .news dl h3 {
    width: 100%;
    margin-top: .625rem
  }
}
#sub-column {
    background: #ECCAD9;
    position: relative;
    padding-top: 18rem;
}
@media (max-width: 640px) {
  #sub-column {
    padding-top: 23.125rem;
  }
}
#sub-column section:nth-child(2) {
  width: 77.5rem;
  margin: 0 auto;
  padding: 0 1.25rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}
@media (max-width: 640px) {
  #sub-column section:nth-child(2) {
    width: 100%
  }
}
#subc_calendar {
    width: 22.1875rem;
    position: absolute;
    top: 6.25rem;
    left: 1.25rem;
}
@media (max-width: 640px) {
  #subc_calendar{
    width: 100%;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 1.25rem;
    left: 0;
  }
}
#subc_calendar table.cal{
  width: 100%;
  margin-bottom: 1.25rem;
  text-align: center;
  line-height: 1.4;
}
#subc_calendar table.cal tr:first-child th{
  padding-bottom: .625rem;
  position: relative;
}
#subc_calendar table.cal .month{
  display: inline-block;
  vertical-align: middle;
}
#subc_calendar table.cal .prev{
  display: inline-block;
  vertical-align: middle;
  margin-right: 1em;
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  background: url(/pic-labo/icon-cal-left.png) no-repeat;
  background-size:contain;
  position: absolute;
  top: 0.5rem;
  left: 0;
}
#subc_calendar table.cal .next{
  display: inline-block;
  vertical-align: middle;
  margin-left: 1em;
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  background: url(/pic-labo/icon-cal-right.png) no-repeat;
  background-size:contain;
  position: absolute;
  top: 0.5rem;
  right: 0;
}
#subc_calendar table.cal tr.headline td {
    background: #a22525;
    color: #fff;
}
#subc_calendar table.cal td{
  border:1px solid #000;
  background: #FFF;
}
.cap ul{
  display: flex;
  margin-bottom: .9375rem;
}
.cap ul .cap_txt{
  margin-right: 1em;
}
.cap-info {
    font-weight: 400;
    font-size: .875rem;
    line-height: 1.5;
}
#floating-menu{
  bottom: 11.5625rem !important;
}
#main-column {
  width: 77.5rem;
  margin: 0 auto;
  padding: 1.875rem 1.25rem 0 1.25rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  
}
@media (max-width: 640px) {
  #main-column {
    width: 100%;
    font-size: .875rem;
  }
}
/* 商品一覧 */
section > .header_area{
  margin-bottom: 1.5rem;
}
#itemList_wrap #pager-top{
  margin-bottom: 2.5rem;
}
#itemList_wrap .selectbox{
  margin-bottom: 1.125rem;
  display: none;
}
#itemList_wrap .pagerlist{
  margin:1em 0;
}
#itemList_wrap .pagerlist ul{
  display: flex;
}
#itemList_wrap .pagerlist ul li{
  margin-right: 0.5em;
}
#itemList_wrap .pagerlist ul li.selected{
  background: #A22525;
  color: #fff;
  min-width: 2.5rem;
  height: 2.5rem;
  display: flex;
  padding: 0 .3175rem;
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: center;
          justify-content: center;
  border:1px solid #ccc;
}
#itemList_wrap .pagerlist ul li a{
  min-width: 2.5rem;
  height: 2.5rem;
  display: flex;
  padding: 0 .3175rem;
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: center;
          justify-content: center;
  border:1px solid #ccc;
}
#itemList_wrap .pagerlist ul li a:hover{
  text-decoration: none;
  background: #A22525;
  color: #fff;
}
#itemList_wrap .selectbox .select01{
  border:1px solid #ccc;
  padding: 0.5em;
  margin-right: 1em;
}
@media (max-width: 640px) {
  #itemList_wrap .selectbox .select01{
    display: block;
    margin:.7em 0;
  }
}
#itemList_wrap h1{
  font-size: 2rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-align: center;
  margin-bottom: 1.875rem;
  font-weight: 500;
}
#itemList_wrap .column-set{
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin:0 -0.9375rem;
}
#itemList_wrap .column-set .column4{
  width: calc(100% / 4 - 1.875rem);
  margin:1.25rem 0.9375rem;
  position: relative;
}
@media (max-width: 640px) {
  #itemList_wrap .column-set{
    margin:0;
    -webkit-justify-content: space-between;
            justify-content: space-between;
  }
  #itemList_wrap .column-set .column4{
    width: 48.5%;
    margin:1.25rem 0;
  }
}
#itemList_wrap .itemThumb-wrap{
  text-align: center;
  margin-bottom: 1.25rem;
  position: relative;
}
#itemList_wrap .itemThumb-wrap .badge{
  position: absolute;
  top: -0.625rem;
  left: -0.625rem;
  width: 3.5rem;
  height: 3.5rem;
  z-index:1;
}
@media (max-width: 640px) {
  #itemList_wrap .itemThumb-wrap .badge{
    position: absolute;
    top: -0.625rem;
    left: -0.625rem;
    width: 2.5rem;
    height: 2.5rem;
    z-index:1;
  }
}
#itemList_wrap .itemThumb-wrap a{
  display: block;
  text-decoration: none;
}
#itemList_wrap h2{
  font-size: 1.25rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: .625rem;
  font-weight: 500;
  line-height: 1.4;
}
@media (max-width: 640px) {
  #itemList_wrap h2{
    font-size: 1rem;
  }
}
#itemList_wrap .price{
line-height: 1;
}
#itemList_wrap .price .selling_price{
  font-size: 1.5rem;
}
@media (max-width: 640px) {
  #itemList_wrap .price .selling_price{
    font-size: 1.25rem;
  }
}
#itemList_wrap .price span{
  color: #A22525;
}
#itemList_wrap .inner-catch{
  margin-top: 1em;
}
#itemList_wrap .sps-wishAddItem{
  position: absolute;
  top: .875rem;
  right: .625rem;
  display: none;
}
@media (max-width: 640px) {
  #itemList_wrap .sps-wishAddItem{
    top: .5rem;
  }
}
#itemList .column4 .sps-wishAddItem img, #itemList .column5 .sps-wishAddItem img,
#itemList .column4 .sps-wishAddItemOk img, #itemList .column5 .sps-wishAddItemOk img , #itemList_wrap .sps-wishAddItem img{
  width: 2.25rem;
}
h2.sps-add-to-cart-together {
    display: none;
}
/* 商品詳細 */
#itemDetail-wrap #itemDetail-cont{
  margin-bottom: 3.5rem;
}
#itemDetail-wrap .description{
  line-height: 1.8;
  margin-bottom: 3.5rem;
}
#itemDetail-wrap .shopping_form{
  display: flex;
  -webkit-justify-content: space-between;
          justify-content: space-between;
}
@media (max-width: 640px) {
  #itemDetail-wrap .shopping_form{
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#itemDetail-wrap .shopping_form .itemThumb-wrap{
  width: 53.3%;
}
@media (max-width: 640px) {
  #itemDetail-wrap .shopping_form .itemThumb-wrap{
    width: 100%;
    margin-bottom: 1.25rem;
  }
}
#itemDetail-wrap .shopping_form .itemThumb-wrap .itemThumb-main{
  margin-bottom: 1.25rem;
}
#itemDetail-wrap .shopping_form .itemThumb-wrap .itemThumb ul{
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin:0 -.625rem;
}
#itemDetail-wrap .shopping_form .itemThumb-wrap .itemThumb ul li{
  width: calc(100% / 4 - 1.25rem);
  margin:.625rem;
}
#itemDetail-wrap .shopping_form .itemOutline{
  width: 42%;
}
@media (max-width: 640px) {
  #itemDetail-wrap .shopping_form .itemOutline{
    width: 100%;
  }
}
#itemDetail-wrap .shopping_form .itemOutline h1{
  font-size: 1.5rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: .625rem;
  font-weight: 700;
  line-height: 1.4;
}
#itemDetail-wrap .shopping_form .itemOutline table.price{
  width: 100%;
  line-height:1.6;
  border-bottom: 1px solid #ccc;
  margin-bottom: 1.25rem;
}
#itemDetail-wrap .shopping_form .itemOutline table.price tr{
  display: flex;
  -webkit-align-items: center;
          align-items: center;
}
#itemDetail-wrap .shopping_form .itemOutline table.price th{
  text-align: left !important;
  padding: 0.625rem !important;
  vertical-align: middle !important;
  width: auto !important;
  display: block;
  margin-right: 1em;
}
#itemDetail-wrap .shopping_form .itemOutline table.price td{
  padding: 0.625rem !important;
  vertical-align: middle !important;
  color: #a22525;
}
#itemDetail-wrap .shopping_form .itemOutline table.price td .selling_price{
  font-size: 2.25rem;
}
#itemDetail-wrap .shopping_form .itemOutline table.spec{
  width: 100%;
  line-height:1.6;
  margin-bottom: 1.25rem;
}
#itemDetail-wrap .shopping_form .itemOutline table.spec tr{
  border-bottom: 1px solid #ccc;
  display: flex;
}
#itemDetail-wrap .shopping_form .itemOutline table.spec th{
  text-align: left !important;
  padding: 0.625rem !important;
  vertical-align: middle !important;
  width: auto !important;
  display: block;
}
#itemDetail-wrap .shopping_form .itemOutline table.spec td{
  padding: 0.625rem !important;
  vertical-align: middle !important;
}
#itemDetail-wrap .shopping_form .itemOutline table.spec td input[type="text"]{
  border:1px solid #000;
  padding: 0.25rem;
}
.option_comment {
    margin-bottom: .625rem;
}
select.option_parts {
    border: 1px solid #000;
    padding: .625rem;
}
.expl{
  display: none;
}
.expl-fixed{
  top: auto !important;
  bottom: 0 !important;
  display: none;
}
.cancel{
  text-align: right;
  margin-top: 1.25rem;
}
.table_info{
  width: 100%;
  border: 1px solid #A22525;
  margin-bottom: 2.5rem;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
.table_info td{
  text-align: left;
  padding: .625rem;
  border: 1px solid #A22525;
}
@media (max-width: 640px) {
  .table_info td{
    width: 100%;
    display: block;
  }
}
.table_info .td_head{
  background: #ECCAD9;
  width: 13.5rem;
}
@media (max-width: 640px) {
  .table_info .td_head{
    width: 100%;
  }
}
.table_info .td_odd a{
  text-decoration: underline;
}
.table_info .td_odd a:hover{
  color: #A22525;
}
.recommend{
  margin-top: 3.75rem;
}
.recommend h2{
  font-size: 2rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-align: center;
  margin-bottom: 1.875rem;
  font-weight: 500;
}
@media (max-width: 640px) {
  .recommend h2{
    font-size: 1.5rem;
  }
}
.pickup{
  padding-bottom: 3.75rem;
}
.pickup h2{
  font-size: 2rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-align: center;
  margin-bottom: 1.875rem;
  font-weight: 500;
}
@media (max-width: 640px) {
  .pickup h2{
    font-size: 1.5rem;
  }
}
.column-set {
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin:0 -0.9375rem;
}
@media (max-width: 640px) {
  .column-set {
    -webkit-justify-content: space-between;
            justify-content: space-between;
    margin: 0;
  }
}
.column-set .column5{
  width: calc(100% / 4 - 1.875rem);
  margin:0.9375rem;
}
@media (max-width: 640px) {
  .pickup .column-set{
    -webkit-justify-content: space-between;
            justify-content: space-between;
    margin:0.9375rem 0;
  }
  .column-set .column5{
    width: 48.5%;
    margin:0.9375rem 0;
  }
}
.column-set .column5 .itemThumb-wrap{
  position: relative;
  margin-bottom: 0.9375rem;
}
.column-set .column5 .itemThumb-wrap .badge{
  position: absolute;
  top: -0.625em;
  left: -0.625em;
  width: 3.5rem;
  z-index:1;
}
@media (max-width: 640px) {
  .column-set .column5 .itemThumb-wrap .badge{
    width: 2.5rem;
  }
}
.column-set .column5 h3{
  font-size: 1.25rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: .625rem;
  font-weight: 500;
  line-height: 1.4;
}
@media (max-width: 640px) {
  .column-set .column5 h3{
    font-size: .9375rem;
  }
}
.column-set .column5 .price span{
  color: #A22525;
  font-size: 1.5rem;
}
.column-set .column5 .price .taxin{
  font-size: 1rem;
}
#guide h1{
  font-size: 2rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-align: center;
  margin-bottom: 1.875rem;
  font-weight: 500;
}
#guide {
  width: 62.5rem;
  margin: 0 auto;
  padding: 0 1.25rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
@media (max-width: 640px) {
  #guide {
    width: 100%;
    padding: 0;
  }
  #guide h1{
    font-size: 1.5rem;
  }
}
#guide h2{
  font-size: 1.25rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: .625rem;
  font-weight: 500;
  line-height: 1.4;
}
#guide table{
  width: 100%;
  border: 1px solid #000;
  line-height: 1.6;
  font-weight: 400;
}
#guide table th{
  border: 1px solid #000;
  vertical-align: middle;
  width: 9rem;
  padding: 0.625rem;
  background: #ECCAD9;
  text-align: left;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
#guide table td{
  border: 1px solid #000;
  vertical-align: middle;
  padding: 0.625rem;
}
@media (max-width: 640px) {
  #guide table th, #guide table td{
    width: 100%;
    display: block;
  }
}
.cartArea {
  margin-bottom: 1.25rem;
}
.cartArea .nostock{
  width: 100px;
  height: auto;
}
.cartArea input[type="image"]{
  display: block;
  width: 100%;
}
#Journal > h1 {
    display: none;
}
#Journal article > h2 {
    display: none;
}
.state_r {
    display: none;
}
.page_header {
  position: relative;
  margin:2.5rem 0 1.25rem 0;
  padding: 0;
}
.page_header h1, #contact h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: 2rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  width: 100%;
  padding: 0.5em 0;
  border-top: solid 2px #a22525;
  border-bottom: solid 2px #a22525;
}
@media (max-width: 640px) {
  .page_header h1 {
    font-size: 1.375rem
  }
}
.page_header + .sectionblock{
  padding-top: 1.25rem;
}
.page_nav {
  margin: 3.75rem 0 0 0;
  position: relative;
  z-index:10;
}
@media (max-width: 640px) {
  .page_nav {
    margin-bottom: 1.875rem
  }
}
.page_nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 -1.28125rem;
  font-size: 1rem;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
@media (max-width: 640px) {
  .page_nav ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0;
    padding: 0 1.25rem
  }
}
.page_nav ul li {
  margin: 0 1.28125rem .9375rem 1.28125rem
}
@media (max-width: 640px) {
  .page_nav ul li {
    width: 100%;
    margin: .5em 0
  }
}
.page_nav ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 1.2em;
  background: url("/assets/img/icon-link.png") no-repeat left bottom .125rem;
  background-size: .625rem
}
.page_nav ul li a:hover {
  text-decoration: none;
  color: #a22525;
  background: url("/assets/img/icon-link-hover.png") no-repeat left bottom .125rem;
  background-size: .625rem
}
.page_ttl {
  text-align: center;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: 3.125rem !important;
  padding-bottom: 2.1875rem;
  position: relative;
  line-height: 1.4;
}
.page_ttl:after {
  content: '';
  width: 3.75rem;
  height: 2px;
  background: #a22525;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto
}
.page_subttl {
  font-size: 1.5rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #a22525;
  margin-bottom: 2.8125rem;
  line-height: 1.4;
  text-align: left !important;
}
@media (max-width: 640px) {
  .page_subttl {
    font-size: 1.25rem;
  }
}
.page_minttl {
  font-size: 1.25rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: 1.25rem;
  line-height: 1.4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 700
}
.page_basettl {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: .625rem
}
.page_bkttl {
  background: #FFEFF6;
  line-height: 1.4;
  font-size: 1.25rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: 1.25rem;
  padding: .625rem
}
.page_linettl {
  line-height: 1.4;
  font-size: 1.25rem;
  margin-bottom: 1.25rem;
  border-bottom: 2px solid #a22525;
  padding-bottom: .625rem;
  margin-bottom: 1.25rem
}
.red_ttl {
  font-size: 1.5rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: #a22525;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 4.375rem
}
.red_ttl i {
  display: block;
  margin-bottom: .9375rem
}
.min_ttl {
  font-size: 1.125rem;
  color: #fff;
  margin-bottom: 1.25rem;
  background: #a22525;
  padding: .4375rem
}
.min_ttl i {
  display: block;
  margin-bottom: .9375rem
}
.caption_small {
  font-size: .75rem;
  color: #707F89;
  margin-top: -1.25rem;
  display: block
}
.col_address {
  margin-bottom: 1.875rem
}
.accent_block {
  border: 2px solid #A22525;
  padding: 1.25rem;
  font-size: 1.25rem;
  text-align: center
}
@media (max-width: 640px) {
  .accent_block {
    padding: .9375rem;
    font-size: 1rem
  }
}
.accent_block h3 {
  color: #A22525;
  text-align: center;
  font-size: 1.375rem;
  margin-bottom: .625rem
}
@media (max-width: 640px) {
  .accent_block h3 {
    font-size: 1.125rem
  }
}
.strong_accent {
  color: #A22525;
  font-size: 1.125rem
}
.section_col-single {
  margin-bottom: 3.125rem
}
.section_col-single figure {
  text-align: center;
  margin-bottom: 3.125rem
}
.section_col-single figure figcaption {
  margin-top: .625rem;
  font-size: .875rem;
  color: #707F89
}
.section_col-single p {
  margin-bottom: 1.5em
}
.section_col-single p:last-child {
  margin-bottom: 0
}
.section_col-single iframe {
  width: 100%;
  height: 28.125rem
}
.section_col-herf {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 3.125rem
}
/*
.section_col-herf:last-child {
  margin-bottom: 0
}
*/
.section_col-herf p {
  margin-bottom: 1.5em
}
.section_col-herf p:last-child {
  margin-bottom: 0
}
.section_col-herf .section_colblock {
  width: 48%
}
@media (max-width: 640px) {
  .section_col-herf .section_colblock {
    width: 100%;
    margin-bottom: 2.8125rem;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
  }
}
@media (max-width: 640px) and (max-width: 640px) {
  .section_col-herf .section_colblock {
    margin-bottom: 0
  }
}
@media (max-width: 640px) {
  .section_col-herf .section_colblock:last-child {
    margin-bottom: 0
  }
}
.section_col-herf .section_colblock figure {
  width: 100%
}
.section_col-herf figure {
  width: 48%
}
@media (max-width: 640px) {
  .section_col-herf figure {
    width: 100%;
    margin-bottom: 1.25rem;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
  }
}
.section_col-herf figure figcaption {
  margin-top: .625rem;
  font-size: .875rem;
  color: #707F89
}
.section_col-herf .herfimg {
  width: 48%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media (max-width: 640px) {
  .section_col-herf .herfimg {
    width: 100%;
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    margin-top: 1.25rem
  }
}
.section_col-herf .herfimg figure {
  width: 48.5%
}
.section_col-triherf {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 3.125rem
}
.section_col-triherf:last-child {
  margin-bottom: 0
}
.section_col-triherf p {
  margin-bottom: 1em
}
.section_col-triherf p:last-child {
  margin-bottom: 0
}
.section_col-triherf .section_colblock {
  width: 65%
}
@media (max-width: 640px) {
  .section_col-triherf .section_colblock {
    width: 100%;
    margin-bottom: 2.8125rem;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2
  }
}
@media (max-width: 640px) and (max-width: 640px) {
  .section_col-triherf .section_colblock {
    margin-bottom: 0
  }
}
@media (max-width: 640px) {
  .section_col-triherf .section_colblock:last-child {
    margin-bottom: 0
  }
}
.section_col-triherf .section_colblock figure {
  width: 100%
}
.section_col-triherf figure {
  width: 32%;
  text-align: center
}
@media (max-width: 640px) {
  .section_col-triherf figure {
    width: 100%;
    margin-bottom: 1.25rem;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
  }
}
.section_col-triherf figure figcaption {
  margin-top: .625rem;
  font-size: 1rem;
  margin-bottom: 1.875rem;
}
.section_col-triherf figure img {
  display: block;
}
.section_col-semiherf {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
@media (max-width: 640px) {
  .section_col-semiherf {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.section_col-semiherf .pagetel {
  width: 48.5%
}
@media (max-width: 640px) {
  .section_col-semiherf .pagetel {
    width: 100%;
    margin: .5em 0
  }
}
.section_col-quarter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 3.125rem
}
@media (max-width: 640px) {
  .section_col-quarter {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
  }
}
.section_col-quarter:last-child {
  margin-bottom: 0
}
.section_col-quarter p {
  margin-bottom: 2.1875rem
}
.section_col-quarter p:last-child {
  margin-bottom: 0
}
.section_col-quarter .section_colblock {
  width: calc(100% - 19.0625rem)
}
@media (max-width: 640px) {
  .section_col-quarter .section_colblock {
    width: 100%;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
  }
}
.section_col-quarter .section_colblock h3 {
  margin-bottom: 1.875rem
}
.section_col-quarter figure {
  width: 17.1875rem
}
@media (max-width: 640px) {
  .section_col-quarter figure {
    width: 100%;
    text-align: center;
    margin-bottom: .9375rem
  }
}
.section_col-quarter figure figcaption {
  margin-top: .625rem;
  font-size: .875rem;
  color: #707F89
}
.section_col-quarter figure img {
  width: 100%;
  height: 17.1875rem;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: 'object-fit:cover;'
}
.section_col-3 p {
  margin-bottom: 1.25rem
}
.section_col-3 p:last-child {
  margin-bottom: 0
}
.section_col-3 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -1.875rem
}
@media (max-width: 640px) {
  .section_col-3 ul {
    margin: 0;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}
.section_col-3 ul li {
  width: calc(100% / 3 - 3.75rem);
  margin: 1.875rem
}
@media (max-width: 640px) {
  .section_col-3 ul li {
    width: 100%;
    margin: .9375rem 0
  }
}
.section_col-3 ul li figure {
  text-align: center
}
.section_col-3 ul li figure figcaption {
  text-align: left;
  line-height: 1.4;
  margin-top: .625rem;
  font-size: .875rem;
  color: #707F89
}
.section_col-4 {
  margin-bottom: 2.8125rem
}
.section_col-4 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 1.25rem
}
@media (max-width: 640px) {
  .section_col-4 ul {
    margin: 0;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}
.section_col-4 ul li {
  width: calc(100% / 4 - 2.5rem);
  margin: 0 1.25rem
}
@media (max-width: 640px) {
  .section_col-4 ul li {
    width: 48%;
    margin: 1.25rem 0
  }
}
.section_col-4 ul li figure {
  text-align: center
}
.section_col-4 ul li figure figcaption {
  text-align: left;
  line-height: 1.4;
  margin-top: .625rem;
  font-size: .875rem;
  color: #707F89
}
.section_col-5 {
  margin-bottom: 2.8125rem
}
.section_col-5 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 1.25rem
}
@media (max-width: 640px) {
  .section_col-5 ul {
    margin: 0;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}
.section_col-5 ul.td_list i {
  font-size: 4rem;
  display: block;
  color: #fff;
  background: #000;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 50%;
  margin: 0 auto .9375rem auto
}
.section_col-5 ul.td_list i.net {
  background: #EA5514
}
.section_col-5 ul.td_list i.fax {
  background: #036eb8
}
.section_col-5 ul.td_list i.post {
  background: #13ae67
}
.section_col-5 ul.td_list i.tel {
  background: #d70051
}
.section_col-5 ul.td_list i.shop {
  background: #7f4f21
}
.section_col-5 ul.td_list h4 {
  margin-bottom: .9375rem;
  font-size: 1.125rem;
  text-align: center
}
.section_col-5 ul.td_list p {
  line-height: 1.6;
  text-align: center
}
.section_col-5 ul.td_list p strong {
  font-size: 1.25rem
}
.section_col-5 ul.td_list p em {
  color: #a22525
}
.section_col-5 ul.td_list a {
  color: #a22525
}
.section_col-5 ul.td_list a.regular {
  color: #000;
  text-decoration: underline
}
.section_col-5 ul.td_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column
}
.section_col-5 ul li {
  width: calc(100% / 5 - 2.5rem);
  margin: 0 1.25rem
}
@media (max-width: 640px) {
  .section_col-5 ul li {
    width: 48%;
    margin: 1.25rem 0
  }
}
.section_col-5 ul li figure {
  text-align: center
}
.section_col-5 ul li figure figcaption {
  text-align: left;
  line-height: 1.4;
  margin-top: .625rem;
  font-size: .875rem;
  color: #707F89
}
.bkblock {
  background: url("/assets/img/bg_toppage_from_company.png")
}
.whblock {
  background: #FFF;
  padding: 4.375rem
}
@media (max-width: 640px) {
  .whblock {
    padding: 2.1875rem 1.25rem
  }
}
.pkblock {
  background: #FFEFF6;
  padding: 3.75rem 2.5rem
}
@media (max-width: 640px) {
  .pkblock {
    padding: 2.1875rem 1.25rem
  }
}
.borderblock {
  margin: 2.8125rem auto;
  padding: 1.875rem 3.75rem;
  border: .625rem solid #EEEADF
}
@media (max-width: 640px) {
  .borderblock {
    padding: 2.1875rem 1.25rem
  }
}
.borderblock p {
  margin-bottom: 1.875rem
}
.borderblock p:last-child {
  margin-bottom: 0
}
.section_quote {
  background: #FFF;
  padding: 1.25rem;
  line-height: 1.8;
  margin-bottom: 1.875rem
}
.caption_quote {
  padding: 1.875rem 3.75rem;
  border: .625rem solid #EEEADF;
  margin-bottom: 1.875rem;
  line-height: 1.8
}
@media (max-width: 640px) {
  .caption_quote {
    padding: 1.25rem
  }
}
.section_btn {
  margin: 1.5625rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center
}
.section_btn p{
  font-weight: 700;
  margin-bottom: 0;
}
.section_btn .btn_regular {
  margin: 1.25rem auto 0 auto
}
.dl_sample {
  font-size: .875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.8;
  margin-bottom: 1.875rem
}
.dl_list {
  line-height: 1.6;
  margin-top: 1.25rem
}
.dl_list dt {
  margin-bottom: .625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.dl_list dt:before {
  content: '●';
  font-size: .625rem;
  color: #98A6B5;
  margin-right: 0.5em
}
.dl_list dd {
  margin-bottom: 1.875rem
}
.col_list {
  margin-bottom: 1.875rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column
}
.col_list li {
  margin-top: .9375rem;
  line-height: 1.6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}
.col_list li em {
  display: block;
  width: 100%
}
.col_list li:before {
  content: '●';
  font-size: .625rem;
  color: #98A6B5;
  margin-right: 0.5em
}
.col_list a {
  text-decoration: underline
}
.number_list {
  margin-bottom: 1.875rem
}
.number_list li {
  margin-top: .9375rem;
  line-height: 1.6;
  list-style-type: decimal;
  margin-left: 1.2em
}
.table_list {
  width: 100%;
  margin-bottom: 1.875rem
}
.table_list tr {
  border-bottom: 1px solid #CDD6DD
}
.table_list th {
  width: 11.875rem;
  padding: .9375rem 0;
  color: #707F89;
  text-align: left
}
@media (max-width: 640px) {
  .table_list th {
    display: block;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: .9375rem 0 0 0;
    font-weight: 700
  }
}
.table_list th.short {
  width: 7.5rem
}
.table_list td {
  padding: .9375rem 0;
  line-height: 1.6
}
@media (max-width: 640px) {
  .table_list td {
    display: block;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
  }
}
.cards_2col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}
.cards_2col .cards_block {
  width: 48.5%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #CCC;
  padding: 2.5rem;
  background: #FFF;
  margin: 1.25rem 0
}
.cards_2col .cards_block .staff_name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 1.25rem
}
.cards_2col .cards_block .staff_name figure {
  width: 9.375rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 1.25rem
}
.cards_2col .cards_block .staff_name dl {
  line-height: 1.6;
  font-size: 1.375rem
}
.cards_2col .cards_block .cards_body p {
  margin-bottom: 1.875rem
}
.cards_2col .cards_block .cards_body p:last-child {
  margin-bottom: 0
}
.cards_quarter .cards_block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.125rem;
  padding-bottom: 2.5rem;
  margin-bottom: 1.875rem;
  border-bottom: 1px solid #000
}
@media (max-width: 640px) {
  .cards_quarter .cards_block {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}
.cards_quarter .cards_block:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0
}
.cards_quarter .cards_block figure {
  width: 10rem;
  margin-right: 2.1875rem;
  -ms-flex-negative: 0;
  flex-shrink: 0
}
@media (max-width: 640px) {
  .cards_quarter .cards_block figure {
    width: 100%;
    margin-bottom: 1.25rem;
    text-align: center;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1
  }
}
.cards_quarter .cards_block .cards_text {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2
}
.cards_dl {
  margin-bottom: 2.8125rem
}
.cards_dl dt {
  font-size: 1.25rem;
  margin-bottom: .9375rem;
  position: relative;
  padding: .75rem .75rem .75rem 2.3em;
  background: #ECCAD9;
  line-height: 1.4
}
@media (max-width: 640px) {
  .cards_dl dt {
    padding: .75rem .75rem .75rem .75rem;
    font-size: 1.125rem
  }
}
.cards_dl dt:before {
  content: 'Q.';
  font-size: 1.5rem;
  position: absolute;
  bottom: .75rem;
  left: .75rem
}
@media (max-width: 640px) {
  .cards_dl dt:before {
    position: static;
    width: 100%;
    text-align: center;
    display: block;
    margin-bottom: .625rem
  }
}
.cards_dl dd {
  position: relative;
  padding-left: 2.3em
}
@media (max-width: 640px) {
  .cards_dl dd {
    padding-left: 0
  }
}
.cards_dl dd p {
  margin-bottom: 1em
}
.cards_dl dd p:last-child {
  margin-bottom: 0
}
.cards_dl dd:before {
  content: 'A.';
  font-size: 1.375rem;
  position: absolute;
  top: 0;
  left: .625rem
}
@media (max-width: 640px) {
  .cards_dl dd:before {
    position: static;
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: .625rem
  }
}
.pagetel {
  width: 48%;
  text-align: center;
  padding: .625rem 1.25rem;
  color: #a22525;
  border: 1px solid #a22525;
  font-weight: 700;
  background: #FFF
}
.pagetel p {
  margin-bottom: 0
}
.pagetel .ttl_telhead {
  font-size: .875rem
}
.pagetel .telnumber {
  font-size: 1.5rem;
  color: #a22525;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}
.pagetel .telnumber i {
  width: 1.0625rem;
  height: 1.0625rem;
  margin-right: 3px;
  display: block
}
.pagetel .telnumber:hover {
  text-decoration: none;
  opacity: 0.7
}
.pagetel .teldate {
  color: #000;
  font-size: .7875rem
}
.common_page {
  font-weight: 400
}
.common_page p {
  margin-bottom: 1.875rem
}
.common_page p:last-child {
  margin-bottom: 0
}
.common_page strong {
  font-weight: 700
}
.greeting {
  font-weight: 400
}
.greeting .desc {
  text-align: center;
  font-size: 1.125rem
}
.greeting .greeting_01 {
  background: url("/assets/img/greeting_bk01.png") no-repeat center bottom;
  background-size: cover
}
.greeting .greeting_02 {
  background: url("/assets/img/greeting_bk02.png") no-repeat center bottom;
  background-size: 100%
}
.greeting .concept {
  text-align: center
}
.concept p {
  text-align: center;
  margin-bottom: 2.1875rem;
  font-size: 1.375rem;
  font-weight: 700;
  color: #a22525
}
@media (max-width: 640px) {
  .concept p {
    font-size: 1.125rem
  }
}
.voice {
  font-weight: 400
}
.voice .voice_ttl {
  font-size: 1.375rem;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  margin-bottom: .625rem;
  text-align: left;
}
.voice .voice_name {
  margin-bottom: .9375rem
}
.media {
  font-weight: 400
}
.media .media_ttl {
  font-size: 1.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: .625rem
}
@media (max-width: 640px) {
  .media .media_ttl {
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
.media .media_ttl:before {
  content: '●';
  color: #98A6B5;
  font-size: .625rem;
  margin-right: 0.5em
}
.gift {
  font-weight: 400
}
.gift .btn_regular {
  margin: 0 auto 0 0
}
.attention_box {
  border: 1px solid #a22525;
  margin-bottom: 1.5625rem;
  background: #FFF;
}
.attention_box h2, .attention_box h3 {
  background: #a22525;
  padding: .4375rem;
  color: #fff;
  font-size: 1.25rem
}

.attention_box .attention_box_text {
  padding: .9375rem
}
.attention_box .attention_box_text a {
  color: #a22525
}
.attention_box p{
  margin-bottom: 1.25rem;
}
.attention_box p:last-child{
  margin-bottom: 0;
}
.cart_pack {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  border: 1px solid #a22525;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin:.5rem 0;
}
.cart_pack figure {
  width: 7.5rem;
  margin-right: 2rem
}
.cart_pack p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #a22525
}
.cart_pack p .btn_pack {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 6.25rem;
  padding: 0 .625rem;
  height: 2.5rem;
  margin-left: 1rem;
  background: #a22525;
  color: #FFF;
  text-align: center;
  text-decoration: none
}
.cart_pack p .btn_pack:hover {
  text-decoration: none;
  opacity: 0.7
}
.guide .desc {
  margin-bottom: 1.875rem
}
.guide .guide_dummy {
  border: 1px solid #ccc;
  padding: .3125rem;
  width: 2.5em;
  background: #FFF;
  margin: 0 .3125rem
}
.guide .guide_reception {
  background: #000034;
  text-align: center;
  color: #FFF;
  text-align: center;
  padding: .625rem;
  margin: auto 0 0 0
}
@media (max-width: 640px) {
  .guide .guide_reception {
    font-size: .875rem
  }
}
.guide .guide_reception24 {
  background: #a22525;
  text-align: center;
  color: #FFF;
  text-align: center;
  padding: .625rem;
  margin: auto 0 0 0
}
@media (max-width: 640px) {
  .guide .guide_reception24 {
    font-size: .875rem
  }
}
.guide .guide_blockquote {
  background: #ffffe1;
  padding: .9375rem;
  margin-bottom: 2.8125rem
}
.faq a{
  text-decoration: underline;
}
table.variation {
    border: 1px solid #000;
}
tr.t-variation th {
    padding: .5rem;
    border: 1px solid #000;
    background: #ECCAD9;
}
th.sps-variation-stock {
    width: 10% !important;
}
table.variation td {
    padding: .5rem;
    border: 1px solid #000;
    vertical-align: middle;
    text-align: center;
}
table.variation td img.nostock {
    height: auto;
    width: 100px;
    margin: 0 auto;
    display: block;
}
div#itemList h1 {
    display: none;
}
#contact p{
  margin-bottom: 1.5rem;
}
#contact p:last-child{
  margin-bottom: 0;
}
#contact .sectionblock{
  padding: 0;
}
/*メールマガジン登録・解除(768px)*/
   #contact table.mailMF input.mailAddress, #contact table.mailMF input.mailAddress_new {
     width: 100%;
   }
   #contact table.mailMF input.btn-confirmNext {
     margin: 15px 0;
   }
   #contact.sps-mailMagazine .sps-mailMagazine-freeArea {
     margin: 60px 0 0;
     width: 100%;
   }
   #contact .mailm .txtBox h2 {
     padding: 15px;
     background-color: #EEE;
     border-top: 1px solid #DEDEDE;
     border-bottom: 1px solid #DEDEDE;
   }
   #contact table.mailMF tbody tr th {
     display: none;
   }
   #contact table.mailMF tbody tr td {
     border: none;
     box-sizing: border-box;
     display: block;
     width: 100%;
   }
   #contact table.mailMF tbody tr td input[type="text"] {
     border: 1px solid #A9A9A9;
     float: none;
     padding:.75rem;
   }
   #contact table.mailMF span.btn-confirm {
     float: none;
   }
   #contact table.mailMF tbody tr td input[type="button"] {
     float: none;
     margin: 15px auto;
   }
   div.enquete-section #contact #center1 .centerbox .mainCont .mainFrame .mainCont form[name="ENQ"] table tbody tr td input {
     margin-left: 0;
   }
   div.enquete-section #contact #center1 .centerbox .mainCont .mainFrame .mainCont form[name="ENQ"] table tbody tr:first-child td input {
     margin-left: 12px;
   }
   div.enquete-section #contact #center1 .centerbox .mainCont .mainFrame .mainCont form[name="ENQ"] table tbody tr:first-child td:nth-child(2) input {
     margin-left: 8px;
   }
 #contact h4 {
   font-size: 75%;
 }
 #contact .txtBox {
   margin: 25px 0 10px;
 }
 section #contact .text-center {
   text-align: center;
   margin: 50px 0;
 }
 #contact .txtBox p.txt-T {
   font-size: 80%;
   font-weight: bold;
   margin-bottom: 5px;
 }
 section #document li {
   font-size: 100%;
   font-size: 0.75rem;
 }
 #contact table {
   width: 100%;
   margin: 10px 0 0;
   word-break: break-all;
 }
 #contents-pop table {
   width: 100%;
 }
 #contact table th {
   width: 28%;
   padding: 20px;
   font-size: 75%;
   font-weight: bold;
   color: #2B2B2B;
   background-color: #EEE;
   border-top: 1px solid #DEDEDE;
   border-bottom: 1px solid #DEDEDE;
 }
 #contact em {
   color: #C23E42;
   margin-left: 5px;
   font-size: 90%;
   font-size: 0.7rem;
 }
 #contact table td {
   width: 72%;
   font-size: 75%;
   font-size: 90% \9;
   padding: 20px;
 }
 #contact table td input.name, #contact table td input.tel {
   height: 16px;
   width: 40%;
   padding: 2px 5px;
 }
 #contact table td input.mailAddress, #contact table td input.mailAddress2 {
   height: 20px;
   width: 60%;
 }
 #contact .weaktxt {
   color: #333;
   font-size: 90%;
   padding: 5px 0 0;
 }
 #contact .note {
   color: #333;
   font-size: 95%;
   font-size: 0.7rem;
   line-height: 150%;
   margin: 0 0 15px;
 }
 #contact .txtBox .note {
   font-size: 70%;
   font-size: 0.7rem;
 }
 #contact table td textarea {
   box-sizing: border-box;
   height: 150px;
   padding: 5px !important;
   width: 100% !important;
 }
 #contact table td .text-area {
   display: block;
   margin: 0 0 15px;
 }
 #contact .btn-confirm {
   text-align: center;
   padding: 20px;
   border-bottom: none;
   font-size: 100%;
 }
 #contact .btn-confirm-enq {
   padding: 20px;
   font-size: 100%;
 }
 #contact input.btn-confirmNext {
   height: 25px;
   width: 150px;
   color: #FFF;
   font-size: 75%;
   font-size: 0.75rem;
   text-align: center;
   background-color: #333;
   border: none;
   margin: 0 5px;
 }
 #contact input.btn-confirmNext:hover {
   background-color: #666;
   repeat-x: left top;
 }
 #contact .btn-enq input.btn-confirmNext {
   height: 25px;
   width: 200px;
   color: #FFF;
   padding: 0;
   font-size: 75%;
   font-size: 0.75rem;
   background-color: #333;
   border: none;
   margin: 0 5px;
 }
 #contact .btn-enq input.btn-confirmNext:hover {
   background-color: #666;
   repeat-x: left top;
 }
 #contact input.btn-confirmBack {
   height: 25px;
   width: 80px;
   color: #FFF;
   padding: 0 0 0 8px;
   font-size: 75%;
   font-size: 0.75rem;
   text-align: center;
   background: url(../img/btn-back_bg.gif) no-repeat left top;
   border: none;
   margin: 0 5px;
 }
 #contact input.btn-confirmBack:hover {
   background: url(../img/btn-back_bg_on.gif) no-repeat left top;
 }
 #contact input.btn-confirmCancel {
   height: 25px;
   width: 120px;
   color: #FFF;
   padding: 0 0 0 8px;
   font-size: 75%;
   font-size: 0.75rem;
   text-align: center;
   background: url(../img/btn-confirm_bg.gif) repeat-x left top;
   border: none;
   margin: 0 5px;
 }
 #contact .btn-confirmCancel:hover {
   background: url(../img/btn-confirm_bg_on.gif) repeat-x left top;
 }
 #contact .btn-confirmClose {
   height: 25px;
   width: 120px;
   color: #FFF;
   padding: 0 0 0 8px;
   font-size: 80%;
   font-size: 0.8rem;
   text-align: center;
   background: url(../img/btn-close_bg.gif) no-repeat left top;
   border: none;
   margin: 0 5px;
 }
 #contact .btn-confirmClose:hover {
   background: url(../img/btn-close_bg_on.gif) no-repeat left top;
 }
 @-moz-document url-prefix() {
   #contact .btn-enq input.btn-confirmNext {
     padding: 0 5px 2px;
   }
   #contact input.btn-confirmNext {
     padding: 0 5px 2px;
   }
   #contact input.btn-confirmBack {
     padding: 0 2px 2px 8px;
   }
   #contact input.btn-confirmCancel {
     padding: 0 2px 3px 8px;
   }
   #contact input.btn-confirmClose {
     padding: 0 2px 4px 8px;
   }
 }
 #contact fieldset {
   margin-bottom: 25px;
 }
 #contact legend {
   background: none repeat scroll 0 0 transparent;
   border-bottom: 1px dotted;
   font-size: 75%;
   font-weight: bold;
   line-height: 200%;
   margin-bottom: 10px;
   padding: 0;
   width: 100%;
 }
 #contact fieldset p {
   margin-bottom: 5px;
   font-size: 75%;
   font-size: 0.75rem;
 }
 #contact fieldset ul {
   overflow: hidden;
 }
 #contact fieldset li {
   font-size: 75%;
   font-size: 0.75rem;
 }
 #contact fieldset li.fL {
   float: left;
   margin-right: 20px;
 }
 #contact fieldset input {
   margin: 0 3px 2px 0;
 }
 #contact fieldset label {
   margin-right: 10px;
   font-size: 100%;
   font-size: 0.75rem;
 }
 #contact input.txtF {
   height: 16px;
   margin: 0;
   padding: 2px 5px;
 }
 #contact input.mailAddress {
   width: 300px;
   margin: 0;
 }
 #contact input.name_sei {
   margin: 0 10px 0 0;
 }
 #contact select {
   margin: 0 0 5px;
   padding: 3px 1px;
   min-width: 110px;
 }
 #contact fieldset textarea {
   width: 70%;
   height: 150px;
   padding: 5px;
 }
 #contact .commentItem {
   padding: 10px 0 0;
 }
 #contact table td.commentWite {
   border-bottom: 1px dotted #000;
   border-top: 1px dotted #000;
   font-size: 100%;
   padding: 15px 20px 20px;
   width: 72%;
 }
 #contact .commentItem {
   font-weight: 150%;
 }
 #contact .memberF {
   padding: 20px 20px 10px;
   margin: 20px 0 0 0;
   border: 10px solid #EEE;
 }
 #contact .atttxt {
   color: #333;
   font-size: 75%;
   padding: 5px 0 0;
 }
 #contact .memberF input {
   width: 40%;
   height: 16px;
   margin: 0;
   padding: 2px 5px;
 }
 #contact .memberF th {
   padding: 10px 20px;
 }
 #contact .memberF td {
   padding: 10px 20px;
   font-size: 100%;
 }
 #contact .memberF input.btn-confirm160 {
   margin: 10px 0 0;
 }
.memberName {
   border-bottom: 1px dotted;
   font-size: 75%;
   font-weight: bold;
   line-height: 200%;
   margin-bottom: 5px;
   padding: 0;
 }
 #contact input.btn-confirm120 {
   height: 25px;
   width: 120px;
   color: #FFF;
   padding: 0;
   font-size: 75%;
   font-size: 0.75rem;
   background: url(../img/btn-confirm_bg.gif) repeat-x left top;
   border: none;
   margin: 0 5px;
 }
 #contact input.btn-confirm120:hover {
   background: url(../img/btn-confirm_bg_on.gif) repeat-x left top;
 }
 #contact input.btn-confirm160 {
   height: 25px;
   width: 160px;
   color: #FFF;
   padding: 0 0 0 8px;
   font-size: 75%;
   font-size: 0.75rem;
   text-align: center;
   background: url(../img/btn-confirm_bg.gif) repeat-x left top;
   border: none;
 }
 #contact input.btn-confirm160:hover {
   background: url(../img/btn-confirm_bg_on.gif) repeat-x left top;
 }
 #contact input.btn-confirmReg {
   height: 25px;
   width: 160px;
   color: #FFF;
   padding: 0 0 0 8px;
   font-size: 75%;
   font-size: 0.75rem;
   text-align: center;
   background: url(../img/btn-confirm_bg.gif) repeat-x left top;
   border: none;
 }
 #contact input.btn-confirmReg:hover {
   background: url(../img/btn-confirm_bg_on.gif) repeat-x left top;
 }
 #contact input.btn-confirmBackItem {
   height: 25px;
   width: 120px;
   color: #FFF;
   padding: 0 5px 2px 15px;
   font-size: 75%;
   font-size: 0.75rem;
   text-align: center;
   background: url(../img/btn-back_bg120.gif) no-repeat left top;
   border: none;
   margin: 0 5px;
 }
 #contact input.btn-confirmBackItem:hover {
   background: url(../img/btn-back_bg120_on.gif) no-repeat left top;
 }
 @-moz-document url-prefix() {
   #contact input.btn-confirm120, #contact input.btn-confirm160, #contact input.btn-confirmReg {
     padding: 0 5px 2px;
   }
   #contact input.btn-confirmBackItem {
     padding: 0 2px 2px 8px;
   }
 }
 /*-- メールマガジン登録・解除 --*/
 #contact .mailm:first-child {
   margin: 3px 0 0;
 }
 #contact .mailm {
   margin: 30px 0 0 0;
 }
 #contact .mailm .txtBox {
   margin: 0;
 }
 #contact .mailm .caution {
   margin: 0 0 5px;
 }
 #contact table.mailMF td {
   overflow: hidden;
   font-size: 100%;
   border-top: solid 1px #DEDEDE;
   border-bottom: solid 1px #DEDEDE;
 }
 #contact table.mailMF input.mailAddress {
   float: left;
   margin: 0 10px 0 0;
   height: 40px;
 }
 #contact table.mailMF span.btn-confirm {
   display: block;
   float: left;
   padding: 0;
 }
 #contact table.mailMF input.btn-confirmNext {
   background-color: #333;
   border-radius: 3px;
   float: left;
   height: 40px;
   padding: 0 5px;
 }
 #contact .mailMC input.btn-confirmNext {
   background-color: #333;
   border-radius: 3px;
   float: left;
   height: 40px;
   padding: 0 5px;
 }
 #contact .mailMF input.btn-confirmNext:hover, #contact .mailMC input.btn-confirmNext:hover {
   background-color: #666;
 }
 @-moz-document url-prefix() {
   #contact table.mailMF input.btn-confirmNext, #contact .mailMC input.btn-confirmNext {
     padding: 0 5px 1px;
   }
 }
 #contact table.mailMF td.n1 {
   border-bottom: none;
   padding: 20px 20px 10px;
 }
 #contact table.mailMF td.n2 {
   border-top: none;
   padding: 10px 20px 20px;
 }
 #contact table.mailMF td p {
   float: left;
   padding: 10px 0;
   margin-right: 10px;
   margin-bottom: 0;
 }
 #contact input.mailAddress_new {
   float: left;
   height: 40px;
   margin: 0 10px 0 0;
   width: 60%;
 }
 #contact .mailMC span.btn-confirm {
   display: block;
   padding: 0;
 }
 #contact.sps-mailMagazine .sps-mailMagazine-freeArea {
   border: 1px solid #DDD;
   box-sizing: border-box;
   margin: 60px 5% 0;
   padding: 2%;
   width: 90%;
 }
 #contact .freeArea {
   margin: 60px 50px 0;
   width: 620px;
   background-color: #FFF;
 }
 #contact .ann-input {
   margin: 5px 0 0;
   font-size: 100%;
 }
 #contact .ann-input input {
   margin: 0 3px 2px 0;
 }
.sub_mail {
  border-top:1px solid #a22525;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    display: flex;
    height: 18rem;
    align-items: center;
}
@media (max-width: 640px) {
  .sub_mail {
    height: 23.125rem;
  }
}
div#snav_mailMag h2 {
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 1.2rem;
    display: flex;
    -webkit-align-items: center;
            align-items: center;
    -webkit-justify-content: center;
            justify-content: center;
}
@media (max-width: 640px) {
  div#snav_mailMag h2 {
    font-size: 1.25rem;
  }
}
div#snav_mailMag h2 i{
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
  -webkit-align-items: center;
            align-items: center;
    -webkit-justify-content: center;
            justify-content: center;
  background: #a22525;
  color: #fff;
  margin-right: .75rem;
  border-radius:50%;
  font-size: 1.15rem;
}
@media (max-width: 640px) {
  div#snav_mailMag h2 i{
    width: 2rem;
    height: 2rem;
    font-size: 1rem;
  }
}
.snav_mailMag_cont p {
    text-align: center;
    margin-bottom: 1.25rem;
}
.snav_mailMag_cont form {
    display: flex;
    -webkit-justify-content: space-between;
            justify-content: space-between;
    width: 60%;
    margin: 0 auto 1.25rem auto;
}
@media (max-width: 640px) {
  .snav_mailMag_cont form {
    width: 100%;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
input.mailAddress {
    border: 1px solid #000;
    width: calc(100% - 11rem);
    padding: .875rem;
    display: block;
}
@media (max-width: 640px) {
  input.mailAddress {
    width: 100%;
    margin-bottom: 1.25rem;
  }
}
input.submit_mailMag {
    width: 10rem;
    margin: 0;
}
@media (max-width: 640px) {
  input.submit_mailMag {
    width: 100%;
  }
}
.guide_box{
  padding-top: 21.875rem;
  margin-top: -21.875rem;
}













