@charset 'UTF-8';

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
  outline: 0;
}

body {
  line-height: 1;

  -webkit-text-size-adjust: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ol,
ul,
li {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  background: transparent;
  color: #000;
  font-size: 100%;
  text-decoration: none;
  vertical-align: baseline;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs
*/
hr {
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #ccc;
}

input,
select {
  vertical-align: middle;
}

img,
iframe {
  vertical-align: bottom;
}

th {
  text-align: left;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

/*!
 * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
.fa,
.fas,
.far,
.fal,
.fad,
.fab {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;

  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: auto;
}

.fa-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -0.0667em;
}

.fa-xs {
  font-size: 0.75em;
}

.fa-sm {
  font-size: 0.875em;
}

.fa-1x {
  font-size: 1em;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-6x {
  font-size: 6em;
}

.fa-7x {
  font-size: 7em;
}

.fa-8x {
  font-size: 8em;
}

.fa-9x {
  font-size: 9em;
}

.fa-10x {
  font-size: 10em;
}

.fa-fw {
  width: 1.25em;
  text-align: center;
}

.fa-ul {
  list-style-type: none;
  margin-left: 2.5em;
  padding-left: 0;
}

.fa-ul > li {
  position: relative;
}

.fa-li {
  position: absolute;
  left: -2em;
  width: 2em;
  line-height: inherit;
  text-align: center;
}

.fa-border {
  padding: 0.2em 0.25em 0.15em;
  border: solid 0.08em #eee;
  border-radius: 0.1em;
}

.fa-pull-left {
  float: left;
}

.fa-pull-right {
  float: right;
}

.fa.fa-pull-left,
.fas.fa-pull-left,
.far.fa-pull-left,
.fal.fa-pull-left,
.fab.fa-pull-left {
  margin-right: 0.3em;
}

.fa.fa-pull-right,
.fas.fa-pull-right,
.far.fa-pull-right,
.fal.fa-pull-right,
.fab.fa-pull-right {
  margin-left: 0.3em;
}

.fa-spin {
  animation: fa-spin 2s infinite linear;

  -webkit-animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  animation: fa-spin 1s infinite steps(8);

  -webkit-animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
  0% {
    transform: rotate(0deg);

    -webkit-transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);

    -webkit-transform: rotate(360deg);
  }
}

@keyframes fa-spin {
  0% {
    transform: rotate(0deg);

    -webkit-transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);

    -webkit-transform: rotate(360deg);
  }
}

.fa-rotate-90 {
  transform: rotate(90deg);

  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
  -webkit-transform: rotate(90deg);
}

.fa-rotate-180 {
  transform: rotate(180deg);

  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
  -webkit-transform: rotate(180deg);
}

.fa-rotate-270 {
  transform: rotate(270deg);

  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
  -webkit-transform: rotate(270deg);
}

.fa-flip-horizontal {
  transform: scale(-1, 1);

  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
  -webkit-transform: scale(-1, 1);
}

.fa-flip-vertical {
  transform: scale(1, -1);

  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(1, -1);
}

.fa-flip-both,
.fa-flip-horizontal.fa-flip-vertical {
  transform: scale(-1, -1);

  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
  -webkit-transform: scale(-1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical,
:root .fa-flip-both {
  -webkit-filter: none;
  filter: none;
}

.fa-stack {
  display: inline-block;
  position: relative;
  width: 2.5em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #fff;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
readers do not read off random characters that represent icons */
.fa-chevron-circle-right:before {
  content: "\f138";
}

.fa-circle:before {
  content: "\f111";
}

.fa-dot-circle:before {
  content: "\f192";
}

.fa-envelope:before {
  content: "\f0e0";
}

.fa-facebook-f:before {
  content: "\f39e";
}

.fa-instagram:before {
  content: "\f16d";
}

.fa-line:before {
  content: "\f3c0";
}

.fa-search:before {
  content: "\f002";
}

.fa-shopping-cart:before {
  content: "\f07a";
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;

  clip: rect(0, 0, 0, 0);
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;

  clip: auto;
}

/*!
 * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
@font-face {
  font-style: normal;
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  font-display: block;

  src: url("../webfonts/fa-solid-900.eot");
  src:
    url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"),
    url("../webfonts/fa-solid-900.woff2") format("woff2"),
    url("../webfonts/fa-solid-900.woff") format("woff"),
    url("../webfonts/fa-solid-900.ttf") format("truetype"),
    url("../webfonts/fa-solid-900.svg#fontawesome") format("svg");
}

.fa,
.fas {
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
}

/*!
 * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
@font-face {
  font-style: normal;
  font-weight: 400;
  font-family: "Font Awesome 5 Free";
  font-display: block;

  src: url("../webfonts/fa-regular-400.eot");
  src:
    url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"),
    url("../webfonts/fa-regular-400.woff2") format("woff2"),
    url("../webfonts/fa-regular-400.woff") format("woff"),
    url("../webfonts/fa-regular-400.ttf") format("truetype"),
    url("../webfonts/fa-regular-400.svg#fontawesome") format("svg");
}

.far {
  font-weight: 400;
  font-family: "Font Awesome 5 Free";
}

/*!
 * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
@font-face {
  font-style: normal;
  font-weight: 400;
  font-family: "Font Awesome 5 Brands";
  font-display: block;

  src: url("../webfonts/fa-brands-400.eot");
  src:
    url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"),
    url("../webfonts/fa-brands-400.woff2") format("woff2"),
    url("../webfonts/fa-brands-400.woff") format("woff"),
    url("../webfonts/fa-brands-400.ttf") format("truetype"),
    url("../webfonts/fa-brands-400.svg#fontawesome") format("svg");
}

.fab {
  font-weight: 400;
  font-family: "Font Awesome 5 Brands";
}

/*
#overview
色

サイト全体で使用している色一覧
*/
/*
#colors
色

@white #fff
@black #444444
@gray #626262
@beige #efeee3
@beige2 #e5e1cd
@blue #4098bc
@blue2 #4064bc
@sky #80c5db
@sky2 #eaf5f9
@gold #a69e4d
@yellow #fff100
@pink #f19ec2
@pink2 #aa5290
@red #e60012
*/
.interval5em > *:not(:last-child) {
  margin-bottom: 0.5em;
}

.interval10em > *:not(:last-child) {
  margin-bottom: 1em;
}

.interval15em > *:not(:last-child) {
  margin-bottom: 1.5em;
}

.interval20em > *:not(:last-child) {
  margin-bottom: 2em;
}

.interval25em > *:not(:last-child) {
  margin-bottom: 2.5em;
}

.interval30em > *:not(:last-child) {
  margin-bottom: 3em;
}

.interval35em > *:not(:last-child) {
  margin-bottom: 3.5em;
}

.interval40em > *:not(:last-child) {
  margin-bottom: 4em;
}

.interval45em > *:not(:last-child) {
  margin-bottom: 4.5em;
}

.interval50em > *:not(:last-child) {
  margin-bottom: 5em;
}

.bg-white {
  background-color: #fff;
}

.text-white {
  color: #fff;
}

.bg-black {
  background-color: #333;
}

.text-black {
  color: #333;
}

.bg-gray {
  background-color: #d8d8d8;
}

.text-gray {
  color: #d8d8d8;
}

.bg-beige {
  background-color: #ede5dc;
}

.text-beige {
  color: #ede5dc;
}

.bg-beige2 {
  background-color: #dddbc3;
}

.text-beige2 {
  color: #dddbc3;
}

.bg-blue {
  background-color: #3d9bd6;
}

.text-blue {
  color: #3d9bd6;
}

.bg-sky {
  background-color: #5bbee5;
}

.text-sky {
  color: #5bbee5;
}

.bg-sky2 {
  background-color: #eaf5f9;
}

.text-sky2 {
  color: #eaf5f9;
}

.bg-green {
  background-color: #667762;
}

.text-green {
  color: #667762;
}

.bg-green2 {
  background-color: #39876d;
}

.text-green2 {
  color: #39876d;
}

.bg-green3 {
  background-color: #469280;
}

.text-green3 {
  color: #469280;
}

.bg-pale-green {
  background-color: #f0f7f2;
}

.text-pale-green {
  color: #f0f7f2;
}

.bg-pale-green2 {
  background-color: rgba(80, 178, 128, 0.3);
}

.text-pale-green2 {
  color: rgba(80, 178, 128, 0.3);
}

.bg-red {
  background-color: #b4272d;
}

.text-red {
  color: #b4272d;
}

.bg-pink {
  background-color: #cd5073;
}

.text-pink {
  color: #cd5073;
}

.bg-pink2 {
  background-color: #ffa3a6;
}

.text-pink2 {
  color: #ffa3a6;
}

.bg-pink3 {
  background-color: #ffdfd6;
}

.text-pink3 {
  color: #ffdfd6;
}

/*
@mixin bgStripe($type: -45, $color1: #fff, $color2: #000, $interval: 4, $size: 10) {
	@if (type_of($type) == number) {
		$stripes: ();
		$width: 100% / $interval;

		@for $i from 1 through $interval {
			//$stripes: append();

			@if $i == 1 {
				$colorStripe: $color1;
			} @else {
				$colorStripe: $color2;
			}
			$widthStripe: $width * $i;
			$stripes: append($stripes, $colorStripe);
		}
		background: repeating-linear-gradient($type + deg, $stripes);
	}
	background-size: $size + px $size + px;
}
*/
.xl {
  display: none;
}

.lg {
  display: none;
}

.md {
  display: none;
}

.sm {
  display: none;
}

.xs {
  display: none;
}

body {
  background-color: #fff;
  color: #333;
  font-weight: bold;
  font-size: 16px;
  font-family:
    "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  word-wrap: break-word;
  transition: background-color 0.5s;
}

.textLeft {
  text-align: left;
}

.textRight {
  text-align: right;
}

.textCenter {
  text-align: center;
}

.textJustify {
  text-align: justify;

  text-justify: inter-ideograph;
}

.weightBold {
  font-weight: bold;
}

.text-common {
  font-size: 13px;
  line-height: 2.3;
}

.textMarker {
  background: linear-gradient(
    to bottom,
    transparent 0,
    transparent 50%,
    rgba(102, 119, 98, 0.25) 50%,
    rgba(102, 119, 98, 0.25) 100%
  );
}

.text-underline {
  text-decoration: underline;
}

html,
body {
  height: 100%;

  scroll-padding-top: 99px;
}

.wrapper {
  min-height: 100vh;
}

.wrap-1column {
  display: flex;
  justify-content: center;
}

.wrap-2column {
  display: flex;
  flex-flow: row-reverse nowrap;
  justify-content: space-between;
}

.main-column {
  width: 820px;
}

.orders.single .main-column,
.post.single .main-column {
  width: 675px;
}

.sidebar {
  width: 200px;
}

.orders.single .sidebar,
.post.single .sidebar {
  width: 260px;
}

.wrap {
  min-height: calc(100vh - 327px);
}

.index .wrap {
  padding: 60px 0;
}

.products .wrap,
.orders .wrap {
  padding: 100px 0;
}

.store .wrap,
.news .wrap,
.orders .wrap {
  padding: 100px 0 60px;
}

.contact .wrap,
.staff .wrap,
.orders.single .wrap,
.color .wrap,
.fabric .wrap,
.leather .wrap,
.option .wrap,
.faq .wrap,
.maker-maintenance .wrap,
.self-maintenance .wrap {
  padding: 30px 0 100px;
}

.shopping-guide .wrap,
.privacypolicy .wrap,
.blog .wrap,
.post.single .wrap,
.usces-cart .wrap {
  padding: 50px 0 100px;
}

.faq .inner {
  padding: 0 35px;
}

.shopping-guide .inner {
  padding: 0 25px;
}

.staff .inner {
  padding: 0 15px;
}

.news.single .inner,
.blog.single .inner {
  padding: 0 250px;
}

.orders.single .inner {
  padding: 0 15px;
}

.privacypolicy .inner {
  padding: 0 75px;
}

.section-history1 .inner {
  padding: 0 170px;
}

.contact .inner {
  padding: 0 267px;
}

.self-maintenance .inner,
.maker-maintenance .inner {
  padding: 0 250px;
}

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

.flexCenter {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
}

.flexLeft {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}

.flexRight {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.fullWidth {
  width: 100%;
  min-width: 1080px;
}

.contents {
  width: 1080px;
  margin-right: auto;
  margin-left: auto;
}

.header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 6;
  padding: 15px 25px;
  background-color: rgba(102, 119, 98, 0.9);
  color: #fff;
}

.wrap-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.wrap-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}

.wrap-logo span {
  padding-left: 2em;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.wrap-logo img,
.wrap-logo .desvg {
  width: 120px;
  height: 69px;
}

.wrap-logo img path,
.wrap-logo .desvg path {
  fill: #fff;
}

.inner-header {
  display: flex;
  align-items: center;
  padding: 0 40px;
}

.inner-header p {
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.35em;
}

.inner-header p span {
  color: #b4272d;
}

.info-header {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  margin: 15px;
}

.info-header i {
  color: #fff;
}

.info-header > * {
  margin: 0 13px;
}

.header-search {
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  position: fixed;
  top: -100px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100px;
  background: rgba(102, 119, 98, 0.9);
  transition:
    opacity 0.5s,
    top 0.5s;
}

.inner-search {
  display: flex;
  width: 50vw;
}

.inner-search input[type="search"] {
  padding: 0.25em;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  background-color: rgba(102, 119, 98, 0.9);
  color: #fff;
}

.inner-search ::-webkit-input-placeholder {
  color: #fff;
}

.inner-search ::-moz-placeholder {
  color: #fff;
}

.inner-search :-ms-input-placeholder {
  color: #fff;
}

.inner-search ::-ms-input-placeholder {
  color: #fff;
}

.inner-search ::placeholder {
  color: #fff;
}

#search-input {
  display: none;
}

#search-input:checked ~ .header-search {
  opacity: 1;
  top: 0;
}

#search-open {
  position: relative;
  z-index: 9999;
  cursor: pointer;
}

.footer {
  position: relative;
  padding: 50px 0 10px;
  background-color: #667762;
}

.contact .footer {
  background-color: #d8d8d8;
}

.footer a {
  color: #fff;
}

.contact .footer a {
  color: #333;
}

.footer-inner {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0 65px;
}

.footer-btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px 40px;
  width: 100%;
  margin-bottom: 50px;
}

.footer-btn > li {
  width: calc((100% - 40px * 2) / 3);
  text-align: center;
}

.footer-btn > li:nth-child(1) span,
.footer-btn > li:nth-child(2) span {
  font-size: 18px;
}

.footer-btn > li:nth-child(3) span {
  font-size: 16px;
}

.footer-btn > li:nth-child(3) span span {
  margin-left: 0.25em;
  font-size: 11px;
}

.footer-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 290px;
  background-color: #fff;
  color: #667762;
}

.contact .footer-btn a {
  border: 1px solid #333;
}

.contact .footer-btn a:hover {
  border: 1px solid #333;
  background-color: #333;
  color: #fff;
}

.footer-btn i {
  font-size: 18px !important;
}

.footer-sns {
  display: flex;
  margin-bottom: 50px;
}

.footer-sns li {
  margin-right: 1.5em;
}

.footer-sns a {
  font-size: 18px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
}

.footer-link {
  display: flex;
  margin-bottom: 50px;
}

.footer-link li:not(:last-child):after {
  margin: 0 1em;
  color: #fff;
  font-size: 12px;
  content: "／";
}

.contact .footer-link li:not(:last-child):after {
  color: #333;
}

.footer-link a {
  font-size: 12px;
  letter-spacing: 0.08em;
}

.copyright {
  width: 100%;
  text-align: center;
}

.copyright small {
  color: #fff;
  font-size: 13px;
  line-height: 1.75;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.08em;
  text-indent: 0.08em;
}

.contact .copyright small {
  color: #333;
}

.fixed-link {
  display: flex;
  flex-flow: column nowrap;
  position: fixed;
  top: 200px;
  right: 20px;
  z-index: 1;
}

.usces-cart .fixed-link,
.contact .fixed-link {
  display: none;
}

.fixed-link > li {
  margin: 1em 0 0;
  font-size: 19px;
}

.fixed-link > li:nth-child(1),
.fixed-link > li:nth-child(2) {
  line-height: 1.5;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;

  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.fixed-link > li:nth-child(1):after,
.fixed-link > li:nth-child(2):after {
  margin: 0.5em 0 0;
  content: "/";
}

.fixed-link > li:nth-child(3),
.fixed-link > li:nth-child(4),
.fixed-link > li:nth-child(5) {
  padding: 0 0.25em;
}

.box-side:not(:last-child) {
  margin-bottom: 50px;
}

.box-side img {
  display: block;
  margin: 0 auto;
}

.head-side {
  position: relative;
  margin-bottom: 1em;
  padding: 0.75em 0;
  border-bottom: 1px solid rgba(102, 119, 98, 0.5);
  font-size: 22px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
}

.list-side > li {
  border-bottom: 1px solid rgba(102, 119, 98, 0.5);
}

.products .list-side > li > a,
.orders .list-side > li > a {
  font-size: 20px;
}

body:not(.products):not(.orders) .list-side > li > a {
  font-size: 15px;
}

.list-side > li a {
  display: block;
  position: relative;
  padding: 1em 0;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
  transition: 0.5s;
  /*

			&:hover {
				.products & {
					background-color: $color-main;
					opacity: 1;

					&:after {
						content: attr(data-j);
						padding: 0 0.5em;
						font-size: 75%;
						font-family: $notoserif;
						color: $color-white;
					}

					span {
						display: none;
					}
				}
			}
*/
}

.products .list-side > li a:after {
  padding: 0 0.5em;
  font-size: 60%;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  content: attr(data-j);
}

.products .list-side > li a:hover {
  opacity: 1;
  background-color: #667762;
  color: #fff;
}

.list-side-sub > span {
  display: block;
  position: relative;
  padding: 1em 0;
  font-size: 20px;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  cursor: pointer;
}

.list-side-sub > span:before {
  position: absolute;
  right: 0.5em;
  font-weight: bold;
  content: "＋";
}

.list-side-sub > span:after {
  margin-left: 1em;
  font-size: 60%;
  content: attr(data-j);
}

.list-side-sub > ul {
  display: none;
}

.list-side-sub > ul > li {
  border-top: 1px solid rgba(102, 119, 98, 0.5);
}

.list-side-sub.active > span:before {
  content: "－";
}

.list-side-sub.active > ul {
  display: block;
}

.list-side-latest li {
  padding: 1em 0;
}

.list-side-latest li:not(:last-child) {
  border-bottom: 1px solid #e6e6e6;
}

.list-side-latest time {
  display: block;
  margin-bottom: 0.5em;
  color: #808080;
  font-size: 12px;
}

.list-side-latest span {
  display: block;
  line-height: 1.75;
}

.list-side-category li {
  position: relative;
}

.list-side-category li:not(:last-child) {
  border-bottom: 1px solid #e6e6e6;
}

.list-side-category li:before {
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  transform: rotate(45deg);
  width: 0.4em;
  height: 0.4em;
  margin: auto;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  content: "";

  -webkit-transform: rotate(45deg);
}

.search-side {
  display: flex;
}

.search-side i {
  margin-right: 0.5em;
  color: #333;
}

.search-side input[type="search"] {
  padding: 0.25em;
  border: 1px solid #333;
}

/*
#overview
パンくず
*/
/*
#styleguide
パンくず

```
<ol class="breadcrumb">
	<li>
		<a href="">
			<span>トップ</span>
		</a>
	</li>
	<li>
		<a href="">
			<span>第1層目</span>
		</a>
	</li>
	<li>
		<a href="">
			<span>第２層目</span>
		</a>
	</li>
	<li>
		<span>第3層目</span>
	</li>
</ol>
```
*/
.wrap-breadcrumb {
  margin-bottom: 30px;
}

.breadcrumb {
  display: flex;
  padding: 1em 0;
  line-height: 1.5;
}

.breadcrumb li:not(:last-child):after {
  margin: 0 0.5em;
  font-size: 12px;
  content: "/";
}

.breadcrumb a,
.breadcrumb span {
  display: inline-block;
  font-size: 12px;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.breadcrumb a span:hover {
  color: #667762;
  text-decoration: underline;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime-local"],
input[type="number"],
input[type="range"],
input[type="color"],
input[type="radio"],
input[type="checkbox"],
input[type="submit"],
input[type="button"],
input[type="image"],
select,
button,
textarea,
progress {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  font-family:
    "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  outline: none;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* プレースホルダー */
::-webkit-input-placeholder {
  opacity: 0.3;
  color: #000;
}

::-moz-placeholder {
  opacity: 0.3;
  color: #000;
}

:-ms-input-placeholder {
  opacity: 0.3;
  color: #000;
}

::-ms-input-placeholder {
  opacity: 0.3;
  color: #000;
}

::placeholder {
  opacity: 0.3;
  color: #000;
}

/* 入力欄 */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime-local"],
input[type="number"],
input[type="range"] {
  width: 100%;
  padding: 0.35em 0.5em;
  border: 1px solid #667762;
  color: #333;
}

/* 入力欄 */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
input[type="password"],
textarea {
  background: #fff;
  font-size: 16px;
}

/* 日付 */
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime-local"] {
  font-size: 16px;
}

/* 数値 */
/* スピンボタン非表示*/
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  margin: 0;

  -webkit-appearance: none;
}

input[type="number"] {
  -moz-appearance: textfield;
}

/* レンジ */
/* カラーピッカー */
select {
  width: 100%;
  margin-right: 0.05em;
  padding: 0.5em 1em 0.5em 2em;
  border: 1px solid #eee;
  background:
    linear-gradient(-60deg, transparent 0, transparent 10px, #333 10px) no-repeat center left 15px/10px 15px,
    linear-gradient(60deg, transparent 10px, #333 10px) no-repeat center left 5px/10px 15px;
  font-size: 16px;
}

select::-ms-expand {
  display: none;
}

textarea {
  width: 100%;
  height: 300px;
  /* ieでスクロールバー非表示 */
  padding: 0.25em;
  overflow: hidden;
  border: 1px solid #667762;
}

input[type="submit"],
input[type="button"],
button {
  cursor: pointer;
}

form {
  /* radio カスタマイズ */
  /* radio カスタマイズ */
  /* checkbox カスタマイズ */
  /* checkbox カスタマイズ */
}

form input[type="radio"] {
  display: none;
}

form input[type="radio"] + span {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  cursor: pointer;
}

form input[type="radio"] + span:before {
  display: inline-block;
  margin-right: 0.5em;
  font-weight: 400;
  font-family: "Font Awesome 5 Free";
  content: "\f111";
}

form input[type="radio"]:checked + span:before {
  font-weight: 400;
  content: "\f192";
}

form input[type="checkbox"] {
  display: none;
}

form input[type="checkbox"] + span {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  cursor: pointer;
}

form input[type="checkbox"] + span:before {
  display: inline-block;
  margin-right: 0.5em;
  font-weight: 400;
  font-family: "Font Awesome 5 Free";
  content: "\f111";
}

form input[type="checkbox"]:checked + span:before {
  font-weight: 400;
  content: "\f192";
}

.main-visual {
  display: flex;
  flex-flow: row-reverse nowrap;
  position: relative;
  z-index: 2;
  width: 100%;
  max-height: calc(100vh - 99px);
  margin-left: auto;
  background-color: #fff;
}

.text-main {
  display: flex;
  position: relative;
  left: calc(50% - 350px);
  z-index: 2;
  margin-top: 60px;
  color: #fff;
  font-size: 32px;
  letter-spacing: 0.13em;

  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.text-main p span:nth-of-type(even) {
  margin-top: 2.3em;
}

.text-main.show {
  transition-delay: 0.5s;
}

.text-main p {
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.75);
  line-height: 1.5;
}

.scroll {
  display: block;
  position: absolute;
  bottom: 0;
  left: calc(50% -550px);
  z-index: 101;
  transform: translate(-40px, -50px) rotate(90deg);
  width: 150px;
  height: 20px;
  font-size: 12px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;

  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transform: translate(-40px, -50px) rotate(90deg);
}

.scroll span {
  display: block;
  color: #667762;
}

.scroll:after {
  display: block;
  opacity: 0.5;
  position: absolute;
  top: 40%;
  right: 0;
  width: 100px;
  height: 1px;
  background-color: #667762;
  content: "";
  animation: down 3s infinite ease-out;

  -webkit-animation: down 3s infinite ease-out;
}

@-webkit-keyframes down {
  0% {
    transform: scaleX(1);

    -webkit-transform: scaleX(1);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }

  15% {
    transform: scaleX(0);

    -webkit-transform: scaleX(0);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }

  50% {
    transform: scaleX(0);

    -webkit-transform: scaleX(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  70% {
    transform: scaleX(1);

    -webkit-transform: scaleX(1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  100% {
    transform: scaleX(1);

    -webkit-transform: scaleX(1);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }
}

@keyframes down {
  0% {
    transform: scaleX(1);

    -webkit-transform: scaleX(1);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }

  15% {
    transform: scaleX(0);

    -webkit-transform: scaleX(0);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }

  50% {
    transform: scaleX(0);

    -webkit-transform: scaleX(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  70% {
    transform: scaleX(1);

    -webkit-transform: scaleX(1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  100% {
    transform: scaleX(1);

    -webkit-transform: scaleX(1);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }
}

.page-main .contents {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 500px;
}

.history .page-main .contents {
  align-items: center;
  height: 800px;
}

.products .page-main {
  background: #667762 url(../images/main-products.jpg) no-repeat center center;
  background-size: cover;
}

.store .page-main {
  background: #667762 url(../images/main-store_2026.jpg) no-repeat center center;
  background-size: cover;
}

.news .page-main {
  background: #667762 url(../images/main-news.jpg) no-repeat center center;
  background-size: cover;
}

.blog .page-main {
  background: #667762 url(../images/main-blog.jpg) no-repeat center center;
  background-size: cover;
}

.orders .page-main {
  background: #667762 url(../images/main-orders.jpg) no-repeat center center;
  background-size: cover;
}

.contact .page-main {
  background: #667762 url(../images/main-contact.jpg) no-repeat center center;
  background-size: cover;
}

.privacypolicy .page-main {
  background: #667762 url(../images/main-privacypolicy.jpg) no-repeat center center;
  background-size: cover;
}

.maker-maintenance .page-main,
.self-maintenance .page-main {
  background: #667762 url(../images/main-maintenance.jpg) no-repeat center center;
  background-size: cover;
}

.history .page-main {
  background: #667762 url(../images/main-history.jpg) no-repeat center center;
  background-size: cover;
}

.about .page-main {
  position: relative;
}

.about .page-main .video {
  width: 100%;
  height: auto;
}

.about .page-main .video-btn {
  opacity: 0.25;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  cursor: pointer;
  transition: 1s;
}

.about .page-main .video-btn:hover {
  opacity: 1;
}

.head-main {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: flex-start;
  position: absolute;
  bottom: -90px;
  left: -170px;
  width: 550px;
  height: 200px;
  padding-left: 170px;
  background: #fff;
  font-size: 20px;
  letter-spacing: 0.04em;
  text-indent: 0.04em;
}

.head-main:before {
  margin-bottom: 0.25em;
  color: #a37c52;
  font-size: 50px;
  font-family: "Rozha One", "メイリオ", Meiryo, sans-serif;
  text-transform: uppercase;
}

.products .head-main:before {
  content: "products";
}

.store .head-main:before {
  content: "store";
}

.news .head-main:before {
  content: "news";
}

.blog .head-main:before {
  content: "blog";
}

.orders .head-main:before {
  content: "orders";
}

.contact .head-main:before {
  content: "contact";
}

.privacypolicy .head-main:before {
  content: "privacypolicy";
}

/*
#overview
ナビ
*/
/*
#styleguide
ナビ(pc)

```
<nav class="nav fullWidth">
	<ul class="global-nav">
		<li>
			<a href="">会社概要</a>
			<ul class="sub-menu">
				<li>
					<a href="">サイトマップ</a>
				</li>
			</ul>
		</li>
		<li>
			<a href="">採用情報</a>
		</li>
		<li>
			<a href="">事業案内</a>
		</li>
		<li>
			<a href="">お問い合わせ</a>
		</li>
	</ul>
</nav>
```
*/
.global-nav {
  display: flex;
  z-index: 2;
  width: 100%;
  margin: 1em 0 2em;
}

.global-nav > li {
  position: relative;
  margin: 0.25em 0;
  border-right: 1px solid #f8b500;
}

.global-nav > li:not(:last-child) {
  position: relative;
}

.global-nav > li:first-child,
.global-nav > li:last-child {
  display: none;
}

.global-nav > li:nth-child(2) {
  border-left: 1px solid #f8b500;
}

.global-nav > li:hover > a {
  opacity: 1;
  background: #667762;
  color: #fff;
}

.global-nav > li > a {
  display: block;
  padding: 0 0.5em;
  letter-spacing: 0.08em;
  text-align: center;
  text-indent: 0.08em;
}

.global-nav .sub-menu {
  display: block;
  visibility: hidden;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 2;
  border-top: 6px solid #fff;
  background: #667762;
}

.global-nav .sub-menu.active {
  visibility: visible;
}

.global-nav .sub-menu li {
  position: relative;
}

.global-nav .sub-menu li:not(:last-child) {
  border-bottom: 1px solid #fff;
}

.global-nav .sub-menu li a {
  display: block;
  width: 155px;
  padding: 1.25em;
  background: #667762;
  color: #fff;
  font-size: 12px;
  text-align: center;
}

/*
#styleguide
ナビ(モバイル)

```
<ul class="drawer-nav">
	<li>
		<a href="">会社概要</a>
		<ul class="sub-menu">
			<li>
				<a href="">サイトマップ</a>
			</li>
		</ul>
	</li>
	<li>
		<a href="">採用情報</a>
	</li>
	<li>
		<a href="">事業案内</a>
	</li>
	<li>
		<a href="">お問い合わせ</a>
	</li>
</ul>
```
*/
.drawer-nav {
  margin-bottom: 30px;
}

.drawer-nav > li {
  position: relative;
  margin: 0;
}

.drawer-nav > li:last-child {
  display: block;
}

.drawer-nav > li > a {
  position: relative;
  z-index: 1;
  padding: 1em 0;
  font-size: 14px;
}

.drawer-nav > li > a:before {
  margin-right: 0.25em;
  font-size: 23px;
  content: attr(data-title) " -";
}

.drawer-nav .sub-menu a {
  font-size: 16px;
}

.drawer-nav .sub-menu a:before {
  margin: 0 0.5em;
  content: "-";
}

.drawer-nav a {
  display: block;
  padding: 0.75em 0;
  color: #fff;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.drawer-sns {
  margin-bottom: 30px;
}

.drawer-sns a {
  display: block;
  padding: 1em 0;
  color: #fff;
  font-size: 16px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.box-search {
  display: flex;
  align-items: flex-end;
}

.box-search input[type="search"] {
  width: 160px;
  padding: 0.5em;
  border-bottom: 1px solid #fff;
  background-color: transparent;
  color: #fff;
}

.box-search i {
  color: #fff;
  font-size: 16px;
}

/*
#styleguide
ナビ(フッター)

```
<ul class="footer-nav">
	<li>
		<a href="">会社概要</a>
		<ul class="sub-menu">
			<li>
				<a href="">サイトマップ</a>
			</li>
		</ul>
	</li>
	<li>
		<a href="">採用情報</a>
	</li>
	<li>
		<a href="">事業案内</a>
	</li>
	<li>
		<a href="">お問い合わせ</a>
	</li>
</ul>
```
*/
.footer-nav {
  display: flex;
  flex-flow: column wrap;
  align-content: flex-end;
  position: relative;
  height: 135px;
  margin: 0 -2em;
}

.footer-nav > li {
  margin: 0.5em 2em;
}

.footer-nav > li > a {
  display: inline-block;
  min-width: 150px;
  font-weight: bold;
  font-size: 14px;
}

.footer-nav > li > a:before {
  margin-right: 0.5em;
  color: #a37c52;
  content: "-";
}

.footer-nav > li > a:after {
  content: none;
}

.footer-nav a {
  line-height: 2;
}

.company .footer-nav > li:nth-child(1) a {
  color: #333;
}

.products .footer-nav > li:nth-child(2) a {
  color: #333;
}

.case .footer-nav > li:nth-child(3) a {
  color: #333;
}

.process .footer-nav > li:nth-child(4) a {
  color: #333;
}

.news .footer-nav > li:nth-child(5) a {
  color: #333;
}

.recruit .footer-nav > li:nth-child(6) a {
  color: #333;
}

.csr .footer-nav > li:nth-child(7) a {
  color: #333;
}

.application .drawer-nav > li:nth-child(6) a:after {
  content: "";
}

.voice .drawer-nav > li:nth-child(6) a:after {
  content: "";
}

.entry .drawer-nav > li:nth-child(6) a:after {
  content: "";
}

.entry-confirm .drawer-nav > li:nth-child(6) a:after {
  content: "";
}

.entry-complete .drawer-nav > li:nth-child(6) a:after {
  content: "";
}

.application .footer-nav > li:nth-child(6) a {
  color: #333;
}

.voice .footer-nav > li:nth-child(6) a {
  color: #333;
}

.entry .footer-nav > li:nth-child(6) a {
  color: #333;
}

.entry-confirm .footer-nav > li:nth-child(6) a {
  color: #333;
}

.entry-complete .footer-nav > li:nth-child(6) a {
  color: #333;
}

/*　疑似要素テキスト　*/
.attrTextLeft:before,
.attrTextTop:before,
.attrTextBottom:after,
.attrTextRight:after {
  content: attr(data-text);
}

.attrTextLeft:before,
.attrTextRight:after {
  display: inline-block;
}

.attrTextTop:before,
.attrTextBottom:after {
  display: block;
}

/*　疑似要素テキスト　*/
/*　疑似要素アイコン　*/
.attrIconLeft:before,
.attrIconTop:before,
.attrIconBottom:after,
.attrIconRight:after {
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  content: attr(data-icon);
}

.attrIconTop:before,
.attrIconBottom:after {
  display: block;
}

.attrIconLeft:before,
.attrIconRight:after {
  display: inline-block;
}

/*　疑似要素アイコン　*/
#nav-drawer {
  position: relative;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display: none;
}

#nav-open {
  display: inline-block;
  position: relative;
  z-index: 10000;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  /*
		&:after {
			content: "MENU";
			position: absolute;
			bottom: 2vw;
			left: 0;
			right: 0;
			margin: auto;
			font-size: 2vw;
			font-weight: bold;
			color: $color-white;
			text-align: center;
		}
*/
}

#nav-open:after {
  position: absolute;
  bottom: -1.25em;
  left: -0.4em;
  font-size: 10px;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  content: "menu";
}

#nav-open span {
  position: absolute;
  right: 0;
  left: 0;
  width: 100%;
  height: 2px;
  margin: auto;
  background: #fff;
  transition: all 0.5s;
}

#nav-open span:nth-of-type(1) {
  top: 2px;
}

#nav-open span:nth-of-type(2) {
  top: 0;
  bottom: 0;
}

#nav-open span:nth-of-type(3) {
  bottom: 2px;
}

#nav-open:hover {
  cursor: pointer;
}

/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  z-index: 9998;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.8);
  transition: 0.3s ease-in-out;
}

#nav-content {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;
  transform: translateX(105%);
  width: 340px;
  max-width: 100%;
  height: 100vh;
  padding: 100px 50px;
  overflow: auto;
  background: #667762;
  transition: all 0.9s cubic-bezier(0.5, 0, 0, 1);

  -webkit-transform: translateX(105%);
}

.btn-close {
  display: none;
  margin: 40px;
  padding: 1em;
  background: #667762;
  color: #fff;
  text-align: center;
  cursor: pointer;
}

#nav-input:checked ~ #nav-open span {
  background: #fff;
}

#nav-input:checked ~ #nav-open span:nth-of-type(1) {
  transform: translateY(7px) rotate(-35deg);
  transition: all 0.5s;

  -webkit-transform: translateY(7px) rotate(-35deg);
}

#nav-input:checked ~ #nav-open span:nth-of-type(2) {
  opacity: 0;
}

#nav-input:checked ~ #nav-open span:nth-of-type(3) {
  transform: translateY(-7px) rotate(35deg);
  transition: all 0.5s;

  -webkit-transform: translateY(-7px) rotate(35deg);
}

#nav-input:checked ~ #nav-close {
  display: block;
  opacity: 0.5;
}

#nav-input:checked ~ #nav-content {
  transform: translateX(0);

  -webkit-transform: translateX(0);
}

/*
#overview
トップに戻る
*/
/*
#styleguide
トップに戻る

```
<div>
<a id="js-pagetop" class="pagetop" href="#top">
	<span></span>
</a>
</div>
```
*/
.pagetop {
  display: block;
  position: fixed;
  right: -100px;
  bottom: 0;
  z-index: 5;
  width: 50px;
  height: 50px;
  box-shadow: 0 0 2px rgba(255, 255, 255, 0.5);
  background: #667762;
  color: #fff;
  text-align: center;
  transition: 0.3s;
}

.pagetop:before {
  display: block;
  position: absolute;
  top: 10px;
  right: 0;
  bottom: 0;
  left: 0;
  transform: rotate(135deg);
  width: 22px;
  height: 22px;
  margin: auto;
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  content: "";

  -webkit-transform: rotate(135deg);
}

.pagetop.active {
  right: 0;
}

.list-num-period {
  counter-reset: cnt;
}

.list-num-period > li {
  list-style-position: inside;
  padding-left: 1.6em;
  text-indent: -0.6em;
  counter-increment: cnt;
}

.list-num-period > li:before {
  display: inline-block;
  margin-right: 0.5em;
  content: counter(cnt) ".";
}

.list-num-period .list-num-period {
  margin: 1em;
}

.list-num-period .list-num-period .list-num-period {
  margin: 1em;
}

.list-num-brackets > li {
  list-style-position: inside;
  margin-left: 2em;
  text-indent: -1em;
  counter-increment: cnt;
}

.list-num-brackets > li:before {
  display: inline-block;
  margin-right: 0.5em;
  content: counter(cnt) ")";
}

.list-caution > li {
  margin-left: 1em;
  text-indent: -1em;
}

.list-caution > li:before {
  content: "※";
}

.list-circle > li {
  margin-left: 1em;
  text-indent: -1em;
}

.list-circle > li:before {
  content: "●";
}

.list-circle-border > li {
  margin-left: 1em;
  text-indent: -1em;
}

.list-circle-border > li:before {
  content: "○";
}

.list-dot > li {
  margin-left: 1em;
  text-indent: -1em;
}

.list-dot > li:before {
  content: "・";
}

.list-item {
  display: flex;
  flex-flow: row wrap;
}

.list-item li:not(:last-child):after {
  margin: 0 0.25em;
  content: "　";
}

.list-dia > li {
  margin-left: 1.5em;
  text-indent: -1.5em;
}

.list-dia > li:before {
  margin-right: 0.5em;
  content: "◆";
}

.nav-link {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-bottom: 60px;
}

.link-prev,
.link-next,
.link-archive {
  flex: 1;
}

.link-prev a,
.link-next a,
.link-archive a {
  display: block;
  font-size: 14px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
}

.link-prev a,
.link-next a {
  position: relative;
}

.link-prev a:before,
.link-prev a:after,
.link-next a:before,
.link-next a:after {
  position: absolute;
  top: 0;
  bottom: 0;
  height: 1px;
  margin: auto;
  background-color: rgba(102, 119, 98, 0.5);
  content: "";
}

.link-prev {
  order: 1;
}

.link-prev a {
  padding: 1em 1em 1em 85px;
}

.link-prev a:before {
  left: 0;
  width: 75px;
}

.link-prev a:after {
  left: 0;
  transform: rotate(150deg);
  width: 10px;

  -webkit-transform: rotate(150deg);
  -webkit-transform-origin: 5px -1px;
  transform-origin: 5px -1px;
}

.link-next {
  order: 3;
}

.link-next a {
  padding: 1em 85px 1em 1em;
  text-align: right;
}

.link-next a:before {
  right: 0;
  width: 75px;
}

.link-next a:after {
  right: 0;
  transform: rotate(-150deg);
  width: 10px;

  -webkit-transform: rotate(-150deg);
  -webkit-transform-origin: 5px -1px;
  transform-origin: 5px -1px;
}

.link-archive {
  order: 2;
}

.link-archive a {
  padding: 1em;
  text-align: center;
}

/*
#overview
ページ送り
*/
/*
#styleguide
ページ送り

```
<ol class="pagination">
	<li>
		<a class="pager prev" href="">prev</a>
	</li>
	<li>
		<a class="pager" href="">1</a>
	</li>
	<li>
		<a class="pager" href="">2</a>
	</li>
	<li>
		<a class="pager current" href="">3</a>
	</li>
	<li>
		<a class="pager" href="">4</a>
	</li>
	<li>
		<a class="pager" href="">5</a>
	</li>
	<li>
		<a class="pager next" href="">next</a>
	</li>
</ol>
```
*/
.pagination {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

.pagination li {
  margin: 0 5px;
  font-size: 13px;
}

.pagination .pager {
  display: inline-block;
  min-width: 28px;
  border-radius: 2px;
  font-size: 17px;
  line-height: 28px;
  font-family: "futura-pt";
  text-align: center;
  /*
		&.pager-num,
		&.pager-first,
		&.pager-last {
			padding: 0 1em;
		}
*/
}

.pagination .pager i {
  color: #333;
  vertical-align: bottom;
}

.pagination .pager i:before {
  display: block;
  min-width: 28px;
  color: #d8d8d8;
  line-height: 28px;
  text-align: center;
}

.pagination .pager:hover,
.pagination .pager.pager-current {
  opacity: 1;
  background: #667762;
  color: #fff;
}

.pagination .pager:hover i:before,
.pagination .pager.pager-current i:before {
  color: #fff;
}

.page-numbers {
  display: flex;
}

.page-numbers .page-numbers {
  display: inline-block;
  width: 2em;
  margin: 0 0.5em;
  color: #667762;
  font-size: 15px;
  line-height: 2em;
  text-align: center;
  transition:
    color 0.5s,
    background-color 0.5s;
}

.page-numbers .page-numbers:not(.dots):not(.prev):not(.next) {
  border: 1px solid #667762;
}

.page-numbers .page-numbers:not(.dots):not(.prev):not(.next):hover {
  opacity: 1;
  background-color: #667762;
  color: #fff;
}

.page-numbers .page-numbers.current {
  background-color: #667762;
  color: #fff;
}

::-webkit-scrollbar {
  width: 4px;
}

::-webkit-scrollbar:hover {
  width: 10px;
}

::-webkit-scrollbar-track {
  border-radius: 2px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1);
}

::-webkit-scrollbar-thumb {
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
  background: #667762;
}

/*
#overview
ボタン
*/
a {
  color: #333;
}

a:hover {
  opacity: 0.7;
}

.hover-opacity1 a:hover {
  opacity: 1;
}

a[href^="tel:"] {
  pointer-events: none;
}

/*
#styleguide
ボタン

.btnです。
```
<a class="btn" href="#">ボタン</a>

<div class="flexCenter">
	<a class="btn-common" href="#">ボタン</a>
</div>
```
*/
/*
.btn-common,
input[type="submit"].btn-common {
	position: relative;
	display: block;
	padding: 1.25em 1.5em;
	color: $color-white;
	text-align: center;
	background: $color-main;
	border: 1px solid transparent;
	letter-spacing: 0.04em;
	text-indent: 0.04em;
	z-index: 1;
	transition: background-color 0.5s;

	@include media(pc) {
		width: 290px;
		font-size: 20px;
	}
	@include media(sp) {
		font-size: 4vw;
	}

	&.active,
	&:hover {
		color: $color-main;
		background: $color-white;
		border: 1px solid $color-main;
		opacity: 1;

		&:after {
			border-top: 1px solid $color-main;
			border-right: 1px solid $color-main;
		}
	}

	&.arrow {
		position: relative;

		&:after {
			content: "";
			position: absolute;
			top: 0;
			bottom: 0;
			right: 1em;
			margin: auto;
			display: inline-block;
			width: 0.5em;
			height: 0.5em;
			border-top: 1px solid #fff;
			border-right: 1px solid #fff;
			transform: rotate(45deg);
			vertical-align: 10%;
		}

		&.active,
		&:hover {
			&:after {
				border-top: 1px solid $color-main;
				border-right: 1px solid $color-main;
			}
		}
	}
}
*/
input.back_to_delivery_button,
input.back_to_customer_button,
input.back_cart_button,
input.checkout_button,
input.to_confirm_button,
input.to_deliveryinfo_button,
input.to_customerinfo_button,
input.continue_shopping_button,
.btn-common,
input.btn-common {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  min-width: 260px;
  height: 50px;
  padding: 0 1.5em;
  border: 1px solid #667762;
  background-color: #fff;
  color: #667762;
  font-weight: bold;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  text-indent: 0.05em;
  transition: 0.5s;
}

input.back_to_delivery_button.btn-contact,
input.back_to_customer_button.btn-contact,
input.back_cart_button.btn-contact,
input.checkout_button.btn-contact,
input.to_confirm_button.btn-contact,
input.to_deliveryinfo_button.btn-contact,
input.to_customerinfo_button.btn-contact,
input.continue_shopping_button.btn-contact,
.btn-common.btn-contact,
input.btn-common.btn-contact {
  border: 1px solid #e6e6e6;
  background-color: #e6e6e6;
}

input.back_to_delivery_button i,
input.back_to_customer_button i,
input.back_cart_button i,
input.checkout_button i,
input.to_confirm_button i,
input.to_deliveryinfo_button i,
input.to_customerinfo_button i,
input.continue_shopping_button i,
.btn-common i,
input.btn-common i {
  margin-right: 1em;
  font-size: 18px;
}

input.back_to_delivery_button:hover,
input.back_to_customer_button:hover,
input.back_cart_button:hover,
input.checkout_button:hover,
input.to_confirm_button:hover,
input.to_deliveryinfo_button:hover,
input.to_customerinfo_button:hover,
input.continue_shopping_button:hover,
.btn-common:hover,
input.btn-common:hover {
  opacity: 1;
  background-color: #667762;
  color: #fff;
}

.footer-btn input.back_to_delivery_button:hover,
.footer-btn input.back_to_customer_button:hover,
.footer-btn input.back_cart_button:hover,
.footer-btn input.checkout_button:hover,
.footer-btn input.to_confirm_button:hover,
.footer-btn input.to_deliveryinfo_button:hover,
.footer-btn input.to_customerinfo_button:hover,
.footer-btn input.continue_shopping_button:hover,
.footer-btn .btn-common:hover,
.footer-btn input.btn-common:hover {
  border: 1px solid #fff;
}

input.back_to_delivery_button.invert,
input.back_to_customer_button.invert,
input.back_cart_button.invert,
input.checkout_button.invert,
input.to_confirm_button.invert,
input.to_deliveryinfo_button.invert,
input.to_customerinfo_button.invert,
input.continue_shopping_button.invert,
.btn-common.invert,
input.btn-common.invert {
  background-color: #667762;
  color: #fff;
}

input.back_to_delivery_button.invert:hover,
input.back_to_customer_button.invert:hover,
input.back_cart_button.invert:hover,
input.checkout_button.invert:hover,
input.to_confirm_button.invert:hover,
input.to_deliveryinfo_button.invert:hover,
input.to_customerinfo_button.invert:hover,
input.continue_shopping_button.invert:hover,
.btn-common.invert:hover,
input.btn-common.invert:hover {
  background-color: #fff;
  color: #667762;
}

/*
.btn-archive {
	display: block;
	padding: 1.5em;
	font-weight: bold;
	color: $color-green;
	line-height: 1;
	text-align: center;
	background: $color-pale-green;
	text-indent: 0.1em;
	letter-spacing: 0.1em;
	transition: 0.5s;

	@include media(pc) {
		width: 190px;
		font-size: 11px;
	}
	@include media(sp) {
		font-size: 4vw;
	}

	&:hover {
		color: $color-white;
		background: $color-green;
		opacity: 1;
	}
}

.btn-form,
button.btn-form {
	position: relative;
	display: block;
	padding: 1em;
	color: $color-white;
	line-height: 1;
	text-align: center;
	border: 1px solid $color-main;
	background: $color-main;
	border-radius: 1.5em;

	@include media(pc) {
		margin: 0 auto;
		width: 320px;
		font-size: 16px;
	}
	@include media(sp) {
		width: 100%;
		font-size: 4vw;
	}

	&:after {
		content: "\f054";
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0.5em;
		margin: auto;
		display: inline-block;
		margin-right: 0.5em;
		height: 1em;
		font-weight: 700;
		font-family: $iconFont;
		color: $color-white;
	}
}
*/
.btn-line {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1em;
  border: 1px solid #667762;
  background-color: #667762;
  transition: 0.5s;
}

.btn-line .desvg {
  width: 45px;
  height: 45px;
  margin-right: 1em;
  transition: 0.5s;
}

.btn-line .desvg .cls-1 {
  fill: #fff;
}

.btn-line .desvg .cls-2 {
  fill: #667762;
}

.btn-line span {
  color: #fff;
  font-size: 13px;
  line-height: 1.75 !important;
}

.btn-line:hover {
  opacity: 1;
  background-color: #fff;
}

.btn-line:hover .desvg .cls-1 {
  fill: #667762;
}

.btn-line:hover .desvg .cls-2 {
  fill: #fff;
}

.icon-pc .btn-line:hover .desvg rect:nth-child(2) {
  fill: #fff;
}

.btn-line:hover span {
  color: #667762;
}

.icon-pc {
  margin-bottom: 20px;
}

.list-sns {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
}

.list-sns li {
  margin: 0 15px;
}

.list-sns a {
  display: flex;
  justify-content: center;
  align-items: center;
}

.list-sns i {
  display: inline-block;
  font-size: 18px;
  text-align: center;
  vertical-align: middle;
}

.twitter {
  background: #1da1f2;
}

.facebook {
  background: #1778f2;
}

.pocket {
  background: #f35;
}

.hatena {
  background: #00a4de;
}

.fa-hatena:before {
  font-weight: bold;
  font-family: Verdana;
  content: "B!";
}

/*
* object-fitのclassとie対応（ofi.js必要）
*/
.ofi-cover {
  object-fit: cover;
  font-family: "object-fit: cover;";

  -o-object-fit: cover;
}

.ofi-contain {
  object-fit: contain;
  font-family: "object-fit: contain;";

  -o-object-fit: contain;
}

.wrap-zoom {
  overflow: hidden;
}

.wrap-zoom > img {
  transition: 0.25s;
}

.wrap-zoom > img:hover {
  transform: scale(1.2);

  -webkit-transform: scale(1.2);
}

/*
#overview
タイトル
*/
/*
#styleguide
タイトル

```
<h2 class="head-common">タイトル</h2>
```
*/
/*
#styleguide
タイトル

```
<h3 class="head-common border">タイトル</h3>
```
*/
.wrap-head-common {
  margin-bottom: 3em;
  padding-bottom: 0.5em;
  background-color: #fff;
}

.wrap-history .wrap-head-common {
  background-color: transparent;
}

.page-main .wrap-head-common {
  width: 750px;
  margin-bottom: -70px;
  padding: 2em 0;
}

.about .contents > .wrap-head-common {
  position: relative;
  width: 750px;
  margin: -55px auto 3em;
  padding: 2em 0;
}

.wrap-head-common:after {
  display: block;
  width: 40px;
  height: 1px;
  margin: -0.5em auto 0;
  background-color: #667762;
  content: "";
}

.head-common:before {
  position: relative;
  font-size: 33px;
  line-height: 1.25;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}

.head-common {
  display: inline-block;
  position: relative;
  left: calc(50% + 3em);
  color: #667762;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}

.head-common:before {
  left: calc(-50% - 1.15em);
  margin-bottom: 0.5em;
  text-align: center;
}

.wrap-head-page {
  margin-bottom: 2.5em;
}

.head-page {
  font-weight: bold;
  font-size: 24px;
  line-height: 1.75;
  letter-spacing: 0.08em;
  text-align: center;
  text-indent: 0.08em;
}

.head-page:after {
  display: block;
  width: 60px;
  height: 1px;
  margin: 1em auto 0;
  background-color: #667762;
  content: "";
}

.title-section {
  position: relative;
  margin-bottom: 2em;
  padding: 0.5em 0;
  border-bottom: 1px solid #d8d8d8;
  font-weight: bold;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.products .title-section,
.application .title-section {
  color: #667762;
}

.news .title-section {
  margin-bottom: 1em;
}

.title-section:after {
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 4em;
  height: 1px;
  background-color: #667762;
  content: "";
}

.title-page {
  margin-bottom: 1.5em;
  color: #667762;
  font-weight: bold;
  font-size: 24px;
}

.case .title-page:before {
  display: block;
  margin-bottom: 0.25em;
  font-style: italic;
  font-size: 64px;
  font-family: "Arvo", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.05em;
  content: "0" counter(cnt);
}

.title-page:after {
  display: block;
  width: 60px;
  height: 1px;
  margin-top: 1em;
  background-color: #667762;
  content: "";
}

.title-page span {
  font-weight: bold;
  font-size: 66%;
}

.title-common {
  margin-bottom: 0.5em;
  font-size: 21px;
  line-height: 2;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.js-fadeInUp {
  opacity: 0;
  transform: translateY(50px);
  transition:
    opacity 2s,
    -webkit-transform 2s;
  transition:
    opacity 2s,
    transform 2s;
  transition:
    opacity 2s,
    transform 2s,
    -webkit-transform 2s;

  -webkit-transform: translateY(50px);
}

.js-fadeInUp1 {
  transition-delay: 0.1s;
}

.js-fadeInUp2 {
  transition-delay: 0.2s;
}

.js-fadeInUp3 {
  transition-delay: 0.3s;
}

.js-fadeInUp4 {
  transition-delay: 0.4s;
}

.js-fadeInUp5 {
  transition-delay: 0.5s;
}

.js-fadeInUp.show {
  opacity: 1;
  transform: translateY(0);

  -webkit-transform: translateY(0);
}

.js-fadeIn {
  opacity: 0;
  transition: opacity 2s;
}

.js-fadeIn.show {
  opacity: 1;
}

.js-zoomOut {
  transform: scale(1.1);
  transition: -webkit-transform 1.6s 0s cubic-bezier(0.86, 0, 0.07, 1);
  transition: transform 1.6s 0s cubic-bezier(0.86, 0, 0.07, 1);
  transition:
    transform 1.6s 0s cubic-bezier(0.86, 0, 0.07, 1),
    -webkit-transform 1.6s 0s cubic-bezier(0.86, 0, 0.07, 1);
  transition-delay: 0.25s;

  -webkit-transform: scale(1.1);
}

.js-zoomOut.show {
  transform: scale(1);

  -webkit-transform: scale(1);
}

/*
* details
*/
summary {
  display: block;
  list-style-image: none;
  cursor: pointer;
}

summary::-webkit-details-marker {
  display: none;
}

.swiper-container {
  width: calc(50% + 420px);
  margin-right: 0 !important;
}

.swiper-pagination {
  bottom: 0 !important;
  z-index: 4;
}

.swiper-pagination-bullet {
  opacity: 1 !important;
  margin: 0 10px !important;
  border-radius: 50% !important;
  background: #aeadad !important;
}

.swiper-pagination-bullet-active {
  background-color: #666 !important;
}

.swiper-pagination-bullet-active:after {
  display: block;
  position: absolute;
  top: -7px;
  left: -7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  content: "";
}

/*
.swiper-button-prev,
.swiper-button-next {
	background-color: rgba(0, 0, 0, 0.25);
	transition: background-color 0.5s;

	&:after {
		font-size: 20px;
		color: $color-white;
	}

	&:hover {
		background-color: rgba(0, 0, 0, 0.5);
	}

	@include media(md) {
		display: none !important;
	}
}
.swiper-button-prev {
	left: 0;
}
.swiper-button-next {
	right: 0;
}
*/
.index .swiper-slide img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

.orders.single .swiper-slide,
.post.single .swiper-slide {
  display: inline-block;
  width: auto !important;
}

.orders.single .swiper-slide img,
.post.single .swiper-slide img {
  width: auto;
  height: 550px;
}

/*

@import "./2_component/slick.scss";
@import "./2_component/icon.scss";
@import "./2_component/table.scss";
@import "./2_component/background.scss";


@import "./2_component/loading.scss";
@import "./2_component/faq.scss";
@import "./2_component/biz-cal.scss";
@import "./2_component/accordion.scss";

@import "./2_component/slider.scss";
@import "./2_component/attr.scss";
@import "./2_component/tab.scss";

@import "./2_component/calendar.scss";
*/
.loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10100;
  width: 100%;
  height: 100vh;
  background: white;
}

.loading img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 150px;
  height: auto;
  margin: auto;
  animation: bounce 2s ease-in-out forwards;
  animation-iteration-count: infinite;

  -webkit-animation: bounce 2s ease-in-out forwards;
  -webkit-animation-iteration-count: infinite;
}

@-webkit-keyframes bounce {
  0% {
    transform: scale(1);

    -webkit-transform: scale(1);
  }

  50% {
    transform: scale(1.1);

    -webkit-transform: scale(1.1);
  }
}

@keyframes bounce {
  0% {
    transform: scale(1);

    -webkit-transform: scale(1);
  }

  50% {
    transform: scale(1.1);

    -webkit-transform: scale(1.1);
  }
}

.section-staff-about,
.section-material,
.section-overview {
  border-bottom: 1px solid rgba(102, 119, 98, 0.5);
}

.wrap-greeting {
  position: relative;
}

.text-greeting {
  width: 700px;
}

.text-greeting p {
  font-size: 14px;
  line-height: 2;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
}

.img-greeting {
  position: absolute;
  right: 0;
}

.img-greeting:nth-of-type(1) {
  top: 0;
}

.img-greeting:nth-of-type(2) {
  top: 330px;
}

.img-greeting:nth-of-type(3) {
  top: 660px;
}

.img-greeting:nth-of-type(4) {
  top: 990px;
}

.wrap-president {
  padding-top: 2em;
  text-align: right;
}

.wrap-president p {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.08em;
}

.wrap-president p:last-child {
  font-size: 19px;
  letter-spacing: 0.25em;
}

.wrap-president p:last-child:after {
  margin-left: 1em;
  font-size: 14px;
  letter-spacing: 0.08em;
}

.section-staff-about {
  padding: 60px 0;
}

/*
.section-about {
	&:after {
		content: "";
		display: block;
		margin: 0 auto;
		width: 800px;
		height: 418px;
		background: url(../images/bg-about.jpg) no-repeat center center / cover;
	}

	@include media(lg) {
		&:after {
			width: 100%;
			height: 50vw;
			background: url(../images/bg-about.jpg) no-repeat center center / contain;
		}
	}
}
*/
.wrap-staff-about {
  width: 600px;
}

.text-staff-about p {
  font-size: 14px;
  line-height: 2;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.list-staff {
  display: flex;
  flex-flow: row wrap;
  margin: -15px -8px 80px;
}

div > .li-staff {
  width: 400px;
  height: 300px;
}

ul > .li-staff {
  width: 258px;
  height: 195px;
  margin: 15px 8px;
}

ul > .li-staff img {
  width: 100%;
  height: auto;
}

.li-staff a {
  display: block;
  position: relative;
}

.li-staff a:hover {
  opacity: 1;
}

.li-staff a:hover span {
  opacity: 1;
}

.li-staff span {
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.08em;
  text-indent: 0.08em;
  transition: opacity 1s;
}

.btn-blog {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 800px;
  height: 120px;
  border: 1px solid #667762;
}

.btn-blog .wrap-head-common {
  margin: 0;
}

.wrap-material {
  padding: 70px 0;
}

.box-material {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
}

.box-material:not(:last-child) {
  margin-bottom: 65px;
}

.box-material > div:nth-child(1) {
  width: 380px;
  text-align: center;
}

.box-material > div:nth-child(2) {
  width: 560px;
}

.box-material dt {
  margin-bottom: 1em;
  font-size: 13px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
}

.box-material dt:before {
  margin-right: 0.5em;
  font-size: 33px;
}

.box-material dd {
  font-size: 13px;
  line-height: 2.3;
}

.section-overview {
  padding: 60px 0;
}

.wrap-dl-overview {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
}

.wrap-dl-overview:not(:last-child) {
  margin-bottom: 3em;
}

.wrap-dl-overview:nth-child(1) {
  line-height: 2.5;
}

.wrap-dl-overview:nth-child(2) {
  line-height: 2;
}

.dl-overview {
  display: flex;
  width: 900px;
  font-size: 14px;
}

.dl-overview dt {
  width: 200px;
}

.dl-overview dd {
  width: 700px;
}

.section-googlemap {
  padding: 50px 0 100px;
}

.googlemap {
  width: 100%;
  margin-bottom: 30px;

  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}

.text-contact {
  margin-bottom: 50px;
  padding-left: 0.05em;
  font-size: 14px;
  line-height: 2.5;
  letter-spacing: 0.05em;
  text-align: center;
}

.text-contact > *:not(:last-child) {
  margin-bottom: 2.5em;
}

.wrap-table-dl > dl {
  display: flex;
  align-items: flex-start;
  width: 100%;
}

.wrap-table-dl > dl:not(:last-child) {
  margin-bottom: 20px;
}

.wrap-table-dl > dl > dt {
  font-size: 13px;
  line-height: 40px;
}

body:not(.confirm) .wrap-table-dl > dl > dt.required:after {
  transform: translate(80%);
  margin-left: 0.5em;
  font-size: 10px;
  content: "(必須)";

  -webkit-transform: translate(80%);
}

body:not(.confirm) .wrap-table-dl > dl > dt.any:after {
  background: #808080;
  content: "任意";
}

.wrap-table-dl dl {
  display: flex;
  align-items: flex-start;
  width: 100%;
}

.wrap-table-dl dt {
  width: 190px;
}

.wrap-table-dl dd {
  width: 360px;
}

.wrap-table-dl input[type="text"],
.wrap-table-dl input[type="tel"],
.wrap-table-dl input[type="email"],
.wrap-table-dl textarea {
  border: none;
  background-color: #eee;
}

.wrap-table-dl input[type="text"],
.wrap-table-dl input[type="tel"],
.wrap-table-dl input[type="email"],
.wrap-table-dl input[type="submit"],
.wrap-table-dl .btn-line {
  width: 310px;
}

.wrap-table-dl textarea {
  width: 360px;
}

.wrap-table-dl span.wpcf7-not-valid-tip {
  font-size: 75%;
  line-height: 2;
}

.wrap-faq {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  width: 100%;
  margin: -20px 0;
}

.box-faq {
  position: relative;
  width: 480px;
  margin: 20px 0;
  padding-left: 100px;
}

.box-faq-last {
  align-items: flex-end;
  width: 480px;
  margin: 20px 0;
}

.faq-q {
  padding: 1.5em 0;
  font-size: 14px;
  line-height: 1.5;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
}

.faq-q:before {
  position: absolute;
  top: 0;
  left: 0;
  color: #667762;
  font-size: 35px;
  line-height: 1.5;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  content: "Q";
}

.faq-q:after {
  display: block;
  position: absolute;
  top: 0;
  left: 70px;
  transform: rotate(25deg);
  width: 1px;
  height: 60px;
  background-color: #333;
  content: "";

  -webkit-transform: rotate(25deg);
}

.faq-a {
  font-size: 13px;
  line-height: 2.3;
  font-family:
    "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0.05em;
}

.faq-a a {
  text-decoration: underline;
}

.faq-a:before {
  display: block;
  font-size: 20px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  content: "Answer";
}

.main-text-history {
  color: #fff;
  font-size: 32px;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.13em;
  text-indent: 0.13em;
}

.wrap-history {
  background-color: #eee;
}

.section-history1 {
  padding: 100px 0 0;
}

.section-history1:after {
  display: block;
  width: 100%;
  height: 500px;
  margin-top: 85px;
  background: url(../images/bg-history.jpg) no-repeat center center/cover;
  content: "";
}

.bg-annual-ring {
  background: url(../images/bg-annual-ring.svg) no-repeat right top/450px 450px;
}

.box-history {
  padding-left: 170px;
}

.text-history {
  font-size: 14px;
  line-height: 2.3;
  letter-spacing: 0.05em;
}

.section-history2 {
  padding: 60px 0 90px;
}

.section-history2 .text-common {
  margin-bottom: 70px;
}

.wrap-dl-history {
  display: flex;
  flex-flow: row wrap;
  margin: -25px -13px;
}

.dl-history {
  display: flex;
  flex-flow: column nowrap;
  margin: 25px 13px;
}

.dl-history dt {
  order: 2;
  font-size: 14px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.dl-history dd {
  order: 1;
  margin-bottom: 0.5em;
}

.section-index {
  padding: 40px 0;
}

.wrap-section-inner {
  display: flex;
  justify-content: space-between;
}

.wrap-section-inner > * {
  width: 50%;
}

.section-index-about .wrap-inner {
  display: flex;
  flex-flow: row-reverse nowrap;
}

.section-index-about .wrap-inner > div:nth-child(2) {
  padding: 30px 80px 0 0;
}

.section-index-order .wrap-inner {
  display: flex;
  margin-bottom: 50px;
}

.section-index-order .wrap-inner > div:nth-child(2) {
  padding: 30px 0 0 80px;
}

.section-index-products .wrap-inner,
.section-index-history .wrap-inner {
  padding: 0 200px;
}

.wrap-inner h3 {
  margin-bottom: 0.75em;
  font-size: 21px;
  line-height: 2;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.section-index-products .wrap-inner h3 {
  font-size: 26px;
  text-align: center;
}

.wrap-inner p {
  margin-bottom: 2em;
  font-size: 13px;
  line-height: 2.3;
}

.list-category {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  margin-bottom: 50px;
}

.list-category > li {
  width: 455px;
}

.list-category > li:nth-child(1) a {
  background: #667762 url(../images/img-mukucab.jpg) no-repeat center center/cover;
}

.list-category > li:nth-child(2) a {
  background: #667762 url(../images/img-tumu.jpg) no-repeat center center/cover;
}

.list-category > li:nth-child(3) a {
  background: #667762 url(../images/img-nuuc.jpg) no-repeat center center/cover;
}

.list-category a {
  display: flex;
  justify-content: center;
  position: relative;
  width: 455px;
  height: 322px;
  color: #fff;
}

.list-category a:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 0;
  height: 0;
  border-bottom: 322px solid rgba(102, 119, 98, 0.7);
  border-left: 455px solid transparent;
  content: "";
}

.list-category dl {
  position: relative;
  z-index: 2;
  width: 310px;
  margin-top: 60px;
}

.list-category dt {
  width: 100%;
  margin-bottom: 1.5em;
  font-size: 13px;
  letter-spacing: 0.05em;
  text-align: center;
  text-indent: 0.05em;
}

.list-category dt:before {
  margin-bottom: 0.25em;
  font-size: 30px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.list-category dd {
  font-size: 13px;
  line-height: 2;
}

.section-index-history:after {
  display: block;
  width: 100%;
  height: 322px;
  background: url(../images/img-history.jpg) no-repeat center center/cover;
  content: "";
}

.wrap-news {
  margin-bottom: 3em;
}

.box-news:not(:last-child) {
  margin-bottom: 3em;
}

.box-news a {
  display: flex;
}

.date-news {
  display: block;
  width: 75px;
  margin-bottom: 1em;
  border-right: 1px solid #333;
}

.date-news span {
  display: block;
  width: 2.5em;
  line-height: 1.25;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-align: justify;

  text-justify: inter-ideograph;
}

.title-news {
  width: 465px;
  padding: 0.5em 0 0.5em 2em;
  line-height: 1.5;
}

.title-news span {
  font-size: 14px;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.cate-news {
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.section-inner {
  display: flex;
  justify-content: center;
  width: 540px;
}

.section-inner > div {
  width: 470px;
}

.section-inner > div > a:not(:last-child) {
  display: block;
  margin-bottom: 1em;
}

.section-inner > div > a.btn-common {
  width: 290px;
}

.link-maintenance {
  display: flex;
  margin-top: 80px;
}

.link-maintenance > li {
  width: 50%;
}

.link-maintenance > li:nth-child(1) a {
  background: #667762 url(../images/link-maker-maintenance.jpg) no-repeat center center/cover;
}

.maker-maintenance .link-maintenance > li:nth-child(1) a {
  color: #667762;

  pointer-events: none;
}

.link-maintenance > li:nth-child(2) a {
  background: #667762 url(../images/link-self-maintenance.jpg) no-repeat center center/cover;
}

.self-maintenance .link-maintenance > li:nth-child(2) a {
  color: #667762;

  pointer-events: none;
}

.link-maintenance a {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  height: 300px;
  color: #fff;
  font-size: 13px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
}

.link-maintenance a:before {
  margin-bottom: 0.5em;
  font-size: 33px;
}

.head-maintenance {
  font-size: 21px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
}

.text-maintenance > * {
  font-size: 14px;
  line-height: 2;
}

.list-maintenance {
  display: flex;
  flex-flow: row wrap;
  margin: -10px;
  counter-reset: cnt;
}

.list-maintenance > li {
  display: flex;
  list-style-position: inside;
  width: 530px;
  margin: 10px;
  counter-increment: cnt;
}

.list-maintenance > li span:before {
  content: counter(cnt) ".";
}

.list-maintenance span {
  width: 260px;
  padding-left: 1.5em;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
}

.list-maintenance span:before {
  display: block;
  margin-bottom: 0.5em;
  font-size: 33px;
  line-height: 1;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.maker-maintenance .contents img {
  max-width: 100%;
  height: auto;
}

.wrap-head-single {
  margin-bottom: 2em;
}

.wrap-head-single time {
  font-size: 15px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.head-single {
  margin-bottom: 1em;
  font-size: 18px;
  line-height: 1.5;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.content-single {
  margin-bottom: 70px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
}

.content-single h2,
.content-single h3 {
  margin: 0.5em 0;
  color: #667762;
  font-weight: bold;
  font-size: 125%;
}

.content-single h2 {
  font-size: 150%;
}

.content-single h3 {
  font-size: 125%;
}

.content-single img {
  max-width: 100%;
  height: auto;
}

.content-single strong {
  font-weight: bold;
}

.content-single .aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.list-author {
  display: flex;
  margin: 1em 0 2em;
}

.list-author li:not(:last-child):after {
  margin: 0 0.5em;
  content: "/";
}

.option .wrap-section-option {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}

.section-option:not(:last-child) {
  margin-bottom: 40px;
}

.option .section-option {
  display: flex;
  flex-flow: column wrap;
  width: 480px;
  margin-bottom: 40px;
}

.head-option {
  margin-bottom: 1em;
  font-size: 19px;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
}

.text-option {
  margin-bottom: 1.5em;
}

.list-option {
  display: flex;
  flex-flow: row wrap;
  margin: -11px;
}

.option .list-option {
  margin-top: auto;
}

.list-option > li {
  width: 195px;
  margin: 11px;
}

.option .list-option > li {
  width: 290px;
}

.list-option p,
.list-option span {
  font-size: 13px;
  line-height: 1.75;
}

.img-option {
  margin-bottom: 0.5em;
}

.img-option img {
  width: 195px;
}

.option .img-option img {
  width: 290px;
}

.archive-top {
  margin-bottom: 2em;
  text-align: center;
}

.wrap-orders {
  margin-bottom: 100px;
}

.wrap-orders > div {
  padding-bottom: 3em;
}

.wrap-orders > div:not(:last-child) {
  margin-bottom: 3em;
  border-bottom: 1px solid rgba(102, 119, 98, 0.5);
}

.wrap-orders p {
  font-size: 13px;
  line-height: 2.3;
}

.wrap-dl-orders {
  padding: 0 1em;
}

.wrap-dl-orders dl {
  display: flex;
  padding: 0.75em 0;
  font-size: 13px;
}

.wrap-dl-orders dt {
  width: 150px;
}

.head-orders {
  margin-bottom: 1em;
  font-size: 21px;
  line-height: 1.5;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.07em;
}

.wrap-privacypolicy > *:not(:last-child) {
  margin-bottom: 2em;
}

.wrap-privacypolicy section > div:not(:last-child) {
  margin-bottom: 2em;
}

.wrap-privacypolicy h2 {
  margin-bottom: 0.5em;
  color: #667762;
  font-size: 18px;
  line-height: 1.5;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.wrap-privacypolicy h3 {
  margin-bottom: 0.5em;
  color: #667762;
  font-size: 18px;
  line-height: 1.5;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.wrap-privacypolicy p,
.wrap-privacypolicy li {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.05em;
}

.list-products {
  display: flex;
  flex-flow: row wrap;
  margin: -15px -15px 30px;
}

.list-products > li {
  margin: 15px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.index .list-products > li,
.post.single .list-products > li {
  width: 340px;
}

.blog .list-products > li,
.news .list-products > li,
.orders .list-products > li,
.products .list-products > li {
  width: 252px;
}

.list-products .wrap-zoom {
  box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1);
}

.index .list-products img,
.post.single .list-products img {
  width: 340px;
  height: 255px;
}

.blog .list-products img,
.news .list-products img,
.orders .list-products img,
.products .list-products img {
  width: 252px;
  height: 190px;
}

.inner-products {
  display: flex;
  justify-content: space-between;
  padding: 0.5em 0;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.inner-products span {
  display: block;
}

.title-products {
  font-size: 16px;
  line-height: 1.75;
}

.section-index-order .title-products,
.orders .title-products,
.blog .title-products,
.news .title-products {
  font-family:
    "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
}

.cate-products {
  font-size: 13px;
  line-height: 1.75;
}

.cate-products:after {
  margin: 0 0.5em;
  content: "/";
}

.price-products {
  font-size: 15px;
  line-height: 1.75;
}

.date-products,
.term-products,
.author-products {
  color: #667762;
  font-size: 14px;
  line-height: 1.75;
}

.soldout-products {
  color: #b4272d;
  font-size: 13px;
  line-height: 1.75;
}

.list-term {
  display: flex;
  flex-flow: row wrap;
}

.wrap-law > *:not(:last-child) {
  margin-bottom: 3em;
  padding-bottom: 3em;
  border-bottom: 1px solid rgba(102, 119, 98, 0.5);
}

.wrap-law section:not(:last-child) {
  margin-bottom: 3em;
}

.wrap-law section > div:not(:last-child) {
  margin-bottom: 2em;
}

.wrap-law h2 {
  margin-bottom: 0.75em;
  color: #667762;
  font-size: 25px;
  line-height: 1.5;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
}

.wrap-law h3 {
  margin-bottom: 0.5em;
  color: #667762;
  font-size: 18px;
  line-height: 1.5;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
}

.wrap-law p,
.wrap-law li {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.05em;
}

.dl-law-table dl {
  display: flex;
  align-items: center;
  padding: 1em 0;
  border-bottom: 1px solid rgba(102, 119, 98, 0.5);
  font-size: 13px;
  line-height: 1.75;
}

.dl-law-table dl:first-child {
  border-top: 1px solid rgba(102, 119, 98, 0.5);
}

.dl-law-table dt {
  width: 190px;
}

.dl-law-table dd {
  width: 840px;
}

.shipping-fee {
  display: flex;
  flex-flow: row wrap;
}

.shipping-fee dl {
  flex: 1;
  line-height: 1.25;
  text-align: center;
}

.shipping-fee dt,
.shipping-fee dd {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  margin: -1px -1px 0 0;
  border: 1px solid rgba(51, 51, 51, 0.5);
}

.shipping-fee dt {
  height: 50px;
  border-bottom: 1px solid #333;
  font-size: 13px;
}

.shipping-fee dd {
  height: 60px;
  font-size: 12px;
}

.shipping-fee span {
  display: block;
}

.delivery-fee img {
  max-width: 100%;
  height: auto;
}

.section-staff {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  padding-bottom: 20px;
}

.staff .section-staff {
  border-bottom: 1px solid rgba(51, 51, 51, 0.5);
}

.section-staff:not(:first-child) {
  padding-top: 50px;
}

.wrap-staff {
  width: 400px;
}

.wrap-interview-staff {
  width: 550px;
}

.staff-name {
  display: inline-block;
  margin-right: 0.75em;
  margin-bottom: 0.75em;
  font-size: 19px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.25em;
}

.staff-name-e {
  display: inline-block;
  font-size: 14px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.staff-image {
  margin-bottom: 1em;
  text-align: center;
}

.staff-image img {
  max-width: 100%;
  height: auto;
}

.staff-position {
  display: block;
  width: 100%;
  margin-bottom: 1em;
  font-size: 13px;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.staff-text {
  display: block;
  width: 100%;
  font-size: 13px;
  line-height: 2;
}

.wrap-interview-staff {
  display: flex;
  flex-flow: column nowrap;
}

.interview-staff:not(:last-child) {
  margin-bottom: 1.5em;
}

.interview-q {
  margin-bottom: 0.5em;
  color: #667762;
}

.interview-q:before {
  margin-right: 0.5em;
  content: "＞";
}

.interview-a {
  font-size: 13px;
  line-height: 2.3;
}

.interview-a a {
  text-decoration: underline;
}

.pageback {
  position: relative;
  margin: auto 0 0 auto;
  font-size: 14px;
  line-height: 2;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.pageback:before {
  display: inline-block;
  width: 75px;
  margin-right: 1em;
  border-bottom: 1px solid rgba(51, 51, 51, 0.5);
  content: "";
}

.pageback:after {
  display: inline-block;
  position: absolute;
  bottom: 0.85em;
  left: 0;
  transform: rotate(-25deg);
  width: 10px;
  margin-right: 1em;
  border-bottom: 1px solid rgba(51, 51, 51, 0.5);
  content: "";

  -webkit-transform: rotate(-25deg);
}

.store-type {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 300px;
  height: 50px;
  margin: 30px 0;
  border-right: 1px solid rgba(102, 119, 98, 0.5);
  border-left: 1px solid rgba(102, 119, 98, 0.5);
  font-size: 20px;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.section-store {
  padding: 35px 0;
}

.wrap-store-top {
  display: flex;
  flex-flow: row wrap;
  margin-bottom: 30px;
}

.img-store {
  width: calc(50% + 20px);
}

.img-store img {
  width: 100%;
  height: 480px;
}

.content-store {
  width: 400px;
  margin-left: 80px;
}

.content-store p {
  font-size: 13px;
  line-height: 2.3;
  letter-spacing: 0.05em;
}

.head-store {
  position: relative;
  margin-bottom: 1em;
  padding: 1em 1em 1em 2.5em;
  font-size: 20px;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
}

.head-store:after {
  display: block;
  position: absolute;
  top: 0;
  left: 0.5em;
  transform: rotate(25deg);
  width: 1px;
  height: 60px;
  background-color: rgba(102, 119, 98, 0.5);
  content: "";

  -webkit-transform: rotate(25deg);
  -webkit-transform-origin: center center;
  transform-origin: center center;
}

.img-store {
  width: calc(50% + 20px);
}

.img-store img {
  width: 100%;
  height: 480px;
}

.wrap-store-mid {
  margin-bottom: 60px;
}

.wrap-store-mid p {
  font-size: 13px;
}

.imgs-store {
  display: flex;
  flex-flow: row wrap;
  margin: -15px -15px 15px;
}

.imgs-store > li {
  margin: 15px;
}

.wrap-store-bottom {
  display: flex;
  flex-flow: row wrap;
}

.overview-store {
  display: flex;
  flex-flow: row wrap;
  width: 550px;
  margin-right: 80px;
  padding: 2em;
  border-top: 1px solid #667762;
  border-bottom: 1px solid #667762;
  font-size: 13px;
  line-height: 2.3;
}

.overview-store dt {
  width: 120px;
}

.overview-store dd {
  width: 375px;
}

.contact-store > *:not(:last-child) {
  margin-bottom: 0.5em;
}

form input[type="radio"],
.customer_form input[type="radio"] {
  display: inline;

  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}

form input[type="checkbox"],
.customer_form input[type="checkbox"] {
  display: inline;

  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}

.usces-cart .title {
  margin-bottom: 1em;
}

.upbutton input[name="upButton"] {
  padding: 0.5em;
  background-color: #667762;
  color: #fff;
}

#cart_table td {
  line-height: 1.5;
}

#cart_table td:nth-child(2) {
  padding: 0.5em 1em;
  text-align: left;
}

#coml-page p,
#error-page p,
#cart_completion p {
  font-size: 14px;
  line-height: 1.75;
}

#escott-token-form th {
  font-weight: bold;
}

#escott-token-form th,
#escott-token-form td {
  padding: 0.5em;
  line-height: 1.5;
}

#escott-token-form #seccd {
  width: 6em;
}

.settlement_form_send {
  display: flex;
  justify-content: center;
}

.settlement_form_send input {
  margin: 0 0.5em;
}

input.to_confirm_button {
  background-color: #667762;
  color: #fff;
}

input.to_confirm_button:hover,
input.to_confirm_button:active {
  background-color: #fff;
  color: #667762;
}

.main-products {
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
  max-height: 585px;
  padding-bottom: 35px;
  overflow: hidden;
}

.main-products > img {
  max-width: 100%;
  height: auto;
}

.wrap-products {
  margin-bottom: 100px;
}

.wrap-products > div:not(:last-child) {
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(102, 119, 98, 0.5);
}

.wrap-products > div:not(:first-child) {
  padding-top: 40px;
}

.wrap-products > div *:not(.sku-code) {
  font-size: 13px;
  line-height: 2.3;
}

.wrap-products > div .item-description {
  font-size: 14px;
  line-height: 2;
}

.wrap-products > div .item-description p {
  font-size: 14px;
  line-height: 2;
}

.sku-code {
  font-size: 21px;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.07em;
}

.skubutton {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 45px;
  padding: 0 1.5em;
  border: 1px solid #667762 !important;
  background-color: #fff !important;
  color: #667762;
  font-weight: bold;
  font-size: 14px;
  line-height: 1;
  font-family: "Crimson Text", "リュウミン M-KL", "Ryumin Medium KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  letter-spacing: 0.05em;
  text-align: center;
  text-indent: 0.05em;
  transition: 0.5s;
}

.skubutton:hover {
  opacity: 1;
  background-color: #667762 !important;
  color: #fff;
}

.wrap-detail {
  display: flex;
}

.wrap-detail > div:not(:last-child) {
  border-right: 1px solid rgba(102, 119, 98, 0.5);
}

.wrap-detail > div:nth-child(1) {
  width: 340px;
}

.wrap-detail > div:nth-child(2) {
  width: 740px;
  padding-left: 100px;
}

.item-wrap {
  display: flex;
  flex-flow: row wrap;
}

.item-wrap:not(:last-child) {
  margin-bottom: 2em;
}

.item-wrap > div {
  padding: 0 15px;
}

.item-price {
  width: 310px;
  padding: 0 1em;
}

.item-btn {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
  width: 260px;
}

.item-btn > * {
  display: block;
}

.item-btn > *:not(:first-child) {
  margin-top: 1.5em;
}

.item-btn2 {
  width: 440px;
  margin-right: 3em;
}

.item-btn2 > *:not(:first-child) {
  margin-top: 0.5em;
}

.item-quant {
  display: flex;
  justify-content: space-between;
}

.item-quant input[type="text"] {
  width: 100px;
  padding: 0.25em 0.5em;
}

.list-contact-products {
  width: 260px;
}

.list-contact-products li:not(:last-child) {
  margin-bottom: 1em;
}

.list-options li:before {
  content: "・";
}

.list-options a {
  text-decoration: underline;
}

.item_custom_field th {
  width: 5em;
  padding-right: 1em;
}

.item-option {
  width: 100%;
  padding-bottom: 0.5em;
  border-bottom: 1px solid rgba(102, 119, 98, 0.5);
}

.item-option th {
  width: 200px;
}

.item-option td {
  width: 250px;
}

.skuform {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
}

select.iopt_select {
  padding: 0.5em 1em 0.5em 2.5em;
  background:
    linear-gradient(-60deg, transparent 0, transparent 10px, #333 10px) no-repeat center left 15px/10px 15px,
    linear-gradient(60deg, transparent 10px, #333 10px) no-repeat center left 5px/10px 15px;
}

@media screen and (max-width: 1500px) {
  .xl {
    display: block;
  }
}

@media screen and (max-width: 1200px) {
  .lg {
    display: block;
  }

  .wrap-2column {
    flex-flow: column nowrap;
    margin-bottom: 50px;
  }

  .main-column {
    width: 100%;
    margin-bottom: 50px;
  }

  .orders.single .main-column,
  .post.single .main-column {
    width: 100%;
  }

  .sidebar {
    width: 100%;
  }

  .orders.single .sidebar,
  .post.single .sidebar {
    width: 100%;
  }

  .shopping-guide .inner,
  .privacypolicy .inner,
  .faq .inner,
  .staff .inner,
  .news.single .inner,
  .blog.single .inner,
  .orders.single .inner,
  .section-history1 .inner,
  .contact .inner,
  .self-maintenance .inner,
  .maker-maintenance .inner {
    padding: 0;
  }

  .fullWidth {
    min-width: 100%;
  }

  .sp-contents {
    width: 100%;
    padding-right: 5%;
    padding-left: 5%;
  }

  .footer-btn > li {
    width: auto;
  }

  .footer-btn a {
    width: auto;
  }

  .list-side a:after {
    margin-left: 0.5em;
    font-size: 75%;
    font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    content: attr(data-j);
  }

  .main-visual {
    display: block;
  }

  .text-main {
    position: absolute;
    top: 1.5em;
    left: 1.5em;
    margin: 0;
  }

  .scroll {
    display: none;
  }

  .footer-nav {
    margin: 0;
  }

  .footer-nav > li {
    margin: 0 1em;
  }

  .about .contents > .wrap-head-common {
    width: 100%;
    margin: -4em auto 3em;
  }

  .swiper-container {
    width: 100%;
    margin-right: 0 !important;
  }

  .text-greeting {
    width: 100%;
  }

  .img-greeting {
    display: block;
    position: relative;
    margin: 0 auto 2em;
  }

  .img-greeting:nth-of-type(1),
  .img-greeting:nth-of-type(2),
  .img-greeting:nth-of-type(3),
  .img-greeting:nth-of-type(4) {
    top: 0;
  }

  .wrap-staff-about {
    width: 100%;
  }

  .list-staff {
    justify-content: center;
  }

  div > .li-staff {
    margin: 0 auto 1em;
  }

  div > .li-staff img {
    width: 100%;
    height: auto;
  }

  .box-material {
    justify-content: center;
  }

  .dl-overview {
    width: 100%;
  }

  .dl-overview dt {
    width: 20%;
  }

  .dl-overview dd {
    width: 80%;
  }

  .wrap-faq {
    justify-content: center;
  }

  .box-faq:not(:last-child) {
    margin-bottom: 50px;
  }

  .box-history {
    padding-left: 0;
  }

  .wrap-dl-history {
    justify-content: center;
  }

  .wrap-section-inner {
    flex-flow: column nowrap;
  }

  .wrap-section-inner > * {
    width: 100%;
    padding: 5vw 0;
  }

  .section-index-about .wrap-inner,
  .section-index-order .wrap-inner {
    flex-flow: column nowrap;
    align-items: center;
  }

  .section-index-about .wrap-inner > div:nth-child(1),
  .section-index-order .wrap-inner > div:nth-child(1) {
    text-align: center;
  }

  .section-index-about .wrap-inner > div:nth-child(1) img,
  .section-index-order .wrap-inner > div:nth-child(1) img {
    max-width: 100%;
    height: auto;
  }

  .section-index-about .wrap-inner > div:nth-child(2),
  .section-index-order .wrap-inner > div:nth-child(2) {
    padding: 5vw;
  }

  .section-index-products .wrap-inner,
  .section-index-history .wrap-inner {
    padding: 0;
  }

  .list-category {
    flex-flow: row wrap;
  }

  .list-category > li {
    width: 33vw;
  }

  .list-category a {
    width: 33vw;
    height: 40vw;
  }

  .list-category a:before {
    border-bottom: 40vw solid rgba(102, 119, 98, 0.7);
    border-left: 33vw solid transparent;
  }

  .list-category dl {
    width: 25vw;
    margin-top: 7.5vw;
  }

  .list-maintenance {
    justify-content: center;
  }

  .list-option {
    justify-content: center;
  }

  .list-products {
    justify-content: center;
  }

  .index .list-products > li,
  .post.single .list-products > li {
    width: 252px;
  }

  .index .list-products img,
  .post.single .list-products img {
    width: 252px;
    height: 190px;
  }

  .section-staff {
    padding-bottom: 5vw;
  }

  .section-staff:not(:first-child) {
    padding-top: 10vw;
  }

  .wrap-staff {
    width: 100%;
    margin-bottom: 2em;
  }

  .wrap-interview-staff {
    width: 100%;
  }

  .imgs-store {
    justify-content: center;
  }

  .wrap-store-bottom > div:not(:last-child) {
    margin-bottom: 1em;
  }

  .overview-store {
    width: 100%;
  }

  .overview-store dt {
    width: 25%;
  }

  .overview-store dd {
    width: 75%;
  }

  .wrap-contact-store {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  .wrap-detail > div:nth-child(1) {
    width: 40%;
    padding-right: 5%;
  }

  .wrap-detail > div:nth-child(2) {
    width: 60%;
    padding-left: 5%;
  }

  .item-contact {
    display: flex;
    justify-content: center;
    width: 100%;
  }
}

@media screen and (max-width: 992px) {
  .md {
    display: block;
  }

  html,
  body {
    scroll-padding-top: 18vw;
  }

  .contents {
    width: 100%;
  }

  .inner-header {
    width: auto;
    height: auto;
    padding: 0;
  }

  .inner-header p {
    display: none;
  }

  .footer {
    padding: 12vw 0 3vw;
  }

  .footer-btn {
    flex-flow: column nowrap;
  }

  .fixed-link {
    display: none;
  }

  .breadcrumb {
    padding: 0.5em;
    overflow-x: scroll;
    white-space: nowrap;
  }

  .orders.single .breadcrumb,
  .maker-maintenance .breadcrumb,
  .self-maintenance .breadcrumb {
    margin-bottom: 5vw;
  }

  .breadcrumb li {
    display: inline;
  }

  .text-main {
    font-size: 28px;
  }

  .page-main .contents {
    height: 45vw;
  }

  .history .page-main .contents {
    height: 60vw;
  }

  .about .page-main .video-btn {
    width: 20vw;
    height: 20vw;
  }

  .head-main {
    bottom: -10vw;
    left: 5vw;
    width: 55vw;
    height: 22vw;
    padding-left: 7.5vw;
    font-size: 3vw;
  }

  .head-main:before {
    font-size: 6.5vw;
  }

  .footer-nav {
    display: none;
  }

  input.back_to_delivery_button,
  input.back_to_customer_button,
  input.back_cart_button,
  input.checkout_button,
  input.to_confirm_button,
  input.to_deliveryinfo_button,
  input.to_customerinfo_button,
  input.continue_shopping_button,
  .btn-common,
  input.btn-common {
    width: 100%;
    min-width: auto;
    height: auto;
    padding: 1em;
  }

  input.back_to_delivery_button i,
  input.back_to_customer_button i,
  input.back_cart_button i,
  input.checkout_button i,
  input.to_confirm_button i,
  input.to_deliveryinfo_button i,
  input.to_customerinfo_button i,
  input.continue_shopping_button i,
  .btn-common i,
  input.btn-common i {
    margin: 0 0 0.25em;
    font-size: 5vw;
  }

  .swiper-pagination {
    display: none;
  }

  .swiper-slide img {
    width: 100vw;
  }

  .index .swiper-slide img {
    height: auto;
  }

  .orders.single .swiper-slide,
  .post.single .swiper-slide {
    width: auto !important;
  }

  .orders.single .swiper-slide img,
  .post.single .swiper-slide img {
    width: auto;
    height: 60vw;
  }

  .list-staff {
    justify-content: flex-start;
    margin: -2vw -2vw 10vw;
  }

  ul > .li-staff {
    width: 43vw;
    height: auto;
    margin: 2vw;
  }

  .btn-blog {
    width: 100%;
    height: auto;
    padding: 1em;
  }

  .box-material > div:nth-child(1) {
    width: 100%;
  }

  .box-material > div:nth-child(2) {
    width: 100%;
  }

  .wrap-table-dl > dl {
    justify-content: center;
  }

  .wrap-table-dl > dl:not(:last-child) {
    margin-bottom: 20px;
  }

  .wrap-table-dl > dl > dt {
    align-items: center;
    margin-right: 0;
    line-height: 1.5;
    text-align: left;
    text-indent: 0;
  }

  .wrap-table-dl dt {
    width: 30%;
  }

  .wrap-table-dl dd {
    width: 70%;
  }

  .section-history1 {
    padding: 10vw 0 0;
  }

  .section-history1:after {
    height: 30vw;
    margin-top: 7.5vw;
  }

  .section-history2 {
    padding: 10vw 0;
  }

  .section-history2 .text-common {
    margin-bottom: 7.5vw;
  }

  .list-category {
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
  }

  .list-category li {
    width: 455px;
  }

  .list-category a {
    width: 455px;
    height: 322px;
  }

  .list-category a:before {
    border-bottom: 322px solid rgba(102, 119, 98, 0.7);
    border-left: 455px solid transparent;
  }

  .list-category dl {
    width: 310px;
    margin-top: 60px;
  }

  .section-index-history:after {
    height: 30vw;
  }

  .box-news a > div:nth-child(1) {
    width: 15%;
  }

  .date-news {
    width: 100%;
  }

  .title-news {
    width: 85%;
  }

  .title-news span {
    font-size: 3vw;
  }

  .section-inner {
    width: 100%;
  }

  .section-inner > div > a.btn-common {
    width: 100%;
  }

  .link-maintenance {
    margin-top: 12vw;
  }

  .link-maintenance a {
    height: 30vw;
  }

  .wrap-store-top {
    margin-bottom: 5vw;
  }

  .img-store {
    width: 100%;
    margin-bottom: 5vw;
  }

  .img-store img {
    height: auto;
  }

  .content-store {
    width: 100%;
    margin-left: 0;
  }

  .img-store {
    width: 100%;
    margin-bottom: 5vw;
  }

  .img-store img {
    height: auto;
  }

  .main-products {
    max-height: 60vw;
  }

  .main-products > img {
    object-fit: contain;
    width: auto;
    height: 60vw;
    font-family: "object-fit: contain;";

    -o-object-fit: contain;
  }
}

@media screen and (max-width: 768px) {
  .sm {
    display: block;
  }

  .wrap-header {
    align-items: center;
  }

  .header-search {
    justify-content: flex-start;
    padding: 0 5vw;
  }

  .footer-inner {
    flex-flow: column wrap;
    align-items: center;
  }

  .box-side:not(:last-child) {
    margin-bottom: 5vw;
  }

  .box-side img {
    width: 50vw;
    height: auto;
  }

  .head-side {
    margin-bottom: 0.5em;
    font-size: 4vw;
  }

  .list-side-latest time {
    font-size: 3vw;
  }

  .text-main {
    font-size: 5.5vw;
  }

  .pagetop {
    right: -15vw;
    bottom: 0;
    width: 10vw;
    height: 10vw;
  }

  .pagetop.active {
    right: 0;
    bottom: 16vw;
  }

  .pagetop:before {
    width: 4vw;
    height: 4vw;
    border-bottom: 0.4vw solid #fff;
    border-left: 0.4vw solid #fff;
  }

  .link-prev,
  .link-next {
    width: 100%;
  }

  .pagination li {
    margin: 0.5em 0.25em;
    font-size: 4vw;
  }

  .pagination .pager {
    min-width: 8vw;
    font-size: 4vw;
    line-height: 8vw;
  }

  .pagination .pager i:before {
    min-width: 8vw;
    line-height: 8vw;
  }

  a[href^="tel:"] {
    pointer-events: auto;
  }

  .list-sns li {
    margin: 0 1em;
  }

  .list-sns i {
    font-size: 5vw;
  }

  .head-common:before {
    font-size: 6vw;
  }

  .head-common {
    font-size: 2.7vw;
  }

  .head-common:before {
    left: calc(-50% - 1.4em);
  }

  .wrap-head-page {
    margin-bottom: 10vw;
  }

  .head-page {
    font-size: 5vw;
  }

  .head-page:after {
    width: 10vw;
    margin: 1em auto 0;
    content: "";
  }

  .title-section {
    font-size: 5vw;
  }

  .title-page {
    font-size: 4vw;
  }

  .title-page:before {
    font-size: 10vw;
  }

  .title-page:after {
    width: 10vw;
  }

  .main-text-history {
    font-size: 5vw;
  }

  .section-index {
    padding: 7.5vw 0;
  }

  .section-index img {
    max-width: 100%;
    height: auto;
  }

  .section-index-about .wrap-inner > div:nth-child(1),
  .section-index-order .wrap-inner > div:nth-child(1) {
    margin-bottom: 5vw;
  }

  .section-index-about .wrap-inner > div:nth-child(2),
  .section-index-order .wrap-inner > div:nth-child(2) {
    width: 100%;
    padding: 0;
  }

  .wrap-inner h3 {
    font-size: 4.5vw;
  }

  .section-index-products .wrap-inner h3 {
    font-size: 4.5vw;
  }

  .wrap-inner p {
    font-size: 2.7vw;
  }

  .list-category {
    margin-bottom: 5vw;
  }

  .list-category > li {
    width: 100vw;
  }

  .list-category a {
    align-items: center;
    width: 100vw;
    height: 60vw;
  }

  .list-category a:before {
    border-bottom: 60vw solid rgba(102, 119, 98, 0.7);
    border-left: 100vw solid transparent;
  }

  .list-category dl {
    width: 70vw;
    margin-top: 0;
  }

  .list-category dt {
    font-size: 2.4vw;
  }

  .list-category dt:before {
    font-size: 5vw;
  }

  .list-category dd {
    font-size: 2.7vw;
  }

  .link-maintenance a {
    font-size: 2.4vw;
  }

  .link-maintenance a:before {
    font-size: 5vw;
  }

  .wrap-shipping-fee {
    width: 100%;
    overflow-x: scroll;
  }

  .shipping-fee {
    width: 200%;
  }

  .item-wrap > div {
    padding: 2.5vw 0;
  }
}

@media screen and (max-width: 575px) {
  .xs {
    display: block;
  }

  body {
    font-size: 3.5vw;
  }

  .text-common {
    font-size: 3.5vw;
  }

  html,
  body {
    padding-bottom: 14vw;
  }

  .wrap-2column {
    margin-bottom: 0;
  }

  .index .wrap,
  .products .wrap,
  .orders .wrap,
  .store .wrap,
  .news .wrap,
  .orders .wrap,
  .blog .wrap,
  .contact .wrap,
  .staff .wrap,
  .orders.single .wrap,
  .color .wrap,
  .fabric .wrap,
  .leather .wrap,
  .option .wrap,
  .faq .wrap,
  .maker-maintenance .wrap,
  .self-maintenance .wrap,
  .shopping-guide .wrap,
  .privacypolicy .wrap,
  .post.single .wrap,
  .usces-cart .wrap {
    padding: 10vw 0 20vw;
  }

  .header {
    height: 18vw;
    padding: 3vw 5vw;
  }

  .wrap-logo img,
  .wrap-logo .desvg {
    width: auto;
    height: 12vw;
  }

  .info-header {
    margin: 0;
  }

  .info-header i {
    font-size: 5vw;
  }

  .header-search {
    height: 18vw;
  }

  .footer-btn {
    flex-flow: row nowrap;
    gap: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    margin: 0;
  }

  .usces-cart .footer-btn,
  .contact .footer-btn {
    display: none;
  }

  .footer-btn > li {
    flex: 1;
  }

  .footer-btn > li:nth-child(1) span,
  .footer-btn > li:nth-child(2) span,
  .footer-btn > li:nth-child(3) span {
    font-size: 2.7vw;
  }

  .footer-btn > li:nth-child(4) {
    display: none;
  }

  .footer-btn a {
    flex-flow: column nowrap;
    height: 14vw;
    text-align: center;
  }

  .footer-btn a span span {
    display: none;
  }

  .footer-btn i {
    font-size: 4.5vw !important;
  }

  .footer-sns {
    flex-flow: column nowrap;
    margin-bottom: 3vw;
  }

  .footer-sns li {
    margin: 0 0 1.5em 0;
  }

  .footer-sns a {
    font-size: 3.6vw;
  }

  .footer-link {
    flex-flow: column nowrap;
  }

  .footer-link li {
    text-align: center;
  }

  .footer-link li:not(:last-child) {
    margin: 0 0 1em 0;
  }

  .footer-link li:not(:last-child):after {
    content: none;
  }

  .footer-link a {
    font-size: 3vw;
  }

  .copyright small {
    font-size: 3vw;
  }

  .wrap-breadcrumb {
    margin-bottom: 5vw;
  }

  .breadcrumb li:not(:last-child):after {
    font-size: 2.7vw;
  }

  .breadcrumb a,
  .breadcrumb span {
    font-size: 2.7vw;
  }

  textarea {
    height: 100vw;
  }

  .drawer-nav {
    margin-bottom: 5vw;
  }

  .drawer-nav > li > a {
    font-size: 3vw;
  }

  .drawer-nav > li > a:before {
    font-size: 4.5vw;
  }

  .drawer-nav .sub-menu a {
    font-size: 3.6vw;
  }

  .drawer-sns {
    margin-bottom: 5vw;
  }

  .drawer-sns a {
    font-size: 3.6vw;
  }

  .box-search input[type="search"] {
    width: 75%;
  }

  .box-search i {
    font-size: 4vw;
  }

  #nav-open {
    width: 5vw;
    height: 4vw;
  }

  #nav-open:after {
    left: 0;
    font-size: 2vw;
  }

  #nav-open span {
    position: absolute;
    right: 0;
    left: 0;
    width: 100%;
    height: 2px;
    margin: auto;
    background: #fff;
    transition: all 0.5s;
  }

  #nav-content {
    width: 70%;
    padding: 10vw 10vw 20vw;
  }

  .btn-close {
    display: block;
  }

  #nav-input:checked ~ #nav-open span:nth-of-type(1) {
    transform: translateY(1.25vw) rotate(-35deg);

    -webkit-transform: translateY(1.25vw) rotate(-35deg);
  }

  #nav-input:checked ~ #nav-open span:nth-of-type(3) {
    transform: translateY(-1.25vw) rotate(35deg);

    -webkit-transform: translateY(-1.25vw) rotate(35deg);
  }

  .nav-link {
    margin-bottom: 10vw;
  }

  .page-numbers {
    font-size: 4vw;
  }

  input.back_to_delivery_button,
  input.back_to_customer_button,
  input.back_cart_button,
  input.checkout_button,
  input.to_confirm_button,
  input.to_deliveryinfo_button,
  input.to_customerinfo_button,
  input.continue_shopping_button,
  .btn-common,
  input.btn-common {
    width: 100%;
    font-size: 3.5vw;
  }

  .btn-line .desvg {
    width: 10vw;
    height: 10vw;
  }

  .btn-line span {
    font-size: 3vw;
  }

  .page-main .wrap-head-common {
    width: 100%;
    margin-bottom: -10vw;
    padding: 1.5em 0;
  }

  .about .contents > .wrap-head-common {
    margin: -3em auto 3em;
  }

  .wrap-head-common:after {
    width: 8vw;
  }

  .title-common {
    font-size: 4vw;
  }

  .text-greeting p {
    font-size: 3.5vw;
  }

  .img-greeting {
    width: 40vw;
    height: auto;
  }

  .wrap-president p {
    font-size: 3.5vw;
  }

  .wrap-president p:nth-child(3) {
    font-size: 4vw;
  }

  .wrap-president p:nth-child(3):after {
    font-size: 3.5vw;
  }

  .section-staff-about {
    padding: 10vw 0;
  }

  .text-staff-about p {
    font-size: 3.5vw;
  }

  div > .li-staff {
    width: 100%;
    height: auto;
  }

  .wrap-material {
    padding: 10vw 0;
  }

  .box-material {
    padding: 10vw 0;
  }

  .box-material:not(:last-child) {
    margin-bottom: 5vw;
  }

  .box-material img {
    width: 50vw;
    height: auto;
  }

  .box-material dt {
    font-size: 3.5vw;
  }

  .box-material dt:before {
    font-size: 7vw;
  }

  .box-material dd {
    font-size: 3.5vw;
  }

  .section-overview {
    padding: 10vw 0;
  }

  .dl-overview {
    flex-flow: column wrap;
    width: 100%;
    font-size: 3.5vw;
  }

  .dl-overview:not(:last-child) {
    margin-bottom: 1em;
  }

  .dl-overview dt {
    width: 100%;
  }

  .dl-overview dd {
    width: 100%;
  }

  .text-contact {
    margin-bottom: 2em;
    font-size: 3.5vw;
  }

  .wrap-table-dl > dl {
    flex-flow: column nowrap;
  }

  .wrap-table-dl > dl > dt {
    padding: 0 0 2.5vw 0;
  }

  .wrap-table-dl > dl > dt:before {
    font-size: 3vw;
  }

  .wrap-table-dl > dl > dd {
    padding: 0 0 5vw 0;
  }

  .wrap-table-dl dt {
    width: 100%;
    font-size: 4vw;
  }

  .wrap-table-dl dd {
    width: 100%;
  }

  .wrap-table-dl input[type="text"],
  .wrap-table-dl input[type="tel"],
  .wrap-table-dl input[type="email"],
  .wrap-table-dl input[type="submit"],
  .wrap-table-dl .btn-line {
    width: 100%;
  }

  .wrap-table-dl textarea {
    width: 100%;
  }

  .wrap-faq {
    margin-bottom: 10vw;
  }

  .box-faq {
    width: 100%;
    padding-left: 20vw;
  }

  .box-faq:not(:last-child) {
    margin-bottom: 10vw;
  }

  .box-faq-last {
    width: 100%;
  }

  .faq-q {
    font-size: 3.3vw;
  }

  .faq-q:before {
    font-size: 8vw;
  }

  .faq-q:after {
    left: 13vw;
    height: 12vw;
  }

  .faq-a {
    font-size: 3.3vw;
  }

  .faq-a:before {
    font-size: 4.5vw;
  }

  .bg-annual-ring {
    background: url(../images/bg-annual-ring.svg) no-repeat right top/65vw 65vw;
  }

  .text-history {
    font-size: 3.5vw;
  }

  .wrap-dl-history {
    margin: -2vw;
  }

  .dl-history {
    width: 42.5vw;
    margin: 2vw;
  }

  .dl-history dt {
    font-size: 3.5;
  }

  .dl-history img {
    width: 42.5vw;
    height: 29vw;
  }

  .section-inner > div {
    width: 100%;
  }

  .head-maintenance > * {
    font-size: 4vw;
  }

  .text-maintenance > * {
    font-size: 3.5vw;
  }

  .list-maintenance {
    margin: 0;
  }

  .list-maintenance > li {
    justify-content: space-between;
    width: 100%;
    margin: 0;
  }

  .list-maintenance > li:not(:last-child) {
    margin-bottom: 5vw;
  }

  .list-maintenance img {
    width: 40vw;
    height: 40vw;
  }

  .list-maintenance span {
    width: 55vw;
    font-size: 3vw;
  }

  .list-maintenance span:before {
    font-size: 7vw;
  }

  .content-single {
    margin-bottom: 10vw;
    font-size: 3.5vw;
  }

  .section-option:not(:last-child) {
    margin-bottom: 10vw;
  }

  .option .section-option {
    width: 100%;
    margin-bottom: 0;
  }

  .option .section-option:not(:last-child) {
    margin-bottom: 10vw;
  }

  .head-option {
    font-size: 4.5vw;
  }

  .list-option {
    justify-content: space-between;
    margin: -2vw 0;
  }

  .list-option > li {
    width: 42.5vw;
    margin: 2vw 0;
  }

  .option .list-option > li {
    width: 65vw;
  }

  .list-option p,
  .list-option span {
    font-size: 3vw;
  }

  .img-option img {
    width: 42.5vw;
    height: 30vw;
  }

  .option .img-option img {
    width: 65vw;
    height: 47vw;
  }

  .archive-top {
    text-align: left;
  }

  .wrap-orders {
    margin-bottom: 10vw;
  }

  .wrap-orders p {
    font-size: 3.5vw;
  }

  .wrap-dl-orders dl {
    font-size: 3.5vw;
  }

  .wrap-dl-orders dt {
    width: 7em;
  }

  .head-orders {
    font-size: 6vw;
  }

  .wrap-privacypolicy h2 {
    font-size: 4vw;
  }

  .wrap-privacypolicy h3 {
    font-size: 4vw;
  }

  .wrap-privacypolicy p,
  .wrap-privacypolicy li {
    font-size: 3.5vw;
  }

  .list-products {
    justify-content: flex-start;
    margin: -2vw -2vw 5vw;
  }

  .list-products > li {
    margin: 2vw;
  }

  .index .list-products > li,
  .post.single .list-products > li,
  .blog .list-products > li,
  .news .list-products > li,
  .orders .list-products > li,
  .products .list-products > li {
    width: 42.5vw;
  }

  .index .list-products img,
  .post.single .list-products img,
  .blog .list-products img,
  .news .list-products img,
  .orders .list-products img,
  .products .list-products img {
    width: 42.5vw;
    height: 30vw;
  }

  .title-products {
    font-size: 3vw;
  }

  .cate-products {
    font-size: 2.4vw;
  }

  .price-products {
    font-size: 3vw;
  }

  .date-products,
  .term-products,
  .author-products {
    font-size: 3vw;
  }

  .soldout-products {
    font-size: 2.4vw;
  }

  .wrap-law h2 {
    font-size: 4.5vw;
  }

  .wrap-law h3 {
    font-size: 4vw;
  }

  .wrap-law p,
  .wrap-law li {
    font-size: 3.5vw;
  }

  .dl-law-table dl {
    flex-flow: column nowrap;
    font-size: 3.5vw;
  }

  .dl-law-table dt {
    width: 100%;
    margin-bottom: 0.5em;
  }

  .dl-law-table dd {
    width: 100%;
  }

  .shipping-fee {
    width: 270%;
  }

  .staff-name {
    font-size: 5vw;
  }

  .staff-name-e {
    font-size: 3vw;
  }

  .staff-position {
    font-size: 3vw;
  }

  .staff-text {
    font-size: 3.5vw;
  }

  .interview-q {
    font-size: 4vw;
  }

  .interview-a {
    font-size: 3.5vw;
  }

  .pageback {
    font-size: 4vw;
  }

  .store-type {
    width: 50vw;
    height: 10vw;
    margin: 3vw 0;
    font-size: 4vw;
  }

  .content-store p {
    font-size: 3.5vw;
  }

  .wrap-store-mid {
    margin-bottom: 5vw;
  }

  .wrap-store-mid p {
    font-size: 3.5vw;
  }

  .imgs-store {
    margin: 0 0 5vw;
  }

  .imgs-store > li {
    margin: 0;
  }

  .imgs-store > li:not(:last-child) {
    margin: 5vw;
  }

  .imgs-store img {
    max-width: 100%;
    height: auto;
  }

  .overview-store {
    font-size: 3.5vw;
  }

  .overview-store dt {
    width: 100%;
    font-weight: bold;
  }

  .overview-store dd {
    width: 100%;
    margin-bottom: 1em;
  }

  .contact-store {
    width: 100%;
  }

  #cart {
    overflow-x: auto;
  }

  .upbutton {
    white-space: nowrap;
  }

  #cart_table th,
  #cart_table td {
    white-space: nowrap;
  }

  #coml-page p,
  #error-page p,
  #cart_completion p {
    font-size: 3vw;
  }

  #escott-token-form {
    margin-bottom: 1em;
  }

  #escott-token-form th {
    padding: 0 0 0.5em;
  }

  #escott-token-form td {
    padding: 0 0 1em;
  }

  #escott-token-form th,
  #escott-token-form td {
    display: list-item;
    list-style: none;
  }

  .wrap-products {
    margin-bottom: 20vw;
  }

  .wrap-products > div:not(:last-child) {
    padding-bottom: 5vw;
  }

  .wrap-products > div:not(:first-child) {
    padding-top: 5vw;
  }

  .wrap-products > div *:not(.sku-code) {
    font-size: 3.5vw;
  }

  .wrap-products > div .item-description {
    font-size: 3.5vw;
    line-height: 2;
  }

  .wrap-products > div .item-description p {
    font-size: 3.5vw;
    line-height: 2;
  }

  .wrap-detail {
    flex-flow: column nowrap;
  }

  .wrap-detail > div:not(:last-child) {
    border-right: none;
    border-bottom: 1px solid rgba(102, 119, 98, 0.5);
  }

  .wrap-detail > div:nth-child(1) {
    width: 100%;
    margin-bottom: 5vw;
    padding-bottom: 5vw;
  }

  .wrap-detail > div:nth-child(2) {
    width: 100%;
    padding-left: 0;
  }

  .item-price {
    width: 100%;
  }

  .item-btn {
    width: 100%;
  }

  .item-btn2 {
    width: 100%;
  }

  .list-contact-products {
    width: 100%;
  }

  .list-contact-products a {
    width: 100%;
  }
}

/* -------------------- 2022/07/22 キャンペーン用　文言追加 -------------------- */
.wrap-campaign {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  margin-bottom: 3em;
  padding: 2em 1em;
  border: 1px solid #f34233;
  color: #f34233;
  line-height: 2;
  font-family: "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-align: center;
}

.text-campaign {
  font-size: 15px;
}

.text-small-campaign {
  padding-bottom: 2em;
  font-size: 13px;
}

.wrap-campaign a {
  padding-bottom: 0.1em;
  border-bottom: 1px solid #f34233;
  color: #f34233;
}

@media screen and (max-width: 768px) {
  .text-campaign {
    font-size: 3.3vw;
  }

  .text-small-campaign {
    font-size: 2.7vw;
  }
}

.btn-common span {
  line-height: 1.6;
}

.footer-sns span {
  line-height: 1.6;
}

.section-index-order .flexCenter {
  gap: 2em;
}

.list-contact-blog {
  width: 260px;
  padding: 2rem 0 4rem;
}
