@charset "UTF-8";
@media screen and (max-width: 599px) {
  img.lg,
  img.md,
  img.sm {
    display: none !important; }

  img.xs {
    display: inline !important; } }
@media screen and (min-width: 600px) and (max-width: 767px) {
  img.lg,
  img.md,
  img.xs {
    display: none !important; }

  img.sm {
    display: inline !important; } }
@media screen and (min-width: 768px) and (max-width: 979px) {
  img.lg,
  img.sm,
  img.xs {
    display: none !important; }

  img.md {
    display: inline !important; } }
@media screen and (min-width: 980px) {
  img.sm,
  img.md,
  img.xs {
    display: none !important; }

  img.lg {
    display: inline !important; } }
/* ***** */
* {
  box-sizing: border-box; }

h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0; }

address {
  font-style: normal; }

img {
  max-width: 100%; }

p,
ul, ol, dl, dt, dd {
  margin: 0;
  padding: 0; }

a {
  text-decoration: none;
  color: inherit; }

.clear:after {
  clear: both;
  display: block;
  content: ""; }

.content {
  padding: 0 10px;
  margin: 0 auto; }
  @media screen and (min-width: 980px) {
    .content {
      width: 950px;
      padding: 0; } }
.content.gmap iframe{
width:100%; }
.font-serif {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
  @media all and (-ms-high-contrast: none) {
    .font-serif {
      font-family: "メイリオ"; } }

/* ***** */
body {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  font-size: 16px;
  line-height: 24px;
  color: #221815;
  margin: 0;
  padding: 0; }

header {
  display: table;
  width: 100%;
  margin: 0 auto;
  padding: 15px 20px; }
  @media screen and (min-width: 980px) {
    header {
      width: 980px;
      padding: 30px 0; } }
  header h1 {
    display: table-cell;
    width: 40%;
    vertical-align: middle; }
    @media screen and (min-width: 980px) {
      header h1 {
        vertical-align: bottom; } }
    @media screen and (min-width: 980px) {
      header h1 img {
        max-width: 100%; } }
  header address {
    text-align: right;
    display: table-cell;
    width: 60%;
    vertical-align: top; }
    @media screen and (min-width: 600px) and (max-width: 767px) {
      header address {
        padding-left: 10px; } }
    header address > * {
      display: block;
      float: left; }
      @media screen and (min-width: 980px) {
        header address > * {
          float: none; } }
    header address > span {
      display: none;
      color: #a7041a;
      line-height: 24px;
      font-weight: bold; }
      @media screen and (min-width: 980px) {
        header address > span {
          display: block; } }
    header address .header-tel img,
    header address .header-mail img {
      height: 50px; }
      @media screen and (min-width: 768px) and (max-width: 979px) {
        header address .header-tel img,
        header address .header-mail img {
          height: 55px; } }
      @media screen and (min-width: 980px) {
        header address .header-tel img,
        header address .header-mail img {
          height: 45px; } }
    header address .header-tel {
      margin-left: 20px; }
      @media screen and (min-width: 600px) and (max-width: 767px) {
        header address .header-tel {
          margin-left: 10px; } }
      @media screen and (min-width: 980px) {
        header address .header-tel {
          margin-left: 0; } }
    header address .header-mail {
      margin-left: 20px; }
      @media screen and (min-width: 600px) and (max-width: 767px) {
        header address .header-mail {
          margin-left: 10px; } }

nav.global {
  display: none;
  margin: 0 auto; }
  @media screen and (min-width: 980px) {
    nav.global {
      display: block;
      width: 980px; } }
  nav.global ul {
    display: table;
    width: 100%;
    border-left: 2px solid #a6a7a7;
    margin-bottom: 20px; }
    nav.global ul li {
      display: table-cell;
      text-align: center;
      width: 20%;
      border-right: 2px solid #a6a7a7; }
      nav.global ul li a {
        display: block;
        padding: 10px 0; }
        @media screen and (min-width: 980px) {
          nav.global ul li a {
            font-size: 18px; } }

footer {
  background: #5c0000;
  color: #fff;
  text-align: center;
  padding: 50px 10px; }
  footer > a img {
    width: 400px;
    margin-bottom: 20px; }
  footer > address {
    margin-bottom: 30px; }
    footer > address span {
      display: block; }
      @media screen and (min-width: 980px) {
        footer > address span {
          display: inline;
          margin-left: 1em; } }
  footer > div {
    text-align: center; }
    @media screen and (min-width: 980px) {
      footer > div {
        width: 800px;
        margin: 0 auto 30px;
        text-align: left; } }
    footer > div > span {
      display: block;
      font-weight: bold;
      vertical-align: text-bottom;
      text-align: center; }
      @media screen and (min-width: 980px) {
        footer > div > span {
          text-align: left; } }
    @media screen and (min-width: 980px) {
      footer > div > img {
        width: 450px;
        margin-right: 40px;
        vertical-align: middle; } }
    footer > div > a {
      display: block;
      padding: 20px 0; }
      @media screen and (min-width: 980px) {
        footer > div > a {
          display: inline; } }
      @media screen and (min-width: 980px) {
        footer > div > a img {
          height: 72px;
          vertical-align: middle; } }
  footer > p {
    display: inline-block;
    border: 1px solid #fff;
    border-radius: 10px;
    padding: 10px 20px;
    font-weight: bold;
    margin-right: 20px;
    text-align: left;
    vertical-align: text-bottom; }

#page-top {
  position: fixed;
  bottom: 20px;
  right: 10px;
  z-index: 9999;
  background: #5c0000;
  border-radius: 5px;
  color: #fff;
  font-size: 20px;
  display: block;
  padding: 10px; }

.red {
  color: #5c0000;
  font-weight: bold; }

/* index */
.index-image {
  width: 100%;
  margin: 0 auto 60px; }
  @media screen and (min-width: 980px) {
    .index-image {
      width: 1200px; } }
  .index-image .main {
    vertical-align: top;
    position: relative; }
    .index-image .main > img {
      margin-bottom: 30px; }
    .index-image .main > div {
      background: #fff;
      font-weight: bold;
      background: rgba(225, 225, 225, 0.8);
      padding: 30px;
      margin: 0 10px 30px; }
      @media screen and (min-width: 980px) {
        .index-image .main > div {
          position: absolute;
          top: 120px;
          right: 80px;
          width: 400px;
          margin: 0 10px; } }
      .index-image .main > div > span {
        display: inline-block;
        font-size: 140%;
        color: #a7041a;
        line-height: 120%;
        margin-bottom: 10px; }
        @media screen and (min-width: 980px) {
          .index-image .main > div > span {
            padding: 0 10px 5px;
            font-size: 30px; } }
  .index-image .side {
    padding: 0 10px;
    font-weight: bold;
    text-align: center;
    font-size: 160%;
    margin-bottom: 60px; }
    .index-image .side p {
      padding: 10px 0;
      margin-bottom: 10px; }
    .index-image .side ul {
      list-style-type: none;
      border-left: 1px solid #999;
      display: table;
      width: 100%; }
      .index-image .side ul li {
        display: table-cell;
        width: 33%;
        border-right: 1px solid #999;
        padding: 15px 20px; }
        .index-image .side ul li img {
          width: 100%; }

.index-info {
  margin-bottom: 60px; }
  @media screen and (min-width: 980px) {
    .index-info {
      margin-bottom: 70px; } }
  .index-info:after {
    content: "";
    clear: both;
    display: block; }
  .index-info .info {
    margin-bottom: 60px; }
    @media screen and (min-width: 980px) {
      .index-info .info {
        margin-right: 50%;
        padding-right: 30px;
        margin-bottom: 0; } }
    .index-info .info h2 {
      color: #5c0000;
      margin-bottom: 10px; }
      @media screen and (min-width: 980px) {
        .index-info .info h2 {
          font-size: 20px; } }
    .index-info .info dl {
      border-bottom: 1px dashed #999; }
      .index-info .info dl dt,
      .index-info .info dl dd {
        padding: 10px 0;
        border-top: 1px dashed #999; }
      .index-info .info dl dt {
        float: left;
        width: 120px;
        color: #5c0000;
        font-weight: bold; }
      .index-info .info dl dd {
        margin-left: 120px; }
  .index-info > div {
    margin-bottom: 60px; }
    @media screen and (min-width: 980px) {
      .index-info > div {
        float: right;
        width: 50%;
        margin-bottom: 0; } }

.index-about {
  text-align: center;
  margin: 0 auto 60px; }
  @media screen and (min-width: 980px) {
    .index-about {
      width: 800px; } }
  @media screen and (min-width: 980px) {
    .index-about {
      margin: 0 auto 70px; } }
  .index-about h2 {
    display: inline-block;
    color: #5c0000;
    border: 2px solid #5c0000;
    border-radius: 25px;
    padding: 20px 50px;
    margin-bottom: 30px; }
    @media screen and (min-width: 980px) {
      .index-about h2 {
        font-size: 28px; } }
  .index-about p {
    margin-bottom: 30px;
    color: #5c0000; }
    @media screen and (min-width: 980px) {
      .index-about p {
        font-size: 20px;
        line-height: 120%;
        font-weight: bold; } }
  .index-about > ul {
    text-align: center; }
    .index-about > ul li {
      display: inline-block;
      width: 180px;
      height: 180px;
      background: #5c0000;
      border-radius: 90px;
      color: #fff;
      margin-bottom: 20px;
      font-weight: bold;
      padding: 50px 10px 0;
      font-size: 120%;
      line-height: 130%;
      vertical-align: top; }
      .index-about > ul li:last-child {
        margin-right: 0; }
      .index-about > ul li:nth-child(2) {
        padding-top: 65px; }
      @media screen and (max-width: 599px) {
        .index-about > ul li {
          width: 130px;
          height: 130px;
          padding: 35px 5px 0;
          font-size: 100%; }
          .index-about > ul li:nth-child(2) {
            padding-top: 50px; } }
      @media screen and (min-width: 980px) {
        .index-about > ul li {
          font-size: 22px;
          margin: 0 20px 20px 0; } }

.index-list {
  margin: 0 auto 60px; }
  @media screen and (min-width: 980px) {
    .index-list {
      margin: 0 auto 70px; } }
  @media screen and (min-width: 980px) {
    .index-list ul {
      display: table; } }
  .index-list ul li {
    text-align: center;
    margin-bottom: 20px; }
    @media screen and (min-width: 980px) {
      .index-list ul li {
        display: table-cell;
        width: 50%; }
        .index-list ul li:nth-child(odd) {
          padding: 0 20px 0 0; }
        .index-list ul li:nth-child(even) {
          padding: 0 0 0 20px; } }
    @media screen and (min-width: 980px) {
      .index-list ul li img {
        height: 440px; } }

.index-access {
  margin: 0 auto 60px; }
  @media screen and (min-width: 980px) {
    .index-access {
      margin: 0 auto 70px; } }
  .index-access h2 {
    background: #221815;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    margin-bottom: 20px; }
  .index-access > div > p {
    color: #13833f;
    margin-bottom: 20px; }
  .index-access > div > div {
    font-size: 200%;
    font-weight: bold;
    line-height: 140%; }
    @media screen and (min-width: 980px) {
      .index-access > div > div {
        font-size: 36px; } }
    .index-access > div > div:after {
      clear: left;
      content: "";
      display: block; }
    .index-access > div > div > div {
      background: #aa7537;
      color: #fff;
      padding: 20px;
      border-radius: 15px; }
      @media screen and (min-width: 980px) {
        .index-access > div > div > div {
          float: left;
          width: 50%; } }
    .index-access > div > div > ul {
      padding: 20px 30px;
      list-style-type: none; }
      @media screen and (min-width: 980px) {
        .index-access > div > div > ul {
          margin-left: 50%; } }
      .index-access > div > div > ul li span {
        color: #e60012; }

/* pure-drawer */
.pure-container .pure-drawer > div {
  padding: 20px 10px 0;
  color: #fff;
  height: 60px; }
  @media screen and (min-width: 600px) and (max-width: 767px) {
    .pure-container .pure-drawer > div {
      height: 70px;
      padding: 25px 10px 0; } }
  @media screen and (min-width: 768px) and (max-width: 979px) {
    .pure-container .pure-drawer > div {
      height: 107px;
      padding: 40px 10px 0; } }
.pure-container .pure-drawer ul {
  list-style-type: none;
  background: #fff; }
  .pure-container .pure-drawer ul li {
    border-bottom: 1px solid #5c0000; }
    .pure-container .pure-drawer ul li a {
      display: block;
      padding: 10px;
      color: #5c0000; }
@media screen and (max-width: 599px) {
  .pure-container .pure-toggle-label {
    height: 35px; }
  .pure-container .pure-toggle-label .pure-toggle-icon:before {
    transform: translate3d(-50%, -15px, 0);
    -webkit-transform: translate3d(-50%, -15px, 0); }
  .pure-container .pure-toggle-label .pure-toggle-icon:after {
    transform: translate3d(-50%, 8px, 0);
    -webkit-transform: translate3d(-50%, 10px, 0); } }
@media screen and (min-width: 768px) and (max-width: 979px) {
  .pure-container .pure-toggle-label {
    height: 50px;
    top: 15px; }
  .pure-container .pure-toggle-label .pure-toggle-icon:before {
    transform: translate3d(-50%, -15px, 0);
    -webkit-transform: translate3d(-50%, -20px, 0); }
  .pure-container .pure-toggle-label .pure-toggle-icon:after {
    transform: translate3d(-50%, 8px, 0);
    -webkit-transform: translate3d(-50%, 14px, 0); } }
@media screen and (min-width: 980px) {
  .pure-container {
    display: none; } }

/* pages */
.page-header {
  max-width: 1200px;
  margin: 0 auto 60px; }
  @media screen and (min-width: 980px) {
    .page-header {
      margin: 0 auto 70px; } }

.page-contact {
  border: 4px solid #5c0000;
  border-radius: 30px;
  padding: 30px 20px;
  margin: 0 10px 60px; }
  @media screen and (min-width: 980px) {
    .page-contact {
      margin: 0 auto 70px;
      padding: 40px; } }
  .page-contact h2 {
    color: #221815;
    text-align: center;
    line-height: 100%;
    margin-bottom: 30px;
    font-size: 200%; }
    @media screen and (min-width: 980px) {
      .page-contact h2 {
        font-size: 48px; } }
  .page-contact > div {
    text-align: center; }
    @media screen and (min-width: 980px) {
      .page-contact > div img {
        float: left;
        width: 30%; } }
    .page-contact > div > div {
      font-weight: bold; }
      @media screen and (min-width: 980px) {
        .page-contact > div > div {
          margin-left: 30%;
          padding: 0 20px; } }
      .page-contact > div > div > p {
        color: #575554;
        line-height: 140%;
        margin-bottom: 10px;
        font-size: 130%;
        text-align: left; }
        @media screen and (min-width: 980px) {
          .page-contact > div > div > p {
            font-size: 20px; } }
      .page-contact > div > div > span {
        display: block;
        text-align: center;
        background-color: #e60012;
        color: #fff;
        padding: 10px;
        border-radius: 20px;
        font-size: 120%;
        margin-bottom: 10px; }
        @media screen and (min-width: 980px) {
          .page-contact > div > div > span {
            font-size: 20px; } }
      @media screen and (min-width: 980px) {
        .page-contact > div > div > div {
          text-align: left; } }
      .page-contact > div > div > div ol {
        margin-top: 5px;
        list-style-type: none; }
        .page-contact > div > div > div ol:after {
          clear: left;
          content: "";
          display: block; }
        .page-contact > div > div > div ol li {
          position: relative;
          background: #005124;
          color: #fff;
          text-align: center;
          display: block;
          text-align: center;
          padding: 10px 0;
          border-radius: 10px;
          font-size: 120%;
          margin-bottom: 20px; }
          .page-contact > div > div > div ol li:last-child {
            margin-bottom: 0; }
            .page-contact > div > div > div ol li:last-child:after {
              display: none; }
          .page-contact > div > div > div ol li:after {
            position: absolute;
            bottom: -15px;
            left: 47%;
            display: block;
            width: 50px;
            height: 10px;
            content: "";
            background-image: url(../image/common/contact-arrow-bottom.png);
            background-repeat: no-repeat;
            background-size: 20px auto; }
          @media screen and (min-width: 980px) {
            .page-contact > div > div > div ol li {
              float: left;
              width: 95px;
              margin-right: 20px;
              margin-bottom: 0;
              font-size: 20px; }
              .page-contact > div > div > div ol li:last-child {
                margin-right: 0; }
                .page-contact > div > div > div ol li:last-child:after {
                  display: none; }
              .page-contact > div > div > div ol li:after {
                top: 23px;
                bottom: auto;
                left: auto;
                right: -15px;
                width: 10px;
                height: 50px;
                content: "";
                background-image: url(../image/common/contact-arrow.png);
                background-size: auto 20px; } }
          .page-contact > div > div > div ol li br {
            display: none; }
            @media screen and (min-width: 980px) {
              .page-contact > div > div > div ol li br {
                display: inline; } }

/* noukotsu */
.noukotsu-about {
  margin: 0 auto 60px; }
  @media screen and (min-width: 980px) {
    .noukotsu-about {
      margin: 0 auto 70px; } }
  .noukotsu-about h2 {
    background: #a4771c;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    margin-bottom: 30px; }
  .noukotsu-about > p {
    margin-bottom: 30px;
    text-align: center;
    font-weight: bold; }
  .noukotsu-about > div {
    margin: 0 auto;
    padding: 10px 20px;
    border: 2px solid #a4771c;
    border-radius: 15px;
    color: #a4771c;
    font-weight: bold; }
    @media screen and (min-width: 980px) {
      .noukotsu-about > div {
        display: table;
        width: 650px; } }
    .noukotsu-about > div > div {
      padding: 15px;
      font-size: 140%;
      line-height: 130%;
      vertical-align: middle;
      text-align: center;
      border-bottom: 2px solid #a4771c; }
      @media screen and (min-width: 980px) {
        .noukotsu-about > div > div {
          display: table-cell;
          width: 35%;
          padding: 0 20px 0 0;
          border-right: 2px solid #a4771c;
          border-bottom: 0;
          font-size: 24px; } }
    .noukotsu-about > div > ul {
      padding: 15px 15px 15px 50px;
      font-size: 90%; }
      @media screen and (min-width: 980px) {
        .noukotsu-about > div > ul {
          display: table-cell;
          width: 65%;
          padding: 10px 0 10px 50px;
          font-size: 15px; } }

.noukotsu-items {
  margin: 0 auto 60px; }
  @media screen and (min-width: 980px) {
    .noukotsu-items {
      margin: 0 auto 70px; } }
  .noukotsu-items h2 {
    position: relative;
    color: #a4771c;
    text-align: center;
    margin: 0 auto 30px; }
    .noukotsu-items h2:after {
      position: relative;
      top: -7px;
      height: 10px;
      display: block;
      content: "";
      margin: 0 auto;
      background: rgba(164, 119, 28, 0.4); }
      @media screen and (min-width: 980px) {
        .noukotsu-items h2:after {
          width: 70%; } }
  .noukotsu-items .noukotsu-item {
    margin-bottom: 60px;
    font-weight: bold; }
    .noukotsu-items .noukotsu-item .about {
      margin-bottom: 20px; }
      .noukotsu-items .noukotsu-item .about:after {
        content: "";
        display: block;
        clear: left; }
      .noukotsu-items .noukotsu-item .about .left {
        text-align: center; }
        @media screen and (min-width: 980px) {
          .noukotsu-items .noukotsu-item .about .left {
            float: left;
            width: 43%; } }
      .noukotsu-items .noukotsu-item .about .right {
        padding: 10px 0; }
        @media screen and (min-width: 980px) {
          .noukotsu-items .noukotsu-item .about .right {
            margin-left: 43%;
            padding: 10px 0 0 30px; } }
        .noukotsu-items .noukotsu-item .about .right > span {
          font-size: 130%;
          color: #a4771c; }
          @media screen and (min-width: 980px) {
            .noukotsu-items .noukotsu-item .about .right > span {
              font-size: 20px; } }
        .noukotsu-items .noukotsu-item .about .right > .label {
          display: table;
          width: 100%;
          font-size: 150%;
          color: #a4771c;
          padding: 10px 0;
          border: 2px solid #a4771c; }
          @media screen and (min-width: 980px) {
            .noukotsu-items .noukotsu-item .about .right > .label {
              font-size: 22px; } }
          .noukotsu-items .noukotsu-item .about .right > .label > strong {
            display: table-cell;
            width: 60%;
            padding: 0 20px;
            border-right: 2px solid #a4771c;
            text-align: center; }
          .noukotsu-items .noukotsu-item .about .right > .label > span {
            display: table-cell;
            padding: 0 20px;
            text-align: center; }
        .noukotsu-items .noukotsu-item .about .right .price {
          font-size: 280%; }
          @media screen and (min-width: 980px) {
            .noukotsu-items .noukotsu-item .about .right .price {
              font-size: 52px; } }
          .noukotsu-items .noukotsu-item .about .right .price .num {
            font-size: 140%;
            line-height: 120%; }
    .noukotsu-items .noukotsu-item .flow {
      padding: 5px;
      background: #f0ecce; }
      .noukotsu-items .noukotsu-item .flow > span {
        display: block;
        background: #221815;
        color: #fff;
        padding: 10px;
        text-align: center; }
        @media screen and (min-width: 768px) and (max-width: 979px) {
          .noukotsu-items .noukotsu-item .flow > span {
            float: left;
            width: 44px;
            padding: 15px 10px;
            font-size: 20px;
            -webkit-writing-mode: vertical-rl;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl; } }
        @media screen and (min-width: 980px) {
          .noukotsu-items .noukotsu-item .flow > span {
            float: left;
            width: 44px;
            padding: 15px 10px;
            font-size: 20px;
            -webkit-writing-mode: vertical-rl;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl; } }
      .noukotsu-items .noukotsu-item .flow > ol {
        list-style-type: none; }
        @media screen and (min-width: 768px) and (max-width: 979px) {
          .noukotsu-items .noukotsu-item .flow > ol {
            margin-left: 50px; }
            .noukotsu-items .noukotsu-item .flow > ol:after {
              display: block;
              content: "";
              clear: left; } }
        @media screen and (min-width: 980px) {
          .noukotsu-items .noukotsu-item .flow > ol {
            margin-left: 50px; }
            .noukotsu-items .noukotsu-item .flow > ol:after {
              display: block;
              content: "";
              clear: left; } }
        .noukotsu-items .noukotsu-item .flow > ol li {
          padding: 10px;
          margin-bottom: 60px; }
          .noukotsu-items .noukotsu-item .flow > ol li:last-child {
            margin-bottom: 0; }
          @media screen and (min-width: 768px) and (max-width: 979px) {
            .noukotsu-items .noukotsu-item .flow > ol li {
              float: left;
              width: 25%;
              margin-bottom: 0; } }
          @media screen and (min-width: 980px) {
            .noukotsu-items .noukotsu-item .flow > ol li {
              float: left;
              width: 20%;
              margin-bottom: 0; }
              .noukotsu-items .noukotsu-item .flow > ol li:nth-child(3), .noukotsu-items .noukotsu-item .flow > ol li:nth-child(4) {
                width: 30%; } }
          .noukotsu-items .noukotsu-item .flow > ol li > span {
            display: block;
            color: #9a0014;
            font-weight: bold;
            margin-bottom: 5px;
            font-size: 140%; }
            @media screen and (min-width: 980px) {
              .noukotsu-items .noukotsu-item .flow > ol li > span {
                font-size: 18px; } }
          .noukotsu-items .noukotsu-item .flow > ol li img {
            width: 100%; }
            @media screen and (min-width: 768px) and (max-width: 979px) {
              .noukotsu-items .noukotsu-item .flow > ol li img {
                max-height: 85px; } }
            @media screen and (min-width: 980px) {
              .noukotsu-items .noukotsu-item .flow > ol li img {
                max-height: 85px; } }
  .noukotsu-items .noukotsu-item-about {
    background: #5e3600;
    padding: 5px;
    margin: 0 auto 60px; }
    @media screen and (min-width: 980px) {
      .noukotsu-items .noukotsu-item-about {
        margin: 0 auto 70px; } }
    .noukotsu-items .noukotsu-item-about > div {
      border: 1px solid #fff;
      color: #fff;
      padding: 40px 20px 0 20px; }
      @media screen and (min-width: 980px) {
        .noukotsu-items .noukotsu-item-about > div {
          padding: 40px 100px 0; } }
      .noukotsu-items .noukotsu-item-about > div h3 {
        font-size: 160%;
        margin-bottom: 40px;
        text-align: center; }
        @media screen and (min-width: 980px) {
          .noukotsu-items .noukotsu-item-about > div h3 {
            font-size: 24px; } }
      .noukotsu-items .noukotsu-item-about > div ul {
        list-style-type: none; }
        .noukotsu-items .noukotsu-item-about > div ul li {
          margin-bottom: 40px;
          font-size: 120%; }
          @media screen and (min-width: 980px) {
            .noukotsu-items .noukotsu-item-about > div ul li {
              font-size: 18px; } }
          .noukotsu-items .noukotsu-item-about > div ul li:before {
            content: "●"; }
          .noukotsu-items .noukotsu-item-about > div ul li span {
            display: block;
            font-size: 90%;
            padding-left: 24px;
            margin-bottom: 10px; }
            @media screen and (min-width: 980px) {
              .noukotsu-items .noukotsu-item-about > div ul li span {
                font-size: 16px; } }
          @media screen and (min-width: 600px) and (max-width: 767px) {
            .noukotsu-items .noukotsu-item-about > div ul li img.sm {
              display: block !important;
              margin: 0 auto; } }
          @media screen and (max-width: 599px) {
            .noukotsu-items .noukotsu-item-about > div ul li img.xs {
              display: block !important;
              margin: 0 auto; } }
  .noukotsu-items .noukotsu-item-03 {
    border-top: 2px dotted #221815;
    padding-top: 60px; }
    @media screen and (min-width: 980px) {
      .noukotsu-items .noukotsu-item-03 {
        padding-top: 70px; } }
    .noukotsu-items .noukotsu-item-03 > .about {
      font-weight: bold;
      text-align: center; }
      .noukotsu-items .noukotsu-item-03 > .about > .label {
        display: inline-block;
        font-size: 150%;
        color: #a4771c;
        padding: 10px 0;
        border: 2px solid #a4771c;
        margin: 20px 0 0; }
        @media screen and (min-width: 980px) {
          .noukotsu-items .noukotsu-item-03 > .about > .label {
            display: table;
            width: 40%;
            float: left;
            font-size: 22px; } }
        .noukotsu-items .noukotsu-item-03 > .about > .label > strong {
          padding: 0 20px;
          border-right: 2px solid #a4771c;
          text-align: center; }
          @media screen and (min-width: 980px) {
            .noukotsu-items .noukotsu-item-03 > .about > .label > strong {
              display: table-cell;
              width: 60%; } }
        .noukotsu-items .noukotsu-item-03 > .about > .label > span {
          padding: 0 20px;
          text-align: center; }
          @media screen and (min-width: 980px) {
            .noukotsu-items .noukotsu-item-03 > .about > .label > span {
              display: table-cell; } }
      .noukotsu-items .noukotsu-item-03 > .about .price {
        font-size: 280%;
        vertical-align: top; }
        @media screen and (min-width: 980px) {
          .noukotsu-items .noukotsu-item-03 > .about .price {
            margin-left: 40%;
            padding-left: 30px;
            text-align: left;
            font-size: 52px; } }
        .noukotsu-items .noukotsu-item-03 > .about .price .num {
          font-size: 140%;
          line-height: 120%; }
      .noukotsu-items .noukotsu-item-03 > .about .note {
        font-size: 80%; }
        @media screen and (min-width: 980px) {
          .noukotsu-items .noukotsu-item-03 > .about .note {
            margin-left: 40%;
            padding-left: 30px;
            text-align: left;
            font-size: 14px; } }
    @media screen and (min-width: 768px) and (max-width: 979px) {
      .noukotsu-items .noukotsu-item-03 .flow > ol li {
        float: left;
        width: 25%;
        margin-bottom: 0; } }
    @media screen and (min-width: 980px) {
      .noukotsu-items .noukotsu-item-03 .flow > ol li {
        width: 23%; }
        .noukotsu-items .noukotsu-item-03 .flow > ol li:nth-child(3) {
          width: 54%; }
          .noukotsu-items .noukotsu-item-03 .flow > ol li:nth-child(3) img {
            width: 50%;
            float: left;
            margin-right: 10px;
            vertical-align: bottom; } }
    .noukotsu-items .noukotsu-item-03 .flow > ol li img {
      max-height: unset; }

/* jumokusou */
.jumokusou-about {
  margin: 0 auto 60px; }
  @media screen and (min-width: 980px) {
    .jumokusou-about {
      margin: 0 auto 70px; } }
  .jumokusou-about h2 {
    background: #a7041a;
    color: #fff;
    text-align: center;
    padding: 10px 0;
    margin-bottom: 30px; }
  .jumokusou-about > p {
    margin-bottom: 30px;
    text-align: center;
    font-weight: bold; }
  .jumokusou-about > div {
    margin: 0 auto;
    padding: 10px 20px;
    border: 2px solid #a7041a;
    border-radius: 15px;
    color: #a7041a;
    font-weight: bold; }
    @media screen and (min-width: 980px) {
      .jumokusou-about > div {
        display: table;
        width: 650px; } }
    .jumokusou-about > div > div {
      border-bottom: 2px solid #a7041a;
      padding: 0 20px 0 0;
      font-size: 140%;
      line-height: 130%;
      vertical-align: middle;
      text-align: center;
      padding: 15px 0; }
      @media screen and (min-width: 980px) {
        .jumokusou-about > div > div {
          display: table-cell;
          width: 35%;
          border-right: 2px solid #a7041a;
          border-bottom: 0;
          font-size: 24px; } }
    .jumokusou-about > div > ul {
      padding: 10px 0 10px 50px;
      font-size: 90%; }
      @media screen and (min-width: 980px) {
        .jumokusou-about > div > ul {
          display: table-cell;
          width: 65%;
          font-size: 15px; } }

.jumokusou-items {
  margin: 0 auto 60px; }
  @media screen and (min-width: 980px) {
    .jumokusou-items {
      margin: 0 auto 70px; } }
  .jumokusou-items h2 {
    position: relative;
    color: #a7041a;
    text-align: center;
    margin: 0 auto 30px; }
    .jumokusou-items h2:after {
      position: relative;
      top: -7px;
      height: 10px;
      display: block;
      content: "";
      margin: 0 auto;
      background: rgba(167, 4, 26, 0.4); }
      @media screen and (min-width: 980px) {
        .jumokusou-items h2:after {
          width: 70%; } }
          .soldout{
            width: 100%;
            padding: 10px 0;
            text-align: center;
            background: #9a0014;
            color: #fff;
            border-radius: 5px;
            margin-top: 10px;
            margin-bottom: 20px;
          }
          .jumokusou-items .jumokusou-item .soldout{
            width: 100%;
            padding: 10px 0;
            text-align: center;
            background: #9a0014;
            color: #fff;
            border-radius: 5px;
            margin-bottom: 10px;
          }
  .jumokusou-items .jumokusou-item {
    margin-bottom: 60px;
    font-weight: bold; }
    .jumokusou-items .jumokusou-item .about {
      margin-bottom: 20px; }
      .jumokusou-items .jumokusou-item .about:after {
        content: "";
        display: block;
        clear: left; }
      .jumokusou-items .jumokusou-item .about .left {
        text-align: center;
        margin-bottom: 20px; }
        @media screen and (min-width: 980px) {
          .jumokusou-items .jumokusou-item .about .left {
            float: left;
            width: 45%; } }
        .jumokusou-items .jumokusou-item .about .left > span {
          display: block;
          font-size: 140%; }
          @media screen and (min-width: 980px) {
            .jumokusou-items .jumokusou-item .about .left > span {
              display: inline;
              font-size: 20px; } }
          .jumokusou-items .jumokusou-item .about .left > span strong {
            font-size: 24px;
            margin-right: 1em; }
          .jumokusou-items .jumokusou-item .about .left > span span {
            display: block;
            font-size: 90%; }
            @media screen and (min-width: 980px) {
              .jumokusou-items .jumokusou-item .about .left > span span {
                text-align: right;
                font-size: 12px; } }
      .jumokusou-items .jumokusou-item .about .right {
        padding: 10px 0; }
        @media screen and (min-width: 980px) {
          .jumokusou-items .jumokusou-item .about .right {
            margin-left: 45%;
            padding: 10px 0 0 30px; } }
        .jumokusou-items .jumokusou-item .about .right > span {
          font-size: 120%;
          color: #a7041a; }
          @media screen and (min-width: 980px) {
            .jumokusou-items .jumokusou-item .about .right > span {
              font-size: 20px; } }
        .jumokusou-items .jumokusou-item .about .right > .label {
          display: table;
          width: 100%;
          font-size: 130%;
          color: #a7041a;
          padding: 10px 0;
          border: 2px solid #a7041a;
          margin-bottom: 20px; }
          @media screen and (min-width: 980px) {
            .jumokusou-items .jumokusou-item .about .right > .label {
              font-size: 20px; } }
          .jumokusou-items .jumokusou-item .about .right > .label > strong {
            display: table-cell;
            width: 50%;
            padding: 0 10px;
            text-align: center;
            vertical-align: middle; }
          .jumokusou-items .jumokusou-item .about .right > .label > span {
            display: table-cell;
            width: 25%;
            padding: 0 10px;
            border-left: 2px solid #a7041a;
            text-align: center;
            vertical-align: middle; }
            .jumokusou-items .jumokusou-item .about .right > .label > span > span {
              font-size: 60%;
              display: block;
              line-height: 100%; }
        .jumokusou-items .jumokusou-item .about .right > p {
          margin-bottom: 20px; }
    .jumokusou-items .jumokusou-item .price {
      margin-bottom: 30px;
      font-size: 280%; }
      .jumokusou-items .jumokusou-item .price ul {
        list-style-type: none; }
        .jumokusou-items .jumokusou-item .price ul:after {
          clear: left;
          content: "";
          display: block; }
        .jumokusou-items .jumokusou-item .price ul li {
          padding: 0 10px 0 0;
          text-align: center;
          margin-bottom: 20px; }
          @media screen and (min-width: 980px) {
            .jumokusou-items .jumokusou-item .price ul li {
              float: left;
              width: 50%;
              text-align: left;
              margin-bottom: 0; }
              .jumokusou-items .jumokusou-item .price ul li:nth-child(even) {
                padding: 0 0 0 10px; } }
          .jumokusou-items .jumokusou-item .price ul li .quant {
            font-size: 15px;
            display: inline-block;
            border-radius: 10px;
            color: #fff;
            background: #221815;
            padding: 10px;
            vertical-align: super; }
            @media screen and (max-width: 599px) {
              .jumokusou-items .jumokusou-item .price ul li .quant {
                display: block; } }
            @media screen and (min-width: 980px) {
              .jumokusou-items .jumokusou-item .price ul li .quant {
                font-size: 18px; } }
          .jumokusou-items .jumokusou-item .price ul li .note {
            font-size: 14px;
            text-align: right; }
            @media screen and (min-width: 980px) {
              .jumokusou-items .jumokusou-item .price ul li .note {
                font-size: 14px; } }
      @media screen and (min-width: 980px) {
        .jumokusou-items .jumokusou-item .price {
          font-size: 48px; } }
      .jumokusou-items .jumokusou-item .price .num {
        font-size: 140%;
        line-height: 120%; }
    .jumokusou-items .jumokusou-item .flow {
      padding: 5px;
      background: #eddcd8; }
      .jumokusou-items .jumokusou-item .flow > span {
        display: block;
        background: #221815;
        color: #fff;
        padding: 10px;
        text-align: center; }
        @media screen and (min-width: 980px) {
          .jumokusou-items .jumokusou-item .flow > span {
            float: left;
            width: 44px;
            padding: 15px 10px;
            font-size: 20px;
            -webkit-writing-mode: vertical-rl;
            -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl; } }
      .jumokusou-items .jumokusou-item .flow > ol {
        list-style-type: none; }
        @media screen and (min-width: 768px) and (max-width: 979px) {
          .jumokusou-items .jumokusou-item .flow > ol:after {
            display: block;
            content: "";
            clear: left; } }
        @media screen and (min-width: 980px) {
          .jumokusou-items .jumokusou-item .flow > ol {
            margin-left: 50px; }
            .jumokusou-items .jumokusou-item .flow > ol:after {
              display: block;
              content: "";
              clear: left; } }
        .jumokusou-items .jumokusou-item .flow > ol li {
          padding: 10px;
          margin-bottom: 60px; }
          .jumokusou-items .jumokusou-item .flow > ol li:last-child {
            margin-bottom: 0; }
          @media screen and (min-width: 768px) and (max-width: 979px) {
            .jumokusou-items .jumokusou-item .flow > ol li {
              float: left;
              width: 25%;
              margin-bottom: 0; } }
          @media screen and (min-width: 980px) {
            .jumokusou-items .jumokusou-item .flow > ol li {
              float: left;
              width: 27%;
              margin-bottom: 0;
              font-size: 14px; }
              .jumokusou-items .jumokusou-item .flow > ol li:nth-child(1) {
                width: 18%; } }
          .jumokusou-items .jumokusou-item .flow > ol li > span {
            display: block;
            color: #9a0014;
            font-weight: bold;
            margin-bottom: 5px;
            font-size: 140%; }
            @media screen and (min-width: 980px) {
              .jumokusou-items .jumokusou-item .flow > ol li > span {
                font-size: 18px; } }
          .jumokusou-items .jumokusou-item .flow > ol li img {
            width: 100%; }
            @media screen and (min-width: 768px) and (max-width: 979px) {
              .jumokusou-items .jumokusou-item .flow > ol li img {
                max-height: 85px; } }
            @media screen and (min-width: 980px) {
              .jumokusou-items .jumokusou-item .flow > ol li img {
                max-height: 85px; } }
  .jumokusou-items .jumokusou-item-02 {
    padding-top: 60px;
    border-top: 2px dotted #221815; }
    @media screen and (min-width: 980px) {
      .jumokusou-items .jumokusou-item-02 {
        padding-top: 70px; } }
    .jumokusou-items .jumokusou-item-02 .about .right .price {
      font-size: 52px;
      margin-bottom: 30px; }
      .jumokusou-items .jumokusou-item-02 .about .right .price .quant {
        font-size: 14px;
        display: inline-block;
        border-radius: 10px;
        color: #fff;
        background: #221815;
        padding: 10px;
        vertical-align: super; }
        @media screen and (max-width: 599px) {
          .jumokusou-items .jumokusou-item-02 .about .right .price .quant {
            display: block; } }
        @media screen and (min-width: 980px) {
          .jumokusou-items .jumokusou-item-02 .about .right .price .quant {
            font-size: 20px; } }
      .jumokusou-items .jumokusou-item-02 .about .right .price .note {
        font-size: 14px;
        margin-left: 100px; }
      .jumokusou-items .jumokusou-item-02 .about .right .price .num {
        font-size: 140%;
        line-height: 120%; }
    @media screen and (min-width: 980px) {
      .jumokusou-items .jumokusou-item-02 .flow > ol li {
        width: 33% !important; } }
    .jumokusou-items .jumokusou-item-02 .flow > ol li img {
      margin-right: 10px;
      max-height: unset; }
      @media screen and (min-width: 980px) {
        .jumokusou-items .jumokusou-item-02 .flow > ol li img {
          float: left;
          width: 50%; } }

/* access */
.access h2 {
  background: #8f002a;
  color: #fff;
  padding: 30px 0;
  margin-bottom: 60px; }
  .access h2 span {
    display: block;
    margin: 0 20px; }
    @media screen and (min-width: 980px) {
      .access h2 span {
        width: 950px;
        margin: 0 auto; } }
.access > section {
  text-align: center;
  font-weight: bold;
  margin: 0 auto 60px; }
  @media screen and (min-width: 980px) {
    .access > section {
      margin: 0 auto 70px; } }
  .access > section h3 {
    color: #b81c25;
    margin-bottom: 30px;
    font-size: 160%;
    line-height: 120%; }
    @media screen and (min-width: 980px) {
      .access > section h3 {
        font-size: 28px; } }
  .access > section > p {
    margin-bottom: 60px; }
  .access > section > div > p {
    text-align: left;
    color: #13833f;
    margin-bottom: 30px; }
  .access > section > div > div {
    font-size: 150%;
    font-weight: bold;
    line-height: 140%; }
    @media screen and (min-width: 980px) {
      .access > section > div > div {
        font-size: 36px; } }
    .access > section > div > div:after {
      clear: left;
      content: "";
      display: block; }
    .access > section > div > div > div {
      background: #aa7537;
      color: #fff;
      padding: 20px;
      border-radius: 15px;
      text-align: left; }
      @media screen and (min-width: 980px) {
        .access > section > div > div > div {
          float: left;
          width: 50%; } }
    .access > section > div > div > ul {
      padding: 20px 30px;
      list-style-type: none;
      text-align: left; }
      @media screen and (min-width: 980px) {
        .access > section > div > div > ul {
          margin-left: 50%; } }
      .access > section > div > div > ul li span {
        color: #e60012; }
.access > div {
  margin: 0 10px 60px; }
  @media screen and (min-width: 980px) {
    .access > div {
      margin: 0 auto 70px; } }
  .access > div #gmap-canvas {
    height: 500px; }
  .access > div > p {
    padding-top: 10px;
    text-align: right; }

/* contact */
.contact-form {
  margin: 0 auto 60px; }
  @media screen and (min-width: 980px) {
    .contact-form {
      margin: 0 auto 70px; } }
  .contact-form h2 {
    background: #8f002a;
    color: #fff;
    padding: 30px 0;
    margin-bottom: 60px; }
    .contact-form h2 span {
      display: block;
      margin: 0 10px; }
      @media screen and (min-width: 980px) {
        .contact-form h2 span {
          width: 950px;
          margin: 0 auto; } }
  .contact-form input[type=text],
  .contact-form input[type=email],
  .contact-form input[type=tel],
  .contact-form input[type=radio],
  .contact-form input[type=checkbox],
  .contact-form textarea,
  .contact-form select {
    border-radius: 3px;
    padding: 5px;
    border: 1px solid #bbb;
    margin-bottom: 5px;
    max-width: 100%; }
  .contact-form dl {
    border-bottom: 2px solid #bbb;
    background: #f4f4f6;
    margin-bottom: 30px; }
    .contact-form dl dt:nth-of-type(even),
    .contact-form dl dd:nth-of-type(even) {
      background: #fff; }
    .contact-form dl dt {
      position: relative;
      border-top: 2px solid #bbb;
      padding: 15px 10px 0; }
      @media screen and (min-width: 980px) {
        .contact-form dl dt {
          float: left;
          width: 250px;
          padding: 15px 10px; } }
      .contact-form dl dt > span {
        border: 1px solid #bbb;
        border-radius: 3px;
        padding: 1px 5px;
        font-size: 80%;
        display: inline-block; }
        @media screen and (min-width: 980px) {
          .contact-form dl dt > span {
            position: absolute;
            right: 15px; } }
    .contact-form dl dd {
      padding: 15px 10px 15px 30px; }
      @media screen and (min-width: 980px) {
        .contact-form dl dd {
          border-top: 2px solid #bbb;
          padding: 15px 10px 15px 250px; } }
      .contact-form dl dd .note {
        display: block;
        margin-bottom: 5px; }
      .contact-form dl dd > label {
        border: 1px solid #bbb;
        border-radius: 3px;
        display: block;
        margin-bottom: 3px;
        padding: 3px; }
  .contact-form p {
    padding-top: 40px;
    margin-bottom: 30px;
    text-align: center;
    font-size: 20px;
    font-weight: bold; }
  .contact-form .buttons {
    padding: 30px 0;
    text-align: center; }
    .contact-form .buttons input {
      border: px solid #999;
      padding: 5px 10px;
      font-size: 120%;
      cursor: pointer;
      margin: 0 5px; }
      @media screen and (min-width: 980px) {
        .contact-form .buttons input {
          font-size: 20px; } }

.contact-agreement {
  margin: 0 auto 60px; }
  @media screen and (min-width: 980px) {
    .contact-agreement {
      padding: 60px 120px;
      border: 1px solid #bbb; } }
  @media screen and (min-width: 980px) {
    .contact-agreement {
      margin: 0 auto 70px; } }
  .contact-agreement h2 {
    text-align: center;
    background: #8b8b8b;
    color: #fff;
    padding: 20px;
    margin-bottom: 30px; }
  .contact-agreement dl {
    padding: 0 20px;
    overflow: scroll;
    height: 300px; }
    .contact-agreement dl dt {
      font-weight: bold;
      margin-bottom: 5px;
      font-size: 120%; }
      @media screen and (min-width: 980px) {
        .contact-agreement dl dt {
          font-size: 18px; } }
    .contact-agreement dl dd {
      margin-bottom: 30px; }
