@charset "UTF-8";
/* ========================================================
share.scss サイト共通CSS
======================================================== */
/* colorXX - サイト共通色 */
/* import
-------------------------------------------------------- */
@font-face {
  font-family: YuGothicM;
  src: local("Yu Gothic Medium");
}

/* ========================================================
base.css - サイト全体のベーススタイル
======================================================== */
/* reset
-------------------------------------------------------- */
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, hr {
  margin: 0;
  padding: 0;
  border: 0;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* root
-------------------------------------------------------- */
html, body {
  width: 100%;
  height: 100%;
  margin: 0;
}

html {
  font-size: 10px;
}

body {
  color: #000;
  /* 英字：Arial　Android縦長英字対策(Roboto) */
  font-family: "Libre Baskerville","Sawarabi Mincho",serif;
  font-weight: 400;
  line-height: 1;
}

img {
  vertical-align: middle;
}

img[src$=".svg"] {
  width: 100%;
  height: auto;
}

/* sp */
@media (max-width: 767px) {
  html, body {
    overflow-x: hidden;
  }
  body {
    font-size: 1.6rem;
    -webkit-overflow-scrolling: touch;
  }
  img:not([width]) {
    max-width: 100%;
    height: auto;
  }
}

/* pc */
@media (min-width: 768px) {
  body {
    min-width: 1200px;
    font-size: 1.4rem;
    letter-spacing: 2px;
  }
}

/* link
-------------------------------------------------------- */
a {
  color: #5b5745;
  text-decoration: none;
  -webkit-transition: .8s all ease 0s;
  transition: .8s all ease 0s;
}

a:hover, a:active, a:focus {
  text-decoration: underline;
}

/* ========================================================
general.css - 汎用スタイル(.s-XX)
======================================================== */
/* s-XX - デバイス別表示・非表示設定
-------------------------------------------------------- */
/* s-XX - デバイス別表示・非表示設定
-------------------------------------------------------- */
/* sp */
@media screen and (max-width: 767px) {
  .s-sp {
    display: inline-block !important;
    visibility: visible !important;
  }
  .s-pc,
  .s-spls {
    display: none !important;
    visibility: hidden !important;
  }
}

/* spls */
@media screen and (max-width: 767px) and (orientation: landscape) {
  .s-sp {
    display: none !important;
    visibility: hidden !important;
  }
  .s-pc {
    display: none !important;
    visibility: hidden !important;
  }
  .s-spls {
    display: inline-block !important;
    visibility: visible !important;
  }
}

/* pc */
@media screen and (min-width: 768px) {
  .s-sp,
  .s-spls {
    display: none !important;
    visibility: hidden !important;
  }
  .s-pc {
    display: inline-block !important;
    visibility: visible !important;
  }
}

/* s-img-XX - 画像サイズの設定
-------------------------------------------------------- */
img.s-img-100 {
  width: 100%;
}

img.s-img-80 {
  width: 80%;
}

img.s-img-70 {
  width: 70%;
}

img.s-img-60 {
  width: 60%;
}

img.s-img-50 {
  width: 50%;
}

img.s-img-40 {
  width: 40%;
}

img.s-img-30 {
  width: 30%;
}

img.s-img-20 {
  width: 20%;
}

img.s-img-10 {
  width: 10%;
}

/* s-disp-XX - ディスプレイ設定
-------------------------------------------------------- */
.s-disp-none {
  display: none;
}

.s-disp-inline {
  display: inline;
}

.s-disp-iblock {
  display: inline-block;
}

.s-disp-block {
  display: block;
}

/* s-txt-XX - テキスト配置（text-align, vertical-align）
-------------------------------------------------------- */
.s-txt-center {
  text-align: center;
}

.s-txt-left {
  text-align: left;
}

.s-txt-right {
  text-align: right;
}

.s-txt-top {
  vertical-align: top;
}

.s-txt-middle {
  vertical-align: middle;
}

.s-txt-bottom {
  vertical-align: bottom;
}

.s-txt-base {
  vertical-align: baseline;
}

.s-txt-sub {
  vertical-align: sub;
}

.s-txt-super {
  vertical-align: super;
}

.s-txt-nowrap {
  display: inline-block;
}

li > .s-txt-nowrap {
  display: inline-block;
  padding-left: 1.4rem;
}

.s-txt-justyfy {
  text-align: justify;
  /* for IE */
  text-justify: inter-ideograph;
}

/* for FireFox */
@-moz-document url-prefix() {
  .s-txt-justyfy {
    text-justify: inter-character;
  }
}

/* s-fs-XX - フォントサイズ指定
-------------------------------------------------------- */
.s-fs-6 {
  font-size: 0.6rem;
}

.s-fs-8 {
  font-size: 0.8rem;
}

.s-fs-10 {
  font-size: 1.0rem;
}

.s-fs-12 {
  font-size: 1.2rem;
}

.s-fs-14 {
  font-size: 1.4rem;
}

.s-fs-16 {
  font-size: 1.6rem;
}

.s-fs-18 {
  font-size: 1.8rem;
}

.s-fs-20 {
  font-size: 2rem;
}

.s-fs-22 {
  font-size: 2.2rem;
}

.s-fs-24 {
  font-size: 2.4rem;
}

.s-fs-26 {
  font-size: 2.6rem;
}

.s-fs-28 {
  font-size: 2.8rem;
}

.s-fs-30 {
  font-size: 3rem;
}

.s-fs-32 {
  font-size: 3.2rem;
}

.s-fs-34 {
  font-size: 3.4rem;
}

.s-fs-36 {
  font-size: 3.6rem;
}

.s-fs-38 {
  font-size: 3.8rem;
}

.s-fs-40 {
  font-size: 4rem;
}

.s-fs-50 {
  font-size: 5rem;
}

.s-fs-60 {
  font-size: 6rem;
}

/* s-fw-n - フォントウェイト指定
-------------------------------------------------------- */
.s-fw-n {
  font-weight: 400;
}

.s-fw-b {
  font-weight: 800;
}

/* s-fc-XX - フォントカラー指定
-------------------------------------------------------- */
.s-fc-white {
  color: #fff;
}

.s-fc-black {
  color: #555;
}

.s-fc-01 {
  color: #362f14;
}

.s-fc-02 {
  color: #faf4e0;
}

.s-fc-03 {
  color: #000;
}

.s-fc-04 {
  color: #be8f5c;
}

.s-fc-05 {
  color: #000;
}

.s-fc-06 {
  color: #5b5745;
}

/* s-mt-XX - 上マージン指定
-------------------------------------------------------- */
.s-mt-10 {
  margin-top: 1rem;
}

.s-mt-11 {
  margin-top: 1.1rem;
}

.s-mt-12 {
  margin-top: 1.2rem;
}

.s-mt-13 {
  margin-top: 1.3rem;
}

.s-mt-14 {
  margin-top: 1.4rem;
}

.s-mt-15 {
  margin-top: 1.5rem;
}

.s-mt-16 {
  margin-top: 1.6rem;
}

.s-mt-17 {
  margin-top: 1.7rem;
}

.s-mt-18 {
  margin-top: 1.8rem;
}

.s-mt-19 {
  margin-top: 1.9rem;
}

.s-mt-20 {
  margin-top: 2rem;
}

.s-mt-21 {
  margin-top: 2.1rem;
}

.s-mt-22 {
  margin-top: 2.2rem;
}

.s-mt-23 {
  margin-top: 2.3rem;
}

.s-mt-24 {
  margin-top: 2.4rem;
}

.s-mt-25 {
  margin-top: 2.5rem;
}

.s-mt-26 {
  margin-top: 2.6rem;
}

.s-mt-27 {
  margin-top: 2.7rem;
}

.s-mt-28 {
  margin-top: 2.8rem;
}

.s-mt-29 {
  margin-top: 2.9rem;
}

.s-mt-30 {
  margin-top: 3rem;
}

.s-mt-40 {
  margin-top: 4rem;
}

.s-mt-50 {
  margin-top: 5rem;
}

.s-mt-60 {
  margin-top: 6rem;
}

/* s-mr-XX - 右マージン指定
-------------------------------------------------------- */
.s-mr-10 {
  margin-right: 1rem;
}

.s-mr-11 {
  margin-right: 1.1rem;
}

.s-mr-12 {
  margin-right: 1.2rem;
}

.s-mr-13 {
  margin-right: 1.3rem;
}

.s-mr-14 {
  margin-right: 1.4rem;
}

.s-mr-15 {
  margin-right: 1.5rem;
}

.s-mr-16 {
  margin-right: 1.6rem;
}

.s-mr-17 {
  margin-right: 1.7rem;
}

.s-mr-18 {
  margin-right: 1.8rem;
}

.s-mr-19 {
  margin-right: 1.9rem;
}

.s-mr-20 {
  margin-right: 2rem;
}

.s-mr-21 {
  margin-right: 2.1rem;
}

.s-mr-22 {
  margin-right: 2.2rem;
}

.s-mr-23 {
  margin-right: 2.3rem;
}

.s-mr-24 {
  margin-right: 2.4rem;
}

.s-mr-25 {
  margin-right: 2.5rem;
}

.s-mr-26 {
  margin-right: 2.6rem;
}

.s-mr-27 {
  margin-right: 2.7rem;
}

.s-mr-28 {
  margin-right: 2.8rem;
}

.s-mr-29 {
  margin-right: 2.9rem;
}

.s-mr-30 {
  margin-right: 3rem;
}

.s-mr-40 {
  margin-right: 4rem;
}

.s-mr-50 {
  margin-right: 5rem;
}

.s-mr-60 {
  margin-right: 6rem;
}

/* s-mb-XX - 下マージン指定
-------------------------------------------------------- */
.s-mb-10 {
  margin-bottom: 1rem;
}

.s-mb-11 {
  margin-bottom: 1.1rem;
}

.s-mb-12 {
  margin-bottom: 1.2rem;
}

.s-mb-13 {
  margin-bottom: 1.3rem;
}

.s-mb-14 {
  margin-bottom: 1.4rem;
}

.s-mb-15 {
  margin-bottom: 1.5rem;
}

.s-mb-16 {
  margin-bottom: 1.6rem;
}

.s-mb-17 {
  margin-bottom: 1.7rem;
}

.s-mb-18 {
  margin-bottom: 1.8rem;
}

.s-mb-19 {
  margin-bottom: 1.9rem;
}

.s-mb-20 {
  margin-bottom: 2rem;
}

.s-mb-21 {
  margin-bottom: 2.1rem;
}

.s-mb-22 {
  margin-bottom: 2.2rem;
}

.s-mb-23 {
  margin-bottom: 2.3rem;
}

.s-mb-24 {
  margin-bottom: 2.4rem;
}

.s-mb-25 {
  margin-bottom: 2.5rem;
}

.s-mb-26 {
  margin-bottom: 2.6rem;
}

.s-mb-27 {
  margin-bottom: 2.7rem;
}

.s-mb-28 {
  margin-bottom: 2.8rem;
}

.s-mb-29 {
  margin-bottom: 2.9rem;
}

.s-mb-30 {
  margin-bottom: 3rem;
}

.s-mb-40 {
  margin-bottom: 4rem;
}

.s-mb-50 {
  margin-bottom: 5rem;
}

.s-mb-60 {
  margin-bottom: 6rem;
}

/* s-ml-XX - 左マージン指定
-------------------------------------------------------- */
.s-ml-10 {
  margin-left: 1rem;
}

.s-ml-11 {
  margin-left: 1.1rem;
}

.s-ml-12 {
  margin-left: 1.2rem;
}

.s-ml-13 {
  margin-left: 1.3rem;
}

.s-ml-14 {
  margin-left: 1.4rem;
}

.s-ml-15 {
  margin-left: 1.5rem;
}

.s-ml-16 {
  margin-left: 1.6rem;
}

.s-ml-17 {
  margin-left: 1.7rem;
}

.s-ml-18 {
  margin-left: 1.8rem;
}

.s-ml-19 {
  margin-left: 1.9rem;
}

.s-ml-20 {
  margin-left: 2rem;
}

.s-ml-21 {
  margin-left: 2.1rem;
}

.s-ml-22 {
  margin-left: 2.2rem;
}

.s-ml-23 {
  margin-left: 2.3rem;
}

.s-ml-24 {
  margin-left: 2.4rem;
}

.s-ml-25 {
  margin-left: 2.5rem;
}

.s-ml-26 {
  margin-left: 2.6rem;
}

.s-ml-27 {
  margin-left: 2.7rem;
}

.s-ml-28 {
  margin-left: 2.8rem;
}

.s-ml-29 {
  margin-left: 2.9rem;
}

.s-ml-30 {
  margin-left: 3rem;
}

.s-ml-40 {
  margin-left: 4rem;
}

.s-ml-50 {
  margin-left: 5rem;
}

.s-ml-60 {
  margin-left: 6rem;
}

/* s-pt-XX - 上パディング指定
-------------------------------------------------------- */
.s-pt-10 {
  padding-top: 1rem;
}

.s-pt-11 {
  padding-top: 1.1rem;
}

.s-pt-12 {
  padding-top: 1.2rem;
}

.s-pt-13 {
  padding-top: 1.3rem;
}

.s-pt-14 {
  padding-top: 1.4rem;
}

.s-pt-15 {
  padding-top: 1.5rem;
}

.s-pt-16 {
  padding-top: 1.6rem;
}

.s-pt-17 {
  padding-top: 1.7rem;
}

.s-pt-18 {
  padding-top: 1.8rem;
}

.s-pt-19 {
  padding-top: 1.9rem;
}

.s-pt-20 {
  padding-top: 2rem;
}

.s-pt-21 {
  padding-top: 2.1rem;
}

.s-pt-22 {
  padding-top: 2.2rem;
}

.s-pt-23 {
  padding-top: 2.3rem;
}

.s-pt-24 {
  padding-top: 2.4rem;
}

.s-pt-25 {
  padding-top: 2.5rem;
}

.s-pt-26 {
  padding-top: 2.6rem;
}

.s-pt-27 {
  padding-top: 2.7rem;
}

.s-pt-28 {
  padding-top: 2.8rem;
}

.s-pt-29 {
  padding-top: 2.9rem;
}

.s-pt-30 {
  padding-top: 3rem;
}

.s-pt-40 {
  padding-top: 4rem;
}

.s-pt-50 {
  padding-top: 5rem;
}

.s-pt-60 {
  padding-top: 6rem;
}

/* s-pr-XX - 右パディング指定
-------------------------------------------------------- */
.s-pr-10 {
  padding-right: 1rem;
}

.s-pr-11 {
  padding-right: 1.1rem;
}

.s-pr-12 {
  padding-right: 1.2rem;
}

.s-pr-13 {
  padding-right: 1.3rem;
}

.s-pr-14 {
  padding-right: 1.4rem;
}

.s-pr-15 {
  padding-right: 1.5rem;
}

.s-pr-16 {
  padding-right: 1.6rem;
}

.s-pr-17 {
  padding-right: 1.7rem;
}

.s-pr-18 {
  padding-right: 1.8rem;
}

.s-pr-19 {
  padding-right: 1.9rem;
}

.s-pr-20 {
  padding-right: 2rem;
}

.s-pr-21 {
  padding-right: 2.1rem;
}

.s-pr-22 {
  padding-right: 2.2rem;
}

.s-pr-23 {
  padding-right: 2.3rem;
}

.s-pr-24 {
  padding-right: 2.4rem;
}

.s-pr-25 {
  padding-right: 2.5rem;
}

.s-pr-26 {
  padding-right: 2.6rem;
}

.s-pr-27 {
  padding-right: 2.7rem;
}

.s-pr-28 {
  padding-right: 2.8rem;
}

.s-pr-29 {
  padding-right: 2.9rem;
}

.s-pr-30 {
  padding-right: 3rem;
}

.s-pr-40 {
  padding-right: 4rem;
}

.s-pr-50 {
  padding-right: 5rem;
}

.s-pr-60 {
  padding-right: 6rem;
}

/* s-pb-XX - 下パディング指定
-------------------------------------------------------- */
.s-pb-10 {
  padding-bottom: 1rem;
}

.s-pb-11 {
  padding-bottom: 1.1rem;
}

.s-pb-12 {
  padding-bottom: 1.2rem;
}

.s-pb-13 {
  padding-bottom: 1.3rem;
}

.s-pb-14 {
  padding-bottom: 1.4rem;
}

.s-pb-15 {
  padding-bottom: 1.5rem;
}

.s-pb-16 {
  padding-bottom: 1.6rem;
}

.s-pb-17 {
  padding-bottom: 1.7rem;
}

.s-pb-18 {
  padding-bottom: 1.8rem;
}

.s-pb-19 {
  padding-bottom: 1.9rem;
}

.s-pb-20 {
  padding-bottom: 2rem;
}

.s-pb-21 {
  padding-bottom: 2.1rem;
}

.s-pb-22 {
  padding-bottom: 2.2rem;
}

.s-pb-23 {
  padding-bottom: 2.3rem;
}

.s-pb-24 {
  padding-bottom: 2.4rem;
}

.s-pb-25 {
  padding-bottom: 2.5rem;
}

.s-pb-26 {
  padding-bottom: 2.6rem;
}

.s-pb-27 {
  padding-bottom: 2.7rem;
}

.s-pb-28 {
  padding-bottom: 2.8rem;
}

.s-pb-29 {
  padding-bottom: 2.9rem;
}

.s-pb-30 {
  padding-bottom: 3rem;
}

.s-pb-40 {
  padding-bottom: 4rem;
}

.s-pb-50 {
  padding-bottom: 5rem;
}

.s-pb-60 {
  padding-bottom: 6rem;
}

/* s-pl-XX - 左パディング指定
-------------------------------------------------------- */
.s-pl-10 {
  padding-left: 1rem;
}

.s-pl-11 {
  padding-left: 1.1rem;
}

.s-pl-12 {
  padding-left: 1.2rem;
}

.s-pl-13 {
  padding-left: 1.3rem;
}

.s-pl-14 {
  padding-left: 1.4rem;
}

.s-pl-15 {
  padding-left: 1.5rem;
}

.s-pl-16 {
  padding-left: 1.6rem;
}

.s-pl-17 {
  padding-left: 1.7rem;
}

.s-pl-18 {
  padding-left: 1.8rem;
}

.s-pl-19 {
  padding-left: 1.9rem;
}

.s-pl-20 {
  padding-left: 2rem;
}

.s-pl-21 {
  padding-left: 2.1rem;
}

.s-pl-22 {
  padding-left: 2.2rem;
}

.s-pl-23 {
  padding-left: 2.3rem;
}

.s-pl-24 {
  padding-left: 2.4rem;
}

.s-pl-25 {
  padding-left: 2.5rem;
}

.s-pl-26 {
  padding-left: 2.6rem;
}

.s-pl-27 {
  padding-left: 2.7rem;
}

.s-pl-28 {
  padding-left: 2.8rem;
}

.s-pl-29 {
  padding-left: 2.9rem;
}

.s-pl-30 {
  padding-left: 3rem;
}

.s-pl-40 {
  padding-left: 4rem;
}

.s-pl-50 {
  padding-left: 5rem;
}

.s-pl-60 {
  padding-left: 6rem;
}

/* s-lh-XX - 行間（line-height）設定
-------------------------------------------------------- */
.s-lh-1 {
  line-height: 1;
}

.s-lh-12 {
  line-height: 1.2;
}

.s-lh-14 {
  line-height: 1.4;
}

.s-lh-16 {
  line-height: 1.6;
}

.s-lh-18 {
  line-height: 1.8;
}

.s-lh-20 {
  line-height: 2;
}

.s-lh-30 {
  line-height: 3;
}

.s-lh-40 {
  line-height: 4;
}

/* ========================================================
header-v01.css - ヘッダ スタイルv1
======================================================== */
/* header - レイアウト
-------------------------------------------------------- */
.header {
  display: none;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 200;
}

.header-inside {
  position: relative;
}

.header-info {
  position: absolute;
  right: 0;
  top: 1rem;
}

.header-link > li {
  display: inline-block;
}

.header-link > li:after {
  content: "";
  padding: 0;
}

.header-link > li:first-child:before {
  content: "";
  padding: 0 1rem;
}

.header-link a {
  border-radius: 4px;
  color: #8c8877;
  letter-spacing: 3px;
  padding: 1rem;
}

.header-link a:hover {
  background: #000;
  color: #fff;
  text-decoration: none;
}

/* sp */
@media screen and (max-width: 767px) {
  .header-info {
    right: 1rem;
  }
  .header-logo {
    text-align: center;
  }
}

/* pc */
@media screen and (min-width: 768px) {
  .header {
    display: block;
    min-width: 1000px;
  }
  .header-inside {
    display: table;
    width: 1200px;
    margin: 0 auto;
  }
}

/* header - テーマ（レイアウト以外の各種デザイン）
-------------------------------------------------------- */
.header-theme {
  background: #f7f4e3;
  -webkit-box-shadow: 0 0 4px #8c8877;
          box-shadow: 0 0 4px #8c8877;
  color: #555;
  letter-spacing: 1px;
  padding: 2rem 0;
  opacity: 0.9;
}

/* sp */
@media screen and (max-width: 767px) {
  img.img-logo {
    width: 200px;
  }
}

/* pc */
@media screen and (min-width: 768px) {
  img.img-logo {
    width: 250px;
  }
}

/* menu-trigger
-------------------------------------------------------- */
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  -webkit-transition: all .6s;
  transition: all .6s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.menu-trigger {
  background: #000;
  color: #faf4e0;
  position: fixed;
  top: 1rem;
  right: 1rem;
  width: 40px;
  height: 40px;
  z-index: 300;
  border-radius: 20px;
}

.menu-trigger span {
  position: absolute;
  left: 10px;
  width: 20px;
  height: 2px;
  background-color: #fff;
  border-radius: 4px;
}

.menu-trigger span:nth-of-type(1) {
  top: 12px;
}

.menu-trigger span:nth-of-type(2) {
  top: 19px;
}

.menu-trigger span:nth-of-type(3) {
  bottom: 12px;
}

/* active */
.menu-trigger.active {
  background: #000;
  color: #fff;
}

.menu-trigger.active span {
  background-color: #fff;
}

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(7px) rotate(-45deg);
  transform: translateY(7px) rotate(-45deg);
}

.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}

.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-7px) rotate(45deg);
  transform: translateY(-7px) rotate(45deg);
}

/* pc */
@media screen and (min-width: 768px) {
  .menu-trigger {
    display: none;
  }
}

/* nav - レイアウト
-------------------------------------------------------- */
.nav-global {
  display: none;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
  width: 100%;
}

/* nav-global - テーマ
-------------------------------------------------------- */
.nav-global-theme {
  background: #faf4e0;
  color: #8c8877;
  font-size: 1.6rem;
  -ms-overflow-style: none;
  padding: 0;
  height: 100%;
}

.nav-close {
  background: #000;
  color: #fff;
  font-size: 1.6rem;
  padding: 2rem 3rem;
  cursor: pointer;
}

.nav-close i {
  position: absolute;
  font-size: 2rem;
  right: 2rem;
  top: 1.8rem;
}

.nav-list {
  margin: 0 auto;
  padding: 0;
}

.nav-list-item {
  border-bottom: 1px solid #c0c0c0;
}

.nav-list-item a {
  color: #8c8877;
  display: block;
  padding: 2rem 1rem;
}

.nav-list-item a:hover,
.nav-list-item a:active,
.nav-list-item a:focus {
  background: #f5f5f5;
  text-decoration: none;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

/* ========================================================
content-v02.css - コンテンツ スタイルv2
======================================================== */
/* content, section - レイアウト
-------------------------------------------------------- */
.content {
  width: 100%;
  margin: 0 auto;
  height: 100%;
}

.sec {
  margin: 0 auto;
}

/* sp */
@media screen and (max-width: 767px) {
  .content {
    padding-bottom: 5rem;
  }
  .sec-fill-sp {
    margin: 0 auto;
    height: 600px;
  }
  .sec-fill {
    margin: 0 auto;
  }
  .sec-full {
    width: 95%;
    margin: 1rem auto;
  }
  .sec-min {
    width: 96%;
  }
  .content-side {
    margin: 4rem 0;
    text-align: center;
  }
}

/* sp */
@media screen and (max-width: 767px) and (orientation: landscape) {
  .sec-fill-sp {
    margin: 0 auto;
    height: 400px;
  }
}

/* pc */
@media screen and (min-width: 768px) {
  .sec-fill {
    margin: 0 auto;
    height: 100%;
  }
  .sec-full {
    width: 1000px;
  }
  .sec-min {
    width: 900px;
  }
  .content-side {
    margin-top: 2rem;
  }
  .content-main {
    padding-right: 5rem;
    margin-bottom: 8rem;
  }
}

/* content, section - テーマ
-------------------------------------------------------- */
.content-theme {
  background: #faf4e0;
  color: #362f14;
}

.sec-theme-01 {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fdedcf), color-stop(87%, #f5ca9c));
  background-image: linear-gradient(#fdedcf 0%, #f5ca9c 87%);
  color: #000;
}

.sec-theme-02 {
  background: url(../img/top/bg_entry@3x.png) no-repeat 0 0;
  background-size: cover;
}

.sec-theme-03 {
  background-color: #f7f4e3;
  color: #5b5745;
}

/* section - padding設定
-------------------------------------------------------- */
.sec-pad-lot {
  padding: 3rem 0;
}

.sec-pad-few {
  padding: 2rem 0;
}

/* pc */
@media screen and (min-width: 768px) {
  .sec-pad-lot {
    padding: 6rem 0;
  }
  .sec-pad-few {
    padding: 2rem 0;
  }
}

/* ========================================================
footer-v01.css - フッタ スタイルv1
======================================================== */
/* footer - レイアウト
-------------------------------------------------------- */
.footer {
  width: 100%;
}

.footer img {
  width: 264px;
  margin-bottom: 3rem;
}

/* footer - テーマ（レイアウト以外の各種デザイン）
-------------------------------------------------------- */
.footer-theme {
  background-color: #000;
  color: #fff;
  line-height: 1.4;
  padding: 10rem 0 6rem 0;
}

.footer-copyright {
  font-size: 0.8rem;
  font-family: serif;
  letter-spacing: 0;
  padding: 4rem 0;
  text-align: center;
}

/* pagetop
-------------------------------------------------------- */
.pagetop {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
}

.pagetop-theme a {
  background: #cac6b6;
  border-radius: 50%;
  color: #fff;
  display: block;
  font-size: 4rem;
  line-height: 1;
  padding: 0.8rem 1rem;
  text-align: center;
}

.pagetop-theme a:hover {
  opacity: 0.8;
  text-decoration: none;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.pagetop-theme i {
  font-size: 2rem;
}

/* footer-info
-------------------------------------------------------- */
/* sp */
@media screen and (max-width: 767px) {
  .footer-info {
    text-align: center;
  }
}

/* pc */
@media screen and (min-width: 768px) {
  .footer-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .footer-info div:last-child {
    margin-left: 3rem;
  }
}

/* footer-nav
-------------------------------------------------------- */
.footer-nav {
  padding: 1rem 0;
  text-align: center;
  width: 100%;
}

.footer-nav > li {
  display: inline-block;
  margin: 0.4rem 0;
  font-size: 1.2rem;
}

.footer-nav > li:before {
  content: ">";
  color: #8c8877;
  padding: 0 0.4rem 0 1rem;
}

.footer-nav a {
  color: #8c8877;
  letter-spacing: 1px;
}

/* operation-list
-------------------------------------------------------- */
.operation-list {
  padding: 2rem 0 0 0;
}

.operation-list > li {
  display: inline-block;
  margin: 0.4rem 0;
  font-size: 1.2rem;
}

.operation-list > li:after {
  content: "|";
  color: #8c8877;
  padding: 0 0.4rem;
}

.operation-list {
  color: #8c8877;
  letter-spacing: 1px;
}

.operation-list > li:last-child:after {
  content: "";
}

/* ========================================================
button-v01.css - ボタン スタイルv1
======================================================== */
/* btn-XX-XX - リンクボタンの設定
-------------------------------------------------------- */
/* btn - ボタンデフォルト設定 */
.btn {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  letter-spacing: 0.2rem;
  text-align: center;
  outline: none;
}

.btn:hover, .btn:active, .btn:focus {
  cursor: pointer;
  text-decoration: none;
}

/* btn-level - ボタンの大きさ・フォントサイズ設定 */
.btn-level-01 {
  font-size: 2rem;
  font-weight: 800;
  padding: 3rem 2rem;
}

.btn-level-01 > i.ion-ios-arrow-right {
  position: absolute;
  right: 2rem;
  bottom: 1.8rem;
  font-size: 4rem;
}

.btn-level-02 {
  font-size: 1.8rem;
  font-weight: 800;
  padding: 2rem;
}

.btn-level-03 {
  font-size: 1.6rem;
  font-weight: 800;
  padding: 1.5rem;
}

.btn-level-03 > i.ion-ios-arrow-right {
  position: absolute;
  right: 2rem;
  bottom: 0.8rem;
  font-size: 2.8rem;
}

.btn-level-03 > i.ion-android-arrow-dropleft {
  position: absolute;
  left: 2rem;
  bottom: 0.8rem;
  font-size: 2.8rem;
}

.btn-level-03 > i.ion-refresh {
  position: absolute;
  left: 1.8rem;
  bottom: 1rem;
  font-size: 2.4rem;
}

.btn-level-03 > i.ion-clipboard {
  position: absolute;
  left: 1.8rem;
  bottom: 1rem;
  font-size: 2.8rem;
}

.btn-level-04 {
  font-size: 1.4rem;
  font-weight: 800;
  padding: 1rem 1.5rem;
}

.btn-level-05 {
  font-size: 2rem;
  font-weight: 800;
  padding: 4rem 2rem 3rem 2rem;
}

.btn-level-05 > i.ion-ios-arrow-right {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  font-size: 4rem;
}

.btn-level-05 > span {
  position: absolute;
  left: 20%;
  right: 20%;
  top: 2rem;
  font-size: 1.2rem;
}

.btn-level-06 {
  font-size: 2.4rem;
  font-weight: 800;
  padding: 2rem;
}

.btn-level-06 > i.ion-ios-search-strong {
  position: absolute;
  left: 6rem;
  top: 1rem;
  font-size: 4rem;
}

.btn-level-07 {
  font-size: 1.6rem;
  font-weight: 800;
  padding: 0.8rem 2rem;
}

/* btn-XX - ボタンの横幅サイズ設定 */
.btn-block {
  display: block;
}

.btn-110 {
  width: 110px;
}

.btn-130 {
  width: 130px;
}

.btn-150 {
  width: 150px;
}

.btn-160 {
  width: 160px;
}

.btn-200 {
  width: 200px;
}

.btn-220 {
  width: 220px;
}

.btn-240 {
  width: 240px;
}

.btn-260 {
  width: 260px;
}

.btn-300 {
  width: 300px;
}

.btn-full {
  width: 100%;
}

/* sp */
@media screen and (max-width: 767px) {
  .btn-400 {
    width: 80%;
  }
}

/* pc */
@media screen and (min-width: 768px) {
  .btn-400 {
    width: 400px;
  }
}

/* theme - ボタンデザイン設定 */
.btn-theme-01 {
  background: #c9ad60;
  border-radius: 4px;
  -webkit-box-shadow: 0px 2px 4px 0px #cac6b6;
          box-shadow: 0px 2px 4px 0px #cac6b6;
  color: #fff;
  position: relative;
  -webkit-transition: .4s all;
  transition: .4s all;
}

.btn-theme-01:hover,
.btn-theme-01:active,
.btn-theme-01:focus {
  background: #d4cb7e;
  -webkit-box-shadow: 0px 2px 4px 0px #000;
          box-shadow: 0px 2px 4px 0px #000;
}

.btn-theme-02 {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e5e4e0));
  background-image: linear-gradient(#fff, #e5e4e0);
  border: 1px solid #c0c0c0;
  -webkit-box-shadow: 0px 2px 4px 0px #aeaeae;
          box-shadow: 0px 2px 4px 0px #aeaeae;
  color: #555;
}

.btn-theme-02:hover,
.btn-theme-02:active,
.btn-theme-02:focus {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#e5e4e0), to(#fff));
  background-image: linear-gradient(#e5e4e0, #fff);
}

.btn-theme-03 {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#7eb746), to(#659833));
  background-image: linear-gradient(#7eb746, #659833);
  border: 1px solid #7eb746;
  -webkit-box-shadow: 0px 2px 4px 0px #b8860b;
          box-shadow: 0px 2px 4px 0px #b8860b;
  color: #fff;
}

.btn-theme-03:hover,
.btn-theme-03:active,
.btn-theme-03:focus {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#659833), to(#7eb746));
  background-image: linear-gradient(#659833, #7eb746);
}

.btn-theme-04 {
  background: #f0e68c;
  color: #fff;
}

/* group-btn - ボタングループ設定
-------------------------------------------------------- */
/* layout - レイアウト設定 */
.group-btn {
  width: 100%;
}

.btn-item {
  display: inline-block;
  margin: 0 1rem;
}

/* theme - デザイン設定 */
.group-btn-theme {
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  font-weight: 800;
  padding: 2rem 0;
  margin: 2.5rem 0;
}

/* txt-link-XX - テキストリンクの設定
-------------------------------------------------------- */
.txt-link {
  padding: 0.4rem;
  text-decoration: none;
}

.txt-link:hover, .txt-link:active, .txt-link:focus {
  padding: 0.4rem;
  text-decoration: underline;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.txt-link-01 {
  color: #555;
}

.txt-link-01:hover,
.txt-link-01:active,
.txt-link-01:focus {
  background: transparent;
}

.txt-link-01 > i.ion-ios-arrow-right-circle {
  color: #5b5745;
  font-size: 2.2rem;
  padding-right: 0.4rem;
}

.txt-link-02 {
  background: #fff;
  border-radius: 4px;
  color: #555;
  font-weight: 800;
  padding: 0.4rem 1rem;
}

.txt-link-02:hover,
.txt-link-02:active,
.txt-link-02:focus {
  padding: 0.4rem 1rem;
}

.txt-link-03 {
  background: #555;
  border-radius: 4px;
  color: #fff;
  font-weight: 800;
  padding: 0.4rem 1rem;
}

.txt-link-03:hover,
.txt-link-03:active,
.txt-link-03:focus {
  padding: 0.4rem 1rem;
}

/* ========================================================
form-v01.css - フォーム スタイルv1
======================================================== */
/* form - フォームパーツ基本設定
-------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="number"],
input[type="date"],
textarea {
  background: #fff;
  border: 1px solid #999;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1.6rem;
  padding: 1.5rem;
}

button[type="submit"] {
  border-radius: 4px;
}

/* form-XX - フォームパーツの横幅サイズ設定 */
.form-full {
  width: 100%;
}

.form-200 {
  width: 200px;
}

.form-220 {
  width: 220px;
}

.form-240 {
  width: 240px;
}

.form-260 {
  width: 260px;
}

.form-280 {
  width: 280px;
}

.form-300 {
  width: 300px;
}

/* form-group - フォームグループ設定
-------------------------------------------------------- */
.form-group {
  width: 100%;
}

.form-group-item {
  display: inline-block;
  vertical-align: middle;
  margin-right: 1.5rem;
}

/* radio - ラジオボタン設定
-------------------------------------------------------- */
label.form-radio {
  cursor: pointer;
  position: relative;
  overflow: hidden;
  display: inline-block;
  padding-left: 2rem;
  margin: 1.5rem 1rem 0 1rem;
}

label.form-radio:before {
  position: absolute;
  left: 0;
  top: 0;
  border: 1px solid #999;
  border-radius: 50%;
  content: "";
  width: 16px;
  height: 16px;
  z-index: 3;
}

label.form-radio:after {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 100%;
  left: 3px;
  top: 3px;
  background-color: #000;
  z-index: 1;
}

label.form-radio input[type="radio"] {
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  z-index: 2;
  width: 20px;
  height: 20px;
  left: -23px;
  top: 1px;
  margin: 0;
  -webkit-box-shadow: 20px -1px #fff;
          box-shadow: 20px -1px #fff;
}

label.form-radio input[type="radio"]:checked {
  -webkit-box-shadow: none;
          box-shadow: none;
}

label.form-radio input[type="radio"]:focus {
  opacity: 0.2;
  -webkit-box-shadow: 20px -1px #fff;
          box-shadow: 20px -1px #fff;
}

/* checkbox - チェックボックス設定
-------------------------------------------------------- */
label.form-checkbox {
  cursor: pointer;
  position: relative;
  padding-left: 25px;
  margin-right: 20px;
  overflow: hidden;
  position: relative;
  padding-left: 25px;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 1.6;
}

label.form-checkbox:before {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  left: 0;
  top: 2px;
  border: 1px solid #999;
  z-index: 3;
}

label.form-checkbox:after {
  content: "";
  position: absolute;
  top: 10px;
  left: 4px;
  display: block;
  margin-top: -8px;
  width: 6px;
  height: 10px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  z-index: 4;
}

label.form-checkbox input[type="checkbox"] {
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  left: -40px;
  width: 16px;
  height: 18px;
  display: block;
  top: 2px;
  -webkit-box-shadow: none;
          box-shadow: none;
  z-index: 2;
  margin: 0;
  padding: 0;
}

label.form-checkbox input[type="checkbox"]:checked {
  border-radius: 0;
  -webkit-box-shadow: 41px 0 #000;
          box-shadow: 41px 0 #000;
}

/* sp */
@media screen and (max-width: 767px) {
  label.form-checkbox {
    font-size: 14px;
  }
}

/* select-list - カスタムセレクトボックス設定
-------------------------------------------------------- */
/* layout - レイアウト */
/* theme - デザイン設定 */
.select-box > select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  width: 130%;
}

.select-box > select:focus {
  outline: 0;
}

.select-box {
  position: relative;
  overflow: hidden;
}

.select-btn {
  background: transparent;
  border: 1px solid #999;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1.6rem;
  padding: 1.5rem;
}

.select-btn > i.ion-android-arrow-dropdown {
  position: absolute;
  right: 2rem;
  bottom: 0.8rem;
  font-size: 2.8rem;
}

/* form-count-current - 現在の文字数設定
-------------------------------------------------------- */
.form-count-current {
  color: #be8f5c;
  font-size: 1.6rem;
  font-weight: 800;
  padding: 0 1rem;
}

/* form-validation - バリデーションエラーの設定
-------------------------------------------------------- */
.form-validation {
  position: relative;
  background: #f4274e;
  border-radius: 4px;
  -webkit-box-shadow: 0px 2px 4px 0px #c0c0c0;
          box-shadow: 0px 2px 4px 0px #c0c0c0;
  color: #fff;
  padding: 1rem;
  margin: 0rem auto 2rem auto;
  text-align: center;
}

.form-validation:after {
  position: absolute;
  right: 0;
  bottom: -10px;
  left: 0;
  border-style: solid;
  border-color: #f4274e transparent transparent transparent;
  border-width: 10px 10px 0 10px;
  content: "";
  margin: auto;
  width: 0;
  height: 0;
}

/* ========================================================
hr-v01.css - 水平線・区切り線 スタイルv1
======================================================== */
/* hr-XX - 水平線・区切り線の設定
-------------------------------------------------------- */
.hr-theme-01 {
  border-top: 4px double #cac6b6;
  position: relative;
}

.hr-theme-02 {
  border-top: 1px double #000;
}

.hr-theme-03 {
  border-top: 1px dashed #000;
}

.hr-theme-04 {
  border-top: 1px dotted #000;
}

.hr-theme-05 {
  border-top: 4px solid #f5f5f5;
}

/* ========================================================
box-v01.css - ボックス スタイルv1
======================================================== */
/* box-XX-XX - ボックスの設定
-------------------------------------------------------- */
/* box - ボックスデフォルト設定 */
.box {
  padding: 2rem;
}

.box-dotted {
  border: 0.1rem dotted #362f14;
}

.box-bordered {
  border: 0.1rem solid #362f14;
}

.box-rounded {
  border: 0.1rem solid #362f14;
  border-radius: 0.4rem;
}

.box-circle {
  border: 1px solid #362f14;
  border-radius: 50%;
}

.box-flow {
  overflow-y: scroll;
  height: 200px;
}

/* theme - ボックスデザイン設定 */
.box-theme-01 {
  background: #f5f5f5;
  border: 1px solid #f5f5f5;
  color: #362f14;
}

.box-theme-02 {
  background: transparent;
  border: 1px solid #000;
  color: #000;
}

.box-theme-03 {
  background: #fff;
  border: 2px solid #c0c0c0;
  border-radius: 4px;
  color: #362f14;
}

/* bg-XX - 背景の設定
-------------------------------------------------------- */
.bg-stripe {
  background-color: #999;
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(0.25, #f5f5f5), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, #f5f5f5), color-stop(0.75, #f5f5f5), color-stop(0.75, transparent), to(transparent));
  -webkit-background-size: 10px 10px;
}

.bg-dot {
  background-color: #999;
  background-image: -webkit-gradient(linear, 0 0, 0 100%, color-stop(0.5, transparent), color-stop(0.5, #fff), to(#fff)), -webkit-gradient(linear, 0 0, 100% 0, color-stop(0.5, transparent), color-stop(0.5, #fff), to(#fff));
  -webkit-background-size: 3px 3px;
}

.bg-color-01 {
  background: #f5f5f5;
}

/* ========================================================
table-v01.css - テーブル スタイルv1
======================================================== */
/* .table-XX-XX - テーブルレイアウト
-------------------------------------------------------- */
.table {
  width: 100%;
}

.table th {
  font-weight: 800;
}

/* .table-theme-XX - テーブルテーマ
-------------------------------------------------------- */
.table-theme-01 > thead {
  background: #efefef;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  color: #000;
}

.table-theme-01 th {
  padding: 1.8rem 0;
}

.table-theme-01 td {
  border-bottom: 1px solid #000;
  padding: 1.5rem 0;
}

.table-theme-01 th,
.table-theme-01 td {
  letter-spacing: 1px;
  line-height: 1.4;
}

.table-theme-02 {
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  margin: 3rem 0;
}

.table-theme-02 th,
.table-theme-02 td,
.table-theme-03 th,
.table-theme-03 td {
  border: 2px dotted #fff;
  border-bottom: 2px dotted #000;
  font-size: 16px;
  letter-spacing: 1px;
  line-height: 1.4;
  padding: 2rem 0 2rem 0.1rem;
  vertical-align: top;
}

.table-theme-03 {
  margin: 3rem 0;
}

.table-theme-04 {
  border: 1px solid #000;
  border-collapse: collapse;
  font-size: 1.6rem;
}

.table-theme-04 th {
  background: #000;
  border-top: 1px solid #000;
  border-bottom: 1px solid #fff;
  color: #fff;
  padding: 1.8rem 0;
  width: 200px;
}

.table-theme-04 td {
  border-bottom: 1px solid #000;
  padding: 1.5rem 2rem;
}

.table-theme-04 tr:last-child th,
.table-theme-04 tr:last-child td {
  border-bottom: 0;
}

.table-theme-04 th,
.table-theme-04 td {
  letter-spacing: 1px;
  line-height: 1.4;
}

/* sp */
@media screen and (max-width: 767px) {
  .table-sp th,
  .table-sp td,
  .table-theme-04 th,
  .table-theme-04 td {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: block;
    width: 100%;
  }
  .table-h1,
  .table-h2 {
    background: #f5f5f5;
    display: block;
    text-align: center;
    width: 100%;
  }
  .table-h1 {
    background: #555;
    color: #fff;
  }
  .table-require {
    background: transparent;
    display: none;
    width: 100%;
  }
  .table-require > span {
    display: block;
    position: absolute;
  }
  .table-data {
    display: block;
    margin: 0 auto;
    text-align: center;
    width: 98%;
  }
  .table-theme-03 th,
  .table-theme-03 td,
  .table-theme-04 th,
  .table-theme-04 td {
    border: 0;
  }
}

/* pc */
@media screen and (min-width: 768px) {
  .table-h1 {
    width: 170px;
    text-align: left;
  }
  .table-h2 {
    width: 130px;
    text-align: left;
  }
  .table-require {
    width: 55px;
  }
  .table-data {
    width: 800px;
  }
}

/* ========================================================
headding-v01.css - 見出し スタイルv1
======================================================== */
/* ttl-XX-XX - 見出し（H1〜H6他）の設定
-------------------------------------------------------- */
/* level - フォントサイズ等の設定 */
.ttl {
  font-weight: 800;
  letter-spacing: 2px;
  line-height: 1.2;
}

/* sp */
@media screen and (max-width: 767px) {
  .ttl {
    letter-spacing: 0;
  }
  .ttl-level-01 {
    font-size: 2.4rem;
  }
  .ttl-level-02 {
    font-size: 2rem;
  }
  .ttl-level-03 {
    font-size: 2rem;
  }
  .ttl-level-04 {
    font-size: 2rem;
  }
  .ttl-level-05 {
    font-size: 2rem;
  }
  .ttl-level-06 {
    font-size: 1.8rem;
  }
  .ttl-level-07 {
    font-size: 1.6rem;
  }
  .ttl-level-08 {
    font-size: 1.4rem;
  }
  .ttl-level-09 {
    font-size: 1.2rem;
  }
}

/* pc */
@media screen and (min-width: 768px) {
  .ttl-level-01 {
    font-size: 4rem;
  }
  .ttl-level-02 {
    font-size: 3.6rem;
  }
  .ttl-level-03 {
    font-size: 2.6rem;
  }
  .ttl-level-04 {
    font-size: 2.4rem;
  }
  .ttl-level-05 {
    font-size: 2rem;
  }
  .ttl-level-06 {
    font-size: 1.8rem;
  }
  .ttl-level-07 {
    font-size: 1.6rem;
  }
  .ttl-level-08 {
    font-size: 1.4rem;
  }
  .ttl-level-09 {
    font-size: 1.2rem;
  }
}

/* theme - デザイン設定 */
.ttl-theme-01 {
  border-bottom: 10px solid #faf4e0;
  color: #000;
  margin-bottom: 1rem;
  margin-top: 2rem;
  padding-bottom: 0.4rem;
}

.ttl-theme-02 {
  background: #555;
  color: #fff;
  padding: 1.6em 0;
}

.ttl-theme-03 {
  background-image: linear-gradient(-45deg, transparent 25%, #f5f5f5 25%, #f5f5f5 50%, transparent 50%, transparent 75%, #f5f5f5 75%, #f5f5f5);
  background-image: -ms-linear-gradient(-45deg, transparent 25%, #f5f5f5 25%, #f5f5f5 50%, transparent 50%, transparent 75%, #f5f5f5 75%, #f5f5f5);
  -ms-background-size: 10px 10px;
  background-size: 10px 10px;
  /* 2つ書かないと、firefoxで崩れがおきる */
  border-left: 10px solid #5b5745;
  color: #362f14;
  padding: 0.4em 0 0.4em 2rem;
}

.ttl-theme-04 {
  background: transparent;
  color: #000;
  font-family: "Cormorant Garamond",serif;
  letter-spacing: 8px;
  position: relative;
}

.ttl-theme-04:after {
  background: url(../img/share/icon_heading.png) no-repeat 0 0;
  background-size: 100%;
  content: " ";
  display: block;
  width: 60px;
  height: 40px;
  margin: 1rem auto;
}

.ttl-theme-05 {
  border-top: 4px double #cac6b6;
  border-bottom: 4px double #cac6b6;
  padding: 0 1rem;
}

/* subpage-ttl */
.ttl-theme-06 {
  background: #000;
  color: #fff;
  padding: 2rem 0;
}

/* pc */
@media screen and (min-width: 768px) {
  .ttl-theme-06 {
    padding: 12rem 0 5rem 0;
  }
}

/* ========================================================
list-v01.css - リスト スタイルv1
======================================================== */
/* list-XX-XX - リストの設定
-------------------------------------------------------- */
.list > li {
  margin-bottom: 1rem;
  padding-left: 2rem;
  position: relative;
  text-indent: -1rem;
}

.list-theme-01 > li:before {
  color: #5b5745;
  content: "●";
  display: inline-block;
  margin-right: 0.5em;
}

.list-theme-02 > li {
  counter-increment: number;
}

.list-theme-02 > li:before {
  color: #000;
  content: counter(number) ".";
  display: inline-block;
  font-weight: 800;
  margin-right: 0.5em;
}

.list-theme-03 > li {
  counter-increment: number;
}

.list-theme-03 > li:before {
  color: #555;
  content: counter(number) ".";
  display: inline-block;
  font-weight: 400;
  margin-right: 0.5em;
}

.list-theme-04 > li {
  padding: 2rem;
  border-bottom: 1px solid #cac6b6;
}

/* ========================================================
scroll-v01.css - スクロールした際のJSスタイルv1
======================================================== */
/* scroll基本設定
-------------------------------------------------------- */
.jsScroll {
  -webkit-transition: 1s;
  transition: 1s;
}

/* jsFadeIn - フェードイン */
.jsFadeIn {
  opacity: 0;
}

.jsFadeInActive {
  opacity: 1.0;
}
