@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0 0 2em;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  outline: none;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block;
    margin: 0 auto; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("../img/common/ajax-loader.gif") center center no-repeat; }

.slick-slide {
  opacity: 0.4; }

.slick-active {
  opacity: 1; }

/* Icons */
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 26px;
  width: 26px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  z-index: 1;
  transition: all 0.3s ease-in-out; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: #d0111b; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      background-image: url(../img/common/img-btn-arrow.png); }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 1; }
  .slick-prev:before,
  .slick-next:before {
    line-height: 1;
    content: "";
    display: inline-block;
    width: 8px;
    height: 16px;
    background-image: url(../img/common/img-btn-arrow_gr.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain; }
  @media print, screen and (min-width: 769px) {
    .slick-prev,
    .slick-next {
      background: #fff;
      height: 42px;
      width: 42px; } }

.slick-prev {
  left: 0; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: 0; }
  @media print, screen and (min-width: 769px) {
    .slick-prev {
      left: 3rem; } }
  .slick-prev:before {
    transform: rotate(180deg); }

.slick-next {
  right: 0; }
  @media print, screen and (min-width: 769px) {
    .slick-next {
      right: 3rem; } }
  [dir="rtl"] .slick-next {
    left: 0;
    right: auto; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -40px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
  left: 0; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 12px;
    width: 12px;
    padding: 0;
    cursor: pointer;
    margin: 0 0.4rem; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 12px;
      width: 12px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          background-color: #d0111b;
          opacity: 0.75; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 100%;
        height: 100%;
        font-family: "slick";
        font-size: 12px;
        line-height: 12px;
        text-align: center;
        color: transparent;
        opacity: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        background-color: #ccc;
        border-radius: 999px; }
    .slick-dots li.slick-active button:before {
      background-color: #d0111b;
      opacity: 1; }

.slider-nav {
  max-width: 360px;
  margin: auto; }
  .slider-nav .slick-list {
    margin-bottom: 0; }
  .slider-nav .slick-active {
    opacity: 1; }
    .slider-nav .slick-active.slick-current {
      opacity: 0.4; }

.sp {
  display: block !important; }
  @media print, screen and (min-width: 769px) {
    .sp {
      display: none !important; } }

.pc {
  display: none !important; }
  @media print, screen and (min-width: 769px) {
    .pc {
      display: block !important; } }

html {
  font-size: 10px;
  overflow: auto;
  height: 100%; }

body {
  font-family: YuGothic, "Yu Gothic", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-font-feature-settings: "liga" 0;
  font-feature-settings: "liga" 0;
  font-size: 1.4rem;
  position: relative; }
  @media print, screen and (min-width: 769px) {
    body {
      font-size: 1.6rem; } }
  body.fixed {
    overflow: hidden;
    height: 100%; }

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden; }

a img.pict {
  position: relative; }
  a img.pict:before {
    content: "";
    top: 0.5rem;
    left: 0.5rem;
    border-bottom: 2.6rem solid transparent;
    border-left: 2.6rem solid #d0111b;
    z-index: 100; }
  a img.pict:hover {
    opacity: 0.8; }

/* --------------------------------------------------
 *    テキスト
-------------------------------------------------- */
.ttl-top {
  font-size: 2.4rem;
  color: #000;
  line-height: 1.6;
  margin: 0.5em 0; }
  @media print, screen and (min-width: 769px) {
    .ttl-top {
      font-size: 3.4rem; } }

[class^="ttl-"] + p {
  margin-top: 0; }

.ttl-1 {
  font-size: 3.3rem;
  color: #d0111b;
  line-height: 1.1;
  margin: 0 0 0.4em;
  font-weight: bold; }
  .ttl-1:after {
    content: "";
    display: inline-block;
    width: 10rem;
    height: 0.1rem;
    border-bottom: 0.1rem solid #ccc;
    text-align: center; }
  .ttl-1 small {
    color: #000;
    font-size: 1.5rem;
    display: block; }
  .ttl-1 span {
    display: block;
    padding-bottom: 2rem; }
  .ttl-1 i {
    margin-left: -0.5em; }
  .ttl-1 + p {
    padding-top: calc(3.5rem / 2); }
  @media print, screen and (min-width: 769px) {
    .ttl-1 {
      font-size: 3.0rem;
      margin: 0 0 1.3em; }
      .ttl-1 small {
        font-size: 1.4rem; }
      .ttl-1 + p {
        padding-top: 0; } }

.ttl-2 {
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: bold;
  margin: 1.2em 0 0; }
  @media print, screen and (min-width: 769px) {
    .ttl-2 {
      font-size: 2.6rem; } }

.ttl-3 {
  font-size: 1.6rem;
  color: #000;
  margin: 0 0 1em;
  line-height: 1.4; }
  @media print, screen and (min-width: 769px) {
    .ttl-3 {
      display: flex;
      align-items: center;
      font-size: 2.0rem; } }
  .ttl-3 small {
    font-size: 1.4rem; }
  .ttl-3 span {
    display: block;
    margin-bottom: 0.5em; }
    .ttl-3 span i {
      background-color: #d0111b;
      color: #fff;
      font-size: 1.2rem;
      padding: 0.4em 2em;
      margin-right: 1em;
      border-radius: 9999px; }
    @media print, screen and (min-width: 769px) {
      .ttl-3 span {
        display: inline-block;
        margin-bottom: 0; }
        .ttl-3 span i {
          font-size: 1.4rem; } }

.ttl-4 {
  font-size: 1.4rem;
  font-weight: bold;
  margin: 0 0 1.5em;
  line-height: 1.4; }
  @media print, screen and (min-width: 769px) {
    .ttl-4 {
      font-size: 1.6rem; } }

.lead {
  line-height: 2.285; }

p {
  line-height: 1.86;
  margin: 1.4em 0 0;
  text-indent: 1em; }
  p + [class^="ttl-"] {
    margin-top: 2em; }

.center {
  text-align: center; }

.right {
  text-align: right; }

.left {
  text-align: left; }

strong {
  font-weight: bold;
  color: #d0111b; }

.caution {
  color: #960101; }

.list li {
  display: flex;
  align-items: center;
  margin-bottom: 1.5em; }
  .list li:before {
    content: "";
    display: inline-block;
    width: 0.6rem;
    height: 0.6rem;
    background-color: #d0111b;
    margin-right: 1em; }
  .list li:last-child {
    margin-bottom: 0; }

.num-list {
  list-style: decimal; }

.dif-list dt {
  color: #d0111b; }
  @media print, screen and (min-width: 769px) {
    .dif-list dt {
      float: left;
      padding: 1.2em 0; } }
.dif-list dd {
  border-bottom: 1px solid #ccc;
  padding: 1.2em 0; }
  .dif-list dd:last-of-type {
    border-bottom: none; }

.tel {
  display: flex;
  align-items: center;
  text-decoration: none;
  letter-spacing: 0.087em;
  padding: 0.6em 0.71em;
  color: #d0111b;
  border-radius: 999px;
  font-size: 1.5rem; }
  .tel:before {
    content: "\f095";
    font-family: fontAwesome;
    display: inline-block;
    font-size: 3.4rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain; }
  .tel > span {
    display: none; }
  .tel + span {
    display: block;
    font-size: 1.4rem;
    margin-top: 0.5em; }
  @media print, screen and (min-width: 1054px) {
    .tel {
      font-size: 3rem;
      color: #000;
      padding: 0;
      border-radius: none;
      margin-right: 0.6em; }
      .tel:before {
        font-size: 3rem;
        width: 0.77em;
        height: 0.77em;
        margin-right: 0.3em; }
      .tel > span {
        display: inline; } }

.name span {
  display: block; }

.area-index [class^="grid"] .ttl {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 1em; }
  @media print, screen and (min-width: 769px) {
    .area-index [class^="grid"] .ttl {
      font-size: 2.0rem; } }
.area-index [class^="grid"] p {
  font-size: 1.4rem;
  color: #d0111b;
  text-align: center;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 1em 0;
  margin: 1.4em 0 0; }

.tel-link a {
  text-decoration: none;
  color: #000; }

/* --------------------------------------------------
 *    ヘッダー・フッター
-------------------------------------------------- */
.header {
  display: flex;
  align-items: center;
  padding: 1.5rem;
  width: calc(100% - 3rem);
  height: calc(7.3rem - 3rem);
  position: fixed;
  top: 0;
  background-color: #000;
  z-index: 9;
  border-bottom: 0.4rem solid #d0111b; }
  .header .header-logo {
    width: auto;
    height: 4.5rem;
    float: left; }
    .header .header-logo img {
      width: auto;
      max-width: 100%;
      height: 100%; }
  .header .head-menu {
    display: none; }
    @media print, screen and (min-width: 769px) {
      .header .head-menu {
        display: flex;
        font-size: 1.2rem;
        margin-left: 1.25em; }
        .header .head-menu .menu-item {
          margin: 0 1.25em; }
          .header .head-menu .menu-item a {
            color: #fff;
            font-weight: bold;
            text-decoration: none; }
            .header .head-menu .menu-item a:hover {
              color: #8c8c8d; }
            .header .head-menu .menu-item a.active {
              color: #8c8c8d; }
          .header .head-menu .menu-item:current a {
            color: #8c8c8d; } }
  @media print, screen and (min-width: 1054px) {
    .header {
      padding: 1.5rem;
      width: calc(100% - 3rem);
      height: calc(7.3rem - 3rem); }
      .header .header-logo {
        height: 4.5rem; }
      .header .box-sub {
        justify-content: space-between;
        align-items: center;
        float: right; }
        .header .box-sub .btn {
          padding: 1.05em 1.875em;
          background-color: #d0111b;
          color: #fff; }
        .header .box-sub .box-sub-item span {
          display: block; }
        .header .box-sub .box-sub-item .btn span {
          display: inline; }
        .header .box-sub .box-sub-item .btn:before {
          content: none; }
        .header .box-sub .box-sub-item + .box-sub-item {
          margin-left: 2rem; }
        .header .box-sub .box-sub-item:first-of-type {
          text-align: center; } }
  @media print, screen and (min-width: 990px) {
    .header p {
      display: block;
      font-size: 1.2rem;
      margin: 0.8em 0 0.8em 3em;
      float: left; } }

#nav-drawer {
  position: relative; }

.lang-btn {
	position: absolute;
  top: 17px;
  right: 20px;
}
.lang-btn img {
}
#lang-btn_trigger {
  width: 36px;
  height: 36px;
  position: absolute;
  top: 0;
  right: 0;
}
#lang-btn_trigger:hover {
  cursor: pointer;
  opacity: 0.6;
}
#lang-btn_select {
  display: none;
  position: absolute;
  width: 130px;
  right: 10px;
  top: 42px;
  background-color: #fff;
  font-size: 1.2rem;
}
#lang-btn_select li {
    padding: 1.2rem;
    display: block;
    background-color: #2d2d2d;
    border-bottom: 1px solid #3f3f3f;
  }
#lang-btn_select li a {
  text-decoration: none;
  color: #fff;
  display: block;
}
#lang-btn_select li a:hover {
  opacity: 0.6;
}
#lang-btn_select.active {
  display: block;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display: none; }

/*アイコンのスペース*/
#nav-open,
#nav-close-btn {
  display: inline-block;
  width: 3.5rem;
  height: 3.5rem;
  vertical-align: middle;
  position: absolute;
  top: 1.9rem;
  right: 1.5rem;
  cursor: pointer;
  /*ハンバーガーアイコンをCSSだけで表現*/ }
  #nav-open span,
  #nav-open span:before,
  #nav-open span:after,
  #nav-close-btn span,
  #nav-close-btn span:before,
  #nav-close-btn span:after {
    position: absolute;
    height: 0.2rem;
    /*線の太さ*/
    width: 100%;
    /*長さ*/
    border-radius: 0.3rem;
    background: #fff;
    display: block;
    content: '';
    cursor: pointer; }
  #nav-open span:before,
  #nav-close-btn span:before {
    bottom: -0.9rem; }
  #nav-open span:after,
  #nav-close-btn span:after {
    bottom: -1.8rem; }
  #nav-open b,
  #nav-close-btn b {
    font-size: 1.0rem;
    letter-spacing: -0.2em;
    position: absolute;
    bottom: 0;
    color: #fff; }

/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;
  /*はじめは隠しておく*/
  position: fixed;
  z-index: 100;
  top: 0;
  /*全体に広がるように*/
  right: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0;
  transition: .3s ease-in-out; }

#nav-close-btn {
  position: absolute;
  top: 2em;
  left: -5em;
  text-align: center; }
  #nav-close-btn span {
    background-color: transparent; }
    #nav-close-btn span:before {
      bottom: -1.2rem;
      transform: rotate(45deg);
      background: #000; }
    #nav-close-btn span:after {
      bottom: -1.2rem;
      transform: rotate(-45deg);
      background: #000; }
  #nav-close-btn b {
    width: 100%;
    left: 0;
    bottom: -0.7rem;
    letter-spacing: 0;
    color: #000; }
  @media print, screen and (min-width: 769px) {
    #nav-close-btn {
      display: none; } }

/*中身*/
#nav-content {
  position: fixed;
  top: 0;
  right: -5rem;
  z-index: 101;
  /*最前面に*/
  width: 80%;
  /*右側に隙間を作る*/
  max-width: 237px;
  /*最大幅*/
  height: 100%;
  /*背景色*/
  transition: .3s ease-in-out;
  /*滑らかに表示*/
  transform: translateX(105%);
  /*左に隠しておく*/
  background-color: #3f3f3f; }
  #nav-content .head-menu {
    display: none; }
  #nav-content .head-menu-sp-outer {
    overflow: scroll;
    width: 100%;
    height: 100%; }
    @media print, screen and (min-width: 769px) {
      #nav-content .head-menu-sp-outer {
        display: none;
        overflow: hidden; } }
  #nav-content .head-menu-sp {
    display: flex;
    flex-direction: column; }
    #nav-content .head-menu-sp .menu-item a {
      text-decoration: none;
      color: #fff;
      padding: 1.6rem 2rem;
      display: block;
      background-color: #2d2d2d;
      border-bottom: 1px solid #3f3f3f; }
      #nav-content .head-menu-sp .menu-item a + .menu-item-sub {
        border-top: 1px solid #f9f9f9; }
    #nav-content .head-menu-sp .menu-item .menu-item-sub {
      background-color: #3f3f3f; }
      #nav-content .head-menu-sp .menu-item .menu-item-sub li > a {
        text-decoration: none;
        color: #fff;
        padding: 1.6rem 2rem;
        background-color: transparent; }
        #nav-content .head-menu-sp .menu-item .menu-item-sub li > a:before {
          content: "-";
          margin-right: 0.3em; }

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
  display: block;
  /*カバーを表示*/
  opacity: .9; }

#nav-input:checked ~ #nav-content {
  transform: translateX(0%);
  /*中身を表示*/
  box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
  right: 0; }

.head-menu-sp .menu-item {
  position: relative; }
  .head-menu-sp .menu-item input {
    display: none; }
    .head-menu-sp .menu-item input:checked + label + .ac-cont {
      max-height: 9999px;
      transition: .5s ease-in-out; }
    .head-menu-sp .menu-item input:checked + label:before {
      transform: rotate(-90deg);
      transition: .3s ease-in-out; }
  .head-menu-sp .menu-item label {
    display: block;
    width: 4.5rem;
    height: 4.5rem;
    cursor: pointer;
    padding: 10px;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    right: 0; }
    .head-menu-sp .menu-item label:before {
      content: "";
      display: inline-block;
      width: 0.875em;
      height: 0.875em;
      background-image: url(../img/common/img-btn-arrow.png);
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      position: absolute;
      transform: rotate(90deg);
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      transition: .3s ease-in-out; }
  .head-menu-sp .menu-item .ac-cont {
    transition: .5s ease-in-out;
    max-height: 0;
    overflow: hidden;
    background: #ddd;
    padding: 0 10px;
    box-sizing: border-box; }

@media print, screen and (min-width: 769px) {
  #nav-open {
    display: none; }

  #nav-content {
    position: static;
    width: 100%;
    max-width: 100%;
    height: auto;
    transform: none;
    padding: 0;
    border-bottom: 1px solid #d9d5c5;
    background-color: #fff; }
    #nav-content .head-menu-sp {
      display: none; }
    #nav-content .head-menu {
      display: flex;
      flex-direction: row;
      width: 100%; }
      #nav-content .head-menu .menu-item {
        width: calc(100% / 6);
        flex-basis: calc(100% / 6); }
        #nav-content .head-menu .menu-item a {
          display: flex;
          padding: 2rem 0.5rem;
          text-decoration: none;
          color: #000;
          line-height: 1.428;
          overflow: visible;
          box-sizing: border-box;
          position: relative;
          z-index: 0;
          height: 100%;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          transition: all 0.3s ease-in-out; }
          #nav-content .head-menu .menu-item a:before {
            content: "";
            position: absolute;
            display: inline-block;
            width: 100%;
            height: 0.1rem;
            bottom: -0.1rem;
            left: 0;
            transition: all 0.5s ease-in-out;
            border-bottom: 1px solid #d9d5c5; }
          #nav-content .head-menu .menu-item a:hover {
            color: #d0111b; }
            #nav-content .head-menu .menu-item a:hover:before {
              border-bottom: 1px solid #d0111b; } }
footer {
  background-color: #000;
  border-bottom: 0.4rem solid #d0111b;
  padding: 1em 0 0 0; }
  footer.footer a {
	color: #fff;
}
footer.footer a:hover {
	text-decoration: none;
}
  footer .copyright {
    padding: 0.3em 0 1.9em;
    font-size: 1.0rem; }
    footer .copyright p {
      text-align: center;
      font-size: 1.0rem;
      color: #b5b5b6;
      margin: 0; }
    @media print, screen and (min-width: 769px) {
      footer .copyright p {
        font-size: 1.2rem; } }

.area-contact {
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  height: 7.4rem;
  z-index: 9; }
  .area-contact.static {
    position: static; }
  @media print, screen and (min-width: 769px) {
    .area-contact {
      position: static;
      background-color: #d0111b;
      padding: calc(3.5rem / 2) 0;
      height: auto; } }
  .area-contact .container {
    width: 100%;
    padding: 0; }
    @media print, screen and (min-width: 769px) {
      .area-contact .container {
        width: calc(100% - 3.5rem);
        padding: 0 calc(3.5rem / 2);
        max-width: 102.4rem;
        margin: auto; } }
  .area-contact .grid-set {
    width: 100%;
    margin-left: 0;
    flex-direction: row;
    margin-top: 0 !important;
    margin-bottom: 0 !important; }
    .area-contact .grid-set .grid {
      width: 100%;
      flex-basis: 100%;
      padding: 0;
      border-left: 1px solid #fff; }
      .area-contact .grid-set .grid:first-of-type {
        border-left: none; }
    @media print, screen and (min-width: 769px) {
      .area-contact .grid-set {
        display: flex;
        width: calc(100% + 3.5rem);
        margin-left: calc(-3.5rem / 2); }
        .area-contact .grid-set .grid {
          width: calc(100% / 3 - 3.5rem);
          flex-basis: calc(100% / 3 - 3.5rem);
          padding: calc(3.5rem / 2);
          border-left: none; } }
  .grid-set .video iframe {
    max-width: 100%;
    aspect-ratio: 1 / 2;
      width: 100%;
      height: 100%;
  }
  @media screen and (max-width: 768px) {
    .grid-set .video {
      text-align: center;
    }
    .grid-set .video iframe {
      max-width: 440px;
    }
  }
  .area-contact a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: calc(100% - 3rem);
    padding: 1.5rem;
    background: #d0111b;
    color: #fff;
    font-size: 1.4rem;
    text-decoration: none; }
    .area-contact a svg {
      fill: #fff;
      height: 2.3rem;
      margin: auto; }
    .area-contact a span {
      text-align: center;
      padding: 0.7rem 0 0; }
    @media print, screen and (min-width: 769px) {
      .area-contact a {
        padding: 1.8rem;
        color: #d0111b;
        background: #fff;
        padding: 1.5rem;
        transition: all 0.3s ease-in-out; }
        .area-contact a svg {
          fill: #d0111b;
          height: 3.6rem;
          transition: all 0.3s ease-in-out; }
        .area-contact a span {
          padding: 1.4rem 0 0;
          display: inline-block; }
        .area-contact a:hover {
          background-color: #000;
          color: #fff;
          transition: all 0.3s ease-in-out; }
          .area-contact a:hover svg {
            fill: #fff;
            transition: all 0.3s ease-in-out; } }
  .footer .area-contact {
    margin-top: 0;
    margin-bottom: 0; }

.foot-nav {
  display: none; }
  @media print, screen and (min-width: 769px) {
    .foot-nav {
      display: block;
      background-color: #2d2d2d;
      padding: 6rem 0; }
      .foot-nav .grid-set {
        margin-top: 0 !important;
        margin-bottom: 0 !important; }
      .foot-nav ul ul li {
        margin-left: 1em; }
        .foot-nav ul ul li:before {
          content: "-";
          color: #fff;
          margin-right: 0.3em; }
        .foot-nav ul ul li a {
          color: #bdbdbd; }
      .foot-nav a {
        display: inline-block;
        margin: 0.75em 0;
        color: #fff;
        text-decoration: none;
        font-size: 1.2rem;
        transition: all 0.3s ease-in-out; }
        .foot-nav a:hover {
          opacity: 0.6;
          transition: all 0.3s ease-in-out; } }

.hurryup {
  display: none; }
  @media print, screen and (min-width: 769px) {
    .hurryup {
      display: block;
      position: fixed;
      top: calc(50% - 12rem);
      right: 0;
      z-index: 3; }
      .hurryup a {
        writing-mode: vertical-rl;
        text-decoration: none;
        background-color: #ebebdb;
        color: #000;
        padding: 2.5em 1.5em 3.5em;
        font-size: 1.6rem;
        height: calc(24rem - 6em); }
        .hurryup a:after {
          content: "";
          display: inline-block;
          width: 0.875em;
          height: 0.5em;
          background-image: url(../img/common/img-goto-arrow.png);
          background-position: center;
          background-repeat: no-repeat;
          background-size: contain;
          position: absolute;
          bottom: 1.5em;
          left: 0;
          right: 0;
          margin: auto;
          transform: rotate(90deg);
          transition: all 0.3s ease-in-out; }
        .hurryup a:hover {
          color: #d0111b; }
          .hurryup a:hover:after {
            left: 1.0em; } }

.gototop {
  position: relative; }
  .gototop a {
    writing-mode: horizontal-tb;
    display: block;
    text-align: center;
    font-size: 1.2rem;
    padding: 3em 0 2em;
    text-decoration: none;
    color: #000; }
    .gototop a:after {
      content: "";
      display: inline-block;
      width: 0.875em;
      height: 0.5em;
      background-image: url(../img/common/img-goto-arrow.png);
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      position: absolute;
      top: 1.5em;
      left: 0;
      right: 0;
      margin: auto;
      transition: all 0.3s ease-in-out; }
  @media print, screen and (min-width: 769px) {
    .gototop {
      position: absolute;
      right: 2.8rem;
      bottom: 2.2rem; }
      .gototop a {
        writing-mode: vertical-rl;
        text-decoration: none;
        background-color: #f7f7f7;
        opacity: 0.8;
        padding: 2.5em 1em 1em;
        height: calc(15rem - 3.5em);
        text-align: center; }
        .gototop a:after {
          content: "";
          display: inline-block;
          width: 0.875em;
          height: 0.5em;
          background-image: url(../img/common/img-goto-arrow.png);
          background-position: center;
          background-repeat: no-repeat;
          background-size: contain;
          position: absolute;
          top: 1.5em;
          left: 0;
          right: 0;
          margin: auto;
          transition: all 0.3s ease-in-out; }
        .gototop a:hover {
          color: #d0111b; }
          .gototop a:hover:after {
            top: 1.0em; } }

/* --------------------------------------------------
 *    レイアウト
-------------------------------------------------- */
main {
  margin-top: 7.7rem; }
  @media print, screen and (min-width: 1054px) {
    main {
      margin-top: 7.6rem; } }

.bg-g {
  background-color: #f7f7f7; }

[class^="area-"] {
  display: block; }

.container {
  width: calc(100% - 3.5rem);
  padding: 0 calc(3.5rem / 2); }
  @media print, screen and (min-width: 1054px) {
    .container {
      max-width: 98.0rem;
      margin: auto; } }

.container-sub {
  width: calc(100% - 3.5rem);
  padding: 0 calc(3.5rem / 2); }
  @media print, screen and (min-width: 1054px) {
    .container-sub {
      max-width: 86.0rem;
      margin: auto; } }

.container-sub2 {
  width: calc(100% - 3.5rem);
  padding: 0 calc(3.5rem / 2); }
  @media print, screen and (min-width: 1054px) {
    .container-sub2 {
      max-width: 82.6rem;
      margin: auto; } }

.sec-cmn {
  padding: 4.5rem 0 4rem; }

.grid-set {
  display: flex;
  width: calc(100% + 3.5rem);
  margin: 0 calc(-3.5rem / 2); }
  .grid-set [class^="grid"] {
    width: calc(100% - 3.5rem);
    flex-basis: calc(100% - 3.5rem);
    padding: calc(3.5rem / 2); }
    .grid-set [class^="grid"] p:first-child {
      margin-top: 0; }
  .grid-set.reverse {
    flex-flow: column-reverse; }
    @media print, screen and (min-width: 769px) {
      .grid-set.reverse {
        flex-flow: row-reverse; } }
  .grid-set.wrap {
    flex-flow: wrap; }
  @media print, screen and (min-width: 769px) {
    .grid-set .grid-2 {
      width: calc(100% / 2 - 3.5rem);
      flex-basis: calc(100% / 2 - 3.5rem); }
    .grid-set .grid-3_1 {
      width: calc(100% / 3 - 3.5rem) !important;
      flex-basis: calc(100% / 3 - 3.5rem) !important; }
    .grid-set .grid-3_2 {
      width: calc(100% / 3 * 2 - 3.5rem);
      flex-basis: calc(100% / 3 * 2 - 3.5rem); }
    .grid-set .grid-5_2 {
      width: calc(100% / 5 * 2 - 3.5rem);
      flex-basis: calc(100% / 5 * 2 - 3.5rem); }
    .grid-set .grid-5_3 {
      width: calc(100% / 5 * 3 - 3.5rem);
      flex-basis: calc(100% / 5 * 3 - 3.5rem); } }

/* --------------------------------------------------
 *    ボタン
-------------------------------------------------- */
.area-btn {
  text-align: center;
  margin: 1em 0 0; }

.mfp_buttons {
  margin: 3rem 0; }

.btn,
#mfp_button_send,
#mfp_button_cancel {
  text-decoration: none;
  display: inline-block;
  font-size: 1.5rem;
  color: #fff;
  background-color: #d0111b;
  width: 100%;
  padding: 1em 1.875em;
  text-align: center;
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
  z-index: 0; }
  @media print, screen and (min-width: 769px) {
    .btn,
    #mfp_button_send,
    #mfp_button_cancel {
      font-size: 1.6rem;
      max-width: 29.4rem; }
      .btn:hover,
      #mfp_button_send:hover,
      #mfp_button_cancel:hover {
        background-color: #000; }
        .btn:hover:before,
        #mfp_button_send:hover:before,
        #mfp_button_cancel:hover:before {
          left: 1.5em;
          transition: all 0.3s ease-in-out; } }
  .btn + .btn, .btn + #mfp_button_send, .btn + #mfp_button_cancel,
  #mfp_button_send + .btn,
  #mfp_button_send + #mfp_button_send,
  #mfp_button_send + #mfp_button_cancel,
  #mfp_button_cancel + .btn,
  #mfp_button_cancel + #mfp_button_send,
  #mfp_button_cancel + #mfp_button_cancel {
    margin-top: 2rem; }
    @media print, screen and (min-width: 769px) {
      .btn + .btn, .btn + #mfp_button_send, .btn + #mfp_button_cancel,
      #mfp_button_send + .btn,
      #mfp_button_send + #mfp_button_send,
      #mfp_button_send + #mfp_button_cancel,
      #mfp_button_cancel + .btn,
      #mfp_button_cancel + #mfp_button_send,
      #mfp_button_cancel + #mfp_button_cancel {
        margin-left: 3rem;
        margin-top: 0; } }

#mfp_button_cancel {
  background-color: #000; }
  @media print, screen and (min-width: 769px) {
    #mfp_button_cancel:hover {
      opacity: 0.6; } }

/* --------------------------------------------------
 *    フォーム
-------------------------------------------------- */
.area-contact-form form#mailformpro {
  padding: 0; }
  .area-contact-form form#mailformpro dl {
    display: flex;
    flex-flow: column; }
    .area-contact-form form#mailformpro dl dt {
      display: flex;
      justify-content: flex-start;
      font-weight: bold;
      padding: 2.9em 0 0.5em;
      border: none;
      box-sizing: border-box; }
      .area-contact-form form#mailformpro dl dt span {
        font-size: 1.4rem; }
        .area-contact-form form#mailformpro dl dt span.required {
          font-size: 1.1rem;
          color: #fff;
          background-color: #D00000;
          border-radius: 9999px;
          padding: 0.2em 1em 0.4em;
          margin-left: 1em; }
    .area-contact-form form#mailformpro dl dd {
      border-bottom: solid 1px #CCC;
      border-top: none;
      margin: 0;
      padding: 0.5em 0 2em;
      font-size: 1.4rem;
      line-height: 1.5;
      text-align: left;
      box-sizing: border-box; }
      .area-contact-form form#mailformpro dl dd input[type="text"],
      .area-contact-form form#mailformpro dl dd input[type="email"],
      .area-contact-form form#mailformpro dl dd input[type="tel"],
      .area-contact-form form#mailformpro dl dd textarea {
        font-size: 1.6rem;
        border: 1px solid #ccc;
        border-radius: 0.3rem;
        background-color: #fff;
        padding: 0.63em 0.5em;
        box-shadow: none;
        vertical-align: middle;
        width: calc(100% - 1em);
        max-width: 51.2rem;
        margin-left: 0;
        margin-right: 0; }
        .area-contact-form form#mailformpro dl dd input[type="text"]::placeholder,
        .area-contact-form form#mailformpro dl dd input[type="email"]::placeholder,
        .area-contact-form form#mailformpro dl dd input[type="tel"]::placeholder,
        .area-contact-form form#mailformpro dl dd textarea::placeholder {
          color: #ccc; }
      .area-contact-form form#mailformpro dl dd textarea {
        max-width: calc(100% - 1em);
        width: calc(100% - 1em) !important;
        height: 10rem !important; }
      .area-contact-form form#mailformpro dl dd .sec-address li + li {
        margin-top: 0.5rem; }
      .area-contact-form form#mailformpro dl dd .sec-address span {
        display: block; }
      .area-contact-form form#mailformpro dl dd .select-box {
        width: calc(100% - 9em);
        display: inline-block; }
        .area-contact-form form#mailformpro dl dd .select-box select {
          width: 100%;
          max-width: 32rem;
          font-size: 1.4rem;
          padding: 0.3em 0.5em;
          appearance: none;
          border: 1px solid #ccc;
          background: #fff;
          background-image: url(../img/common/img-down-arrow.png);
          background-position: right 50%;
          background-repeat: no-repeat;
          background-size: 20px, 100%;
          box-shadow: none;
          border-radius: 0;
          margin-left: 0;
          margin-right: 0;
          box-sizing: content-box; }
      .area-contact-form form#mailformpro dl dd select::-ms-expand {
        display: none; }
  .area-contact-form form#mailformpro label.mfp_not_checked {
    padding: 0 0 0 2em;
    border: none; }
  .area-contact-form form#mailformpro label.mfp_checked {
    padding: 0 0 0 2em;
    border: none;
    background-color: transparent;
    box-shadow: none; }
    .area-contact-form form#mailformpro label.mfp_checked:before {
      opacity: 1; }
  .area-contact-form form#mailformpro input[type=checkbox] {
    display: none; }
  .area-contact-form form#mailformpro input[type=radio] {
    display: none; }
  .area-contact-form form#mailformpro .label_check {
    position: relative;
    padding: 0 0 0 2em; }
    .area-contact-form form#mailformpro .label_check:after {
      left: 0;
      margin-top: -1rem;
      width: 1.6rem;
      height: 1.6rem;
      border: 0.1rem solid #ccc;
      border-radius: 0;
      background-color: #f7f7f7; }
    .area-contact-form form#mailformpro .label_check:before, .area-contact-form form#mailformpro .label_check:after {
      position: absolute;
      content: "";
      display: block;
      top: 50%; }
    .area-contact-form form#mailformpro .label_check:before {
      left: 0.6rem;
      margin-top: -0.8rem;
      width: 0.4rem;
      height: 0.8rem;
      border-right: 3px solid #d0111b;
      border-bottom: 3px solid #d0111b;
      transform: rotate(45deg);
      opacity: 0;
      z-index: 1; }
  .area-contact-form form#mailformpro .label_radio {
    position: relative;
    padding: 3px 3px 3px 2em; }
    .area-contact-form form#mailformpro .label_radio:after {
      left: 0;
      margin-top: -1rem;
      width: 1.6rem;
      height: 1.6rem;
      border: 0.1rem solid #ccc;
      border-radius: 50%;
      background-color: #f7f7f7; }
    .area-contact-form form#mailformpro .label_radio:before, .area-contact-form form#mailformpro .label_radio:after {
      position: absolute;
      content: "";
      display: block;
      top: 50%; }
    .area-contact-form form#mailformpro .label_radio:before {
      left: 0.4rem;
      margin-top: -0.6rem;
      width: 1rem;
      height: 1rem;
      background-color: #d0111b;
      border-radius: 50%;
      opacity: 0;
      z-index: 1; }
  .area-contact-form form#mailformpro .area-btn {
    display: flex; }
    .area-contact-form form#mailformpro .area-btn .btn {
      max-width: 36rem;
      padding: 1.2em;
      font-size: 1.8rem;
      cursor: pointer;
      outline: none;
      margin: auto; }
  @media print, screen and (min-width: 769px) {
    .area-contact-form form#mailformpro dl {
      flex-flow: wrap; }
      .area-contact-form form#mailformpro dl dt {
        justify-content: flex-end;
        width: 28rem;
        padding: 2.9em 0;
        padding-right: 8.5rem;
        position: relative;
        box-sizing: border-box;
        border-bottom: solid 1px #CCC; }
        .area-contact-form form#mailformpro dl dt span {
          font-size: 1.6rem; }
          .area-contact-form form#mailformpro dl dt span.required {
            font-size: 1.2rem;
            color: #fff;
            background-color: #D00000;
            border-radius: 9999px;
            padding: 0.2em 1em 0.4em;
            position: absolute;
            top: 2.8em;
            right: 1.58em; }
        .area-contact-form form#mailformpro dl dt:first-of-type {
          padding-top: 3.5em; }
          .area-contact-form form#mailformpro dl dt:first-of-type span.required {
            top: 3.4em; }
        .area-contact-form form#mailformpro dl dt:last-of-type {
          border-bottom: none;
          padding-bottom: 2.6em; }
      .area-contact-form form#mailformpro dl dd {
        width: calc(100% - 28rem);
        border-bottom: solid 1px #CCC;
        border-left: solid 1px #CCC;
        border-top: none;
        margin: 0;
        padding: 1.5em;
        text-align: left; }
        .area-contact-form form#mailformpro dl dd:first-of-type {
          padding-top: 2.6em; }
        .area-contact-form form#mailformpro dl dd:last-of-type {
          border-bottom: none;
          padding-bottom: 2.6em; }
        .area-contact-form form#mailformpro dl dd input[type="text"],
        .area-contact-form form#mailformpro dl dd input[type="email"],
        .area-contact-form form#mailformpro dl dd input[type="tel"],
        .area-contact-form form#mailformpro dl dd textarea {
          font-size: 1.6rem;
          border: 1px solid #ccc;
          border-radius: 0.3rem;
          background-color: #fff;
          padding: 0.63em 0.5em;
          box-shadow: none;
          vertical-align: middle;
          width: calc(100% - 1em);
          max-width: 51.2rem;
          margin-left: 0;
          margin-right: 0; }
          .area-contact-form form#mailformpro dl dd input[type="text"]::placeholder,
          .area-contact-form form#mailformpro dl dd input[type="email"]::placeholder,
          .area-contact-form form#mailformpro dl dd input[type="tel"]::placeholder,
          .area-contact-form form#mailformpro dl dd textarea::placeholder {
            color: #ccc; }
        .area-contact-form form#mailformpro dl dd textarea {
          max-width: 53rem;
          width: calc(100% - 1em) !important;
          height: 10rem !important;
          box-sizing: border-box; }
        .area-contact-form form#mailformpro dl dd .sec-address li + li {
          margin-top: 0.5rem; }
        .area-contact-form form#mailformpro dl dd .sec-address span {
          display: block; }
        .area-contact-form form#mailformpro dl dd .select-box {
          width: calc(100% - 9em);
          display: inline-block; }
          .area-contact-form form#mailformpro dl dd .select-box select {
            width: 100%;
            max-width: 32rem;
            font-size: 1.4rem;
            padding: 0.3em 0.5em;
            appearance: none;
            border: 1px solid #ccc;
            background: #fff;
            background-image: url(../img/common/img-down-arrow.png);
            background-position: right 50%;
            background-repeat: no-repeat;
            background-size: 20px, 100%;
            box-shadow: none;
            border-radius: 0;
            margin-left: 0;
            margin-right: 0;
            box-sizing: content-box; }
        .area-contact-form form#mailformpro dl dd select::-ms-expand {
          display: none; } }
.area-contact-form .mfp_thanks .box-info {
  margin: 1.5rem 0;
  padding: 1.5em 2em;
  border: 1px solid #d0111b;
  background-color: #f7f7f7; }
  .area-contact-form .mfp_thanks .box-info li {
    margin: 0.5em 0; }
.area-contact-form .box-btn {
  text-align: center;
  margin: 3rem auto; }

#mfp_overlay_inner h4 {
  font-size: 1.6rem;
  margin: 0 0 1em;
  line-height: 1.4;
  letter-spacing: 0.14em; }
  @media print, screen and (min-width: 769px) {
    #mfp_overlay_inner h4 {
      font-size: 2.0rem; } }

#mfp_phase_confirm h4 {
  font-size: 1.6rem;
  color: #d0111b;
  margin: 0 0 1em;
  line-height: 1.4;
  letter-spacing: 0.14em; }
  @media print, screen and (min-width: 769px) {
    #mfp_phase_confirm h4 {
      font-size: 2.0rem; } }
#mfp_phase_confirm #mfp_confirm_table {
  margin: 1.5rem 0; }
  #mfp_phase_confirm #mfp_confirm_table tr.mfp_colored {
    background-color: transparent; }
  #mfp_phase_confirm #mfp_confirm_table th {
    display: block;
    padding: 1em 0 0.5em;
    overflow: hidden;
    color: #d0111b;
    font-style: normal;
    font-size: 100%;
    text-align: left;
    word-break: break-all;
    word-wrap: break-word;
    vertical-align: top;
    line-height: 1.4;
    border-top: none; }
  #mfp_phase_confirm #mfp_confirm_table td {
    display: block;
    padding: 0 0 1.0em;
    text-align: left;
    vertical-align: top;
    border-top: none;
    overflow: hidden;
    word-break: break-all;
    word-wrap: break-word;
    line-height: 1.4;
    border-bottom: 1px solid #ccc; }
  @media print, screen and (min-width: 769px) {
    #mfp_phase_confirm #mfp_confirm_table {
      margin: 3rem 0; }
      #mfp_phase_confirm #mfp_confirm_table tr {
        border-bottom: 1px solid #ccc; }
      #mfp_phase_confirm #mfp_confirm_table th {
        display: table-cell;
        width: 30%;
        margin: 0 auto;
        border: none;
        padding: 1.2em 0; }
      #mfp_phase_confirm #mfp_confirm_table td {
        display: table-cell;
        border-top: none !important;
        border-bottom: none !important;
        padding: 1.2em 0; } }

.home .area-fv {
  position: relative;
  padding: 0; }
  .home .area-fv .ttl-img {
    max-width: 42.5rem;
    width: 43.36%;
    position: absolute;
    bottom: 4.25rem;
    right: 0;
    z-index: 1; }
  .home .area-fv .slider {
    width: 100%; }
.home .slick-dots {
  bottom: -20px; }
  .home .slick-dots li {
    width: 4.6rem;
    height: 0.7rem; }
    .home .slick-dots li button {
      width: 4.6rem;
      height: 0.7rem; }
      .home .slick-dots li button:before {
        content: "";
        width: 4.6rem;
        height: 0.7rem;
        font-size: 10px;
        line-height: 7rem;
        background-color: #000;
        border-radius: 0; }
      .home .slick-dots li button:hover:before, .home .slick-dots li button:focus:before {
        background-color: #d0111b; }
    .home .slick-dots li.slick-active button:before {
      background-color: #d0111b; }
.home .area-news {
  padding: 3rem 0 5rem; }
  .home .area-news .ttl-img {
    position: relative !important;
    width: 100%; }
    .home .area-news .ttl-img:after {
      content: "";
      display: inline-block;
      width: 100%;
      height: 4rem;
      background-color: #e6e6e6;
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      margin: auto; }
    .home .area-news .ttl-img span {
      display: block;
      position: relative;
      z-index: 1; }
    .home .area-news .ttl-img img {
      max-width: 10.2rem;
      background-color: #fff;
      padding: 0.8em; }
  .home .area-news .sec-news li {
    font-size: 1.2rem;
    color: #727171;
    margin: 1em;
    padding-left: 2em;
    line-height: 1.4;
    position: relative; }
    .home .area-news .sec-news li:before {
      content: "※";
      position: absolute;
      top: 0;
      left: 0; }
      .home [class^="area-"] .pict,
      .quality [class^="area-"] .pict,
      .about [class^="area-"] .pict {
  position: relative; }
.home [class^="area-"] .ttl-img {
  position: absolute;
  z-index: 1; }
.home .area-01,
.quality .area-01,
.about .area-01 {
  background-color: #122343;
  padding: 0;
  color: #fff; }
.home .area-01 img {
vertical-align: bottom;
}
  .home .area-01 .sec-cmn,
  .quality .area-01 .sec-cmn,
  .about .area-01 .sec-cmn {
    padding: 4.5rem 0 4rem; }
  .home .area-01 .ttl-img,
  .quality .area-01 .ttl-img,
  .about .area-01 .ttl-img {
    max-width: 47.3rem;
    width: 80%;
    bottom: 8%;
    right: 0; }
    .home .area-01 .ttl-01-img img,
    .quality .area-01 .ttl-01-img img,
    .about .area-01 .ttl-01-img img {
    max-width: 32.7rem;
    width: 100%; }
  .home .area-01 dl,
  .quality .area-01 dl,
  .about .area-01 dl {
    margin: 4rem 0 2.4rem; }
    .home .area-01 dl dt,
    .quality .area-01 dl dt,
    .about .area-01 dl dt {
      font-size: 1.6rem;
      margin: 0.5em 0; }
    .home .area-01 dl dd,
    .quality .area-01 dl dd,
    .about .area-01 dl dd {
      font-size: 1.4rem;
      margin: 0.5em 0; }
      .home .area-01 dl dd p,
      .quality .area-01 dl dd p,
      .about .area-01 dl dd p {
        margin-top: 0; }
        .home .area-01 dl dd p + p,
        .quality .area-01 dl dd p + p,
        .about .area-01 dl dd p + p {
          margin-top: 0.5em; }
  .home .area-01 .name,
  .quality .area-01 .name,
  .about .area-01 .name {
    margin-right: 15%; }
    .home .area-01 .name p,
    .quality .area-01 .name p,
    .about .area-01 .name p {
      display: inline-block;
      margin-top: 0; }
      .home .area-01 .name p small,
      .quality .area-01 .name p small,
      .about .area-01 .name p small {
        display: block;
        text-align: center; }
      .home .area-01 .name p span img,
      .quality .area-01 .name p span img,
      .about .area-01 .name p span img {
        max-width: 15.9rem;
        width: 100%; }
.home .area-02,
.quality .area-02,
.about .area-02 {
  background-color: #000;
  padding: 0;
  color: #fff; }
  .home .area-02 .ttl-img,
  .quality .area-02 .ttl-img,
  .about .area-02 .ttl-img {
    max-width: 47.6rem;
    width: 80%;
    position: absolute;
    top: 4.4rem;
    left: 3rem;
    z-index: 1; }
    .home .area-02 .ttl-img .link-btn,
    .quality .area-02 .ttl-img .link-btn,
    .about .area-02 .ttl-img .link-btn {
      width: calc(9rem - 0.65em * 2);
      font-size: 1.0rem;
      color: #fff;
      padding: 0.4em;
      background-color: #d0111b;
      text-decoration: none;
      position: absolute;
      left: 62%;
      top: 75%; }
      @media print, screen and (min-width: 769px) {
        .home .area-02 .ttl-img .link-btn,
        .quality .area-02 .ttl-img .link-btn,
        .about .area-02 .ttl-img .link-btn {
          width: calc(10.7rem - 0.65em * 2);
          padding: 0.65em;
          font-size: 1.2rem;
          left: 280px;
          top: 100%; } }
  .home .area-02 .ttl-01-img,
  .quality .area-02 .ttl-01-img,
  .about .area-02 .ttl-01-img {
    margin-bottom: 3rem; }
    .home .area-02 .ttl-01-img img,
    .quality .area-02 .ttl-01-img img,
    .about .area-02 .ttl-01-img img {
      max-width: 53.6rem;
      width: 100%; }
.home .area-03 {
  background-color: #000;
  padding: 0;
  color: #fff; }
  .home .area-03 .ttl-img {
    max-width: 46.5rem;
    width: 80%;
    position: absolute;
    bottom: 1.8rem;
    left: 0;
    z-index: 1; }
  .home .area-03 .grid-set {
    width: 100%;
    margin: 0;
    flex-flow: wrap; }
  .home .area-03 .grid-3_1 {
    width: calc(100% / 1 - 0.4rem) !important;
    flex-basis: calc(100% / 1 - 0.4rem) !important;
    padding: 0.2rem; }
    .home .area-03 .grid-3_1 a {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100vh;
      max-height: 16.3rem;
      text-decoration: none;
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
      position: relative; }
      .home .area-03 .grid-3_1 a:before {
        content: "";
        display: inline-block;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.75);
        position: absolute;
        top: 0;
        left: 0;
        transition: all 0.3s ease-in-out; }
      .home .area-03 .grid-3_1 a:hover:before {
        background-color: transparent; }
      .home .area-03 .grid-3_1 a h3 {
        font-size: 2.1rem;
        font-weight: bold;
        color: #fff;
        text-align: center;
        position: relative; }
        .home .area-03 .grid-3_1 a h3 small {
          display: block;
          font-size: 1.0rem;
          font-weight: normal;
          margin-top: 0.6em; }
    @media print, screen and (min-width: 769px) {
      .home .area-03 .grid-3_1 {
        width: calc(100% / 3 - 0.4rem) !important;
        flex-basis: calc(100% / 3 - 0.4rem) !important; } }
.home .area-04 {
  background-color: #000;
  overflow: hidden; }
  .home .area-04 .ttl-img {
    max-width: 51.3rem;
    width: 100%;
    padding-top: 4.4rem;
    position: relative; }
    .home .area-04 .ttl-img:after {
      content: "";
      border-bottom: 2px solid #c4000a;
      position: absolute;
      top: 78%;
      right: 0;
      width: 999%; }
  .home .area-04 .sec-cmn {
    max-width: 42.8rem;
    width: 100%;
    margin: 1em auto 0;
    padding: 3rem 0 4rem; }
    .home .area-04 .sec-cmn .ttl-01-img {
      max-width: 18.9rem;
      width: 100%;
      position: static;
      margin-bottom: 1rem; }
    .home .area-04 .sec-cmn .movie {
      width: 100%; }
      .home .area-04 .sec-cmn .movie p {
        color: #fff;
        font-size: 1rem;
        text-indent: 0;
        line-height: 1.4;
        margin-top: 0.6em; }
.home .area-05,
.quality .area-05,
.about .area-05 {
  background-color: #a5a6a6;
  position: relative;
  overflow: hidden; }
  .home .area-05 .container,
  .quality .area-05 .container,
  .about .area-05 .container {
    padding-top: 2rem;
    padding-bottom: 2rem; }
    .home .area-05 .grid-3_1,
    .quality .area-05 .grid-3_1,
    .about .area-05 .grid-3_1 {
    position: relative; }
    @media print, screen and (min-width: 769px) {
      .home .area-05 .grid-3_1,
      .quality .area-05 .grid-3_1,
      .about .area-05 .grid-3_1 {
        width: calc(26.5rem - 3.5rem) !important;
        flex-basis: calc(26.5rem - 3.5rem) !important; } }
  .home .area-05 .grid-3_2 .pict,
  .quality .area-05 .grid-3_2 .pict,
  .about .area-05 .grid-3_2 .pict {
    max-width: 25.4rem;
    margin: 3rem auto; }
    @media print, screen and (min-width: 769px) {
      .home .area-05 .grid-3_2 .pict,
      .quality .area-05 .grid-3_2 .pict,
      .about .area-05 .grid-3_2 .pict {
        float: right;
        margin: 0 0 0 2rem; } }
        .home .area-05 .grid-3_2 p,
        .quality .area-05 .grid-3_2 p,
        .about .area-05 .grid-3_2 p {
    color: #fff; }
  @media print, screen and (min-width: 769px) {
    .home .area-05 .grid-3_2,
    .quality .area-05 .grid-3_2,
    .about .area-05 .grid-3_2 {
      width: calc(100% - 26.5rem - 3.5rem - 3.5rem) !important;
      flex-basis: calc(100% - 26.5rem - 3.5rem - 3.5rem) !important; } }
      .home .area-05 .ttl-img,
      .quality .area-05 .ttl-img,
      .about .area-05 .ttl-img {
    max-width: 22.3rem;
    width: 100%;
    position: absolute;
    top: calc(3.5rem / 2);
    left: calc(3.5rem / 2); }
    .home .area-05 .ttl-img:after,
    .quality .area-05 .ttl-img:after,
    .about .area-05 .ttl-img:after {
      content: "";
      border-bottom: 2px solid #c4000a;
      position: absolute;
      top: 54%;
      right: 0;
      width: 999%; }
    @media print, screen and (min-width: 769px) {
      .home .area-05 .ttl-img,
      .quality .area-05 .ttl-img,
      .about .area-05 .ttl-img {
        top: calc(3.5rem / 2);
        right: calc(3.5rem / 2);
        left: auto; } }
        .home .area-05 .ttl-01-img,
        .quality .area-05 .ttl-01-img,
        .about .area-05 .ttl-01-img {
    max-width: 47.8rem;
    width: 100%; }
    .home .area-05 .sec-box,
    .quality .area-05 .sec-box,
    .about .area-05 .sec-box {
    max-width: 23rem;
    margin: 8rem auto 0; }
    .home .area-05 .sec-box .bnr,
    .quality .area-05 .sec-box .bnr,
    .about .area-05 .sec-box .bnr {
      margin: 1em 0; }
      .home .area-05 .sec-box p,
      .quality .area-05 .sec-box p,
      .about .area-05 .sec-box p {
      color: #231815;
      margin-top: 1em;
      line-height: 1.4; }
    @media print, screen and (min-width: 769px) {
      .home .area-05 .sec-box,
      .quality .area-05 .sec-box,
      .about .area-05 .sec-box {
        float: right;
        margin: 8rem 0 0; } }
        .home .area-06,
        .quality .area-06,
        .about .area-06 {
  position: relative;
  overflow: hidden; }
  .home .area-06 .container,
  .quality .area-06 .container,
  .about .area-06 .container {
    padding-top: 6rem;
    padding-bottom: 4rem; }
    .home .area-06 .ttl-img,
    .quality .area-06 .ttl-img,
    .about .area-06 .ttl-img {
    max-width: 25.8rem;
    width: 100%;
    margin-bottom: 2em;
    position: relative; }
    .home .area-06 .ttl-img:after,
    .quality .area-06 .ttl-img:after,
    .about .area-06 .ttl-img:after {
      content: "";
      border-bottom: 2px solid #c4000a;
      position: absolute;
      top: 43%;
      right: 0;
      width: 999%; }
  .home .area-06 .grid-5_3,
  .quality .area-06 .grid-5_3,
  .about .area-06 .grid-5_3 {
    position: relative; }
    .home .area-06 .grid-5_3 dl,
    .quality .area-06 .grid-5_3 dl,
    .about .area-06 .grid-5_3 dl {
      font-family: "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴシック", "Hiragino Sans", sans-serif;
      font-size: 1.2rem; }
      .home .area-06 .grid-5_3 dl dt,
      .quality .area-06 .grid-5_3 dl dt,
      .about .area-06 .grid-5_3 dl dt {
        font-weight: bold;
        margin-bottom: 0.5em;
        line-height: 1.4; }
        .home .area-06 .grid-5_3 dl dd,
        .quality .area-06 .grid-5_3 dl dd,
        .about .area-06 .grid-5_3 dl dd {
        margin-bottom: 1em;
        line-height: 1.4; }
      @media print, screen and (min-width: 769px) {
        .home .area-06 .grid-5_3 dl,
        .quality .area-06 .grid-5_3 dl,
        .about .area-06 .grid-5_3 dl {
          font-size: 1.4rem; }
          .home .area-06 .grid-5_3 dl dt,
          .quality .area-06 .grid-5_3 dl dt,
          .about .area-06 .grid-5_3 dl dt {
            float: left;
            margin-bottom: 1.5em; }
            .home .area-06 .grid-5_3 dl dd,
            .quality .area-06 .grid-5_3 dl dd,
            .about .area-06 .grid-5_3 dl dd {
            margin-left: 14em;
            margin-bottom: 1.5em; } }
            .home .area-06 .grid-5_2 .pict,
            .quality .area-06 .grid-5_2 .pict,
            .about .area-06 .grid-5_2 .pict {
    position: relative; }
    .home .area-06 .grid-5_2 .pict + .pict,
    .quality .area-06 .grid-5_2 .pict + .pict,
    .about .area-06 .grid-5_2 .pict + .pict {
      margin-top: 3rem; }
      .home .area-06 .grid-5_2 .pict .btn,
      .quality .area-06 .grid-5_2 .pict .btn,
      .about .area-06 .grid-5_2 .pict .btn {
      font-size: 1.2rem;
      padding: 0.5em 1em;
      position: absolute;
      top: -1em;
      right: -1em;
      width: auto; }

.products .area-head {
  background-image: url(../img/products/bg-head.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  display: block;
  height: 23rem; }
  @media print, screen and (min-width: 769px) {
    .products .area-head {
      height: 23rem; } }
  .products .area-head .ttl-img {
    max-width: 19.2rem;
    width: 80%;
    padding-top: 3.8%; }
.products .area-03 {
  background-color: #000;
  padding: 0;
  color: #fff; }
  .products .area-03 .grid-set {
    width: 100%;
    margin: 0;
    flex-flow: wrap;
    padding: 0.2rem 0; }
  .products .area-03 .grid-3_1 {
    width: calc(100% / 1 - 0.4rem) !important;
    flex-basis: calc(100% / 1 - 0.4rem) !important;
    padding: 0.2rem; }
    .products .area-03 .grid-3_1 a {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100vh;
      max-height: 8.9rem;
      text-decoration: none;
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
      position: relative; }
      .products .area-03 .grid-3_1 a:before {
        content: "";
        display: inline-block;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.75);
        position: absolute;
        top: 0;
        left: 0;
        transition: all 0.3s ease-in-out; }
      .products .area-03 .grid-3_1 a:hover:before {
        background-color: transparent; }
      .products .area-03 .grid-3_1 a h3 {
        font-size: 2.1rem;
        font-weight: bold;
        color: #fff;
        text-align: center;
        position: relative; }
        .products .area-03 .grid-3_1 a h3 small {
          display: block;
          font-size: 1.0rem;
          font-weight: normal;
          margin-top: 0.6em; }
    @media print, screen and (min-width: 769px) {
      .products .area-03 .grid-3_1 {
        width: calc(100% / 3 - 0.4rem) !important;
        flex-basis: calc(100% / 3 - 0.4rem) !important; } }
.products .contents .grid-set {
  flex-direction: column;
  margin-top: 2rem;
  margin-bottom: 2rem; }
  .products .contents .grid-set dl {
    margin-bottom: 1.3rem; }
    .products .contents .grid-set dl dt {
      font-size: 1.7rem;
      font-weight: bold;
      margin-bottom: 0.6em;
      line-height: 1.4; }
    .products .contents .grid-set dl dd {
      font-size: 1.4rem;
      line-height: 1.8; }
  .products .contents .grid-set.reverse {
    flex-flow: column; }
.products .contents button {
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
  padding: 0.6em 0.5em 0.5em 2em;
  max-width: 17rem;
  font-size: 1.2rem;
  position: relative;
  text-align: left; }
  .products .contents button:after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border: 2px solid;
    border-color: transparent transparent #fff #fff;
    transform: rotate(-45deg);
    position: absolute;
    top: 50%;
    right: 1em;
    margin-top: -10px; }
  .products .contents button.active {
    background-color: #121212; }
    .products .contents button.active:after {
      transform: rotate(135deg);
      top: 50%;
      right: 1em;
      margin-top: -3px; }
@media print, screen and (min-width: 769px) {
  .products .contents .grid-set {
    flex-direction: row; }
    .products .contents .grid-set > [class^="grid"] + .grid {
      align-self: flex-end; }
    .products .contents .grid-set.reverse {
      flex-flow: row-reverse; }
    .products .contents .grid-set dl {
      margin-bottom: 3rem; }
      .products .contents .grid-set dl dt {
        font-size: 1.7rem;
        font-weight: bold;
        margin-bottom: 0.6em;
        line-height: 1.4; }
      .products .contents .grid-set dl dd {
        font-size: 1.4rem;
        line-height: 1.8; }
        .products .contents .grid-set dl dd b {
          font-weight: bold; }
        .products .contents .grid-set dl dd .base {
          font-size: 1.4rem;
          margin-top: 1em; }
  .products .contents button {
    font-size: 1.4rem; } }
.products .contents [class^="box-acco"] {
  display: none;
  padding: 2rem 3rem;
  background-color: #ededed; }
  .products .contents [class^="box-acco"] .grid-set {
    margin-top: 0;
    margin-bottom: 0; }
    .products .contents [class^="box-acco"] .grid-set.center {
      justify-content: center; }
    .products .contents [class^="box-acco"] .grid-set.reverse {
      flex-flow: row-reverse; }
    .products .contents [class^="box-acco"] .grid-set p {
      margin-top: 0.5em;
      text-indent: 0;
      line-height: 1.4; }
      .products .contents [class^="box-acco"] .grid-set p b {
        font-weight: bold; }
      .products .contents [class^="box-acco"] .grid-set p small {
        font-size: 1.4rem; }

.quality,
.about {
  background-color: #000;
  color: #fff; }
  .quality .area-06,
  .about .area-06 {
    background-color: #fff;
    color: #231815;
  }
  .quality .area-head,
  .about .area-head {
    /*
    background-image: url(../img/quality/bg-head.jpg);
     height: 23rem;
    */
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    display: block;
    }
    @media print, screen and (min-width: 769px) {
      .quality .area-head {
        /* height: 23rem;*/ } }
    .quality .area-head .ttl-img,
    .about .area-head .ttl-img {
      max-width: 29.1rem;
      width: 80%;
      padding-top: 3.8%; }
  .quality .area-policy .sec-policy,
  .about .area-policy .sec-policy {
    display: flex;
    flex-flow: column;
    align-items: center;
    border: 1px solid #fff;
    padding: 3.5rem;
    margin: 6rem auto; }
  .quality .area-policy .ttl-3,
  .about .area-policy .ttl-3 {
    font-size: 3.5rem;
    font-weight: bold;
    color: #fff; }
  .quality .area-policy ol,
  .about .area-policy ol {
    padding: 0;
    margin: 0;
    list-style: none;
    counter-reset: number; }
    .quality .area-policy ol li,
    .about .area-policy ol li {
      font-size: 3.0rem;
      line-height: 1.4;
      margin-bottom: 2rem; }
      .quality .area-policy ol li:before,
      .about .area-policy ol li:before {
        counter-increment: number;
        content: counter(number) ".";
        margin-right: 1em; }
  .quality .area-policy .grid-set.content .grid-3_1,
  .about .area-policy .grid-set.content .grid-3_1 {
    text-align: center; }
    .quality .area-policy .grid-set.content .grid-3_1 a,
    .about .area-policy .grid-set.content .grid-3_1 a {
      text-decoration: none; }
    .quality .area-policy .grid-set.content .grid-3_1 img,
    .about .area-policy .grid-set.content .grid-3_1 img {
      max-width: 25.5rem; }
    .quality .area-policy .grid-set.content .grid-3_1 p,
    .about .area-policy .grid-set.content .grid-3_1 p {
      margin-top: 0;
      text-indent: 0;
      text-align: center;
      color: #fff; }
  .quality .area-policy .grid-set.content .grid-3_2 p,
  .about .area-policy .grid-set.content .grid-3_2 p {
    text-indent: 0; }
    @media print, screen and (min-width: 769px) {
      .quality .area-policy .grid-set.content .grid-3_2 p,
      .about .area-policy .grid-set.content .grid-3_2 p {
        padding-left: 5.75rem; } }
  .quality .area-policy .sec-pict,
  .about .area-policy .sec-pict {
    display: flex;
    width: calc(100% + 2rem);
    margin: 0 calc(-2rem / 2);
    flex-flow: wrap; }
    .quality .area-policy .sec-pict .pict,
    .about .area-policy .sec-pict .pict {
      padding: calc(2rem / 2);
      width: calc(100% - 2rem);
      flex-basis: calc(100% - 2rem); }
      .quality .area-policy .sec-pict .pict:nth-child(1),
      .about .area-policy .sec-pict .pict:nth-child(1) {
        width: calc(60% - 2rem);
        flex-basis: calc(60% - 2rem); }
      .quality .area-policy .sec-pict .pict:nth-child(2),
      .about .area-policy .sec-pict .pict:nth-child(2) {
        width: calc(39.8% - 2rem);
        flex-basis: calc(39.8% - 2rem); }
      .quality .area-policy .sec-pict .pict:nth-child(3),
      .about .area-policy .sec-pict .pict:nth-child(3) {
        width: calc(39.8% - 2rem);
        flex-basis: calc(39.8% - 2rem); }
      .quality .area-policy .sec-pict .pict:nth-child(4),
      .about .area-policy .sec-pict .pict:nth-child(4) {
        width: calc(60% - 2rem);
        flex-basis: calc(60% - 2rem); }

.block-map {
  margin-top: 30px;
}
.block-map iframe {
  width: 100%;
}
.block-map > div {
  margin-bottom: 30px;
  text-align: center;
}
@media print, screen and (min-width: 769px) {
  .block-map {
    display: flex;
  }
  .block-map > div {
    width: 50%;
    box-sizing: border-box;
    margin-bottom: 0;
  }
  .block-map > div:nth-of-type(odd) {
    padding: 0 20px 0 0;
  }
  .block-map > div:nth-of-type(even) {
    padding: 0 0 0 20px;
  }
  .block-map p {
    margin-top: 0.25em;
  }

}
@media print, screen and (min-width: 769px) {
  .quality .area-05 .grid-3_2 .pict-vert,
  .about .area-05 .grid-3_2 .pict-vert {
    margin-right: 30px;
  }
}


/*　floating-btn　*/
#floating-btn {
  position: fixed;
  z-index: 20;
  top: 250px;
  right: 0;
  opacity: 0;
  transition: 0.4s;
  visibility: hidden;
}
#floating-btn.active {
  visibility: visible;
  display: block;
  opacity: 1;
}
#floating-btn > div {
  width: 50px;
  height: 50px;
  box-sizing: border-box;
  border-radius: 4px 0 0 4px;
}
#floating-btn > div > a {
  padding: 10px;
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.floating-btn_mail {
  background-color: #d0111b;
}
@media print, screen and (min-width: 769px) {
  #floating-btn {
    top: 300px;
  }
  #floating-btn > div {
    width: 64px;
    height: 64px;
  }
  #floating-btn > div > a {
    padding: 14px;
  }
  
}

/* インスタグラム */
#insta {
  padding: 60px 0;
}
.insta_list{
	display: flex;
	flex-wrap: wrap;
	gap: 18px 15px;
	margin-bottom: 50px;
}
.insta_list li{
	position: relative;
	width: calc((100% - 45px)/4);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px){
	.insta_list{
    gap: 14px 10px;
	}
	.insta_list li{
		width: calc((100% - 20px)/2);
	}
  /*
	.insta_list li:nth-child(n + 10) {
		display: none;
	}
  */
}
.insta_list .insta_list_thum {
  position: relative;
}
.insta_list .insta_list_thum::before{
	content: "";
	display: block;
	padding-top: 100%;
}
.insta_list_thum img{
  position: absolute;
  top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.insta_list a {
  text-decoration: none;
  color: #000;
}
.insta_list a:hover {
	opacity: 0.7;
	transition: 0.3s;
}
.insta_list + p {
	text-indent: 0;
	text-align: center;
}
.insta_list + p img {
	width: auto;
}
.insta_list_row1 {
  display: flex;
}
.insta_list_row1 .insta_prof_photo {
  width: 30px;
}
.insta_list_row1 .insta_prof_photo img {
  height: auto;
  border-radius: 100%;
}
.insta_list_row1 .insta_prof_txt {
  padding-left: 8px;
}
.insta_list_row1 .insta_prof_name,
.insta_list_row1 .insta_date {
  font-size: 1.4rem;
  color: #444;
}
@media screen and (max-width: 768px){
  .insta_list_row1 .insta_prof_name,
  .insta_list_row1 .insta_date {
    font-size: 1.2rem;
  }
}
.insta_list_row1 .insta_date {
  padding-top: 2px;
  display: inline-block;
}
.insta_list_row2 {
  padding-top: 8px;
  font-size: 1.4rem;
}
.insta_list_cnt {
  padding: 10px;
}

#movie .sec-movie {
	margin: 3rem 0 0 0;
	display: flex;
	justify-content: space-between;
	max-width: 100%;
}
#movie .sec-movie .movie {
	width: 49%;
}
#movie .sec-movie .movie iframe {
	aspect-ratio: 9 / 16;
	width: 100%;
	height: auto;
}
#movie .sec-movie .movie .video {
	height: 100%;
	margin: 0 auto;
	overflow: visible;
	padding-bottom: 0;
}
#hpb-title h2 {
	font-size: 2.8rem;
	text-align: center;
	padding: 50px 0 0 0;
}
#hpb-title h2 span {
	display: block;
	font-size: 1.6rem;
	margin: 5px 0 0 0;
}
@media print, screen and (min-width: 769px) {
	#hpb-title h2 {
		font-size: 3rem;
		text-align: center;
		padding: 50px 0 0 0;
	}
	#hpb-title h2 span {
		display: inline-block;
		margin: 0;
	}
}
#privacy {
	width: 980px;
	max-width: 90%;
	margin: 50px auto;
}

#privacy h3 {
	font-size: 2.2rem;
	margin: 30px 0 20px 0;
	line-height: 1.2;
}
#privacy p {
	text-indent: 0;
	line-height: 1.4;
}
#privacy ul {
	margin: 0;
	padding: 0 0 0 1.2em;
}
#privacy ul li {
	margin: 10px 0 0 0;
	list-style-type: disc;
}
#privacy hr {
	border: none;
	border-top: 1px solid #CCC;
	margin: 30px 0 0 0;
}