@charset "UTF-8";
/*
Theme Name: カフェカホン_original250327
Description: カフェカホンのテーマ
Author: コムデザインラボ
*/
/* ==========================================================================
   Foundation
   ========================================================================== */
/* Reset box-model and set borders */
/* ============================================ */
@import url("https://fonts.googleapis.com/css2?family=Copse&display=swap");
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  font-size: 10px;
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
  line-height: 1.0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type="radio"] {
  -webkit-appearance: radio;
  appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

button[disabled],
[type="button"][disabled],
[type="reset"][disabled],
[type="submit"][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type="search"] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/**
 * Add 
 */
img {
  max-width: 100%;
  vertical-align: middle;
  font-size: 0;
  line-height: 0;
}

@media screen and (min-width: 835px) {
  .mbpc-1 {
    margin-bottom: 1px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-1 {
    margin-bottom: 1px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-2 {
    margin-bottom: 2px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-2 {
    margin-bottom: 2px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-3 {
    margin-bottom: 3px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-3 {
    margin-bottom: 3px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-4 {
    margin-bottom: 4px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-4 {
    margin-bottom: 4px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-5 {
    margin-bottom: 5px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-5 {
    margin-bottom: 5px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-6 {
    margin-bottom: 6px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-6 {
    margin-bottom: 6px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-7 {
    margin-bottom: 7px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-7 {
    margin-bottom: 7px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-8 {
    margin-bottom: 8px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-8 {
    margin-bottom: 8px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-9 {
    margin-bottom: 9px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-9 {
    margin-bottom: 9px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-10 {
    margin-bottom: 10px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-10 {
    margin-bottom: 10px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-11 {
    margin-bottom: 11px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-11 {
    margin-bottom: 11px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-12 {
    margin-bottom: 12px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-12 {
    margin-bottom: 12px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-13 {
    margin-bottom: 13px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-13 {
    margin-bottom: 13px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-14 {
    margin-bottom: 14px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-14 {
    margin-bottom: 14px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-15 {
    margin-bottom: 15px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-15 {
    margin-bottom: 15px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-16 {
    margin-bottom: 16px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-16 {
    margin-bottom: 16px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-17 {
    margin-bottom: 17px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-17 {
    margin-bottom: 17px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-18 {
    margin-bottom: 18px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-18 {
    margin-bottom: 18px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-19 {
    margin-bottom: 19px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-19 {
    margin-bottom: 19px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-20 {
    margin-bottom: 20px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-20 {
    margin-bottom: 20px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-21 {
    margin-bottom: 21px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-21 {
    margin-bottom: 21px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-22 {
    margin-bottom: 22px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-22 {
    margin-bottom: 22px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-23 {
    margin-bottom: 23px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-23 {
    margin-bottom: 23px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-24 {
    margin-bottom: 24px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-24 {
    margin-bottom: 24px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-25 {
    margin-bottom: 25px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-25 {
    margin-bottom: 25px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-26 {
    margin-bottom: 26px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-26 {
    margin-bottom: 26px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-27 {
    margin-bottom: 27px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-27 {
    margin-bottom: 27px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-28 {
    margin-bottom: 28px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-28 {
    margin-bottom: 28px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-29 {
    margin-bottom: 29px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-29 {
    margin-bottom: 29px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-30 {
    margin-bottom: 30px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-30 {
    margin-bottom: 30px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-31 {
    margin-bottom: 31px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-31 {
    margin-bottom: 31px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-32 {
    margin-bottom: 32px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-32 {
    margin-bottom: 32px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-33 {
    margin-bottom: 33px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-33 {
    margin-bottom: 33px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-34 {
    margin-bottom: 34px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-34 {
    margin-bottom: 34px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-35 {
    margin-bottom: 35px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-35 {
    margin-bottom: 35px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-36 {
    margin-bottom: 36px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-36 {
    margin-bottom: 36px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-37 {
    margin-bottom: 37px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-37 {
    margin-bottom: 37px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-38 {
    margin-bottom: 38px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-38 {
    margin-bottom: 38px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-39 {
    margin-bottom: 39px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-39 {
    margin-bottom: 39px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-40 {
    margin-bottom: 40px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-40 {
    margin-bottom: 40px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-41 {
    margin-bottom: 41px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-41 {
    margin-bottom: 41px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-42 {
    margin-bottom: 42px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-42 {
    margin-bottom: 42px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-43 {
    margin-bottom: 43px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-43 {
    margin-bottom: 43px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-44 {
    margin-bottom: 44px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-44 {
    margin-bottom: 44px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-45 {
    margin-bottom: 45px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-45 {
    margin-bottom: 45px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-46 {
    margin-bottom: 46px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-46 {
    margin-bottom: 46px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-47 {
    margin-bottom: 47px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-47 {
    margin-bottom: 47px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-48 {
    margin-bottom: 48px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-48 {
    margin-bottom: 48px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-49 {
    margin-bottom: 49px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-49 {
    margin-bottom: 49px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-50 {
    margin-bottom: 50px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-50 {
    margin-bottom: 50px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-51 {
    margin-bottom: 51px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-51 {
    margin-bottom: 51px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-52 {
    margin-bottom: 52px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-52 {
    margin-bottom: 52px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-53 {
    margin-bottom: 53px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-53 {
    margin-bottom: 53px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-54 {
    margin-bottom: 54px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-54 {
    margin-bottom: 54px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-55 {
    margin-bottom: 55px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-55 {
    margin-bottom: 55px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-56 {
    margin-bottom: 56px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-56 {
    margin-bottom: 56px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-57 {
    margin-bottom: 57px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-57 {
    margin-bottom: 57px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-58 {
    margin-bottom: 58px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-58 {
    margin-bottom: 58px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-59 {
    margin-bottom: 59px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-59 {
    margin-bottom: 59px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-60 {
    margin-bottom: 60px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-60 {
    margin-bottom: 60px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-61 {
    margin-bottom: 61px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-61 {
    margin-bottom: 61px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-62 {
    margin-bottom: 62px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-62 {
    margin-bottom: 62px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-63 {
    margin-bottom: 63px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-63 {
    margin-bottom: 63px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-64 {
    margin-bottom: 64px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-64 {
    margin-bottom: 64px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-65 {
    margin-bottom: 65px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-65 {
    margin-bottom: 65px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-66 {
    margin-bottom: 66px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-66 {
    margin-bottom: 66px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-67 {
    margin-bottom: 67px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-67 {
    margin-bottom: 67px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-68 {
    margin-bottom: 68px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-68 {
    margin-bottom: 68px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-69 {
    margin-bottom: 69px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-69 {
    margin-bottom: 69px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-70 {
    margin-bottom: 70px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-70 {
    margin-bottom: 70px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-71 {
    margin-bottom: 71px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-71 {
    margin-bottom: 71px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-72 {
    margin-bottom: 72px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-72 {
    margin-bottom: 72px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-73 {
    margin-bottom: 73px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-73 {
    margin-bottom: 73px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-74 {
    margin-bottom: 74px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-74 {
    margin-bottom: 74px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-75 {
    margin-bottom: 75px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-75 {
    margin-bottom: 75px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-76 {
    margin-bottom: 76px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-76 {
    margin-bottom: 76px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-77 {
    margin-bottom: 77px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-77 {
    margin-bottom: 77px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-78 {
    margin-bottom: 78px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-78 {
    margin-bottom: 78px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-79 {
    margin-bottom: 79px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-79 {
    margin-bottom: 79px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-80 {
    margin-bottom: 80px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-80 {
    margin-bottom: 80px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-81 {
    margin-bottom: 81px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-81 {
    margin-bottom: 81px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-82 {
    margin-bottom: 82px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-82 {
    margin-bottom: 82px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-83 {
    margin-bottom: 83px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-83 {
    margin-bottom: 83px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-84 {
    margin-bottom: 84px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-84 {
    margin-bottom: 84px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-85 {
    margin-bottom: 85px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-85 {
    margin-bottom: 85px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-86 {
    margin-bottom: 86px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-86 {
    margin-bottom: 86px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-87 {
    margin-bottom: 87px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-87 {
    margin-bottom: 87px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-88 {
    margin-bottom: 88px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-88 {
    margin-bottom: 88px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-89 {
    margin-bottom: 89px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-89 {
    margin-bottom: 89px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-90 {
    margin-bottom: 90px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-90 {
    margin-bottom: 90px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-91 {
    margin-bottom: 91px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-91 {
    margin-bottom: 91px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-92 {
    margin-bottom: 92px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-92 {
    margin-bottom: 92px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-93 {
    margin-bottom: 93px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-93 {
    margin-bottom: 93px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-94 {
    margin-bottom: 94px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-94 {
    margin-bottom: 94px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-95 {
    margin-bottom: 95px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-95 {
    margin-bottom: 95px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-96 {
    margin-bottom: 96px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-96 {
    margin-bottom: 96px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-97 {
    margin-bottom: 97px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-97 {
    margin-bottom: 97px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-98 {
    margin-bottom: 98px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-98 {
    margin-bottom: 98px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-99 {
    margin-bottom: 99px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-99 {
    margin-bottom: 99px !important;
  }
}
@media screen and (min-width: 835px) {
  .mbpc-100 {
    margin-bottom: 100px !important;
  }
}
@media screen and (max-width: 767px) {
  .mbsp-100 {
    margin-bottom: 100px !important;
  }
}
.mb0 {
  margin-bottom: 0 !important;
}

body {
  width: 100%;
  min-width: 1280px;
  color: #8E5E45;
  font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "Meiryo", "メイリオ", "MS Pゴシック", Arial, Helvetica, Verdana, sans-serif;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  line-height: 2.0;
  letter-spacing: 0.08em;
  word-wrap: break-word;
  overflow-wrap: break-word;
  position: relative;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  body {
    min-width: 320px;
    font-size: 13px;
  }
}
body.mac .msg__content p span {
  padding: 3px 0 2px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: inherit;
  font-weight: normal;
  color: inherit;
  line-height: 1.6;
}

a {
  font-family: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
}
a:hover {
  text-decoration: none;
  transition: opacity 0.3s;
}

.opa {
  color: inherit;
  text-decoration: none;
  display: block;
  transition: opacity 0.3s;
}

.opa:not(.opa-not):hover {
  text-decoration: none;
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .opa:not(.opa-not):hover {
    opacity: 1;
  }
}

.opa-wrap a {
  display: block;
  transition: opacity 0.3s;
}
.opa-wrap a:hover {
  transition: opacity 0.3s;
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .opa-wrap a:hover {
    opacity: 1;
  }
}

.is-pc {
  display: inline;
}
@media screen and (max-width: 767px) {
  .is-pc {
    display: none;
  }
}

.is-pc--block {
  display: block;
}
@media screen and (max-width: 767px) {
  .is-pc--block {
    display: none;
  }
}

.is-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .is-sp {
    display: inline;
  }
}

.is-sp--block {
  display: none;
}
@media screen and (max-width: 767px) {
  .is-sp--block {
    display: block;
  }
}

.anchor-wrap {
  position: relative;
}

.anchor {
  position: absolute;
  top: -110px;
}

.tel-link a {
  display: inline-block;
}

.slider-item:not(:first-child) {
  display: none;
}

.section {
  position: relative;
}

.inner {
  display: block;
  max-width: 1010px;
  padding: 0 15px;
  margin: 0 auto;
}
@media screen and (max-width: 1245px) {
  .inner {
    padding: 0 35px;
  }
}
@media screen and (max-width: 767px) {
  .inner {
    padding: 0 25px;
  }
}

.scrollin.active {
  animation-name: rotateXAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes rotateXAnime {
  from {
    transform: rotateX(0);
  }
  to {
    transform: rotateX(-360deg);
  }
}
.fadeup.active {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

.delay-time02 {
  animation-delay: 0.2s;
}

.delay-time04 {
  animation-delay: 0.4s;
}

.delay-time10 {
  animation-delay: 1s;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ==========================================================================
   Layout
   ========================================================================== */
.wrap {
  font-size: 15px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .wrap {
    font-size: 14px;
  }
}
.wrap::before {
  content: "";
  background-image: url("img/bg_1.png");
  background-position: center top;
  background-repeat: repeat;
  background-size: 1281px auto;
  width: 100%;
  position: absolute;
  top: -200px;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -10;
}

/**
 * #Header
 */
.header {
  background-color: #FFF;
  background-image: url("img/bg_1.png");
  background-position: center top;
  background-repeat: repeat;
  background-size: 1281px auto;
  height: 110px;
  padding: 19px 40px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
}
@media screen and (max-width: 1245px) {
  .header {
    padding: 10px 20px;
  }
}
@media screen and (max-width: 767px) {
  .header {
    height: 60px;
    padding: 10px 20px;
  }
}

.h__inner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.h__logo {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width: 1245px) {
  .h__logo {
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
}
.h__logo .logo {
  width: 219px;
  min-width: 219px;
}
@media screen and (max-width: 1245px) {
  .h__logo .logo {
    width: 200px;
    min-width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .h__logo .logo {
    width: 125px;
    min-width: 125px;
  }
}
.h__slogan {
  width: calc(100% - 219px);
  font-size: 12px;
  font-weight: 500;
  padding-left: 21px;
  letter-spacing: 2px;
  white-space: nowrap;
  position: relative;
  top: 6px;
}
@media screen and (max-width: 1245px) {
  .h__slogan {
    padding-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .h__slogan {
    display: none;
  }
}
.h__nav {
  padding: 0 0 0 10px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .h__nav-menu {
    width: calc(100% - 130px);
  }
}
@media screen and (max-width: 767px) {
  .h__nav-menu {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    padding: 40px 20px 150px;
    overflow-y: scroll;
    background: #8E5E45;
    z-index: 10;
  }
  .h__nav-menu.active {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .h__nav-menu__logo {
    display: block;
    width: 160px;
    margin: 0 auto 36px;
  }
}
.h__nav-menu .btn-faq {
  max-width: 200px;
  width: 100%;
  display: block;
  margin: 0 auto 22px;
}
.h__nav-menu .btn-shop {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #69ADB4;
  text-align: center;
  padding: 20px 0;
}
.h__nav-menu .btn-shop::after {
  content: "";
  width: 12px;
  height: 9px;
  display: inline-block;
  position: absolute;
}
.h__nav-menu .btn-shop:after {
  background: url("../img/index/arr-right-medium.png") no-repeat center/cover;
  right: 53px;
  top: calc(50% - 4.5px);
}
.h__nav-menu .btn-shop span {
  display: block;
  color: #fff;
}
.h__nav-menu .btn-shop span.ico {
  width: 30px;
  margin: 0 auto 15px;
}
.h__nav-menu .btn-shop span.en {
  font-size: 20px;
  line-height: 1;
  margin-bottom: 5px;
  letter-spacing: 3px;
}
.h__nav-menu .btn-shop span.jp {
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 1px;
}
.h__nav-list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .h__nav-list {
    margin: 0 auto 33px;
    width: 200px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    flex-direction: row-reverse;
  }
}
.h__nav-list > .item {
  margin-left: 30px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .h__nav-list > .item {
    margin-left: 0;
  }
}
.h__nav-list > .item:first-of-type {
  margin-left: 0;
}
.h__nav-list > .item > a {
  display: block;
  padding-left: 33px;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .h__nav-list > .item > a {
    padding-left: 0;
    padding-top: 50px;
    display: flex;
    flex-direction: row-reverse;
  }
}
.h__nav-list > .item > a .en {
  color: #8E5E45;
  font-size: 18px;
  line-height: 1.0;
  letter-spacing: 2px;
  display: block;
}
@media screen and (max-width: 767px) {
  .h__nav-list > .item > a .en {
    margin-left: 2px;
    color: #fff;
    writing-mode: tb-rl;
  }
}
.h__nav-list > .item > a .jp {
  margin: 7px auto 0;
  color: #8E5E45;
  font-size: 10px;
  font-weight: bold;
  line-height: 1.0;
  letter-spacing: 1px;
  display: block;
}
@media screen and (max-width: 767px) {
  .h__nav-list > .item > a .jp {
    color: #fff;
    font-size: 11px;
    writing-mode: tb-rl;
  }
}
.h__nav-list > .item--about a {
  background: url("img/icon_about.svg") no-repeat left center/22px 30px;
}
@media screen and (max-width: 767px) {
  .h__nav-list > .item--about a {
    background: url("img/icon_about_wht.svg") no-repeat center top/22px 30px;
  }
}
.h__nav-list > .item--about:hover a {
  background: url("img/icon_about_hv.svg") no-repeat left center/22px 30px;
}
.h__nav-list > .item--labo a {
  background: url("img/icon_labo.svg") no-repeat left center/25px 31px;
}
@media screen and (max-width: 767px) {
  .h__nav-list > .item--labo a {
    background: url("img/icon_labo_wht.svg") no-repeat center top/25px 31px;
  }
}
.h__nav-list > .item--labo:hover a {
  background: url("img/icon_labo_hv.svg") no-repeat left center/25px 31px;
}
.h__nav-list > .item--blog a {
  background: url("img/icon_blog.svg") no-repeat left center/24px 24px;
}
@media screen and (max-width: 767px) {
  .h__nav-list > .item--blog a {
    background: url("img/icon_blog_wt.svg") no-repeat center top/24px 24px;
  }
}
.h__nav-list > .item--blog:hover a {
  background: url("img/icon_blog_hv.svg") no-repeat left center/24px 24px;
}
.h__nav-list > .item:hover > a span, .h__nav-list > .item:hover > a small {
  color: #69ADB4;
}
.h__sns {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: 37px;
}
@media screen and (max-width: 1024px) {
  .h__sns {
    margin-left: 25px;
  }
}
@media screen and (max-width: 767px) {
  .h__sns {
    display: none;
  }
}
.h__sns li {
  width: 30px;
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
  .h__sns li {
    margin-left: 0;
    margin: 0 10px;
  }
}
.h__sns li:first-of-type {
  margin-left: 0;
}
.h__sns li a {
  display: block;
}

.menu-shop {
  width: 60px;
  position: absolute;
  top: 0;
  right: 60px;
}

.h-space {
  height: 110px;
}
@media screen and (max-width: 767px) {
  .h-space {
    height: 60px;
  }
}

/**
 * #Footer
 */
.footer {
  position: relative;
}

.sec-information {
  padding-top: 80px;
  background: url("img/bg_information.png") no-repeat bottom 190px center/100% 890px;
}
@media screen and (max-width: 640px) {
  .sec-information {
    background: url("img/bg_information_sp.png") no-repeat bottom 274px center/100% 785px;
    padding-top: 53px;
  }
}

@media screen and (max-width: 767px) {
  .information {
    padding: 0 15px;
  }
}
.information__img {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .information__img {
    padding: 0 5px;
    margin-bottom: 25px;
  }
}
.information__flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 50px;
  padding: 0 40px;
}
@media screen and (max-width: 767px) {
  .information__flex {
    max-width: 440px;
    margin: 0 auto;
    padding: 0 0 35px;
    -webkit-align-items: center;
    align-items: center;
  }
}
.information__calendar {
  width: 410px;
}
@media screen and (max-width: 767px) {
  .information__calendar {
    width: 100%;
    order: 2;
    padding: 0;
  }
}
.information__calendar .txt-calendar {
  text-align: center;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 15px;
}
.information__content {
  width: 50%;
  font-size: 17px;
  color: #fff;
  padding: 0 0 0 40px;
  line-height: 1.7;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  .information__content {
    width: auto;
    margin: 0 auto 15px;
    padding: 0;
    font-size: 15px;
    line-height: 1.85;
    order: 1;
  }
}
.information__content p {
  margin-bottom: 14px;
}
.information__content .tel-box {
  font-size: 20px;
  line-height: 1.5;
}
.information__content .tel-number {
  font-weight: 600;
  font-size: 26px;
  line-height: 1;
  margin-left: 7px;
  letter-spacing: 2.2px;
  color: #fff;
}
.information__content .mail-box {
  font-size: 15px;
}
.information__content .mail-box a {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .information__content .mail-box {
    font-size: 14px;
  }
}

.map-block {
  position: relative;
}
.map-block iframe {
  width: 100%;
  height: 350px;
}
@media screen and (max-width: 767px) {
  .map-block iframe {
    height: 280px;
  }
}

.f-follow {
  margin-bottom: 62px;
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .f-follow {
    margin-bottom: 55px;
    padding-top: 44px;
  }
}
.f-follow__ttl {
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .f-follow__ttl {
    margin-bottom: 33px;
  }
}
.f-follow__ttl span {
  font-size: 26px;
  display: inline-block;
  padding: 0 52px 4px;
  position: relative;
  line-height: 1.4;
  letter-spacing: 5px;
}
@media screen and (max-width: 767px) {
  .f-follow__ttl span {
    font-size: 18px;
    padding: 0 24px;
    letter-spacing: 3.5px;
  }
}
.f-follow__ttl span::before {
  content: "";
  width: 11px;
  height: 30px;
  display: inline-block;
  position: absolute;
  background: url("img/follow_before.png") no-repeat center/contain;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .f-follow__ttl span::before {
    background-image: url("img/follow_before_sp.png");
    width: 7px;
    height: 17px;
  }
}
.f-follow__ttl span::after {
  content: "";
  width: 11px;
  height: 30px;
  display: inline-block;
  position: absolute;
  background: url("img/follow_after.png") no-repeat center/contain;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .f-follow__ttl span::after {
    background-image: url("img/follow_after_sp.png");
    width: 7px;
    height: 17px;
  }
}
.f-follow__flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.f-follow__widget {
  width: 620px;
  height: 462px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .f-follow__widget {
    display: none;
  }
}
.f-follow__info {
  width: calc(100% - 63.26%);
  padding-left: 60px;
  padding-top: 86px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .f-follow__info {
    width: 100%;
    padding-left: 0;
    padding-top: 0;
  }
}
.f-follow__info::before {
  content: "";
  width: 50px;
  height: 43px;
  display: inline-block;
  position: absolute;
  background: url("img/icon_follow.png") no-repeat center/cover;
  top: 25px;
  left: 48px;
}
@media screen and (max-width: 767px) {
  .f-follow__info::before {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .f-follow__info .list-sns {
    max-width: 300px;
    width: 100%;
    margin: 0 auto;
  }
}
.f-follow__info .list-sns li {
  margin-bottom: 22px;
}
.f-follow__info .list-sns li:last-of-type {
  margin-bottom: 0;
}
.f-follow__info .list-sns li a {
  background: #8E5E45;
  border: 1px solid #FFF;
  border-radius: 5px;
  width: 300px;
  height: 60px;
  padding: 15px 40px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 374px) {
  .f-follow__info .list-sns li a {
    padding: 15px 20px;
  }
}
.f-follow__info .list-sns li a::after {
  content: "";
  width: 16px;
  height: 13px;
  display: inline-block;
  position: absolute;
  background: url("img/arrow_right_1.png") no-repeat center/cover;
  top: calc(50% - 6.5px);
  right: 37px;
}
@media screen and (max-width: 374px) {
  .f-follow__info .list-sns li a::after {
    right: 20px;
  }
}
.f-follow__info .list-sns li a span {
  color: #fff;
  line-height: 1.0;
}
.f-follow__info .list-sns li a span:first-of-type {
  width: 30px;
}
.f-follow__info .list-sns li a span:last-of-type {
  width: calc(100% - 30px);
  font-size: 20px;
  font-family: "obvia", sans-serif;
  padding-left: 20px;
  letter-spacing: 4.5px;
}
.f-follow__txt {
  position: relative;
  margin-bottom: 30px;
  font-weight: 500;
  letter-spacing: 1.5px;
}
@media screen and (max-width: 767px) {
  .f-follow__txt {
    text-align: center;
    margin-bottom: 23px;
  }
}

.f-copyright {
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .f-copyright {
    padding-bottom: 20px;
  }
}
.f-copyright__text {
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  .f-copyright__text {
    font-size: 10px;
    letter-spacing: 0.5px;
    line-height: 2;
  }
}

.pagetop {
  width: 40px;
  position: fixed;
  bottom: 40px;
  right: 30px;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .pagetop {
    display: none;
  }
}

.l-col-2 {
  display: -webkit-flex;
  display: flex;
}
@media screen and (max-width: 767px) {
  .l-col-2 {
    width: 100%;
    padding: 0;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.l-col-2__left {
  width: 620px;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .l-col-2__left {
    width: 100%;
  }
}
.l-col-2__right {
  width: 280px;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .l-col-2__right {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }
}

/* ==========================================================================
   Object
   ========================================================================== */
/* Component
   ----------------------------------------------------------------- */
.c-frame {
  width: 980px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .c-frame {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }
}

.c-fc--white {
  color: #fff !important;
}
.c-fc--black {
  color: #000 !important;
}
.c-fc--blue {
  color: #69ADB4 !important;
}
.c-fc--brown {
  color: #8E5E45 !important;
}

.c-fw--lt {
  font-weight: 300 !important;
}
.c-fw--rg {
  font-weight: 400 !important;
}
.c-fw--md {
  font-weight: 500 !important;
}
.c-fw--sbd {
  font-weight: 600 !important;
}
.c-fw--bd {
  font-weight: 700 !important;
}
.c-fw--bk {
  font-weight: 900 !important;
}

.c-tx--v {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media screen and (min-width: 835px) {
  .c-tx--v-pc {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
}

.c-al--c {
  text-align: center !important;
}
.c-al--r {
  text-align: right !important;
}
.c-al--l {
  text-align: left;
}

.c-val--md {
  vertical-align: middle;
}
.c-val--top {
  vertical-align: top;
}

.c-scroll-box {
  padding-bottom: 20px;
  overflow-x: scroll;
  overflow-y: hidden;
}
.c-scroll-box-y {
  padding-bottom: 20px;
  overflow-x: hidden;
  overflow-y: scroll;
}
@media screen and (max-width: 767px) {
  .c-scroll-box-pc {
    padding-bottom: 20px;
    overflow-x: scroll;
    overflow-y: hidden;
  }
}

.c-pull--left {
  margin-left: calc(((100vw - 100%) / 2) * -1);
}
.c-pull--right {
  margin-right: calc(((100vw - 100%) / 2) * -1);
}

.c-txt__basic {
  font-size: 15px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .c-txt__basic {
    font-size: 14px;
    line-height: 1.86;
  }
}

.c-text--1 {
  color: #69ADB4;
}

.c-marker--1 {
  padding: 0.3em 0.4em;
  background-color: #69ADB4;
  color: #FFF;
}

.c-ribbon__text {
  position: relative;
  z-index: 1;
}
.c-ribbon--1 {
  text-align: center;
  position: relative;
}
.c-ribbon--1::before {
  content: "";
  background: #FFF;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  clip-path: polygon(0 0, 100% 0, calc(100% - 7px) 50%, 100% 100%, 0 100%, 7px 50%);
}
.c-ribbon--2 {
  height: 44px;
  color: #FFF;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.18em;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-ribbon--2 {
    font-size: 16px;
  }
}
.c-ribbon--2::before {
  content: "";
  background: #8E5E45;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  clip-path: polygon(0 0, 100% 0, calc(100% - 5px) 50%, 100% 100%, 0 100%, 5px 50%);
}

.c-title__1 {
  text-align: center;
  margin-bottom: 34px;
}
@media screen and (max-width: 767px) {
  .c-title__1 {
    margin-bottom: 25px;
  }
}
.c-title__1 .jp {
  display: inline-block;
  padding: 3px 15px;
  background: #fff;
  border: 1px solid #8E5E45;
  border-radius: 3px;
  color: #8E5E45;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.22em;
  position: relative;
  margin-bottom: 19px;
}
.c-title__1 .jp::after {
  content: "";
  width: 13px;
  height: 10px;
  display: inline-block;
  position: absolute;
  background: url("img/fukidashi_1.png") no-repeat center/cover;
  margin: auto;
  bottom: -10px;
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .c-title__1 .jp::after {
    width: 10px;
    height: 7px;
    bottom: -7px;
  }
}
@media screen and (max-width: 767px) {
  .c-title__1 .jp {
    padding: 4px 10px;
    font-size: 10px;
    letter-spacing: 0.1em;
  }
}
.c-title__1 .en {
  display: block;
  font-size: 45px;
  font-weight: 600;
  letter-spacing: 0.2em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-title__1 .en {
    font-size: 30px;
    letter-spacing: 5.5px;
  }
}
.c-title__1.-type2 .jp {
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .c-title__1.-type2 .jp {
    margin-bottom: 20px;
  }
}
.c-title__1.-type2 .en {
  font-size: 35px;
}
@media screen and (max-width: 767px) {
  .c-title__1.-type2 .en {
    font-size: 25px;
  }
}
.c-title__1.-wht .en {
  color: #fff;
}
.c-title__1--white .jp {
  border: none;
}
.c-title__1--white .jp::after {
  content: "";
  width: 12px;
  height: 9px;
  display: inline-block;
  position: absolute;
  background: url("img/fukidashi_2.png") no-repeat center/cover;
  margin: auto;
  bottom: -9px;
  left: 0;
  right: 0;
}
.c-title__1--white span {
  color: #fff;
}
.c-title__1--blob {
  padding-top: 60px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-title__1--blob {
    padding-top: 0;
  }
}
.c-title__1--blob::before {
  content: "";
  width: 21px;
  height: 30px;
  display: inline-block;
  position: absolute;
  background: url("img/icon_blob.gif") no-repeat center/cover;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .c-title__1--blob::before {
    display: none;
  }
}
.c-title__1--togo {
  position: relative;
  padding-top: 70px;
}
@media screen and (max-width: 767px) {
  .c-title__1--togo {
    padding-top: 55px;
  }
}
.c-title__1--togo::before {
  content: "";
  width: 40px;
  height: 46px;
  display: inline-block;
  position: absolute;
  background: url("img/icon_goto.png") no-repeat center/cover;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .c-title__1--togo::before {
    width: 30px;
    height: 35px;
  }
}
.c-title__1--shop {
  position: relative;
  padding-top: 70px;
}
@media screen and (max-width: 767px) {
  .c-title__1--shop {
    padding-top: 54px;
  }
}
.c-title__1--shop::before {
  content: "";
  width: 52px;
  height: 46px;
  display: inline-block;
  position: absolute;
  background: url("img/icon_cafe.png") no-repeat center/cover;
  top: 0;
  left: calc(50% - 26px);
}
@media screen and (max-width: 767px) {
  .c-title__1--shop::before {
    width: 40px;
    height: 35px;
    left: calc(50% - 19px);
  }
}
.c-title__1--labo {
  padding-top: 57px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-title__1--labo {
    padding-top: 50px;
  }
}
.c-title__1--labo::before {
  content: "";
  width: 40px;
  height: 50px;
  display: inline-block;
  position: absolute;
  background: url("img/icon_labo.png") no-repeat center/cover;
  top: -23px;
  left: calc(50% - 20px);
}
@media screen and (max-width: 767px) {
  .c-title__1--labo::before {
    width: 32px;
    height: 40px;
    top: -5px;
    left: calc(50% - 16px);
  }
}
@media screen and (max-width: 767px) {
  .c-title__1--labo small {
    padding: 3px 6px;
  }
}
.c-title__2 {
  text-align: center;
  margin-bottom: 34px;
}
@media screen and (max-width: 767px) {
  .c-title__2 {
    margin-bottom: 25px;
  }
}
.c-title__2 .en {
  display: block;
  font-size: 35px;
  font-weight: 600;
  letter-spacing: 0.2em;
  line-height: 1.0;
}
@media screen and (max-width: 767px) {
  .c-title__2 .en {
    font-size: 30px;
    letter-spacing: 5.5px;
  }
}
.c-title__2 .jp {
  margin-top: 10px;
  color: #8E5E45;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.22em;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .c-title__2 .jp {
    padding: 4px 10px;
    font-size: 16px;
    letter-spacing: 0.1em;
  }
}
.c-title__2.-type2 .jp {
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .c-title__2.-type2 .jp {
    margin-bottom: 20px;
  }
}
.c-title__2.-type2 .en {
  font-size: 35px;
}
@media screen and (max-width: 767px) {
  .c-title__2.-type2 .en {
    font-size: 25px;
  }
}
.c-title__2.-wht .en {
  color: #FFF;
}
.c-title__2.-wht .jp {
  color: #FFF;
}
.c-title__2.-blu .en {
  color: #69ADB4;
}
.c-title__2.-blu .jp {
  color: #69ADB4;
}
.c-btn {
  width: 210px;
  height: 40px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  background: #69ADB4;
  font-size: 16px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-btn {
    max-width: 140px;
    height: 40px;
  }
}
.c-btn__1 {
  background: #8E5E45;
  border-radius: 55px;
  width: 100%;
  max-width: 360px;
  height: 55px;
  margin: 0 auto;
  padding: 0 27px;
  font-weight: bold;
  letter-spacing: 2px;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.c-btn__1::after {
  content: "";
  width: 15px;
  height: 12px;
  display: inline-block;
  position: absolute;
  background: url("img/arrow_right_2.png") no-repeat center/cover;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 24px;
}
@media screen and (max-width: 767px) {
  .c-btn__1::after {
    right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c-btn__1 {
    font-size: 14px;
    max-width: 300px;
    height: 50px;
    letter-spacing: 1.5px;
  }
}
.c-btn__1 img {
  margin-right: 15px;
}
@media screen and (max-width: 767px) {
  .c-btn__1 img {
    width: 20px;
    margin-right: 7px;
  }
}
.c-btn__1--outline {
  max-width: 320px;
  margin-left: auto;
  margin-right: 0;
  background: transparent;
  border: 2px solid #fff;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-btn__1--outline {
    max-width: 260px;
    height: 52px;
    left: -15px;
  }
}
.c-btn__1--outline span {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .c-btn__1--outline span {
    font-size: 14px;
  }
}
.c-btn__2 {
  background: transparent;
  border: 2px solid #8E5E45;
  border-radius: 55px;
  width: 100%;
  max-width: 100%;
  height: 55px;
  margin: 0 auto;
  padding: 0 27px;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.12em;
  line-height: 51px;
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .c-btn__2 {
    font-size: 14px;
    height: 50px;
    letter-spacing: 1.5px;
  }
}
.c-btn__2::after {
  content: "";
  width: 17px;
  height: 13px;
  display: inline-block;
  position: absolute;
  background: url("img/icon_arrow_2.png") no-repeat center/contain;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 24px;
}
@media screen and (max-width: 767px) {
  .c-btn__2::after {
    right: 15px;
  }
}
.c-btn__2 img {
  margin-right: 15px;
}
@media screen and (max-width: 767px) {
  .c-btn__2 img {
    width: 20px;
    margin-right: 7px;
  }
}
.c-btn__2.-blue {
  background: #69ADB4;
  border-color: #FFF;
  width: 400px;
  height: 68px;
  color: #FFF;
  -webkit-justify-content: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-btn__2.-blue {
    height: 50px;
  }
}
.c-btn__2.-blue::after {
  background-image: url("img/icon_arrow_3.png");
  width: 20px;
  height: 16px;
}
@media screen and (max-width: 767px) {
  .c-btn__2.-blue::after {
    width: 16px;
    height: 12px;
  }
}
.c-btn__map {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  letter-spacing: 3px;
  font-weight: 400;
}

.c-openbox.is-open .c-openbox__head::after {
  -moz-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  -webkit-transform: scale(1, -1);
  transform: scale(1, -1);
}
.c-openbox.is-open .box__a {
  height: auto;
}
.c-openbox__head {
  cursor: pointer;
}
.c-openbox__head::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  transition: 0.3s;
}
.c-openbox__content {
  display: none;
}

.txt-vertical-line {
  height: 100%;
  position: absolute;
  right: 26px;
  bottom: 50px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  z-index: 2;
}
@media screen and (max-width: 1245px) {
  .txt-vertical-line {
    right: 15px;
  }
}
@media screen and (max-width: 767px) {
  .txt-vertical-line {
    right: 6px;
    bottom: 45px;
  }
}
.txt-vertical-line::before {
  content: "";
  width: 1px;
  height: 92%;
  display: inline-block;
  position: absolute;
  background: #6B462C;
  bottom: 0;
  left: 5px;
}
@media screen and (max-width: 767px) {
  .txt-vertical-line::before {
    width: 1px;
    height: 91%;
    left: 1px;
  }
}
.txt-vertical-line span {
  font-family: "Copse", serif;
  color: #6B462C;
  font-size: 15px;
  writing-mode: tb-rl;
  width: 17px;
  letter-spacing: 3px;
  background: #8e5e45;
  position: relative;
  z-index: 2;
  padding-top: 28px;
}
@media screen and (max-width: 767px) {
  .txt-vertical-line span {
    font-size: 10px;
    width: 11px;
    letter-spacing: 2px;
    padding-top: 14px;
  }
}
@media screen and (max-width: 767px) {
  .txt-vertical-line--news {
    bottom: 44px;
  }
}
.txt-vertical-line--news::before {
  background: #8E5E45;
  height: calc(100% - 138px);
  bottom: 154px;
}
@media screen and (max-width: 767px) {
  .txt-vertical-line--news::before {
    height: 217px;
    bottom: 105px;
  }
}
.txt-vertical-line--news span {
  color: #D8C4B9;
  padding-top: 20px;
  background: none;
}
@media screen and (max-width: 767px) {
  .txt-vertical-line--online-shop {
    bottom: 26px;
  }
}
.txt-vertical-line--online-shop::before {
  background: rgba(142, 94, 69, 0.45);
}
.txt-vertical-line--online-shop span {
  color: rgba(142, 94, 69, 0.45);
  background: #e7d9d1;
}
.txt-vertical-line--concept::before {
  background: rgba(142, 94, 69, 0.6);
}
.txt-vertical-line--concept span {
  color: rgba(142, 94, 69, 0.6);
  background: #e6d2c1;
}
.txt-vertical-line--togo::before {
  background: rgba(142, 94, 69, 0.74);
}
.txt-vertical-line--togo span {
  color: rgba(142, 94, 69, 0.74);
  background: #d8b9a2;
}
.txt-vertical-line--shop::before {
  background: rgba(142, 94, 69, 0.74);
}
.txt-vertical-line--shop span {
  color: rgba(142, 94, 69, 0.85);
  background: #B69582;
}
.txt-vertical-line--labo::before {
  background: #8E5E45;
}
.txt-vertical-line--labo span {
  color: #8E5E45;
  background: #a6806b;
}
.txt-vertical-line--blog::before {
  background: #3d2e2e;
}
.txt-vertical-line--blog span {
  color: #3d2e2e;
  background: #635046;
}

.c__list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -23px;
}
@media screen and (max-width: 1024px) {
  .c__list {
    margin: 0 -15px;
  }
}
@media screen and (max-width: 767px) {
  .c__list {
    margin: 0 -10px -20px -10px;
  }
}
@media screen and (max-width: 767px) {
  .c__list--slider {
    margin: 0 -10px;
    padding: 0 20px;
  }
  .c__list--slider::after {
    content: "";
    width: 57px;
    height: 57px;
    display: inline-block;
    position: absolute;
    background: url("img/pickup.svg") no-repeat center/cover;
    top: 7px;
    right: 21px;
    transform: translate(50%, -50%);
  }
}
@media screen and (max-width: 640px) {
  .c__list--slider {
    margin: 0;
  }
}
@media screen and (max-width: 640px) {
  .c__list--slider .c__item {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .c__list--slider .c__date {
    margin-bottom: 9px;
  }
}
@media screen and (max-width: 767px) {
  .c__list--slider .c__desc {
    font-size: 14px;
    line-height: 1.825;
  }
}
.c__list--slider .slick-arrow {
  width: 11px;
  height: 33px;
  opacity: 1;
  top: 29% !important;
}
@media screen and (min-width: 835px) {
  .c__list--slider .slick-arrow {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .c__list--slider .slick-arrow {
    width: 9px;
    height: 31px;
  }
}
.c__list--slider .slick-arrow::before {
  content: '';
  width: 11px;
  height: 33px;
}
@media screen and (max-width: 767px) {
  .c__list--slider .slick-arrow::before {
    width: 9px;
    height: 31px;
  }
}
.c__list--slider .slick-arrow.slick-prev {
  background: url("img/prev.png") no-repeat center/cover;
  left: -9px;
}
.c__list--slider .slick-arrow.slick-next {
  background: url("img/next.png") no-repeat center/cover;
  right: -9px;
}
.c__item {
  width: 25%;
  padding: 0 23px;
}
@media screen and (max-width: 1024px) {
  .c__item {
    padding: 0 15px;
  }
}
@media screen and (max-width: 767px) {
  .c__item {
    width: 50%;
    padding: 0 10px;
    margin-bottom: 15px;
  }
}
.c__item a {
  display: block;
}
.c__img {
  position: relative;
  margin-bottom: 16px;
  display: block;
}
.c__img::before {
  content: '';
  float: left;
  padding-top: 66.66667%;
}
.c__img::after {
  content: '';
  display: table;
  clear: both;
}
.c__img > :first-child {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c__img {
    margin-bottom: 20px;
  }
}
.c__img img {
  object-fit: cover;
  font-family: 'object-fit: cover';
}
.c__img--pickup {
  margin-bottom: 16px;
  position: relative;
  display: block;
}
.c__img--pickup::after {
  content: "";
  width: 55px;
  height: 55px;
  display: inline-block;
  position: absolute;
  background: url("img/icon_pickup.svg") no-repeat center/cover;
  top: 11px;
  right: 14px;
  transform: translate(50%, -50%);
}
@media screen and (max-width: 767px) {
  .c__img--pickup::after {
    display: none;
  }
}
.c__img--pickup .thumb {
  position: relative;
  display: block;
}
.c__img--pickup .thumb::before {
  content: '';
  float: left;
  padding-top: 66.66667%;
}
.c__img--pickup .thumb::after {
  content: '';
  display: table;
  clear: both;
}
.c__img--pickup .thumb > :first-child {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.c__img--pickup .thumb img {
  object-fit: cover;
  font-family: 'object-fit: cover';
}
.c__date {
  font-size: 12px;
  font-weight: 400;
  display: block;
  margin-bottom: 10px;
  color: #fff;
  letter-spacing: 2.5px;
}
@media screen and (max-width: 767px) {
  .c__date {
    margin-bottom: 6px;
  }
}
.c__desc {
  font-weight: bold;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c__desc {
    height: 45px;
    font-size: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
  }
}

.c-list--1 {
  padding: 0 0 0 10px;
}
.c-list--1 li {
  margin: 4px 0 0;
  padding: 0 0 0 30px;
  line-height: 1.8;
  position: relative;
}
.c-list--1 li::before {
  content: "";
  background-image: url("img/icon_check_1.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 20px;
  height: 15px;
  margin: auto;
  position: absolute;
  top: 0.4em;
  left: 0;
}

/* Project
   ----------------------------------------------------------------- */
.admin-bar #wpadminbar {
  position: fixed;
}
.admin-bar .header {
  top: 32px;
}
.admin-bar .sp-menu .sp-menu__wrap {
  top: 32px;
}
.admin-bar .sp-menu__btn {
  top: calc(32px);
}
@media screen and (max-width: 782px) {
  .admin-bar #wpadminbar {
    position: fixed;
  }
  .admin-bar .header {
    top: 46px;
  }
  .admin-bar .sp-menu .sp-menu__wrap {
    top: 46px;
  }
  .admin-bar .sp-menu__btn {
    top: calc(46px);
  }
}

.sp-menu__wrap, .sp-menu__btn {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-menu__btn {
    width: 60px;
    height: 60px;
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 2010;
    cursor: pointer;
    pointer-events: auto;
  }
  .sp-menu__btn-open {
    display: block;
  }
  .sp-menu__btn-close {
    display: none;
  }
  .sp-menu__btn-box.-close .sp-menu__btn-open {
    display: none;
  }
  .sp-menu__btn-box.-close .sp-menu__btn-close {
    display: block;
  }
  .sp-menu__overlay {
    background-color: #8E5E45;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2000;
    display: none;
  }
  .sp-menu__wrap {
    width: 100%;
    height: 100%;
    padding: 0 40px 50px;
    margin: 0;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2010;
    overflow-y: auto;
    -webkit-overflow-scroling: touch;
    display: none;
  }
  .sp-menu__logo {
    margin: 35px auto 25px;
  }
  .sp-menu__logo .logo {
    width: 160px;
    margin: 0 auto 36px;
    text-align: center;
  }
  .sp-menu__nav {
    width: 100%;
    margin: 20px auto 0;
    position: relative;
  }
  .sp-menu__nav .nav-list {
    margin: 0 auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .sp-menu__nav .nav-list > .item {
    margin: 0 15px;
    position: relative;
  }
  .sp-menu__nav .nav-list > .item > a {
    padding: 50px 10px 0;
    width: 45px;
    min-width: 45px;
    line-height: 1.0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
    position: relative;
  }
  .sp-menu__nav .nav-list > .item > a::before {
    content: "";
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
  }
  .sp-menu__nav .nav-list > .item > a .en,
  .sp-menu__nav .nav-list > .item > a .jp {
    color: #fff;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: block;
  }
  .sp-menu__nav .nav-list > .item > a .en {
    margin-left: 8px;
    font-size: 18px;
    letter-spacing: 2px;
  }
  .sp-menu__nav .nav-list > .item > a .jp {
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 1px;
  }
  .sp-menu__nav .nav-list > .item.-about a::before {
    background-image: url("img/icon_about_wht.svg");
    width: 22px;
    height: 30px;
  }
  .sp-menu__nav .nav-list > .item.-labo a::before {
    background-image: url("img/icon_labo_wht.svg");
    width: 25px;
    height: 31px;
  }
  .sp-menu__nav .nav-list > .item.-blog a::before {
    background-image: url("img/icon_blog_wht.svg");
    width: 24px;
    height: 24px;
    top: 4px;
  }
  .sp-menu .link-faq {
    width: 200px;
    max-width: 100%;
    margin: 25px auto 0;
    text-align: center;
    display: block;
  }
  .sp-menu__sns {
    margin: 20px auto 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
  }
  .sp-menu__sns li {
    min-width: 30px;
    margin: 0 10px;
  }
  .sp-menu__sns li:last-child {
    margin-right: 0;
  }
  .sp-menu .link-shop {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #69ADB4;
    text-align: center;
    padding: 10px 0;
  }
  .sp-menu .link-shop span {
    display: block;
    color: #fff;
  }
  .sp-menu .link-shop span.label {
    display: inline-block;
    position: relative;
  }
  .sp-menu .link-shop span.label::after {
    content: "";
    width: 12px;
    height: 10px;
    display: inline-block;
    position: absolute;
    background: url("img/arrow_right_2.png") no-repeat center/contain;
    margin: auto;
    top: 0;
    bottom: 0;
    right: -53px;
  }
  .sp-menu .link-shop span.icon {
    width: 30px;
    margin: 0 auto 8px;
  }
  .sp-menu .link-shop span.en {
    font-size: 20px;
    line-height: 1;
    margin-bottom: 5px;
    letter-spacing: 3px;
  }
  .sp-menu .link-shop span.jp {
    font-size: 10px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 1px;
  }
}

.p-mv {
  height: 210px;
  padding: 0;
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-mv {
    height: 120px;
  }
}

.p-page-title {
  margin: auto;
  color: #8E5E45;
  font-weight: bold;
  text-align: center;
  line-height: 1.0;
  position: relative;
}
.p-page-title .en {
  font-family: obvia,sans-serif;
  font-weight: 600;
  font-size: 60px;
  line-height: 1.0;
  letter-spacing: 0.2em;
}
.p-page-title .jp {
  margin: 15px auto 0;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.0;
  letter-spacing: 0.22em;
}
@media screen and (max-width: 767px) {
  .p-page-title .en {
    font-size: 28px;
  }
  .p-page-title .jp {
    margin-top: 10px;
    font-size: 15px;
  }
}
.p-page-title .label {
  margin: 20px 0 0;
  padding: 0 0 25px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.0;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 767px) {
  .p-page-title .label {
    margin-top: 14px;
    padding-bottom: 20px;
    font-size: 16px;
    letter-spacing: 0.2em;
  }
}

.fix-right {
  width: 175px;
  position: fixed;
  top: 150px;
  right: 0;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .fix-right {
    display: none;
  }
}
.fix-right .item {
  margin-bottom: 30px;
}
.fix-right .item:last-of-type {
  margin-bottom: 0;
}
.fix-right .item a {
  display: block;
}

.bg--1 {
  position: relative;
}
@media screen and (max-width: 767px) {
  .bg--1 {
    padding: 50px 0 150px;
  }
}
.bg--1::after {
  content: "";
  background-image: url("img/bg_1.png");
  background-position: center bottom;
  background-repeat: repeat-x;
  background-size: contain;
  height: 51px;
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .bg--1::after {
    background-image: url("img/bg_2.png");
    height: 72px;
  }
}

.p-comingsoon {
  padding: 200px 0;
}
.p-comingsoon__text {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-comingsoon {
    padding: 100px 0;
  }
  .p-comingsoon__text {
    font-size: 22px;
  }
}

.p-editor {
  font-size: 15px;
  text-align: justify;
  line-height: 2.0;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-editor {
    font-size: 14px;
  }
}
.p-editor img {
  max-width: 100%;
  height: auto;
  display: block;
}
.p-editor img.aligncenter {
  display: block;
  margin: 0 auto;
}
.p-editor img.alignleft {
  float: left;
  display: inline;
}
.p-editor img.alignright {
  float: right;
  display: inline;
}
.p-editor img:not(:first-child) {
  margin-top: 40px;
}
.p-editor a {
  color: #69ADB4;
  font-weight: bold;
  text-decoration: underline;
  display: inline;
  position: relative;
}
.p-editor a:hover {
  text-decoration: none;
}
.p-editor p {
  margin-bottom: 30px;
  overflow: hidden;
}
.p-editor p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-editor p {
    margin-bottom: 30px;
  }
}
.p-editor blockquote {
  border: 1px dotted #CCC;
  padding: 15px 20px;
  margin-bottom: 35px;
}
.p-editor ul,
.p-editor ol {
  display: block;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  -webkit-padding-start: 40px;
}
.p-editor ul li,
.p-editor ol li {
  display: list-item;
  text-align: -webkit-match-parent;
}
.p-editor ul {
  list-style-type: disc;
}
.p-editor ol {
  list-style-type: decimal;
}
.p-editor table {
  border: 1px solid #8B5D45;
  margin: 35px 0;
}
.p-editor table th,
.p-editor table td {
  border: 1px solid #8B5D45;
  padding: 8px 12px;
  line-height: 1.8;
}
.p-editor h2 span,
.p-editor h3 span,
.p-editor h4 span,
.p-editor h5 span,
.p-editor h6 span {
  margin-top: -120px;
  padding-top: 120px;
  pointer-events: none;
}
.p-editor h2,
.p-editor .heading-1 {
  border-top: 2px solid #8B5D45;
  border-bottom: 2px solid #8B5D45;
  padding: 15px 0;
  margin: 30px 0;
  color: #8B5D45;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.1em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-editor h2,
  .p-editor .heading-1 {
    margin: 30px 0 25px;
    font-size: 18px;
  }
}
.p-editor h3,
.p-editor .heading-2 {
  background-color: #8E5E45;
  margin: 30px 0;
  padding: 10px 20px;
  color: #FFF;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.1em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-editor h3,
  .p-editor .heading-2 {
    margin: 30px 0 25px;
    font-size: 16px;
  }
}
.p-editor h4,
.p-editor .heading-3 {
  margin: 30px 0;
  padding: 0 0 0 28px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.1em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-editor h4,
  .p-editor .heading-3 {
    margin: 30px 0 25px;
    font-size: 16px;
  }
}
.p-editor h4::before,
.p-editor .heading-3::before {
  content: "";
  background-image: url("img/icon_beans_1.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 17px;
  height: 20px;
  margin: auto;
  position: absolute;
  top: 0.3em;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-editor h4::before,
  .p-editor .heading-3::before {
    top: 0.5em;
  }
}
.p-editor .fukidashi-1 {
  border: none;
  margin: 30px 0;
  padding: 25px 0;
  color: #8B5D45;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.1em;
  position: relative;
}
.p-editor .fukidashi-1::before, .p-editor .fukidashi-1::after {
  content: "";
  border-top: 2px solid #8B5D45;
  width: 40px;
  height: 0;
  position: absolute;
  left: 0;
}
.p-editor .fukidashi-1::before {
  top: 8px;
  -moz-transform: rotate(-18deg);
  -ms-transform: rotate(-18deg);
  -webkit-transform: rotate(-18deg);
  transform: rotate(-18deg);
}
.p-editor .fukidashi-1::after {
  bottom: 8px;
  -moz-transform: rotate(18deg);
  -ms-transform: rotate(18deg);
  -webkit-transform: rotate(18deg);
  transform: rotate(18deg);
}
@media screen and (max-width: 767px) {
  .p-editor .fukidashi-1 {
    font-size: 17px;
  }
}
.p-editor .underline {
  border-bottom: 3px solid #69ADB4;
  padding-bottom: 2px;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-editor .underline {
    font-size: 17px;
  }
}

.p-mv-i {
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .p-mv-i {
    padding: 0;
  }
}
.p-mv-i__inner {
  position: relative;
}
.p-mv-i__inner::after {
  content: "";
  background: url("img/slider_after.png") no-repeat center bottom/contain;
  width: calc(100% + 2px);
  height: 200px;
  position: absolute;
  bottom: -1px;
  left: -1px;
  right: -1px;
  z-index: 1;
  display: inline-block;
}
.p-mv-i__ttl {
  width: 61.48%;
  max-width: 788px;
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .p-mv-i__ttl {
    width: 334px;
    bottom: 35px;
  }
}
.p-mv-i__label {
  position: absolute;
  left: 65px;
  bottom: 133px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-mv-i__label {
    bottom: auto;
    top: 30px;
    left: auto;
    right: 21px;
  }
}
.p-mv-i__label span {
  overflow: hidden;
  width: 46px;
  margin-right: 22px;
  position: relative;
  transform: scale(1, 0);
  transition: transform .8s 1.3s;
  transform-origin: right top;
}
@media screen and (max-width: 767px) {
  .p-mv-i__label span {
    width: 28px;
    margin-left: 12px;
    margin-right: 0;
  }
}
.p-mv-i__label span::after {
  content: "";
  background: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
}
.p-mv-i__label span:last-of-type {
  margin-right: 0;
  transition: transform .8s .8s;
}
.p-mv-i__label span img {
  opacity: 0;
}

.is-loaded .p-mv-i__label span {
  transform-origin: left top;
  transform: scale(1, 1);
}
.is-loaded .p-mv-i__label span::after {
  transition: transform .8s linear 1.7s;
  transform: translateY(100%);
}
.is-loaded .p-mv-i__label span:nth-child(2)::after {
  transition: transform .8s linear 1.2s;
  transform: translateY(100%);
}
.is-loaded .p-mv-i__label span img {
  opacity: 1;
  transition: opacity 0s 1.2s;
}

.mv__slider {
  margin: 0;
  overflow: hidden;
  position: relative;
}
.mv__slider .slider-item {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 750px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .mv__slider .slider-item {
    height: 445px;
  }
}
.mv__slider .slider-item.moving .item__img {
  -moz-transform: scale(1.2, 1.2);
  -ms-transform: scale(1.2, 1.2);
  -webkit-transform: scale(1.2, 1.2);
  transform: scale(1.2, 1.2);
  transition: linear 10s;
}
.mv__slider .item__img {
  background-color: #FFF;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -moz-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  transition: 0s;
}

.box-steps {
  display: none;
}

.sec-news {
  padding: 29px 0 63px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .sec-news {
    padding: 15px 0 50px;
  }
}
.sec-news::after {
  content: "";
  width: 265px;
  height: 468px;
  display: inline-block;
  position: absolute;
  background: url("img/news_after.png") no-repeat center/cover;
  right: 0;
  bottom: 0;
  transform: translateY(56%);
}
@media screen and (max-width: 767px) {
  .sec-news::after {
    width: 90px;
    height: 206px;
    right: -7px;
  }
}
.sec-news #waveCanvas {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50px;
}

.news__intro {
  text-align: center;
  font-size: 10px;
  font-weight: 500;
  padding-top: 35px;
  margin-bottom: 40px;
  position: relative;
  letter-spacing: 1.5px;
}
@media screen and (max-width: 767px) {
  .news__intro {
    margin-bottom: 35px;
  }
}
.news__intro::before {
  content: "";
  width: 14px;
  height: 20px;
  display: inline-block;
  position: absolute;
  background: url("img/icon_blob.gif") no-repeat center/contain;
  margin: auto;
  top: 0;
  left: 0;
  right: 0;
}
.news__list {
  max-width: 760px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .news__list {
    padding-right: 10px;
  }
}
.news__list .news__item {
  display: -webkit-flex;
  display: flex;
}
.news__item {
  font-size: 15px;
  padding: 15px 6px;
  border-bottom: 1px dashed #8E5E45;
}
@media screen and (max-width: 767px) {
  .news__item {
    font-size: 14px;
    padding: 16px 0;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.news__item:last-of-type {
  border-bottom: none;
}
.news__date {
  width: 132px;
  min-width: 132px;
  line-height: 1.4;
  letter-spacing: 3px;
}
@media screen and (max-width: 767px) {
  .news__date {
    width: 100%;
    font-size: 12px;
    letter-spacing: 2px;
    margin-bottom: 8px;
  }
}
.news__txt {
  width: 100%;
  font-weight: 500;
  color: #8E5E45;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .news__txt {
    width: 100%;
    height: 20px;
    overflow: hidden;
  }
}

.sec-online-shop {
  background: rgba(142, 94, 69, 0.1);
  padding: 80px 0 60px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .sec-online-shop {
    padding-top: 54px;
  }
}

.online-shop__intro {
  margin-bottom: 37px;
  letter-spacing: 1.5px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .online-shop__intro {
    font-size: 13px;
    text-align: justify !important;
    line-height: 1.95;
    padding-right: 10px;
    letter-spacing: 1.2px;
    margin-bottom: 27px;
  }
}
.online-shop__slider-arrows {
  width: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .online-shop__slider-arrows {
    width: calc(100% - 20px);
  }
}
.online-shop__slider-arrows .arrow__space {
  width: 211px;
  margin: 0 auto;
  position: relative;
}
.online-shop__slider-arrows .arrow__space::before {
  content: '';
  float: left;
  padding-top: 100%;
}
.online-shop__slider-arrows .arrow__space::after {
  content: '';
  display: table;
  clear: both;
}
.online-shop__slider-arrows .arrow__space > :first-child {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .online-shop__slider-arrows .arrow__space {
    width: 100%;
  }
}
.online-shop__slider-wrap {
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .online-shop__slider-wrap {
    width: 70%;
  }
}
.online-shop__slider-wrap .slick-arrow {
  width: 17px;
  height: 40px;
  opacity: 1;
  pointer-events: auto;
}
.online-shop__slider-wrap .slick-arrow:hover {
  opacity: 0.7;
  -webkit-backface-visibility: hidden;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -ms-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
}
.online-shop__slider-wrap .slick-arrow::before {
  content: '';
  width: 9px;
  height: 32px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 1;
}
.online-shop__slider-wrap .slick-arrow.slick-prev {
  left: -55px;
}
.online-shop__slider-wrap .slick-arrow.slick-prev::before {
  background: url("img/prev.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .online-shop__slider-wrap .slick-arrow.slick-prev {
    left: -36px;
  }
}
.online-shop__slider-wrap .slick-arrow.slick-next {
  right: -55px;
}
.online-shop__slider-wrap .slick-arrow.slick-next::before {
  background: url("img/next.png") no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .online-shop__slider-wrap .slick-arrow.slick-next {
    right: -36px;
  }
}
.online-shop__slider {
  margin: 0 -23px 20px -23px;
}
@media screen and (max-width: 767px) {
  .online-shop__slider {
    padding: 0;
    width: 100%;
    margin: 0 auto;
  }
}
.online-shop__item {
  width: 257px;
  padding: 0 23px;
}
@media screen and (max-width: 767px) {
  .online-shop__item {
    padding: 0 10px;
  }
}
.online-shop__item a {
  display: block;
}
.online-shop__img {
  position: relative;
  margin-bottom: 13px;
}
.online-shop__img::before {
  content: '';
  float: left;
  padding-top: 100%;
}
.online-shop__img::after {
  content: '';
  display: table;
  clear: both;
}
.online-shop__img > :first-child {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.online-shop__img img {
  object-fit: cover;
  font-family: 'object-fit: cover';
}
.online-shop__desc {
  padding-bottom: 14px;
  border-bottom: 1px solid #8E5E45;
  margin-bottom: 15px;
  color: #8E5E45;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .online-shop__desc {
    letter-spacing: 2px;
    padding-bottom: 12px;
    margin-bottom: 17px;
  }
}
.online-shop__price {
  text-align: center;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 1px;
  color: #8E5E45;
}
.online-shop__price small {
  font-size: 13px;
}

.sec-concept {
  background: rgba(176, 113, 69, 0.2);
  padding: 50px 0 75px;
}
@media screen and (max-width: 767px) {
  .sec-concept {
    padding: 22px 0 67px;
  }
}
.sec-concept::before {
  content: "";
  width: 280px;
  height: 415px;
  display: inline-block;
  position: absolute;
  background: url("img/concept_before.png") no-repeat center/contain;
  top: -6%;
  left: 0;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .sec-concept::before {
    background-image: url("img/concept_before_sp.png");
    width: 85px;
    height: 153px;
    top: -1%;
  }
}
.sec-concept .c-btn__1 {
  transform: translateY(-35%);
  top: -70px;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .sec-concept .c-btn__1 {
    transform: translateY(-63%);
    top: -20px;
  }
}
.sec-concept #waveCanvas2 {
  position: absolute;
  top: -50px;
  left: 0;
  width: 100%;
  height: 50px;
  z-index: 2;
}
.sec-concept .inner {
  max-width: 850px;
  position: relative;
}
.sec-concept .inner::before {
  content: "";
  width: 96.47%;
  height: 51px;
  display: inline-block;
  position: absolute;
  background: url("img/corner.png") no-repeat center top/100%;
  top: 65px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 1245px) {
  .sec-concept .inner::before {
    display: none;
  }
}
.sec-concept .inner::after {
  content: "";
  width: 96.47%;
  height: 51px;
  display: inline-block;
  position: absolute;
  background: url("img/corner.png") no-repeat center top/100%;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%) rotate(-180deg);
}
@media screen and (max-width: 1245px) {
  .sec-concept .inner::after {
    display: none;
  }
}

.concept__features {
  max-width: 220px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .concept__features {
    max-width: 450px;
    margin: 0 auto 15px;
    padding: 0 30px;
  }
}
.concept__ribbon {
  max-width: 707px;
  width: 100%;
  margin: 0 auto 35px;
}
@media screen and (max-width: 767px) {
  .concept__ribbon {
    max-width: 450px;
    margin-bottom: 25px;
    padding: 0 15px;
  }
}
.concept__desc {
  font-size: 17px;
  font-weight: bold;
  line-height: 2.58;
  margin-bottom: 30px;
  letter-spacing: 2px;
}
@media screen and (max-width: 767px) {
  .concept__desc {
    text-align: left !important;
    font-size: 14px;
    line-height: 2.15;
    letter-spacing: 0.8px;
    margin-bottom: 25px;
  }
}
.concept__desc span {
  color: #69ADB4;
}
.concept__anchor {
  max-width: 640px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .concept__anchor {
    max-width: 500px;
  }
}
.concept__list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 0 -25px;
}
@media screen and (max-width: 767px) {
  .concept__list {
    margin: 0 -10px;
    padding: 0 10px 0 5px;
  }
}
.concept__item {
  width: 33.33%;
  padding: 0 25px;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .concept__item {
    padding: 0 10px;
  }
}
.concept__item a {
  display: block;
}

.about-cafecajon {
  width: 100%;
  position: relative;
}
.about-cafecajon .box-steps {
  width: 100px;
  position: absolute;
  z-index: 2;
  top: 50%;
  transform: translate(-100%, -50%);
  left: calc((100% - 1050px)/2);
}
@media screen and (max-width: 1280px) {
  .about-cafecajon .box-steps {
    left: 30px;
    transform: translate(0, -50%);
  }
}
@media screen and (max-width: 1245px) {
  .about-cafecajon .box-steps {
    left: 10px;
  }
}
@media screen and (max-width: 1024px) {
  .about-cafecajon .box-steps {
    display: none;
  }
}
.about-cafecajon__txt {
  width: 352px;
  position: absolute;
  top: -43px;
  right: 60px;
  z-index: 3;
}
@media screen and (max-width: 1024px) {
  .about-cafecajon__txt {
    right: 19px;
  }
}
@media screen and (max-width: 767px) {
  .about-cafecajon__txt {
    width: 155px;
  }
}

.progress__wrap {
  display: -webkit-flex;
  display: flex;
}
.progress__area {
  margin-top: -180px;
  padding-bottom: 280px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .progress__area {
    display: none;
  }
}
.progress__box {
  width: 102px;
  padding-top: 200px;
  position: absolute;
  top: 0;
  left: 30px;
  z-index: 50;
}
.progress__box.-step1 .progress__head img {
  opacity: 0;
}
.progress__box.-step1 .progress__head .-step1 {
  opacity: 1;
}
.progress__box.-step1 .progress__bar-box {
  background-color: #FFF;
}
.progress__box.-step1 .progress__bar {
  background-color: rgba(176, 113, 69, 0.4);
}
.progress__box.-step1 .progress__text {
  color: #8E5E45;
}
.progress__box.-step2 .progress__head img {
  opacity: 0;
}
.progress__box.-step2 .progress__head .-step2 {
  opacity: 1;
}
.progress__box.-step2 .progress__bar-box {
  background-color: #D3BBAF;
}
.progress__box.-step2 .progress__bar {
  background-color: rgba(142, 94, 69, 0.6);
}
.progress__box.-step2 .progress__text {
  color: #FFF;
}
.progress__box.-step3 .progress__head img {
  opacity: 0;
}
.progress__box.-step3 .progress__head .-step3 {
  opacity: 1;
}
.progress__box.-step3 .progress__bar-box {
  background-color: #D3BBAF;
}
.progress__box.-step3 .progress__bar {
  background-color: rgba(142, 94, 69, 0.75);
}
.progress__box.-step3 .progress__text {
  color: #FFF;
}
.progress__box.-active {
  position: fixed;
}
.progress__box.-bottom {
  top: auto;
  bottom: 100px;
}
.progress__head {
  width: 102px;
  height: 126px;
  position: relative;
  z-index: 51;
}
.progress__head img {
  opacity: 0;
  transition: 0.8s;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.progress__head .-step1 {
  opacity: 1;
}
.progress__text {
  margin: auto;
  color: #8E5E45;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.12em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: relative;
  z-index: 51;
}
.progress__text .label {
  margin: auto;
  text-align: center;
  display: inline-block;
}
.progress__bar-box {
  background-color: #FFF;
  width: 30px;
  height: 390px;
  margin: -5px auto 0;
  overflow: hidden;
  position: relative;
  z-index: 50;
  display: -webkit-flex;
  display: flex;
  transition: 0.3s;
}
.progress__bar {
  background-color: rgba(176, 113, 69, 0.4);
  width: 30px;
  height: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: 0.3s;
}

.sec-togo {
  background: rgba(176, 113, 69, 0.4);
  padding: 90px 0 130px;
}
.sec-togo #waveCanvas3 {
  position: absolute;
  top: -50px;
  left: 0;
  width: 100%;
  height: 50px;
  z-index: 2;
}
.sec-togo #waveCanvas4 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50px;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .sec-togo {
    padding: 43px 0 67px;
  }
}

@media screen and (max-width: 1245px) {
  .togo {
    padding-right: 45px;
  }
}
@media screen and (max-width: 767px) {
  .togo {
    padding-right: 35px;
  }
}
.togo__flex {
  background: #fff;
  display: -webkit-flex;
  display: flex;
  position: relative;
}
@media screen and (max-width: 767px) {
  .togo__flex {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .togo__flex::after {
    content: "";
    width: 95px;
    height: 95px;
    display: inline-block;
    position: absolute;
  }
}
.togo__flex::after {
  content: "";
  width: 128px;
  height: 128px;
  display: inline-block;
  position: absolute;
  background: url("img/counter.png") no-repeat center/cover;
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
}
@media screen and (max-width: 1024px) {
  .togo__flex::after {
    width: 90px;
    height: 90px;
    top: 5px;
    right: 29px;
  }
}
.togo__info {
  width: calc(100% - 420px);
  background: #fff;
  padding: 66px 50px 47px;
}
@media screen and (max-width: 1024px) {
  .togo__info {
    padding: 28px 20px 40px;
  }
}
@media screen and (max-width: 767px) {
  .togo__info {
    order: 2;
    width: 100%;
  }
}
.togo__info .item {
  padding-bottom: 15px;
  margin-bottom: 30px;
  border-bottom: 1px solid #8E5E45;
}
@media screen and (max-width: 767px) {
  .togo__info .item {
    text-align: left;
  }
}
@media screen and (max-width: 640px) {
  .togo__info .item {
    text-align: center;
    padding-bottom: 9px;
  }
}
@media screen and (max-width: 767px) {
  .togo__info .item:nth-child(2) {
    margin-bottom: 23px;
  }
}
.togo__info .item__label {
  font-size: 12px;
  font-weight: bold;
  padding: 6px 11px 4px;
  line-height: 1.4;
  letter-spacing: 0.8px;
  background: #FFF462;
  margin-bottom: 15px;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .togo__info .item__label {
    padding: 6px 5px 4px;
    width: 250px;
    margin: 0 auto 15px;
  }
}
.togo__info .item__flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .togo__info .item__flex {
    padding-right: 10px;
  }
}
.togo__info .item__product {
  width: 70%;
}
@media screen and (max-width: 640px) {
  .togo__info .item__product {
    width: 100%;
    margin-bottom: 12px;
  }
}
.togo__info .item__product .en {
  font-family: "obvia", sans-serif;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 5px;
  line-height: 1;
  letter-spacing: 1px;
  display: block;
}
@media screen and (max-width: 767px) {
  .togo__info .item__product .en {
    font-size: 20px;
    margin-bottom: 7px;
  }
}
.togo__info .item__product .jp {
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 3px;
  display: block;
}
@media screen and (max-width: 1024px) {
  .togo__info .item__product .jp {
    letter-spacing: 2px;
  }
}
.togo__info .item__price {
  width: 30%;
  font-family: "obvia", sans-serif;
  font-size: 24px;
  font-weight: 600;
  text-align: right;
  letter-spacing: 2px;
}
@media screen and (max-width: 640px) {
  .togo__info .item__price {
    width: 100%;
    font-size: 20px;
    text-align: center;
  }
}
.togo__img {
  background-image: url("img/togo.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 420px;
}
@media screen and (max-width: 767px) {
  .togo__img {
    width: 100%;
    height: 0;
    padding-bottom: 54%;
  }
}
.togo__note {
  text-align: right;
  font-size: 12px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 2.5px;
}
@media screen and (max-width: 767px) {
  .togo__note {
    text-align: left;
    line-height: 1.9;
  }
}
.togo__cup {
  display: block;
  width: 222px;
  position: absolute;
  right: 0;
  bottom: 2px;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .togo__cup {
    width: 110px;
    right: -8px;
  }
}

.sec-shop {
  padding: 60px 0 120px;
  background: rgba(142, 94, 69, 0.6);
}
@media screen and (max-width: 767px) {
  .sec-shop {
    padding: 40px 0 60px;
  }
}
.sec-shop .c-title__1 .en {
  color: #fff;
}

.shop {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .shop {
    padding: 0 35px 0 25px;
  }
}
.shop__img {
  width: 45.31%;
}
@media screen and (max-width: 640px) {
  .shop__img {
    width: 100%;
    margin-bottom: 28px;
  }
}
.shop__img img {
  width: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover';
  height: 100%;
}
.shop__info {
  width: calc(100% - 45.31%);
  padding-left: 70px;
  padding-top: 10px;
  padding-right: calc((100% - 980px)/2);
}
@media screen and (max-width: 1245px) {
  .shop__info {
    padding-right: 40px;
    padding-left: 30px;
  }
}
@media screen and (max-width: 767px) {
  .shop__info {
    padding-top: 0;
    padding-left: 20px;
  }
}
@media screen and (max-width: 640px) {
  .shop__info {
    width: 100%;
    padding: 0;
  }
}
.shop__ttl {
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  line-height: 1.75;
  margin-bottom: 24px;
  letter-spacing: 2px;
}
@media screen and (max-width: 767px) {
  .shop__ttl {
    font-size: 18px;
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 640px) {
  .shop__ttl {
    line-height: 1.94;
  }
}
.shop__desc {
  color: #fff;
  margin-bottom: 33px;
  letter-spacing: 1.5px;
  text-align: justify;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .shop__desc {
    margin-bottom: 32px;
  }
}

.sec-labo {
  padding: 150px 0 90px;
  background: rgba(142, 94, 69, 0.75);
}
.sec-labo #waveCanvas5 {
  position: absolute;
  top: -40px;
  left: 0;
  width: 100%;
  height: 50px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .sec-labo {
    padding: 86px 20px 57px 10px;
  }
}
@media screen and (max-width: 1245px) {
  .sec-labo .inner {
    padding: 0 35px;
  }
}
@media screen and (max-width: 767px) {
  .sec-labo .inner {
    padding-right: 35px;
    padding-left: 25px;
  }
}
.sec-labo .box-steps {
  top: 38.5%;
}
.sec-labo .c-title__1 {
  padding-left: 15px;
  padding-right: 15px;
}

.labo {
  background: rgba(255, 255, 255, 0.92);
  position: relative;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .labo {
    margin-bottom: 18px;
  }
}
.labo::before {
  content: "";
  width: 219px;
  height: 52px;
  display: inline-block;
  position: absolute;
  background: url("img/before-labo.png") no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
}
@media screen and (max-width: 767px) {
  .labo::before {
    width: 150px;
    height: 36px;
  }
}
.labo__ribbon {
  width: 60px;
  position: absolute;
  top: -6px;
  right: 40px;
}
@media screen and (max-width: 1024px) {
  .labo__ribbon {
    width: 50px;
  }
}
.labo__intro {
  max-width: 720px;
  margin: 0 auto 10px;
  letter-spacing: 1px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .labo__intro {
    padding: 0 20px;
    text-align: left !important;
    margin-bottom: 2px;
  }
}
.labo__txt-lead {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.83;
  margin-bottom: 15px;
  letter-spacing: 5px;
}
@media screen and (max-width: 767px) {
  .labo__txt-lead {
    font-size: 18px;
    text-align: center;
    letter-spacing: 2px;
  }
}
@media screen and (max-width: 374px) {
  .labo__txt-lead {
    font-size: 15px;
  }
}
.labo__txt-lead span {
  color: #69ADB4;
}
.labo__img-features img {
  width: 100%;
}
.labo .c-btn__1--outline {
  border-color: #fff;
  background: #8E5E45;
  transform: translateY(50%);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .labo .c-btn__1--outline {
    left: 0;
    transform: translateY(55%);
    padding: 0 20px;
  }
  .labo .c-btn__1--outline::after {
    right: 12px;
  }
}

.event__ttl {
  padding-top: 80px;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  position: relative;
  margin-bottom: 37px;
  letter-spacing: 4px;
}
.event__ttl::before {
  content: "";
  width: 2px;
  height: 40px;
  display: inline-block;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .event__ttl {
    font-size: 16px;
    padding-top: 38px;
    letter-spacing: 4px;
    margin-bottom: 24px;
  }
  .event__ttl::before {
    content: "";
    width: 2px;
    height: 20px;
    display: inline-block;
    position: absolute;
  }
}
.event__ttl::before {
  background: #fff;
  top: 0;
  left: calc(50% - 1px);
}

.sec-message {
  padding: 50px 0 0;
  background: #8E5E45;
}
.sec-message #waveCanvas6 {
  position: absolute;
  top: -50px;
  left: 0;
  width: 100%;
  height: 50px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .sec-message {
    padding: 57px 0 32px;
  }
}
.sec-message .txt-vertical-line {
  bottom: 26px;
}

.msg__slider {
  -ms-touch-action: auto;
  touch-action: auto;
}
.msg__slider li {
  width: 330px;
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .msg__slider li {
    width: 175px;
    padding: 0 6px;
  }
}
.msg__slider li:nth-child(even) {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .msg__slider li:nth-child(even) {
    margin-top: 16px;
  }
}
.msg__wrapper {
  margin: -26px 0 0;
  position: relative;
}
.msg__flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0 65px 80px;
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .msg__flex {
    padding: 0 35px 80px;
  }
}
@media screen and (max-width: 767px) {
  .msg__flex {
    padding: 0 35px 0 25px;
  }
}
.msg__heading {
  width: 280px;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .msg__heading {
    width: 100%;
    margin-bottom: 22px;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.msg__heading .heading__img {
  display: block;
  margin-bottom: 16px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .msg__heading .heading__img {
    width: 128px;
    margin-bottom: 30px;
  }
}
.msg__heading .heading__text {
  font-size: 28px;
  color: #fff;
  font-weight: bold;
  line-height: 2.5;
  writing-mode: tb-rl;
  width: 140px;
  display: block;
  margin-left: auto;
  margin-right: 19px;
  letter-spacing: 5px;
}
@media screen and (max-width: 767px) {
  .msg__heading .heading__text {
    writing-mode: initial;
    width: auto;
    margin-left: 0;
    margin-right: 0;
    letter-spacing: 2px;
    font-size: 18px;
    line-height: 2;
  }
}
.msg__content {
  width: calc(100% - 280px);
  padding-left: 66px;
  padding-top: 124px;
  color: #fff;
  line-height: 2.15;
}
@media screen and (max-width: 767px) {
  .msg__content {
    width: 100%;
    padding-left: 0;
    padding-top: 0;
    line-height: 1.85;
    text-align: justify;
  }
}
.msg__content .wp {
  max-width: 686px;
  width: 100%;
}
.msg__content p {
  margin-bottom: 19px;
}
@media screen and (max-width: 767px) {
  .msg__content p {
    margin-bottom: 21px;
  }
}
.msg__content p span {
  font-size: 18px;
  font-weight: bold;
  line-height: 27px;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, #69ADB4), color-stop(50%, transparent));
  background-image: -o-linear-gradient(left, #69ADB4 50%, transparent 50%);
  background-image: linear-gradient(to right, #69adb4 50%, rgba(0, 0, 0, 0) 50%);
  background-size: 200% 27px;
  background-repeat: no-repeat;
  background-position: 0% 0px;
  padding-bottom: 5px;
  padding-top: 4px;
}
@media screen and (max-width: 767px) {
  .msg__content p span {
    font-size: 17px;
    line-height: 1.8;
  }
}
.msg__content p:last-of-type {
  margin-bottom: 0;
}
.msg__sign {
  width: 135px;
  margin-left: auto;
  margin-right: 18px;
  margin-top: 41px;
}
@media screen and (max-width: 767px) {
  .msg__sign {
    width: 106px;
    margin-right: 0;
    margin-top: 21px;
  }
}

.sec-blog-i {
  background: #635046;
  padding: 0 0 110px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec-blog-i {
    padding-bottom: 70px;
  }
}
.sec-blog-i::after {
  content: "";
  width: 132px;
  height: 182px;
  display: inline-block;
  position: absolute;
  background: url("img/man.png") no-repeat center/cover;
  position: absolute;
  bottom: -50px;
  left: calc((100% - 1060px)/2);
  transform: translateX(80px);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .sec-blog-i::after {
    width: 92px;
    height: 127px;
    bottom: -36px;
    left: 33px;
    transform: none;
  }
}
.sec-blog-i #waveCanvas7 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  z-index: 2;
  transform: rotate(180deg);
}
@media screen and (max-width: 767px) {
  .sec-blog-i .inner {
    padding-right: 35px;
  }
}
.sec-blog-i .img-features {
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .sec-blog-i .img-features {
    margin-bottom: 50px;
  }
}
.sec-blog-i .img-features img {
  width: 100%;
}

.blog-i {
  margin-bottom: 75px;
}
@media screen and (max-width: 767px) {
  .blog-i {
    margin-bottom: 70px;
    padding: 0 20px 0 10px;
  }
}

.recommendation {
  position: relative;
  max-width: 1310px;
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
}
@media screen and (max-width: 767px) {
  .recommendation {
    padding-left: 25px;
    padding-right: 35px;
  }
}
.recommendation::after {
  content: "";
  width: 52px;
  height: 32px;
  display: inline-block;
  position: absolute;
  background: url("img/recommendation_after.png") no-repeat center/cover;
  position: absolute;
  bottom: -32px;
  left: calc((100% - 1060px)/2);
  transform: translateX(259px);
}
@media screen and (max-width: 767px) {
  .recommendation::after {
    left: 143px;
    transform: none;
  }
}
.recommendation__wrap {
  max-width: 1060px;
  width: 100%;
  margin: 0 auto;
  background: #fff;
  padding: 27px 0 40px;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .recommendation__wrap {
    padding: 44px 0 25px;
  }
}
@media screen and (max-width: 767px) {
  .recommendation__wrap .inner {
    padding-right: 25px;
  }
}
.recommendation__ttl {
  max-width: 365px;
  width: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -93%);
}
@media screen and (max-width: 767px) {
  .recommendation__ttl {
    max-width: 62%;
    transform: translate(-50%, -100%);
  }
}
.recommendation__intro {
  text-align: center;
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 33px;
  letter-spacing: 3px;
}
@media screen and (max-width: 767px) {
  .recommendation__intro {
    display: none;
  }
}
.recommendation .p-article-list.-type-3 {
  margin: 0 -23px;
}
@media screen and (max-width: 767px) {
  .recommendation .p-article-list.-type-3 {
    max-width: 400px;
    margin: 0 auto;
  }
}
.recommendation .p-article-list.-type-3 .p-article {
  margin: 0 auto;
  padding: 0 10px;
  position: relative;
}
.recommendation .p-article-list.-type-3 .p-article::after {
  content: "";
  width: 55px;
  height: 55px;
  display: inline-block;
  position: absolute;
  background: url("img/icon_pickup.svg") no-repeat center/contain;
  top: -18px;
  right: -15px;
}
@media screen and (max-width: 767px) {
  .recommendation .p-article-list.-type-3 .p-article::after {
    display: none;
  }
}
.recommendation__slider-arrows {
  width: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  pointer-events: none;
  display: none;
}
@media screen and (max-width: 767px) {
  .recommendation__slider-arrows {
    width: calc(100% - 20px);
    display: block;
  }
}
.recommendation__slider-arrows .arrow__space {
  width: 210px;
  margin: 0 auto;
  position: relative;
}
.recommendation__slider-arrows .arrow__space::before {
  content: '';
  float: left;
  padding-top: 66.6%;
}
.recommendation__slider-arrows .arrow__space::after {
  content: '';
  display: table;
  clear: both;
}
.recommendation__slider-arrows .arrow__space > :first-child {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .recommendation__slider-arrows .arrow__space {
    width: 100%;
  }
}
.recommendation__slider-wrap {
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .recommendation__slider-wrap {
    width: 100%;
    max-width: 400px;
  }
}
.recommendation__slider-wrap .slick-arrow {
  width: 17px;
  height: 40px;
  opacity: 1;
  pointer-events: auto;
}
.recommendation__slider-wrap .slick-arrow:hover {
  opacity: 0.7;
  -webkit-backface-visibility: hidden;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -ms-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
}
.recommendation__slider-wrap .slick-arrow::before {
  content: '';
  width: 9px;
  height: 32px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 1;
}
.recommendation__slider-wrap .slick-arrow.slick-prev {
  left: -26px;
}
.recommendation__slider-wrap .slick-arrow.slick-prev::before {
  background: url("img/prev.png") no-repeat center/contain;
}
.recommendation__slider-wrap .slick-arrow.slick-next {
  right: -26px;
}
.recommendation__slider-wrap .slick-arrow.slick-next::before {
  background: url("img/next.png") no-repeat center/contain;
}

.wave-top {
  position: absolute;
  top: -49px;
  z-index: 10;
}

.wave-bottom {
  position: absolute;
  bottom: -49px;
  z-index: 10;
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.about-concept {
  padding: 0 0 250px;
}
@media screen and (max-width: 767px) {
  .about-concept {
    padding-bottom: 120px;
  }
}
.about-concept::after {
  content: "";
  background-image: url("img/about_concept_bg.png");
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  position: absolute;
  top: -210px;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}
.about-concept__wrap {
  background-color: rgba(255, 255, 255, 0.95);
  width: 636px;
  max-width: 100%;
  margin: 65px auto 0;
  padding: 170px 55px 60px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .about-concept__wrap {
    padding: 110px 20px 50px;
  }
}
.about-concept__wrap::after {
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.95);
  position: absolute;
  top: -11px;
  bottom: -11px;
  left: -11px;
  right: -11px;
  z-index: 0;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .about-concept__wrap::after {
    top: -6px;
    bottom: -6px;
    left: -6px;
    right: -6px;
  }
}
.about-concept__logo {
  margin: auto;
  text-align: center;
  position: absolute;
  top: -52px;
  left: 0;
  right: 0;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .about-concept__logo {
    width: 140px;
    top: -40px;
  }
}
.about-concept__en {
  position: absolute;
  top: -54px;
  right: -74px;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .about-concept__en {
    width: 140px;
    top: -40px;
    right: -15px;
  }
}
.about-concept__title {
  margin: 0 auto 40px;
  font-size: 29px;
  font-weight: bold;
  text-align: center;
  line-height: 2.2;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .about-concept__title {
    margin-bottom: 30px;
    font-size: 20px;
  }
}
.about-concept__title .label {
  border-bottom: 1px solid #8E5E45;
  padding: 0 10px;
  line-height: 1.8;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .about-concept__title .label {
    padding: 0 8px;
  }
}
.about-concept__text {
  font-weight: bold;
  line-height: 2.2;
  letter-spacing: 0.08em;
}
.about-concept__text p + p {
  margin-top: 25px;
}

.about-specialty {
  padding: 70px 0 150px;
}
@media screen and (max-width: 767px) {
  .about-specialty {
    padding: 40px 0 180px;
  }
}
.about-specialty::after {
  content: "";
  width: 564px;
  height: 846px;
  display: inline-block;
  position: absolute;
  background-image: url("img/about_specialty_after.png");
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: contain;
  mix-blend-mode: multiply;
  bottom: 0;
  right: 80px;
}
@media screen and (max-width: 767px) {
  .about-specialty::after {
    width: 200px;
    right: 10px;
  }
}
.about-specialty__top {
  border-top: 3px solid #8E5E45;
  border-bottom: 3px solid #8E5E45;
  margin-top: 40px;
  padding: 30px 0;
  position: relative;
}
.about-specialty__top::before {
  content: "";
  border-top: 1px solid #8E5E45;
  border-bottom: 1px solid #8E5E45;
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 0;
  right: 0;
  pointer-events: none;
}
.about-specialty__top .top__head {
  text-align: center;
  line-height: 1.0;
  letter-spacing: 0.2em;
  white-space: nowrap;
  position: absolute;
  top: -7px;
  left: 0;
  right: 0;
}
.about-specialty__top .top__head .label {
  background-color: #FFF;
  background-image: url("img/bg_1.png");
  background-position: center top;
  background-repeat: repeat;
  background-size: 1281px auto;
  padding: 0 20px;
  display: inline-block;
}
.about-specialty__top .top__box {
  display: -webkit-flex;
  display: flex;
}
@media screen and (max-width: 767px) {
  .about-specialty__top .top__box {
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}
.about-specialty__top .box__img {
  min-width: 270px;
}
@media screen and (max-width: 767px) {
  .about-specialty__top .box__img {
    min-width: 0;
    margin: 15px auto 0;
  }
}
.about-specialty__top .box__img img {
  width: 230px;
}
.about-specialty__top .box__text {
  padding: 40px 0 0 40px;
  font-size: 18px;
  font-weight: bold;
  line-height: 2.6;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .about-specialty__top .box__text {
    padding: 0;
    font-size: 15px;
    line-height: 2.4;
  }
}
.about-specialty__top .c-marker--1 {
  font-feature-settings: "palt";
}
.about-specialty__bottom {
  margin: 60px 0 0;
}
@media screen and (max-width: 767px) {
  .about-specialty__bottom {
    margin-top: 40px;
  }
}
.about-specialty__bottom p + p {
  margin-top: 30px;
}
.about-specialty__bottom .bottom__text {
  width: 630px;
  max-width: 100%;
  font-weight: bold;
  letter-spacing: 0.06em;
}

.about-giesen {
  background: #8E5E45;
  padding: 70px 0 130px;
}
@media screen and (max-width: 767px) {
  .about-giesen {
    padding: 40px 0 100px;
  }
}
.about-giesen__img {
  position: relative;
}
@media screen and (max-width: 767px) {
  .about-giesen__img {
    margin: 50px auto 0;
  }
}
.about-giesen__en {
  position: absolute;
  top: -60px;
  right: -52px;
}
@media screen and (max-width: 767px) {
  .about-giesen__en {
    width: 150px;
    top: -30px;
    right: -10px;
  }
}
.about-giesen__en .label {
  background: #8E5E45;
  padding: 0 20px;
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.2em;
  display: inline-block;
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.about-giesen__head {
  margin: 40px auto 0;
  text-align: center;
}
.about-giesen__head .label {
  width: 800px;
  max-width: 100%;
  height: 60px;
  color: #8E5E45;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 0.22em;
  line-height: 60px;
  display: inline-block;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .about-giesen__head .label {
    height: auto;
    padding: 6px 10px;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.1em;
    font-feature-settings: "palt";
  }
}
.about-giesen__text {
  margin: 20px auto 0;
  color: #FFF;
  font-weight: bold;
  text-align: center;
}
.about-giesen__wrap {
  border: 2px solid #FFF;
  margin: 110px auto 0;
  padding: 80px 80px 60px;
  color: #FFF;
  position: relative;
}
@media screen and (max-width: 767px) {
  .about-giesen__wrap {
    margin: 110px auto 0;
    padding: 60px 20px 50px;
  }
}
.about-giesen .wrap__head {
  margin: auto;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.about-giesen .wrap__head .label {
  background: #8E5E45;
  padding: 0 25px;
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 0.2em;
  display: inline-block;
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  position: relative;
}
@media screen and (max-width: 767px) {
  .about-giesen .wrap__head .label {
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: 0.15em;
  }
}
.about-giesen .wrap__head .label::before {
  content: "";
  background-image: url("img/deco_1.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 53px;
  height: 19px;
  margin: auto;
  position: absolute;
  top: -40px;
  left: 0;
  right: 0;
}
.about-giesen .box {
  margin: 80px 0 0;
  display: -webkit-flex;
  display: flex;
}
@media screen and (max-width: 767px) {
  .about-giesen .box {
    margin-top: 60px;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.about-giesen .box:first-child {
  margin-top: 0;
}
.about-giesen .box:nth-child(2) {
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .about-giesen .box:nth-child(2) {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.about-giesen .box:nth-child(2) .box__content {
  padding: 0 50px 0 0;
}
@media screen and (max-width: 767px) {
  .about-giesen .box:nth-child(2) .box__content {
    padding: 15px 0 0;
  }
}
.about-giesen .box.-textonly {
  margin-top: 45px;
}
@media screen and (max-width: 767px) {
  .about-giesen .box.-textonly {
    margin-top: 25px;
  }
}
.about-giesen .box.-textonly .box__text {
  padding: 0;
}
.about-giesen .box__img {
  width: 310px;
  max-width: 100%;
  min-width: 310px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .about-giesen .box__img {
    min-width: 0;
    margin: 0 auto;
  }
}
.about-giesen .box__content {
  padding: 0 0 0 50px;
}
@media screen and (max-width: 767px) {
  .about-giesen .box__content {
    padding: 15px 0 0;
  }
}
.about-giesen .box__title {
  border-bottom: 1px solid #FFF;
  padding-bottom: 5px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .about-giesen .box__title {
    font-size: 18px;
  }
}
.about-giesen .box__text {
  padding: 15px 0 0;
  text-align: justify;
}
.about-giesen .box__text p + p {
  margin: 25px 0 0;
}

.about-shop {
  padding: 60px 0 130px;
}
@media screen and (max-width: 767px) {
  .about-shop {
    padding: 40px 0 100px;
  }
}
.about-shop__text {
  text-align: center;
}
.about-shop__anchor {
  width: 100%;
  max-width: 640px;
  margin: 45px auto 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .about-shop__anchor {
    max-width: 500px;
  }
}
.about-shop__list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 0 -25px;
}
@media screen and (max-width: 767px) {
  .about-shop__list {
    margin: 0 -10px;
    padding: 0 10px 0 5px;
  }
}
.about-shop__item {
  width: 33.33%;
  padding: 0 25px;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .about-shop__item {
    padding: 0 10px;
  }
}
.about-shop__item a {
  display: block;
}
.about-shop__block-wrap {
  margin: 60px 0 0;
}
.about-shop .block {
  margin: 60px 0 0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
  position: relative;
}
@media screen and (max-width: 767px) {
  .about-shop .block {
    padding: 0 20px;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.about-shop .block:first-child {
  margin-top: 0;
}
.about-shop .block:nth-child(2n) {
  -webkit-flex-direction: row;
  flex-direction: row;
}
@media screen and (max-width: 767px) {
  .about-shop .block:nth-child(2n) {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.about-shop .block:nth-child(2n) .block__img {
  padding: 0 0 0 70px;
}
@media screen and (max-width: 767px) {
  .about-shop .block:nth-child(2n) .block__img {
    padding: 0;
  }
}
.about-shop .block:nth-child(2n) .content-wrap {
  width: 490px;
  padding: 30px 0 0 0;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .about-shop .block:nth-child(2n) .content-wrap {
    margin-left: 0;
  }
}
.about-shop .block.-togo .block__title::before {
  background-image: url("img/icon_togo.png");
  width: 36px;
  height: 42px;
}
@media screen and (max-width: 767px) {
  .about-shop .block.-togo .block__title::before {
    width: 32px;
    height: 38px;
  }
}
.about-shop .block.-shop .block__title::before {
  background-image: url("img/icon_cafe_2.png");
  width: 52px;
  height: 46px;
}
@media screen and (max-width: 767px) {
  .about-shop .block.-shop .block__title::before {
    width: 42px;
    height: 39px;
  }
}
.about-shop .block.-labo .block__title::before {
  background-image: url("img/icon_labo.png");
  width: 40px;
  height: 50px;
}
@media screen and (max-width: 767px) {
  .about-shop .block.-labo .block__title::before {
    width: 34px;
    height: 40px;
  }
}
.about-shop .block__content {
  width: 50%;
  padding: 0 0 0 10px;
}
@media screen and (max-width: 767px) {
  .about-shop .block__content {
    width: 100%;
    padding: 0;
  }
}
.about-shop .block__img {
  width: 50%;
  padding: 0 60px 0 0;
}
@media screen and (max-width: 767px) {
  .about-shop .block__img {
    width: 100%;
    margin: 30px auto 0;
    padding: 0;
  }
}
.about-shop .block .img-wrap {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 385px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .about-shop .block .img-wrap {
    height: 0;
    padding-bottom: 66%;
  }
}
.about-shop .block .content-wrap {
  width: 480px;
  max-width: 100%;
  padding: 15px 0 0 0;
}
.about-shop .block__head {
  border-bottom: 1px solid #8E5E45;
  padding: 0 0 20px;
}
@media screen and (max-width: 767px) {
  .about-shop .block__head {
    padding-bottom: 15px;
  }
}
.about-shop .block__title {
  padding: 0 0 0 75px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .about-shop .block__title {
    padding-left: 60px;
  }
}
.about-shop .block__title::before {
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 50px;
  height: 50px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}
.about-shop .block .title__top {
  font-size: 36px;
  line-height: 1.0;
  letter-spacing: 0.18em;
}
@media screen and (max-width: 767px) {
  .about-shop .block .title__top {
    font-size: 24px;
  }
}
.about-shop .block .title__bottom {
  margin: 5px 0 0;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 767px) {
  .about-shop .block .title__bottom {
    margin-top: 10px;
    font-size: 14px;
    letter-spacing: 0.1em;
  }
}
.about-shop .block__text {
  padding: 30px 0 0;
}
@media screen and (max-width: 767px) {
  .about-shop .block__text {
    padding-top: 20px;
  }
}
.about-shop .block__btn {
  margin: 40px 0 0;
}
@media screen and (max-width: 767px) {
  .about-shop .block__btn {
    margin-top: 30px;
  }
}
.about-shop .block .c-btn__2 {
  width: 320px;
  margin-left: 0;
}
.about-shop .block p + p {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .about-shop .block p + p {
    margin-top: 25px;
  }
}

.about-access {
  background: rgba(142, 94, 69, 0.15);
  padding: 70px 0 150px;
}
@media screen and (max-width: 767px) {
  .about-access {
    padding: 40px 0 100px;
  }
}
@media screen and (max-width: 767px) {
  .about-access__box-wrap {
    max-width: 460px;
    margin: 40px auto 0;
  }
}
.about-access .box {
  margin: 50px 0 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .about-access .box {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.about-access .box:first-child {
  margin-top: 0;
}
.about-access .box:nth-child(2n) {
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .about-access .box:nth-child(2n) {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.about-access .box:nth-child(2n) .box__img {
  padding-top: 40px;
}
@media screen and (max-width: 767px) {
  .about-access .box:nth-child(2n) .box__img {
    padding-top: 30px;
  }
}
.about-access .box__img {
  padding: 20px 0 0;
}
@media screen and (max-width: 767px) {
  .about-access .box__img {
    padding-top: 30px;
  }
}
.about-access .box__content {
  width: 440px;
  max-width: 100%;
}
.about-access .box__head {
  margin: 0 0 40px;
}
@media screen and (max-width: 767px) {
  .about-access .box__head {
    margin-bottom: 20px;
  }
}
.about-access .box__head .label {
  background: #8E5E45;
  width: 100%;
  height: 45px;
  color: #FFF;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 45px;
  letter-spacing: 0.18em;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .about-access .box__head .label {
    height: 40px;
    font-size: 16px;
    line-height: 40px;
  }
}
.about-access .box__title {
  margin: 0 0 10px;
}
.about-access .box__title .label {
  padding: 0 0 0 28px;
  font-size: 18px;
  font-weight: bold;
  position: relative;
}
@media screen and (max-width: 767px) {
  .about-access .box__title .label {
    height: 40px;
    font-size: 16px;
    line-height: 40px;
  }
}
.about-access .box__title .label::before {
  content: "";
  background-image: url("img/icon_beans_1.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 17px;
  height: 20px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

.about-profile {
  padding: 30px 0 80px;
}
@media screen and (max-width: 767px) {
  .about-profile {
    padding: 30px 0 50px;
  }
}
.about-profile .box {
  display: -webkit-flex;
  display: flex;
}
@media screen and (max-width: 767px) {
  .about-profile .box {
    max-width: 440px;
    margin: 0 auto;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.about-profile .box__img {
  width: 440px;
  max-width: 100%;
  min-width: 440px;
}
@media screen and (max-width: 767px) {
  .about-profile .box__img {
    min-width: 0;
  }
}
.about-profile .box__content {
  padding: 0 0 0 70px;
}
@media screen and (max-width: 767px) {
  .about-profile .box__content {
    padding: 0;
    margin: 30px 0 0;
  }
}
.about-profile .box__head {
  border-bottom: 2px solid #8E5E45;
  margin: 0 0 20px;
  padding: 0 0 15px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}
.about-profile .box__head__left {
  font-weight: bold;
  letter-spacing: 0.2em;
}
.about-profile .box__head__right {
  color: #69ADB4;
  font-size: 18px;
  line-height: 30px;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 767px) {
  .about-profile .box__head__right {
    font-size: 15px;
  }
}
.about-profile .box__head__bottom {
  margin: 4px 0 0;
  font-size: 22px;
  line-height: 30px;
}
@media screen and (max-width: 767px) {
  .about-profile .box__head__bottom {
    font-size: 20px;
  }
}
.about-profile .box__text {
  text-align: justify;
}
.about-profile .box__text p + p {
  margin-top: 25px;
}

.labo-mv {
  background-image: url("img/labo_slider_bg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 1262px;
  height: 602px;
  margin: 0 auto;
  padding: 21px 0;
}
@media screen and (max-width: 767px) {
  .labo-mv {
    background-size: cover;
    width: 100%;
    height: auto;
    padding: 10px 50px;
  }
}
.labo-mv__inner {
  width: 980px;
  max-width: 100%;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .labo-mv__inner {
    height: 0;
    padding-bottom: 57%;
  }
}
.labo-mv__en {
  position: absolute;
  bottom: 28px;
  left: -60px;
}
@media screen and (max-width: 767px) {
  .labo-mv__en {
    width: 120px;
    bottom: 5px;
    left: -15px;
  }
}

.labo__slider {
  width: 980px;
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .labo__slider {
    height: 0;
    padding-bottom: 57%;
  }
}
.labo__slider .slider-item {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 560px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .labo__slider .slider-item {
    height: 0;
    padding-bottom: 57%;
  }
}
.labo__slider .slider-item.moving .item__img {
  -moz-transform: scale(1.2, 1.2);
  -ms-transform: scale(1.2, 1.2);
  -webkit-transform: scale(1.2, 1.2);
  transform: scale(1.2, 1.2);
  transition: linear 10s;
}
.labo__slider .item__img {
  background-color: #FFF;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -moz-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  transition: 0s;
}
@media screen and (max-width: 767px) {
  .labo__slider .item__img {
    height: 0;
    padding-bottom: 57%;
  }
}

.labo-concept {
  padding: 60px 0 120px;
}
@media screen and (max-width: 767px) {
  .labo-concept {
    padding: 60px 0 80px;
  }
}
.labo-concept::before {
  content: "";
  width: 244px;
  height: 300px;
  display: inline-block;
  position: absolute;
  background: url("img/beanes_1.png") no-repeat center/contain;
  top: 135px;
  left: 0;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .labo-concept::before {
    width: 81px;
    height: 100px;
    top: 50px;
  }
}
.labo-concept::after {
  content: "";
  width: 237px;
  height: 416px;
  display: inline-block;
  position: absolute;
  background: url("img/beanes_2.png") no-repeat center/cover;
  top: 22px;
  right: 0;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .labo-concept::after {
    width: 85px;
    height: 153px;
    top: 0;
    right: -7px;
  }
}
.labo-concept .c-title__1 {
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .labo-concept .c-title__1 {
    margin-bottom: 35px;
  }
}
.labo-concept__text {
  font-size: 17px;
  font-weight: bold;
  text-align: center;
  line-height: 2.4;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .labo-concept__text {
    font-size: 14px;
    text-align: left;
    line-height: 2.0;
  }
}
.labo-concept__beginner {
  background-color: #69ADB4;
  margin: 85px auto 0;
  padding: 80px 30px 167px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .labo-concept__beginner {
    padding: 70px 25px 114px;
  }
}
.labo-concept__beginner::before {
  content: "";
  background-image: url("img/labo_concept_head.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  width: 172px;
  height: 49px;
  margin: auto;
  position: absolute;
  top: -37px;
  left: 0;
  right: 0;
  z-index: 1;
  pointer-events: none;
}
.labo-concept__beginner::after {
  content: "";
  border: 2px solid #FFF;
  position: absolute;
  top: 9px;
  bottom: 9px;
  left: 9px;
  right: 9px;
  z-index: 0;
  pointer-events: none;
}
.labo-concept__beginner .c-btn__2 {
  background-color: #FFF;
  border: none;
  width: 300px;
  height: 52px;
  text-align: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.labo-concept__beginner .c-btn__2::after {
  right: 32px;
}
.labo-concept .beginner__head {
  margin: auto;
  padding: 2px 0 0;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .labo-concept .beginner__head {
    width: 30px;
  }
}
.labo-concept .beginner__en {
  position: absolute;
  top: 30px;
  right: -20px;
  z-index: 20;
}
@media screen and (max-width: 767px) {
  .labo-concept .beginner__en {
    width: 120px;
    top: 20px;
    right: -10px;
  }
}
.labo-concept .beginner__title {
  margin: 0 auto 20px;
  color: #FFF;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.24em;
}
@media screen and (max-width: 767px) {
  .labo-concept .beginner__title {
    font-size: 20px;
    letter-spacing: 0.2em;
  }
}
.labo-concept .beginner__text {
  color: #FFF;
  font-weight: bold;
  text-align: center;
  line-height: 2.2;
}
@media screen and (max-width: 767px) {
  .labo-concept .beginner__text {
    text-align: justify;
  }
}
.labo-concept .beginner__btn {
  margin: 25px auto 0;
  position: relative;
  z-index: 10;
}
.labo-concept .beginner__img {
  background-image: url("img/labo_beginner_1.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 193px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .labo-concept .beginner__img {
    height: 140px;
  }
}

.labo-news {
  background-color: rgba(142, 94, 69, 0.15);
  padding: 50px 0 100px;
}
@media screen and (max-width: 767px) {
  .labo-news {
    padding: 40px 0 80px;
  }
}
.labo-news__btn {
  margin: 35px auto 0;
}

.labo-mission {
  padding: 70px 0 100px;
}
@media screen and (max-width: 767px) {
  .labo-mission {
    padding: 40px 0 100px;
  }
}
.labo-mission__head {
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .labo-mission__head {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  .labo-mission__box-wrap {
    margin-top: 40px;
  }
}
.labo-mission .box {
  margin: 70px 0 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .labo-mission .box {
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}
.labo-mission .box:nth-child(2n) {
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .labo-mission .box:nth-child(2n) {
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}
.labo-mission .box:first-child {
  margin-top: 0;
}
.labo-mission .box__img {
  width: 430px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .labo-mission .box__img {
    width: 100%;
    margin: 30px auto 0;
    text-align: center;
  }
}
.labo-mission .box .img-inner {
  position: absolute;
  top: 0;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .labo-mission .box .img-inner {
    width: 280px;
    margin: 0 auto;
    position: static;
  }
}
.labo-mission .box .img-1 {
  width: 591px;
  top: -55px;
  right: 0;
}
@media screen and (max-width: 767px) {
  .labo-mission .box .img-1 {
    width: 280px;
  }
}
.labo-mission .box .img-2 {
  width: 352px;
  height: 352px;
  top: 520px;
  left: -280px;
}
@media screen and (max-width: 767px) {
  .labo-mission .box .img-2 {
    display: none;
  }
}
.labo-mission .box .img-3 {
  width: 490px;
  top: -20px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .labo-mission .box .img-3 {
    width: 280px;
  }
}
.labo-mission .box__content {
  width: 490px;
  max-width: 100%;
  position: relative;
  z-index: 10;
}
.labo-mission .box__title {
  margin: 0 0 30px;
  padding: 0 0 20px;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  position: relative;
}
@media screen and (max-width: 767px) {
  .labo-mission .box__title {
    margin: 0 0 30px;
    padding: 0 0 20px;
    font-size: 22px;
    letter-spacing: 0.15em;
  }
}
.labo-mission .box__title::after {
  content: "";
  border-bottom: 1px solid #8E5E45;
  width: 640px;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .labo-mission .box__title::after {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .labo-mission .box__title {
    margin-bottom: 20px;
  }
}
.labo-mission .box__text {
  font-weight: bold;
  text-align: justify;
}
.labo-mission .box p {
  margin-top: 32px;
}
.labo-mission .box p:first-child {
  margin-top: 0;
}
.labo-mission .box .c-list--1 {
  margin: 30px 0 0;
}

.labo-beginer {
  background-color: #69ADB4;
  padding: 70px 0 100px;
}
@media screen and (max-width: 767px) {
  .labo-beginer {
    padding: 40px 0 100px;
  }
}
.labo-beginer__wrap {
  background-color: #FFF;
  margin: 60px auto 0;
  padding: 80px 90px 60px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .labo-beginer__wrap {
    padding: 70px 25px 60px;
  }
}
.labo-beginer__wrap::before {
  content: "";
  background-image: url("img/labo_beginer_head.png");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: contain;
  width: 172px;
  height: 49px;
  margin: auto;
  position: absolute;
  top: -38px;
  left: 0;
  right: 0;
  z-index: 1;
  pointer-events: none;
}
.labo-beginer__wrap::after {
  content: "";
  border: 2px solid #69ADB4;
  border-top: none;
  position: absolute;
  top: 9px;
  bottom: 9px;
  left: 9px;
  right: 9px;
  z-index: 0;
  pointer-events: none;
}
.labo-beginer__wrap .line-top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.labo-beginer__wrap .line-top::before, .labo-beginer__wrap .line-top::after {
  content: "";
  border-top: 2px solid #69ADB4;
  position: absolute;
  top: 9px;
  left: 9px;
  right: 9px;
}
.labo-beginer__wrap .line-top::before {
  right: calc(50% + 86px);
}
.labo-beginer__wrap .line-top::after {
  left: calc(50% + 86px);
}
.labo-beginer__img {
  background-image: url("img/labo_beginner_2.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 250px;
  position: absolute;
  top: -36px;
  left: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .labo-beginer__img {
    height: 200px;
  }
}
.labo-beginer__img::before {
  content: "";
  background-image: url("img/labo_beginer_head_cover.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 36px;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.labo-beginer__icon {
  margin: auto;
  padding: 5px 0 0;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
}
.labo-beginer__icon .label {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .labo-beginer__icon .label {
    width: 28px;
  }
}
.labo-beginer .c-title__2 {
  position: relative;
  z-index: 10;
}
.labo-beginer .box-wrap {
  margin: 110px 0 0;
}
@media screen and (max-width: 767px) {
  .labo-beginer .box-wrap {
    margin-top: 60px;
  }
}
.labo-beginer .box {
  margin: 45px 0 0;
}
.labo-beginer .box__head {
  margin-bottom: 30px;
}
.labo-beginer .box__list {
  font-size: 17px;
  font-weight: bold;
  letter-spacing: 0.18em;
}
@media screen and (max-width: 767px) {
  .labo-beginer .box__list {
    font-size: 15px;
    letter-spacing: 0.12em;
  }
}
.labo-beginer .box__list li {
  margin-top: 8px;
  padding-left: 40px;
}
@media screen and (max-width: 767px) {
  .labo-beginer .box__list li {
    padding-left: 35px;
  }
}
.labo-beginer .box__flex {
  margin: 0 -40px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .labo-beginer .box__flex {
    margin: 0 auto;
  }
}
.labo-beginer .box-1 .box__content {
  padding-left: 100px;
}
@media screen and (max-width: 767px) {
  .labo-beginer .box-1 .box__content {
    padding-left: 0;
  }
}
.labo-beginer .box-2 .box__item {
  margin: 0 40px;
  padding: 0 0 0 85px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .labo-beginer .box-2 .box__item {
    margin: 30px auto 0;
    padding: 0 0 0 70px;
  }
  .labo-beginer .box-2 .box__item:first-child {
    margin-top: 0;
  }
}
.labo-beginer .box-2 .box__item::before {
  content: "";
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: contain;
  width: 62px;
  height: 76px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .labo-beginer .box-2 .box__item::before {
    background-position: center;
    width: 50px;
  }
}
.labo-beginer .box-2 .item-1::before {
  background-image: url("img/icon_drop_1.png");
  width: 55px;
}
@media screen and (max-width: 767px) {
  .labo-beginer .box-2 .item-1::before {
    width: 46px;
  }
}
.labo-beginer .box-2 .item-2::before {
  background-image: url("img/icon_1.png");
}
.labo-beginer .box-2 .box__number {
  font-size: 20px;
  color: #6DAFBB;
  font-weight: 600;
  line-height: 1.0;
}
.labo-beginer .box-2 .box__title {
  margin: 10px 0 0;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.18em;
}
@media screen and (max-width: 767px) {
  .labo-beginer .box-2 .box__title {
    font-size: 15px;
    letter-spacing: 0.12em;
  }
}
.labo-beginer .box-2 .box__text {
  margin: 30px 0 0;
  text-align: justify;
}
.labo-beginer .box-3 .box__content {
  padding: 10px 0 20px;
}
@media screen and (max-width: 767px) {
  .labo-beginer .box-3 .box__content {
    padding: 10px 20px 20px;
  }
}
.labo-beginer .box-3 .box__item {
  border-bottom: 2px solid #8E5E45;
  width: 300px;
  max-width: 100%;
  margin: 0 30px;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.18em;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .labo-beginer .box-3 .box__item {
    margin: 20px auto 0;
    font-size: 16px;
  }
  .labo-beginer .box-3 .box__item:first-child {
    margin-top: 0;
  }
}
.labo-beginer .box-4 .box__text {
  margin: 30px auto 0;
  text-align: center;
}
.labo-beginer .box-4 .box__text:first-child {
  margin-top: 0;
}
.labo-beginer .box-4 .box__btn {
  margin: 30px auto 0;
}

.labo-howto {
  padding: 70px 0 100px;
}
@media screen and (max-width: 767px) {
  .labo-howto {
    padding: 40px 0 100px;
  }
}
.labo-howto__text {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .labo-howto__text {
    text-align: justify;
  }
}
.labo-howto__wrap-1 {
  margin: 50px auto 0;
}
@media screen and (max-width: 767px) {
  .labo-howto__wrap-1 {
    margin-top: 40px;
  }
}
.labo-howto .box-wrap-1 {
  display: -webkit-flex;
  display: flex;
}
@media screen and (max-width: 767px) {
  .labo-howto .box-wrap-1 {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.labo-howto .box-wrap-1 .box {
  padding: 20px 50px 0;
}
@media screen and (max-width: 767px) {
  .labo-howto .box-wrap-1 .box {
    width: 440px;
    max-width: 100%;
    margin: 50px auto 0;
    padding: 0;
  }
  .labo-howto .box-wrap-1 .box:first-child {
    margin-top: 0;
  }
}
.labo-howto .box-wrap-1 .box-left {
  padding-left: 0;
}
.labo-howto .box-wrap-1 .box-right {
  border-left: 1px solid #8E5E45;
  padding-right: 0;
}
@media screen and (max-width: 767px) {
  .labo-howto .box-wrap-1 .box-right {
    border-left: none;
  }
}
.labo-howto .box-wrap-1 .box__title {
  background-color: #FFF;
  border: 1px solid #8E5E45;
  box-shadow: 5px 5px 0 #8E5E45;
  width: 435px;
  max-width: 100%;
  height: 55px;
  margin: 0 5px 35px 0;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  display: -webkit-flex;
  display: flex;
  position: relative;
}
@media screen and (max-width: 767px) {
  .labo-howto .box-wrap-1 .box__title {
    box-shadow: 4px 4px 0 #8E5E45;
    font-size: 18px;
    height: 45px;
    margin: 0 4px 25px 0;
  }
}
.labo-howto .box-wrap-1 .box__title::before, .labo-howto .box-wrap-1 .box__title::after {
  content: "";
  border-style: solid;
  border-width: 5px 0 5px 5px;
  border-color: transparent transparent transparent #8E5E45;
  width: 0;
  height: 0;
  position: absolute;
}
.labo-howto .box-wrap-1 .box__title::before {
  border-width: 5px 0 5px 5px;
  top: 0;
  right: -6px;
}
@media screen and (max-width: 767px) {
  .labo-howto .box-wrap-1 .box__title::before {
    border-width: 4px 0 4px 4px;
    right: -5px;
  }
}
.labo-howto .box-wrap-1 .box__title::after {
  border-width: 4px 0 4px 4px;
  bottom: -6px;
  left: 1px;
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .labo-howto .box-wrap-1 .box__title::after {
    border-width: 3px 0 3px 3px;
    bottom: -5px;
  }
}
.labo-howto .box-wrap-1 .box__title .label {
  margin: auto;
}
.labo-howto .box-wrap-1 .box__text {
  margin-top: 30px;
  text-align: justify;
}
.labo-howto .box-wrap-1 .box p + p {
  margin-top: 30px;
}
.labo-howto .tab-list {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
.labo-howto .tab-list li {
  background-color: #C7AB9C;
  border-radius: 5px 5px 0 0;
  width: 300px;
  height: 50px;
  margin: 0 20px;
  padding: 0 10px;
  color: #FFF;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.18em;
  display: block;
  display: -webkit-flex;
  display: flex;
  transition: 0.3s;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .labo-howto .tab-list li {
    width: 100%;
    height: 55px;
    margin: 0 5px;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0.12em;
  }
}
.labo-howto .tab-list li.select {
  background-color: #8E5E45;
}
.labo-howto .tab-list li .label {
  margin: auto;
}
.labo-howto .content-block {
  background-color: #FFF;
  border: 2px solid #8E5E45;
  padding: 60px 50px 80px;
}
@media screen and (max-width: 767px) {
  .labo-howto .content-block {
    padding: 40px 15px 40px;
  }
}
.labo-howto .block__title {
  margin: 0 auto 50px;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.18em;
}
@media screen and (max-width: 767px) {
  .labo-howto .block__title {
    margin-bottom: 30px;
    font-size: 18px;
    letter-spacing: 0.12em;
    overflow: hidden;
  }
}
.labo-howto .block__title .label {
  margin: auto;
  position: relative;
  display: inline-block;
}
.labo-howto .block__title .label::before {
  content: "";
  border-bottom: 1px solid #8E5E45;
  height: 1px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -75px;
  right: -75px;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .labo-howto .block__title .label::before {
    left: -40px;
    right: -40px;
  }
}
.labo-howto .block__title .label-inner {
  background-color: #FFF;
  padding: 0 20px;
  display: inline-block;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .labo-howto .block__title .label-inner {
    padding: 0 15px;
  }
}
.labo-howto .block__text {
  text-align: center;
}
.labo-howto__wrap-2 {
  margin: 70px auto 0;
}
.labo-howto__wrap-2 .box {
  width: 100%;
  margin: 30px 0 0;
}
@media screen and (max-width: 767px) {
  .labo-howto__wrap-2 .box {
    margin-top: 30px;
  }
}
.labo-howto__wrap-2 .box__head {
  background: #8E5E45;
  padding: 4px 25px;
  color: #FFF;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.18em;
  position: relative;
  display: -webkit-flex;
  display: flex;
}
@media screen and (max-width: 767px) {
  .labo-howto__wrap-2 .box__head {
    padding: 4px 15px;
    font-size: 17px;
    letter-spacing: 0.1em;
  }
}
.labo-howto__wrap-2 .box__head::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 9px 0 9px;
  border-color: #FFF transparent transparent transparent;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .labo-howto__wrap-2 .box__head::after {
    border-width: 10px 6px 0 6px;
    right: 15px;
  }
}
.labo-howto__wrap-2 .box__head .label {
  margin: auto;
}
.labo-howto__wrap-2 .box__content {
  margin: 50px auto 0;
  padding: 20px 0 35px;
}
@media screen and (max-width: 767px) {
  .labo-howto__wrap-2 .box__content {
    margin-top: 30px;
  }
}
.labo-howto__wrap-2 .box .content-wrap {
  border: 1px solid #69ADB4;
  padding: 50px 40px 85px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .labo-howto__wrap-2 .box .content-wrap {
    padding: 50px 20px 60px;
  }
}
.labo-howto__wrap-2 .box .content__head {
  margin: auto;
  padding: 0 30px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.18em;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .labo-howto__wrap-2 .box .content__head {
    padding: 0 20px;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.12em;
  }
}
.labo-howto__wrap-2 .box .content__head .label {
  background-color: #FFF;
  padding: 0 10px 8px;
  position: relative;
  display: inline-block;
}
.labo-howto__wrap-2 .box .content__head .label::after {
  content: "";
  border-bottom: 2px solid #8E5E45;
  position: absolute;
  bottom: 0;
  left: 10px;
  right: 10px;
}
.labo-howto__wrap-2 .box__flex {
  margin: 50px -30px 0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .labo-howto__wrap-2 .box__flex {
    margin: 40px auto 0;
  }
}
.labo-howto__wrap-2 .box__item {
  border-bottom: 1px dotted #8E5E45;
  width: 300px;
  margin: 0 30px;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.18em;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .labo-howto__wrap-2 .box__item {
    margin: 20px auto 0;
    font-size: 16px;
  }
  .labo-howto__wrap-2 .box__item:first-child {
    margin-top: 0;
  }
}
.labo-howto__wrap-2 .box__btn {
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  -moz-transform: translateY(50%);
  -ms-transform: translateY(50%);
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
}
@media screen and (max-width: 767px) {
  .labo-howto__wrap-2 .box__btn {
    padding: 0 10px;
  }
}

.labo-reserve {
  background-color: #8E5E45;
  padding: 70px 0 100px;
}
@media screen and (max-width: 767px) {
  .labo-reserve {
    padding: 40px 0 50px;
  }
}
.labo-reserve__text {
  margin: 35px auto 0;
  color: #FFF;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .labo-reserve__text {
    text-align: justify;
  }
}
.labo-reserve__btn {
  margin: 35px auto 0;
}
.labo-reserve__tel {
  margin: 35px auto 0;
  color: #FFF;
  text-align: center;
  line-height: 1.0;
}
.labo-reserve .tel__head {
  margin: 0 10px 0 0;
  font-size: 26px;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .labo-reserve .tel__head {
    margin-right: 6px;
    font-size: 20px;
    letter-spacing: 0.1em;
  }
}
.labo-reserve .tel__number {
  font-size: 35px;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .labo-reserve .tel__number {
    font-size: 26px;
    letter-spacing: 0.15em;
  }
}

.main-blog .blog-head {
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .main-blog .blog-head {
    margin-bottom: 30px;
  }
}
.main-blog .archive-title {
  margin-bottom: 55px;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .main-blog .archive-title {
    margin-bottom: 40px;
    font-size: 18px;
  }
}
.main-blog .nopost {
  font-size: 16px;
  text-align: center;
}

.p-article .img-wrap {
  position: relative;
}
.p-article .article__img {
  background-image: url("img/noimg_1.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  padding-bottom: 65%;
  position: relative;
}
.p-article .article__img .article__cat {
  position: absolute;
  bottom: 0;
  right: 0;
}
.p-article .article__cat {
  background: #69ADB4;
  height: 30px;
  padding: 0 15px;
  color: #FFF;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  line-height: 30px;
  letter-spacing: 0.2em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-article .article__cat {
    height: 20px;
    padding: 0 5px;
    font-size: 10px;
    line-height: 20px;
    letter-spacing: 0.1em;
  }
}
.p-article .text-wrap {
  width: 100%;
  padding: 25px 0 0;
}
@media screen and (max-width: 767px) {
  .p-article .text-wrap {
    padding: 20px 0 0;
  }
}
.p-article .article__meta {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
.p-article .article__date {
  color: #8B5D45;
  font-family: "obvia", sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.0;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-article .article__date {
    font-size: 10px;
  }
}
.p-article .article__title {
  margin: 12px 0 0;
  color: #8B5D45;
  font-size: 16px;
  font-weight: bold;
  text-align: justify;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-article .article__title {
    margin-top: 5px;
    font-size: 14px;
  }
}

.p-article-latest {
  margin: 0 auto 50px;
}
@media screen and (max-width: 767px) {
  .p-article-latest {
    margin-bottom: 30px;
  }
}
.p-article-latest .p-article {
  width: 100%;
  margin: 0 auto;
  display: -webkit-flex;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-article-latest .p-article {
    max-width: 500px;
    -webkit-flex-direction: column;
    flex-direction: column;
    position: relative;
  }
}
.p-article-latest .p-article .img-wrap {
  width: 600px;
  max-width: 100%;
  min-width: 600px;
}
@media screen and (max-width: 767px) {
  .p-article-latest .p-article .img-wrap {
    min-width: 0;
  }
}
.p-article-latest .p-article .article__img .article__cat {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-article-latest .p-article .article__img .article__cat {
    display: inline-block;
  }
}
.p-article-latest .p-article .text-wrap {
  padding: 0 0 0 60px;
}
@media screen and (max-width: 767px) {
  .p-article-latest .p-article .text-wrap {
    padding: 20px 0 0;
  }
  .p-article-latest .p-article .text-wrap .article__cat {
    display: none;
  }
}
.p-article-latest .p-article .icon-new {
  margin: 34px 0 45px;
}
@media screen and (max-width: 767px) {
  .p-article-latest .p-article .icon-new {
    display: none;
  }
}
.p-article-latest .p-article .article__title {
  margin: 20px 0 0;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .p-article-latest .p-article .article__title {
    margin-top: 10px;
  }
}
.p-article-latest .p-article .article__cat {
  height: 33px;
  margin: 0 0 0 18px;
  font-size: 16px;
  line-height: 33px;
  letter-spacing: 0.2em;
}

.p-article-list {
  margin: -40px -20px 0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-article-list {
    margin: -20px -10px 0;
  }
}
.p-article-list .p-article {
  width: 300px;
  margin: 40px 20px 0;
}
@media screen and (max-width: 767px) {
  .p-article-list .p-article {
    width: 50%;
    margin: 20px 0 0;
    padding: 0 10px;
  }
  .p-article-list .p-article .article__img {
    width: 100%;
    min-width: 100%;
  }
  .p-article-list .p-article .article__date {
    font-size: 12px;
  }
  .p-article-list .p-article .article__title {
    margin: 10px 0 0;
    font-size: 12px;
  }
}
.p-article-list.-type-2 {
  margin: -40px -30px 0;
}
.p-article-list.-type-2 .p-article {
  width: 200px;
  margin: 40px 30px 0;
}
.p-article-list.-type-2 .p-article .article__img {
  padding-bottom: 70%;
}
.p-article-list.-type-2 .p-article .article__img .article__cat {
  height: 30px;
  font-size: 13px;
  line-height: 30px;
}
.p-article-list.-type-2 .p-article .text-wrap {
  padding-top: 20px;
}
.p-article-list.-type-3 {
  margin: -40px -23px 0;
}
@media screen and (max-width: 767px) {
  .p-article-list.-type-3 {
    margin: -20px -10px 0;
  }
}
.p-article-list.-type-3 .p-article {
  width: 210px;
  margin: 40px 23px 0;
}
.p-article-list.-type-3 .p-article .article__img {
  background-image: url("img/noimg_2.png");
  padding-bottom: 66.66%;
}
.p-article-list.-type-3 .p-article .article__cat {
  display: none;
}
.p-article-list.-type-3 .p-article .text-wrap {
  padding-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-article-list.-type-3 .p-article {
    width: 50%;
    margin: 20px 0 0;
    padding: 0 10px;
  }
  .p-article-list.-type-3 .p-article .article__img {
    width: 100%;
    min-width: 100%;
  }
  .p-article-list.-type-3 .p-article .text-wrap {
    padding: 15px 0 0;
  }
}
.p-article-list.-wht .p-article .article__date {
  color: #FFF;
}
.p-article-list.-wht .p-article .article__title {
  color: #FFF;
}

.p-article-list--side .p-article {
  width: 100%;
  padding: 0;
  margin: 30px 0 0;
  display: -webkit-flex;
  display: flex;
}
.p-article-list--side .p-article .article__img {
  width: 90px;
  min-width: 90px;
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .p-article-list--side .p-article .article__img {
    width: 120px;
    min-width: 120px;
    padding-bottom: 65%;
  }
}
.p-article-list--side .p-article .article__img .article__cat {
  display: none;
}
.p-article-list--side .p-article .icon--visited {
  display: none;
}
.p-article-list--side .p-article .text-wrap {
  width: 100%;
  padding: 0 0 0 15px;
}
.p-article-list--side .p-article .text-wrap .article__cat {
  display: none;
}
.p-article-list--side .p-article .article__meta {
  display: none;
}
.p-article-list--side .p-article .article__tag {
  display: none;
}
.p-article-list--side .p-article .article__title {
  margin-top: 5px;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
.p-article-list--side.-ranking .p-article {
  margin-top: 30px;
}
.p-article-list--side.-ranking .p-article:first-child {
  padding: 0 20px;
  margin-bottom: 30px;
  -webkit-flex-direction: column;
  flex-direction: column;
}
.p-article-list--side.-ranking .p-article:first-child .img-wrap {
  width: 100%;
  height: auto;
}
.p-article-list--side.-ranking .p-article:first-child .article__img {
  width: 100%;
  padding-bottom: 60%;
}
.p-article-list--side.-ranking .p-article:first-child .text-wrap {
  padding: 10px 0 0;
  margin-top: 0;
  -webkit-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

.p-category-list {
  background-color: #8E5E45;
  width: 100%;
  margin: 0 auto 60px;
  padding: 15px 20px;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-category-list {
    margin-bottom: 40px;
    padding: 15px;
  }
}
.p-category-list .category-list {
  margin: 0 auto;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-category-list .category-list {
    margin: -10px auto 0;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.p-category-list li {
  margin: 0;
  line-height: 1.0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-category-list li {
    margin: 10px 0 0;
  }
}
.p-category-list li::before {
  content: "";
  border-right: 1px solid #e7e3e2;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}
.p-category-list li::after {
  content: "";
  border-right: 1px solid #e7e3e2;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
}
.p-category-list li:first-child::before {
  content: none;
}
.p-category-list li:last-child::after {
  content: none;
}
.p-category-list li a {
  padding: 0 25px;
  color: #FFF;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  line-height: 25px;
  letter-spacing: 0.2em;
  word-wrap: nowrap;
  display: inline-block;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-category-list li a {
    min-width: 0;
    padding: 0 12px;
    font-size: 12px;
    line-height: 20px;
    letter-spacing: 0.2em;
  }
}

.main-blog-single .yarpp-related {
  margin: 0;
}

.p-related {
  padding: 0 0 90px;
}
.p-related__head {
  margin: 0 auto 50px;
  color: #8E5E45;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  line-height: 1.8;
  letter-spacing: 0.12em;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-related {
    display: none;
  }
}

.p-blog-single {
  padding: 0 0 70px;
}
@media screen and (max-width: 767px) {
  .p-blog-single {
    padding: 0;
  }
}

.p-article-single .article__cat {
  background: #69ADB4;
  height: 36px;
  padding: 0 15px;
  color: #FFF;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 36px;
  letter-spacing: 0.2em;
  white-space: nowrap;
  display: inline-block;
}
.p-article-single .article__date {
  margin: 20px 0 0;
  color: #8B5D45;
  font-family: "obvia", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.0;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .p-article-single .article__date {
    font-size: 10px;
  }
}
.p-article-single .article__title {
  border-bottom: 3px solid #8B5D45;
  margin: 20px 0 0;
  padding: 0 0 10px;
  color: #8B5D45;
  font-size: 22px;
  font-weight: bold;
  text-align: justify;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-article-single .article__title {
    margin-bottom: 15px;
    font-size: 18px;
  }
}
.p-article-single .article__meta-2 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}
.p-article-single .article__content {
  margin: 40px 0 60px;
}
@media screen and (max-width: 767px) {
  .p-article-single .article__content {
    margin: 30px 0 40px;
  }
}
.p-article-single .article__back {
  margin: 30px 0 0;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-article-single .article__back {
    margin-top: 80px;
  }
}
.p-article-single .article__back .btn-back {
  border: 2px solid #8E5E45;
  border-radius: 60px;
  height: 60px;
  padding: 0 35px;
  font-size: 15px;
  font-weight: bold;
  line-height: 60px;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 767px) {
  .p-article-single .article__back .btn-back {
    height: 50px;
    font-size: 13px;
    line-height: 50px;
  }
}
.p-article-single .article__back .btn-back .label {
  padding-left: 50px;
  display: block;
  position: relative;
}
.p-article-single .article__back .btn-back .label::before {
  content: "";
  background-image: url("img/icon_arrow_2.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 17px;
  height: 13px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  -moz-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.p-single-nav {
  width: 100%;
  margin: 40px auto 0;
  display: table;
  table-layout: fixed;
}
@media screen and (max-width: 767px) {
  .p-single-nav {
    margin-top: 30px;
  }
}
.p-single-nav .nav-item {
  width: 50%;
  display: table-cell;
  vertical-align: middle;
}
.p-single-nav .nav-item span {
  background-size: 35px auto;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  min-height: 40px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-single-nav .nav-item span {
    background-size: 30px auto;
  }
}
.p-single-nav .nav-item a {
  padding: 0 20px;
  color: #8B5D45;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.6;
  display: inline;
  vertical-align: middle;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-single-nav .nav-item a {
    padding: 0 10px;
    font-size: 12px;
  }
}
.p-single-nav .nav-item a::before {
  content: "";
  background-image: url("img/icon_arrow_1.png");
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 40px;
  height: 40px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-single-nav .nav-item a::before {
    width: 30px;
    height: 30px;
    font-size: 14px;
    line-height: 28px;
  }
}
.p-single-nav .nav-item .next a {
  padding-left: 50px;
}
.p-single-nav .nav-item .next a::before {
  left: 0;
  -moz-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
@media screen and (max-width: 767px) {
  .p-single-nav .nav-item .next a {
    padding-left: 40px;
  }
}
.p-single-nav .nav-item .prev a {
  padding-right: 50px;
  margin: 0 0 0 auto;
  text-align: right;
}
.p-single-nav .nav-item .prev a::before {
  right: 0;
}
@media screen and (max-width: 767px) {
  .p-single-nav .nav-item .prev a {
    padding-right: 40px;
  }
}
.p-single-nav .single-nav__left {
  border-right: 1px solid #8B5D45;
}

@media screen and (max-width: 767px) {
  .p-blog-side {
    padding-top: 80px;
  }
}
.p-blog-side .side-block {
  margin: 50px 0 0;
}
@media screen and (max-width: 767px) {
  .p-blog-side .side-block {
    margin-top: 40px;
  }
}
.p-blog-side .side-block .block-head {
  border-bottom: 1px solid #7F5E4C;
  margin: 0 0 30px;
  color: #8E5E45;
  text-align: center;
  line-height: 50px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
.p-blog-side .side-block .block-head .en {
  font-family: "obvia", sans-serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.2em;
}
.p-blog-side .side-block .block-head .jp {
  width: 75px;
  padding: 3px 0 0;
  margin: 0 0 0 auto;
  font-size: 12px;
}
.p-blog-side .side-category {
  margin-top: 0;
}
.p-blog-side .side-category .block-head {
  margin-bottom: 5px;
}
.p-blog-side .side-category .category-list li {
  border-bottom: 1px dotted #8B5D45;
}
.p-blog-side .side-category .category-list li:first-child {
  margin-top: 0;
}
.p-blog-side .side-category .category-list li a {
  padding: 10px 15px 10px 10px;
  color: #8B5D45;
  font-size: 14px;
  text-align: left;
  line-height: 1.6;
  display: -webkit-flex;
  display: flex;
  position: relative;
}
.p-blog-side .side-category .category-list li a .label {
  padding: 0 15px 0 0;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.p-blog-side .side-category .category-list li a .count {
  min-width: 40px;
  margin: 0 0 0 auto;
  text-align: right;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-blog-side .side-category .category-list li a {
    font-size: 13px;
  }
}
.p-blog-side .side-search {
  margin-top: 25px;
}
.p-blog-side .side-search .searchform {
  line-height: 1.0;
  display: -webkit-flex;
  display: flex;
}
.p-blog-side .side-search .searchform label {
  display: none;
}
.p-blog-side .side-search .searchform input[type="text"] {
  border: 1px solid #8B5D45;
  border-right: none;
  border-radius: 3px 0 0 3px;
  width: 100%;
  height: 30px;
  padding: 0 13px 0 10px;
  margin: 0 -3px 0 0;
  font-family: inherit;
  font-size: 12px;
  line-height: 28px;
  letter-spacing: 0;
}
.p-blog-side .side-search .searchform input:placeholder-shown {
  color: #C5AEA2;
  letter-spacing: 0.1em;
}
.p-blog-side .side-search .searchform input::-webkit-input-placeholder {
  color: #C5AEA2;
  letter-spacing: 0.1em;
}
.p-blog-side .side-search .searchform input:-moz-placeholder {
  color: #C5AEA2;
  letter-spacing: 0.1em;
  opacity: 1;
}
.p-blog-side .side-search .searchform input::-moz-placeholder {
  color: #C5AEA2;
  letter-spacing: 0.1em;
  opacity: 1;
}
.p-blog-side .side-search .searchform input:-ms-input-placeholder {
  color: #C5AEA2;
  letter-spacing: 0.1em;
}
.p-blog-side .side-search .searchform button {
  background: #8B5D45;
  border: none;
  border-radius: 3px;
  border-radius: 0 3px 3px 0;
  width: 30px;
  height: 30px;
  padding: 0;
  cursor: pointer;
}
.p-blog-side .side-search .search__img {
  margin: 0 -8px 0 0;
}
@media screen and (max-width: 767px) {
  .p-blog-side .side-search .search__img {
    text-align: center;
  }
}
.p-blog-side .side-latest {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .p-blog-side .side-latest {
    display: none;
  }
}
.p-blog-side .side-latest .p-article .article__meta-2 {
  display: none;
}
.p-blog-side .side-ranking .block-head {
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .p-blog-side .side-archive {
    display: none;
  }
}
.p-blog-side .side-archive .block-head {
  margin-bottom: 10px;
}
.p-blog-side .side-archive .archive-list > li {
  border-bottom: 1px dotted #8E5E45;
}
.p-blog-side .side-archive .archive-list > li .year {
  padding: 10px 5px;
  color: #8E5E45;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.15em;
  display: block;
  cursor: pointer;
  position: relative;
}
.p-blog-side .side-archive .archive-list > li .year:hover {
  opacity: 0.7;
  transition: 0.3s;
}
.p-blog-side .side-archive .archive-list > li .year::after {
  content: "";
  border: 5px solid transparent;
  border-top: 7px solid #69ADB4;
  width: 0;
  height: 0;
  margin: auto;
  position: absolute;
  right: 20px;
  top: 5px;
  bottom: 0;
}
.p-blog-side .side-archive .archive-list > li .year.mode_open::after {
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  top: -7px;
}
.p-blog-side .side-archive .archive-list > li .year > .count {
  display: none;
}
.p-blog-side .side-archive .archive-list > li ul {
  padding: 0 0 10px 25px;
  display: none;
}
.p-blog-side .side-archive .archive-list > li ul li {
  margin: 2px 0 0;
}
.p-blog-side .side-archive .archive-list > li ul li:first-child {
  margin-top: 0;
}
.p-blog-side .side-archive .archive-list > li ul li a {
  color: #8E5E45;
  font-size: 14px;
  line-height: 2.0;
}
.p-blog-side .side-archive .archive-list > li ul li a .count {
  margin: 0 0 0 2px;
  font-size: 14px;
  font-weight: normal;
}

div.sharedaddy .sd-block {
  display: -webkit-flex;
  display: flex;
}
div.sharedaddy h3.sd-title {
  margin: 0 20px 0 0;
}
div.sharedaddy .sd-content ul li {
  display: inline-block;
}

.p-404 {
  padding: 200px 0;
}
.p-404__text {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-404 {
    padding: 100px 0;
  }
  .p-404__text {
    font-size: 16px;
  }
}

.wp-pagenavi {
  clear: both;
  margin: 70px auto 0;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 1.0;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi {
    margin: 50px auto 0;
    font-size: 14px;
  }
}
.wp-pagenavi a,
.wp-pagenavi span {
  background: transparent;
  border: 1px solid #8E5E45;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  margin: 0 7px;
  color: #8E5E45;
  line-height: 38px;
  letter-spacing: 0;
  display: inline-block;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi a,
  .wp-pagenavi span {
    width: 30px;
    height: 30px;
    margin: 4px;
    line-height: 28px;
  }
}
.wp-pagenavi a:hover,
.wp-pagenavi .current {
  background: #6DAFBB;
  border: 1px solid #6DAFBB;
  color: #FFF;
  text-decoration: none;
  transition: 0.3s;
}
.wp-pagenavi span.extend {
  background: none;
  color: #8E5E45;
}
.wp-pagenavi .pages {
  display: none;
}
.wp-pagenavi .first,
.wp-pagenavi .last {
  display: none;
}
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
  position: relative;
}
.wp-pagenavi a.previouspostslink:hover,
.wp-pagenavi a.nextpostslink:hover {
  opacity: 0.7;
}
.wp-pagenavi a.previouspostslink {
  padding: 0  16px 0 6px;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi a.previouspostslink {
    padding: 0 9px 0 2px;
  }
}
.wp-pagenavi a.previouspostslink::before {
  -moz-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1);
}
.wp-pagenavi a.nextpostslink {
  padding: 0 7px 0 16px;
}
@media screen and (max-width: 767px) {
  .wp-pagenavi a.nextpostslink {
    padding: 0 7px 0 13px;
  }
}

.p-calendar__notice {
  margin: 10px 0 0 auto;
  color: #FFF;
  font-size: 11.5px;
  font-weight: bold;
  text-align: right;
  line-height: 1.0;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-calendar__notice {
    margin: 15px 0 0 auto;
  }
}
.p-calendar__sample {
  box-sizing: border-box;
  background-color: #B5D5D8;
  width: 34px;
  height: 22px;
  margin-right: 5px;
  line-height: 30px;
  display: inline-block;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .p-calendar__sample {
    width: 27px;
    height: 18px;
  }
}
.p-calendar__sample:not(:first-child) {
  margin-left: 40px;
}
.p-calendar__sample.close {
  background-color: #B5D5D8;
}
.p-calendar__edit-link {
  background-color: #c00079;
  width: 130px;
  height: 30px;
  margin: 0 auto;
  color: #FFF;
  font-weight: bold;
  text-align: center;
  line-height: 30px;
  letter-spacing: 0.2em;
  position: absolute;
  bottom: -40px;
  left: 0;
  right: 0;
}
.p-calendar__edit-link a {
  color: #ffffff;
  text-decoration: none;
  display: block;
}
.p-calendar__wrap {
  width: 410px;
}
@media screen and (max-width: 767px) {
  .p-calendar__wrap {
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
  }
}
.p-calendar__wrap:nth-child(2n) {
  margin-left: auto;
}
.p-calendar__head {
  margin: 0 auto 10px;
  color: #FFF;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-calendar__head {
    font-size: 15px;
    margin: 0 auto 13px;
  }
}
.p-calendar__box {
  width: 410px;
  margin: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-calendar__box {
    width: 100%;
  }
}
.p-calendar__content {
  padding: 0;
  margin: -4px;
  width: 410px;
  height: auto;
  text-align: center;
  overflow: hidden;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-calendar__content {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
}
.p-calendar__content li {
  box-sizing: border-box;
  background-color: #FFF;
  width: calc(14.2857% - 8px);
  padding: 10px 0 10px 4px;
  margin: 4px;
  color: #8E5E45;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.0;
  letter-spacing: 0.3em;
  list-style: none;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-calendar__content li {
    height: 26px;
    padding: 0;
    font-size: 12px;
    line-height: 26px;
    letter-spacing: 0.1em;
  }
}
.p-calendar__content .label {
  background-color: #8E5E45;
  color: #FFF;
}
.p-calendar__content .prev {
  background: #69ADB4;
  text-indent: -9999px;
  opacity: 0;
}
.p-calendar__content .next {
  background: #69ADB4;
  text-indent: -9999px;
  opacity: 0;
}
.p-calendar__content .close,
.p-calendar__content .option01 {
  background-color: #B5D5D8;
  color: #8E5E45;
}

.main-calendar-admin .p-calendar__head {
  color: #8E5E45;
  font-size: 16px;
}
.main-calendar-admin .p-calendar__wrap {
  background: none;
  margin: 0 auto;
  padding: 80px 0;
}
.main-calendar-admin .p-calendar__box {
  float: none;
  margin: 0 auto;
}
.main-calendar-admin .p-calendar__content {
  margin: 10px auto 0;
}
.main-calendar-admin .p-calendar__content .this_month {
  cursor: pointer;
}
.main-calendar-admin .p-calendar__control {
  width: 410px;
  height: auto;
  margin: 50px auto 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main-calendar-admin .p-calendar__control {
    width: 100%;
    max-width: 300px;
  }
}
.main-calendar-admin .p-calendar__control table {
  width: 410px;
}
@media screen and (max-width: 767px) {
  .main-calendar-admin .p-calendar__control table {
    width: 100%;
    max-width: 300px;
  }
}
.main-calendar-admin .p-calendar__control table td {
  padding: 0 15px;
  text-align: center;
  letter-spacing: 0.2em;
}
.main-calendar-admin .p-calendar__control table td a {
  border: 1px solid #c00079;
  color: #c00079;
}
.main-calendar-admin #calendar_form {
  width: 410px;
  height: auto;
  margin: 30px auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main-calendar-admin #calendar_form {
    width: 100%;
    max-width: 410px;
  }
}
.main-calendar-admin #calendar_form .comment_head {
  margin: 0 auto 10px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  line-height: 1.8;
}
.main-calendar-admin #calendar_form #cal_comment {
  width: 100%;
  height: 90px;
  padding: 5px 10px;
  line-height: 1.8;
}
.main-calendar-admin #calendar_form #submit {
  background-color: #c00079;
  border: none;
  padding: 10px 30px;
  margin: 0 auto;
  color: #FFF;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 0.2em;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
@media screen and (max-width: 1024px) {
  .pc-ipd {
    display: none !important;
  }
}
@media screen and (max-width: 990px) {
  .pc-lg {
    display: none !important;
  }
}
@media screen and (max-width: 640px) {
  .pc-sm {
    display: none !important;
  }
}
@media screen and (max-width: 374px) {
  .pc-xs {
    display: none !important;
  }
}

@media screen and (min-width: 835px) {
  .sp {
    display: none !important;
  }
}
@media screen and (min-width: 1025px) {
  .sp-ipd {
    display: none !important;
  }
}
@media screen and (min-width: 991px) {
  .sp-lg {
    display: none !important;
  }
}
@media screen and (min-width: 641px) {
  .sp-sm {
    display: none !important;
  }
}

.u-fn-hover {
  display: inline-block;
}
@media screen and (min-width: 835px) {
  .u-fn-hover {
    transition: all .2s;
  }
  .u-fn-hover:hover {
    opacity: .7;
  }
}

.u-pull--left {
  margin-left: calc(((100vw - 100%) / 2) * -1);
}
.u-pull--right {
  margin-right: calc(((100vw - 100%) / 2) * -1);
}

.en {
  font-family: "obvia", sans-serif;
  font-weight: 600;
  font-style: normal;
}
