﻿/*!
Theme Name: feering
Theme URI: 
Author:
Author URI:
Description: feering専用テーマです。
Version: 1.0.0
Tags: feering
*/
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font: inherit;
  font-size: 100%;
  text-decoration: none;
  vertical-align: baseline
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box
}

body {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  height: 100%
}

article, aside, dialog, figcaption, figure, footer, header, main, menu, nav, section, img, small, time, svg {
  display: block
}

audio, canvas, video {
  display: inline-block;
  vertical-align: middle
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible
}

ol, ul {
  list-style: none
}

blockquote, q {
  quotes: none
}

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

a {
  cursor: pointer
}

strong {
  font-weight: bold
}

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

img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

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

label {
  cursor: pointer
}

label span {
  vertical-align: middle
}

input, textarea, select {
  padding: 4px 8px;
  border-radius: 0;
  vertical-align: middle
}

input:not([type="radio"]):not([type="checkbox"]), textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

input[type="radio"], input[type="checkbox"], input[type="submit"] {
  padding: 0
}

textarea {
  overflow: auto;
  resize: vertical
}

a, area, button, input, label, select, textarea {
  -ms-touch-action: manipulation;
  touch-action: manipulation
}

article {
  word-wrap: break-word;
  overflow-wrap: break-word
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0
}

.swiper-container {
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1
}

.swiper-container-no-flexbox .swiper-slide {
  float: left
}

.swiper-container-vertical>.swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box
}

.swiper-container-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0)
}

.swiper-container-multirow>.swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.swiper-container-free-mode>.swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto
}

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform
}

.swiper-slide-invisible-blank {
  visibility: hidden
}

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto
}

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  -o-transition-property: transform, height;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform
}

.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px
}

.swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d
}

.swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10
}

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent);
  background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent)
}

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent)
}

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent);
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent)
}

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(transparent));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent);
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), transparent);
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent)
}

.swiper-container-wp8-horizontal, .swiper-container-wp8-horizontal>.swiper-wrapper {
  -ms-touch-action: pan-y;
  touch-action: pan-y
}

.swiper-container-wp8-vertical, .swiper-container-wp8-vertical>.swiper-wrapper {
  -ms-touch-action: pan-x;
  touch-action: pan-x
}

.swiper-button-prev, .swiper-button-next {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat
}

.swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E);left:10px;right:auto}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;
  charset=utf-8, %3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E);
  right: 10px;
  left: auto
}

.swiper-button-prev.swiper-button-white, .swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E)}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;
  charset=utf-8, %3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E)
}

.swiper-button-prev.swiper-button-black, .swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E)}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;
  charset=utf-8, %3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E)
}

.swiper-button-lock {
  display: none
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: 300ms opacity;
  -o-transition: 300ms opacity;
  transition: 300ms opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0
}

.swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal>.swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
  position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33)
}

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff
}

.swiper-container-vertical>.swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
  transform: translate3d(0px, -50%, 0)
}

.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px
}

.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: 200ms top, 200ms -webkit-transform;
  transition: 200ms top, 200ms -webkit-transform;
  -o-transition: 200ms transform, 200ms top;
  transition: 200ms transform, 200ms top;
  transition: 200ms transform, 200ms top, 200ms -webkit-transform
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap
}

.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: 200ms left, 200ms -webkit-transform;
  transition: 200ms left, 200ms -webkit-transform;
  -o-transition: 200ms transform, 200ms left;
  transition: 200ms transform, 200ms left;
  transition: 200ms transform, 200ms left, 200ms -webkit-transform
}

.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: 200ms right, 200ms -webkit-transform;
  transition: 200ms right, 200ms -webkit-transform;
  -o-transition: 200ms transform, 200ms right;
  transition: 200ms transform, 200ms right;
  transition: 200ms transform, 200ms right, 200ms -webkit-transform
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top
}

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top
}

.swiper-container-horizontal>.swiper-pagination-progressbar, .swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0
}

.swiper-container-vertical>.swiper-pagination-progressbar, .swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0
}

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #ffffff
}

.swiper-pagination-progressbar.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.25)
}

.swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
  background: #ffffff
}

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000000
}

.swiper-pagination-progressbar.swiper-pagination-black {
  background: rgba(0, 0, 0, 0.25)
}

.swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
  background: #000000
}

.swiper-pagination-lock {
  display: none
}

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1)
}

.swiper-container-horizontal>.swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%
}

.swiper-container-vertical>.swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0
}

.swiper-scrollbar-cursor-drag {
  cursor: move
}

.swiper-scrollbar-lock {
  display: none
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center
}

.swiper-zoom-container>img, .swiper-zoom-container>svg, .swiper-zoom-container>canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain
}

.swiper-slide-zoomed {
  cursor: move
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
  animation: swiper-preloader-spin 1s steps(12, end) infinite
}

.swiper-lazy-preloader:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);background-position:50%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;
  charset=utf-8, %3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
}

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000
}

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out
}

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity
}

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

.swiper-container-cube {
  overflow: visible
}

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%
}

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-prev, .swiper-container-cube .swiper-slide-next+.swiper-slide {
  pointer-events: auto;
  visibility: visible
}

.swiper-container-cube .swiper-slide-shadow-top, .swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0
}

.swiper-container-flip {
  overflow: visible
}

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1
}

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none
}

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto
}

.swiper-container-flip .swiper-slide-shadow-top, .swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.swiper-container-coverflow .swiper-wrapper {
  -ms-perspective: 1200px
}

html.remodal-is-locked {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none
}

.remodal, [data-remodal-id] {
  display: none
}

.remodal-overlay {
  display: none;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: -5000px;
  left: -5000px;
  right: -5000px;
  bottom: -5000px;
  z-index: 9999
}

.remodal-overlay.remodal-is-opening, .remodal-overlay.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards
}

.remodal-overlay.remodal-is-opening {
  -webkit-animation-name: remodal-overlay-opening-keyframes;
  animation-name: remodal-overlay-opening-keyframes
}

.remodal-overlay.remodal-is-closing {
  -webkit-animation-name: remodal-overlay-closing-keyframes;
  animation-name: remodal-overlay-closing-keyframes
}

.remodal-wrapper {
  display: none;
  padding: 60px 20px 0;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  overflow: auto;
  text-align: center;
  -webkit-overflow-scrolling: touch
}

.remodal-wrapper:after {
  content: "";
  display: inline-block;
  height: 100%;
  margin-left: -0.05em
}

.remodal-overlay, .remodal-wrapper {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.remodal {
  background: #fff;
  width: 100%;
  max-width: 720px;
  text-align: left;
  position: relative;
  margin-bottom: 60px;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

.remodal.remodal-is-opening, .remodal.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards
}

.remodal.remodal-is-opening {
  -webkit-animation-name: remodal-opening-keyframes;
  animation-name: remodal-opening-keyframes
}

.remodal.remodal-is-closing {
  -webkit-animation-name: remodal-closing-keyframes;
  animation-name: remodal-closing-keyframes
}

.remodal-is-initialized {
  display: inline-block
}

.remodal-bg.remodal-is-opening, .remodal-bg.remodal-is-opened {
  -webkit-filter: blur(3px);
  filter: blur(3px)
}

.remodal, .remodal-wrapper:after {
  vertical-align: middle
}

.remodal-close {
  display: block;
  background-color: transparent;
  width: 40px;
  height: 40px;
  position: absolute;
  top: -50px;
  right: 0;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s
}

@media screen and (min-width: 961px) {
  .remodal-close:hover, .remodal-close:focus {
    opacity: 0.5
  }
}

.remodal-close-icon {
  display: block;
  position: relative
}

.remodal-close-icon:before, .remodal-close-icon:after {
  content: "";
  background-color: #fff;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 0;
  left: 0
}

.remodal-close-icon:before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.remodal-close-icon:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.remodal-confirm, .remodal-cancel {
  display: inline-block;
  min-width: 110px;
  padding: 12px 0;
  font: inherit;
  overflow: visible;
  margin: 0;
  cursor: pointer;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  border: 0;
  outline: 0
}

.remodal-confirm {
  background: #81c784;
  color: #fff
}

.remodal-confirm:hover, .remodal-confirm:focus {
  background: #66bb6a
}

.remodal-cancel {
  background: #e57373;
  color: #fff
}

.remodal-cancel:hover, .remodal-cancel:focus {
  background: #ef5350
}

.remodal-confirm::-moz-focus-inner, .remodal-cancel::-moz-focus-inner, .remodal-close::-moz-focus-inner {
  padding: 0;
  border: 0
}

@-webkit-keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 0
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0)
  }
}

@keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 0
  }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0)
  }
}

@-webkit-keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
  }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0;
    -webkit-filter: blur(0);
    filter: blur(0)
  }
}

@keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
  }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    opacity: 0;
    -webkit-filter: blur(0);
    filter: blur(0)
  }
}

@-webkit-keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0
  }
  to {
    opacity: 1
  }
}

@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0
  }
  to {
    opacity: 1
  }
}

@-webkit-keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1
  }
  to {
    opacity: 0
  }
}

@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1
  }
  to {
    opacity: 0
  }
}

.tablesorter-default {
  width: 100%
}

.tablesorter-default th, .tablesorter-default thead td {
  border-bottom: #ccc 2px solid
}

.tablesorter-default tfoot td, .tablesorter-default tfoot th {
  border: 0
}

.tablesorter-default .header, .tablesorter-default .tablesorter-header {
  background: url(img/icon_sort01.png) no-repeat center right 5px/7px auto;
  cursor: pointer;
  white-space: normal;
  padding: 4px 20px 4px 4px
}

.tablesorter-default thead .headerSortUp, .tablesorter-default thead .tablesorter-headerAsc, .tablesorter-default thead .tablesorter-headerSortUp {
  background-image: url(img/icon_sort03.png);
  border-bottom: #000 2px solid
}

.tablesorter-default thead .headerSortDown, .tablesorter-default thead .tablesorter-headerDesc, .tablesorter-default thead .tablesorter-headerSortDown {
  background-image: url(img/icon_sort02.png);
  border-bottom: #000 2px solid
}

.tablesorter-default thead .sorter-false {
  background-image: none;
  cursor: default;
  padding: 4px
}

.tablesorter-default tfoot .tablesorter-headerAsc, .tablesorter-default tfoot .tablesorter-headerDesc, .tablesorter-default tfoot .tablesorter-headerSortDown, .tablesorter-default tfoot .tablesorter-headerSortUp {
  border-top: #000 2px solid
}

.tablesorter-default td {
  background-color: #fff;
  border-bottom: #ccc 1px solid;
  padding: 4px;
  vertical-align: top
}

.tablesorter-default tbody>tr.even:hover>td, .tablesorter-default tbody>tr.hover>td, .tablesorter-default tbody>tr.odd:hover>td, .tablesorter-default tbody>tr:hover>td {
  background-color: #fff;
  color: #000
}

.tablesorter-default .tablesorter-processing {
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-image: url(data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=) !important
}

.tablesorter-default tr.odd>td {
  background-color: #dfdfdf
}

.tablesorter-default tr.even>td {
  background-color: #efefef
}

.tablesorter-default tr.odd td.primary {
  background-color: #bfbfbf
}

.tablesorter-default td.primary, .tablesorter-default tr.even td.primary {
  background-color: #d9d9d9
}

.tablesorter-default tr.odd td.secondary {
  background-color: #d9d9d9
}

.tablesorter-default td.secondary, .tablesorter-default tr.even td.secondary {
  background-color: #e6e6e6
}

.tablesorter-default tr.odd td.tertiary {
  background-color: #e6e6e6
}

.tablesorter-default td.tertiary, .tablesorter-default tr.even td.tertiary {
  background-color: #f2f2f2
}

.tablesorter-default>caption {
  background-color: #fff
}

.tablesorter-default .tablesorter-filter-row {
  background-color: #eee
}

.tablesorter-default .tablesorter-filter-row td {
  background-color: #eee;
  border-bottom: #ccc 1px solid;
  line-height: normal;
  text-align: center;
  -webkit-transition: line-height .1s ease;
  -moz-transition: line-height .1s ease;
  -o-transition: line-height .1s ease;
  transition: line-height .1s ease
}

.tablesorter-default .tablesorter-filter-row .disabled {
  opacity: .5;
  cursor: not-allowed
}

.tablesorter-default .tablesorter-filter-row.hideme td {
  padding: 2px;
  margin: 0;
  line-height: 0;
  cursor: pointer
}

.tablesorter-default .tablesorter-filter-row.hideme * {
  height: 1px;
  min-height: 0;
  border: 0;
  padding: 0;
  margin: 0;
  opacity: 0
}

.tablesorter-default input.tablesorter-filter, .tablesorter-default select.tablesorter-filter {
  width: 95%;
  height: auto;
  margin: 4px auto;
  padding: 4px;
  background-color: #fff;
  border: 1px solid #bbb;
  color: #333;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: height .1s ease;
  -moz-transition: height .1s ease;
  -o-transition: height .1s ease;
  transition: height .1s ease
}

.tablesorter .filtered {
  display: none
}

.tablesorter .tablesorter-errorRow td {
  text-align: center;
  cursor: pointer;
  background-color: #e6bf99
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden
}

.clearfix {
  min-height: 1px
}

.clear {
  clear: both
}

@media screen and (max-width: 960px) {
  .pc {
    display: none !important
  }
}

@media screen and (min-width: 961px) {
  .sp {
    display: none !important
  }
}

body, input, textarea, select {
  font-family: source-han-serif-japanese, "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
  color: #444;
  font-weight: normal;
  font-size: 14px;
  line-height: 1.6em;
  letter-spacing: 2px
}

body.preload * {
  -webkit-transition: none !important;
  transition: none !important
}

body:not(#homepage) {
  padding-top: 180px
}

@media screen and (max-width: 960px) {
  body:not(#homepage) {
    padding-top: 120px
  }
}

input, textarea, select {
  background-color: #fff;
  border: 1px solid #98bfc8
}

h1, h2, h3, h4, h5, h6, th {
  font-weight: normal
}

.go {
  font-family: YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-weight: 500
}

@media all and (-ms-high-contrast: none) {
  .go {
    font-family: "メイリオ", Meiryo, YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    font-weight: normal
  }
}

.caf {
  font-family: caflisch-script-pro, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif"
}

.din {
  font-family: din-2014, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif"
}

main {
  overflow: hidden
}

a {
  color: #444
}

@media screen and (min-width: 961px) {
  a, .submitbtn {
    -webkit-transition: 0.3s;
    transition: 0.3s
  }
  a:hover, .submitbtn:hover {
    opacity: 0.5
  }
  a img {
    -webkit-transition: 0.3s
  }
  .wrapper {
    width: 880px;
    margin: 0 auto
  }
  .wrapper2 {
    width: 1000px;
    margin: 0 auto
  }
}

.bold {
  font-weight: bold
}

.red {
  color: red
}

@media screen and (min-width: 961px) {
  .tel {
    pointer-events: none
  }
}

.tempttl.caf, .tempttl .caf {
  color: #98bfc8;
  font-size: 53px;
  line-height: 1em;
  letter-spacing: 15px;
  margin: -10px 0 -17px
}

@media screen and (max-width: 960px) {
  .tempttl.caf, .tempttl .caf {
    font-size: 32px;
    margin: -5px 0 -13px
  }
}

.tempttl span {
  display: block
}

.tempttl .ja {
  color: #444;
  font-size: 13px;
  line-height: 1em;
  margin-top: 20px
}

@media screen and (max-width: 960px) {
  .tempttl .ja {
    margin-top: 15px
  }
}

.tempmore {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  width: 65px
}

.tempmore img {
  width: 10px;
  height: 10px
}

.tempmore span {
  display: block;
  margin-left: auto;
  font-weight: bold;
  line-height: 1em;
  position: relative
}

.tempmore span:before {
  content: "";
  background-color: rgba(0, 0, 0, 0.2);
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: -5px
}

@media screen and (max-width: 960px) {
  .tempmore {
    margin: 0 auto
  }
}

.tempbtn {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #98bfc8;
  width: 226px;
  height: 78px;
  text-align: center;
  color: #fff;
  font-size: 17px;
  line-height: 1.5em;
  margin: 0 auto
}

@media screen and (max-width: 960px) {
  .tempbtn {
    width: 195px;
    height: 67px;
    font-size: 15px
  }
}

.swiper-button-prev, .swiper-button-next {
  background-color: rgba(152, 191, 200, 0.3);
  background-size: 10px auto;
  width: 40px;
  height: 40px;
  margin-top: -20px
}

.swiper-button-prev:not([tabindex="0"]), .swiper-button-next:not([tabindex="0"]) {
  display: none
}

@media screen and (max-width: 960px) {
  .swiper-button-prev, .swiper-button-next {
    background-color: transparent
  }
}

.swiper-button-prev {
  background-image: url(img/slide_prev.png);
  left: -40px
}

@media screen and (max-width: 960px) {
  .swiper-button-prev {
    left: 0
  }
}

.swiper-button-next {
  background-image: url(img/slide_next.png);
  right: -40px
}

@media screen and (max-width: 960px) {
  .swiper-button-next {
    right: 0
  }
}

.category_link {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  text-align: center;
  font-weight: bold;
  font-size: 10px;
  line-height: 1em;
  margin-right: -5px
}

.category_link a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #98bfc8;
  width: 62px;
  height: 23px;
  color: #fff;
  margin-right: 5px
}

.pager {
  padding-top: 90px
}

.pager ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  text-align: center;
  line-height: 1em;
  margin: 0 -15px -10px 0
}

.pager li {
  width: 33px;
  margin: 0 15px 10px 0
}

.pager .page-numbers {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  height: 33px;
  border-radius: 50%
}

.pager .current, .pager a:hover {
  opacity: 1;
  background-color: rgba(0, 0, 0, 0.4);
  color: #fff
}

.pager .prev {
  padding-right: 0.5em
}

.pager .next {
  padding-left: 0.5em
}

@media screen and (max-width: 960px) {
  .pager {
    padding-top: 35px
  }
  .pager ul {
    margin: 0 -10px -10px 0
  }
  .pager li {
    margin: 0 10px 10px 0
  }
}

@media screen and (min-width: 961px) {
  .temphead {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-direction: column;
    flex-direction: column;
    background: no-repeat center / cover;
    height: 100vh;
    padding-left: 20%
  }
}

.temphead .tempttl .caf {
  color: #444
}

@media screen and (min-width: 961px) {
  .temphead .tempttl .ja {
    font-size: 20px;
    margin-top: 35px
  }
}

.temphead .txt {
  font-size: 18px;
  line-height: 2.4em
}

.temphead .tempbtn {
  margin: 0
}

@media screen and (max-width: 960px) {
  .temphead .tempttl {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-flex-direction: column;
    flex-direction: column;
    background: no-repeat center / cover;
    padding: 0 30px 27%
  }
  .temphead .tempttl .caf {
    font-size: 35px;
    letter-spacing: 10px;
    margin: -5px 0 0
  }
  .temphead .tempttl .ja {
    font-size: 17px
  }
  .temphead .txt {
    font-size: 14px;
    line-height: 2em;
    margin: 25px
  }
  .temphead.ver2 {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-direction: column;
    flex-direction: column;
    background: no-repeat center / cover;
    padding: 0 30px;
    position: relative
  }
  .temphead.ver2 .tempttl {
    display: block;
    height: auto !important;
    padding: 0
  }
  .temphead.ver2 .txt {
    margin: 35px 0 0
  }
  .temphead.ver2 .tempbtn {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 40px;
    margin: auto
  }
}

.templist {
  padding: 125px 44px 0
}

.templist ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -40px -25px 0
}

.templist li {
  width: 198px;
  margin: 0 40px 25px 0
}

.templist a {
  display: block
}

.templist figure img {
  width: 100%;
  height: auto
}

.templist .name {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 20px 0
}

.templist .name span {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #98bfc8;
  min-width: 90px;
  height: 33px;
  padding: 0 15px;
  text-align: center;
  color: #fff;
  font-size: 14px;
  line-height: 1em
}

.templist .post_ttl {
  text-align: center;
  color: #98bfc8;
  margin-bottom: 10px
}

.templist .txt {
  font-size: 15px;
  line-height: 1.7em
}

@media screen and (min-width: 961px) {
  .templist.row3 ul {
    margin: 0 -42px -25px 0
  }
  .templist.row3 li {
    width: 276px;
    margin: 0 42px 25px 0
  }
}

@media screen and (max-width: 960px) {
  .templist {
    padding: 0 25px
  }
  .templist ul {
    margin: 0 0 -30px
  }
  .templist li {
    width: 50%;
    margin: 0 0 30px;
    padding-right: 15px
  }
  .templist li:nth-child(even) {
    padding: 0 0 0 15px
  }
  .templist .name {
    padding: 10px 0
  }
  .templist .name span {
    min-width: 70px;
    height: 26px;
    font-size: 10px
  }
  .templist .post_ttl {
    font-size: 15px;
    line-height: 1.6em
  }
}

#sort table {
  border-bottom: 1px solid #98bfc8
}

#sort th {
  padding: 15px 0;
  border-bottom-color: #98bfc8;
  border-bottom-width: 1px;
  text-align: center;
  color: #2a5b63;
  font-size: 13px;
  line-height: 1em
}

#sort th.img {
  background: none;
  pointer-events: none;
  width: 50px
}

#sort th.id {
  width: 80px
}

#sort th.shape {
  width: 100px
}

#sort th.carat {
  width: 110px
}

#sort th.color {
  width: 80px
}

#sort th.clarity {
  width: 110px
}

#sort th.cut {
  width: auto
}

#sort td {
  border-bottom: none;
  padding: 6px 0;
  vertical-align: middle
}

#sort td:not(:first-child):not(:last-child) {
  border-right: 1px solid #98bfc8
}

#sort td img {
  width: 45px;
  height: auto
}

#sort tr:first-child td {
  padding: 12px 0 6px
}

#sort tr:last-child td {
  padding: 6px 0 12px
}

@media screen and (max-width: 960px) {
  #sort {
    width: 100%;
    padding: 20px 0;
    overflow-x: scroll;
    text-align: center
  }
  #sort::-webkit-scrollbar {
    height: 10px
  }
  #sort::-webkit-scrollbar-track {
    background: #fff
  }
  #sort::-webkit-scrollbar-thumb {
    background: #ddd
  }
  #sort table {
    width: 650px;
    border: 1px solid #98bfc8
  }
  #sort th {
    padding: 8px 0
  }
  #sort th.img {
    width: 40px
  }
  #sort th.id {
    width: 70px
  }
  #sort th.carat {
    width: 100px
  }
  #sort th.color {
    width: 70px
  }
  #sort th.clarity {
    width: 100px
  }
  #sort th.cut {
    width: auto
  }
  #sort td {
    padding: 3px 0
  }
  #sort td img {
    width: 25px;
    margin: 0 auto
  }
  #sort tr:first-child td {
    padding: 6px 0 3px
  }
  #sort tr:last-child td {
    padding: 3px 0 6px
  }
}

.tempform .input_box {
  width: 640px;
  margin: 0 auto
}

.tempform .input_box dt {
  margin-bottom: 5px
}

.tempform .input_box dd {
  margin-bottom: 15px
}

.tempform .input_box dd input {
  width: 100%;
  height: 33px
}

.tempform .input_box dd input[type="file"] {
  border: none;
  padding: 0
}

.tempform .input_box dd textarea {
  width: 100%;
  height: 170px
}

.tempform .input_box dd.reserve select {
  width: 150px;
  height: 33px
}
#sample #form .tempform .sample_box {
    display: none;
}
@media screen and (min-width: 961px) {
  .tempform .input_halfbox {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 640px;
    margin: 0 auto
  }
  .tempform .input_halfbox .input_box {
    width: 300px;
    margin: 0
  }
  .tempform .input_halfbox .input_box:nth-child(even) {
    margin: 0 0 0 40px
  }
}

.tempform .agree {
  padding: 20px 0 40px;
  text-align: center
}

.tempform .agree .check {
  margin-top: 30px
}

.tempform .agree input {
  margin-right: 5px
}

.tempform .submitbtn {
  background-color: #98bfc8;
  width: 260px;
  height: 42px;
  margin: 0 auto
}

.tempform .submitbtn input {
  background-color: transparent;
  width: 100%;
  height: 100%;
  border: none;
  padding: 0;
  text-align: center;
  color: #fff;
  font-size: 13px;
  line-height: 1em;
  cursor: pointer
}

@media screen and (max-width: 960px) {
  .tempform .input_box {
    width: auto
  }
  .tempform .input_box dd input {
    height: 40px
  }
  .tempform .input_box dd textarea {
    height: 120px
  }
  .tempform .input_box dd.reserve select {
    width: 80%;
    height: 40px;
    margin: 5px 0
  }
  .tempform .agree {
    padding: 0 0 20px
  }
  .tempform .agree .check {
    margin-top: 20px
  }
  .tempform .submitbtn {
    width: auto
  }
}

.drawer-open {
  overflow: hidden !important
}

#header {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100
}

#header, #header a {
  color: #fff
}

#header .head {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  height: 90px;
  padding-left: 40px
}

#header .head .logo {
  width: 140px;
  margin-right: 25px
}

#header .head .logo a {
  display: block
}

#header .head .logo img {
  width: 100%;
  height: auto
}

#header .head .pcnav ul {
  display: -webkit-flex;
  display: flex;
  line-height: 1.4em
}

#header .head .pcnav a {
  display: block;
  color: #98bfc8;
  padding: 0 12px
}

#homepage #header .head .pcnav a {
  color: #fff
}

@media screen and (max-width: 1580px) {
  #header .head .pcnav {
    display: none
  }
}

#header .head .drawer-btnbox {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  background-color: rgba(152, 191, 200, 0.9);
  width: 690px;
  height: 100px;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 104;
  -webkit-transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1)
}

.drawer-open #header .head .drawer-btnbox {
  background-color: transparent;
  width: 490px
}

#header .head .drawer-btnbox .reservebox {
  padding: 0 80px;
  text-align: center;
  font-size: 13px;
  line-height: 1em;
  -webkit-transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1)
}

#header .head .drawer-btnbox .reservebox li:first-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  letter-spacing: 6px
}

#header .head .drawer-btnbox .reservebox a {
  display: block;
  padding: 10px 0
}

.drawer-open #header .head .drawer-btnbox .reservebox {
  padding: 0 30px
}

#header .head .drawer-btnbox .cartbtn {
  width: 184px;
  height: 60px;
  border: solid rgba(255, 255, 255, 0.3);
  border-width: 0 1px
}

#header .head .drawer-btnbox .cartbtn a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  height: 100%
}

#header .head .drawer-btnbox .cartbtn .din {
  font-size: 13px;
  line-height: 1em;
  letter-spacing: 4px
}

#header .head .drawer-btnbox .cartbtn img {
  width: 16px;
  height: 16px;
  margin-left: 10px
}

#header .head .drawer-btnbox .hamburgerbox {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-grow: 1;
  flex-grow: 1
}

#header .head .drawer-btnbox .hamburgerbox .drawer-hamburger {
  display: block;
  background-color: transparent;
  width: 30px;
  height: 30px;
  padding: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  cursor: pointer
}

@media screen and (min-width: 961px) {
  #header .head .drawer-btnbox .hamburgerbox .drawer-hamburger:hover {
    opacity: 0.5
  }
}

#header .head .drawer-btnbox .hamburgerbox .drawer-hamburger-icon {
  display: block;
  background-color: transparent;
  position: relative
}

#header .head .drawer-btnbox .hamburgerbox .drawer-hamburger-icon, #header .head .drawer-btnbox .hamburgerbox .drawer-hamburger-icon:before, #header .head .drawer-btnbox .hamburgerbox .drawer-hamburger-icon:after {
  width: 100%;
  height: 1px;
  -webkit-transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1)
}

#header .head .drawer-btnbox .hamburgerbox .drawer-hamburger-icon:before, #header .head .drawer-btnbox .hamburgerbox .drawer-hamburger-icon:after {
  content: "";
  background-color: #fff;
  position: absolute;
  top: -4px;
  left: 0
}

#header .head .drawer-btnbox .hamburgerbox .drawer-hamburger-icon:after {
  top: 4px
}

.drawer-open #header .head .drawer-btnbox .hamburgerbox .drawer-hamburger-icon:before, .drawer-open #header .head .drawer-btnbox .hamburgerbox .drawer-hamburger-icon:after {
  top: 0
}

.drawer-open #header .head .drawer-btnbox .hamburgerbox .drawer-hamburger-icon:before {
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg)
}

.drawer-open #header .head .drawer-btnbox .hamburgerbox .drawer-hamburger-icon:after {
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg)
}

#header .drawer-nav {
  background-color: rgba(152, 191, 200, 0.9);
  width: 490px;
  height: 100%;
  position: fixed;
  top: 0;
  right: -490px;
  z-index: 101;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  -webkit-transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: 0.6s cubic-bezier(0.19, 1, 0.22, 1)
}

.drawer-open #header .drawer-nav {
  right: 0
}

#header .drawer-nav .drawer-menu {
  padding: 100px 0 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  font-size: 17px;
  line-height: 1.4em
}

#header .drawer-nav .drawer-menu>li:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  padding-top: 100px
}

#header .drawer-nav .drawer-menu>li:not(:last-child) {
  margin-bottom: 15px
}

#header .drawer-nav .drawer-menu-item {
  display: block;
  padding-left: 40px
}

#header .drawer-nav .info {
  padding: 30px 40px
}

#header .drawer-nav .info dt {
  margin-bottom: 5px
}

#header .drawer-nav .info .tel {
  font-size: 18px;
  line-height: 1.2em
}

#header .drawer-nav .info .open {
  margin-top: 3px
}

#header .drawer-overlay {
  display: none;
  background-color: transparent;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100
}

.drawer-open #header .drawer-overlay {
  display: block
}

@media screen and (max-width: 960px) {
  #header .head {
    height: 80px;
    padding-left: 0
  }
  #header .head .logo {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    width: 100%;
    margin-right: 0;
    padding-right: 180px
  }
  #header .head .logo a {
    width: 100px
  }
  #header .head .drawer-btnbox {
    width: 180px;
    height: 80px
  }
  .drawer-open #header .head .drawer-btnbox {
    width: 180px
  }
  #header .head .drawer-btnbox .cartbtn {
    width: 100px;
    height: 40px;
    border-width: 0 1px 0 0
  }
  #header .head .drawer-btnbox .cartbtn .din {
    font-size: 11px
  }
  #header .head .drawer-btnbox .cartbtn img {
    width: 13px;
    height: 13px
  }
  #header .head .drawer-btnbox .hamburgerbox .drawer-hamburger {
    width: 50px;
    height: 50px;
    padding: 0 13px
  }
  #header .drawer-nav {
    width: 100%;
    right: 0;
    opacity: 0;
    visibility: hidden
  }
  .drawer-open #header .drawer-nav {
    opacity: 1;
    visibility: visible
  }
  #header .drawer-nav .logo {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    height: 80px;
    padding-right: 180px
  }
  #header .drawer-nav .logo img {
    width: 100px;
    height: 24px
  }
  #header .drawer-nav .drawer-menu {
    padding: 0 0 20px;
    font-size: 15px
  }
  #header .drawer-nav .drawer-menu>li:first-child {
    padding-top: 20px
  }
  #header .drawer-nav .reservebox {
    display: -webkit-flex;
    display: flex;
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    padding: 15px 0;
    font-size: 13px;
    line-height: 1em;
    position: absolute;
    left: 0;
    bottom: 0
  }
  #header .drawer-nav .reservebox li {
    width: 50%
  }
  #header .drawer-nav .reservebox li:first-child {
    border-right: 1px solid rgba(255, 255, 255, 0.3)
  }
  #header .drawer-nav .reservebox a {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    height: 40px
  }
}

#top_main {
  position: relative
}

#top_main .bgfadeslide {
  height: 100vh;
  overflow: hidden;
  position: relative
}

#top_main .bgfadeslide li {
  background: no-repeat center / cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  opacity: 0;
  z-index: 1
}

#top_main .bgfadeslide li:nth-child(1) {
  background-image: url(img/top_main_bg01.jpg)
}

#top_main .bgfadeslide li:nth-child(2) {
  background-image: url(img/top_main_bg02.jpg)
}

#top_main .bgfadeslide li.active {
  z-index: 2
}

#top_main .logo {
  width: 280px;
  height: 70px;
  position: absolute;
  top: 40%;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 2
}

#top_concept {
  height: 600px;
  padding-top: 165px;
  position: relative
}

#top_concept p {
  font-size: 15px;
  line-height: 2.4em;
  margin: 40px 0 30px
}

#top_concept figure {
  width: 440px;
  position: absolute;
  top: 100px;
  right: -200px
}

#top_concept figure:before {
  content: "";
  background-color: rgba(152, 191, 200, 0.2);
  width: 640px;
  height: 500px;
  position: absolute;
  top: -100px;
  right: 0;
  z-index: -1
}

#top_concept figure img {
  width: 100%;
  height: auto
}

@media screen and (max-width: 960px) {
  #top_concept {
    height: auto;
    padding: 65px 45px 0
  }
  #top_concept p {
    font-size: 13px;
    line-height: 2em;
    margin: 30px 0 40px
  }
  #top_concept figure {
    width: 84%;
    margin: 95px 0 0 auto;
    position: relative;
    top: 0;
    right: -45px
  }
  #top_concept figure:before {
    width: 145%;
    height: 0;
    padding-top: 115%;
    top: -55px
  }
}

.items .itemswrap {
  margin: 40px 0 20px;
  position: relative
}

@media screen and (min-width: 961px) {
  .items .swiper-slide {
    width: 280px;
    margin-right: 20px
  }
}

.items .swiper-slide a {
  display: block;
  position: relative
}

.items .swiper-slide figure img {
  width: 100%;
  height: auto
}

.items .swiper-slide p {
  position: absolute;
  left: 20px;
  z-index: 2
}

.items .swiper-slide .en {
  color: #2a5b63;
  font-size: 17px;
  line-height: 1.7em;
  top: 25px
}

.items .swiper-slide .ja {
  font-size: 16px;
  line-height: 1em;
  bottom: 20px
}

.items .sample {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  background-color: rgba(152, 191, 200, 0.2);
  height: 140px;
  padding-left: 55px;
  position: relative
}

.items .sample figure {
  width: 40px
}

.items .sample figure img {
  width: 100%;
  height: auto
}

.items .sample .txtbox {
  padding-left: 35px
}

.items .sample .txtbox p {
  font-size: 17px;
  line-height: 1em
}

.items .sample .txtbox .txt2 {
  font-size: 23px;
  margin: 15px 0 12px
}

.items .sample .txtbox .txt3 {
  color: #2a5b63
}

@media screen and (min-width: 961px) {
  .items .sample .tempmore {
    position: absolute;
    right: 35px;
    bottom: 35px
  }
}

@media screen and (max-width: 960px) {
  .items .tempttl {
    padding: 0 40px
  }
  .items .itemswrap {
    width: 235%;
    margin: 30px 0 40px 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
  }
  .items .swiper-slide .en {
    font-size: 16px
  }
  .items .swiper-slide .ja {
    font-size: 15px
  }
  .items .swiper-button-prev {
    left: 31%
  }
  .items .swiper-button-next {
    right: 31%
  }
  .items .sample {
    display: block;
    height: auto;
    margin: 0 30px;
    padding: 35px 0 40px
  }
  .items .sample figure {
    width: 40px;
    margin: 0 auto
  }
  .items .sample .txtbox {
    padding: 20px 0 25px
  }
  .items .sample .txtbox p {
    text-align: center;
    font-size: 14px
  }
  .items .sample .txtbox .txt2 {
    font-size: 19px;
    margin: 10px 0
  }
  .items .sample .txtbox .txt3 {
    color: #2a5b63
  }
}

#top_items {
  padding: 20px 0 70px
}

@media screen and (max-width: 960px) {
  #top_items {
    padding: 50px 0 0
  }
}

#top_story {
  background-color: rgba(152, 191, 200, 0.1);
  padding: 120px 0 55px
}

#top_story .tempttl {
  text-align: center
}

#top_story .subttl {
  text-align: center;
  font-size: 13px;
  line-height: 1em;
  margin: 20px 0 55px
}

#top_story .storywrap {
  width: 920px;
  margin: 0 auto 50px;
  position: relative
}

#top_story .swiper-slide {
  width: 200px;
  margin-right: 40px
}

#top_story .swiper-slide a {
  display: block
}

#top_story .swiper-slide figure {
  position: relative
}

#top_story .swiper-slide figure img {
  width: 100%;
  height: auto;
  border-radius: 50%
}

#top_story .swiper-slide figure figcaption {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #98bfc8;
  width: 90px;
  height: 34px;
  text-align: center;
  color: #fff;
  line-height: 1em;
  position: absolute;
  top: 20px;
  left: 0;
  z-index: 2
}

#top_story .swiper-slide p {
  font-size: 15px;
  line-height: 1.7em;
  margin-top: 15px
}

@media screen and (min-width: 961px) {
  #top_story .tempmore {
    margin: 0 auto
  }
}

@media screen and (max-width: 960px) {
  #top_story {
    margin: 0 30px;
    padding: 50px 0
  }
  #top_story .subttl {
    margin: 20px 0 35px
  }
  #top_story .storywrap {
    width: auto;
    margin: 0 20px 45px
  }
  #top_story .swiper-wrapper {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: -35px
  }
  #top_story .swiper-slide {
    width: 50%;
    margin: 0 0 35px;
    padding-right: 12px
  }
  #top_story .swiper-slide:nth-child(even) {
    padding: 0 0 0 12px
  }
  #top_story .swiper-slide:not(:nth-child(-n+4)) {
    display: none
  }
  #top_story .swiper-slide figure img {
    border-radius: 30px
  }
  #top_story .swiper-slide figure figcaption {
    width: 56px;
    height: 21px;
    font-size: 9px;
    top: 10px;
    left: 0
  }
  #top_story .swiper-slide p {
    font-size: 13px;
    margin-top: 10px
  }
}

@media screen and (max-width: 960px) and (min-width: 961px) {
  #top_story .tempmore {
    margin: 0 auto
  }
}

#top_news .bg {
  background: url(img/top_news_bg.jpg) no-repeat center/cover;
  height: 450px
}

#top_news .tempttl {
  padding: 50px 0;
  text-align: center
}

#top_news .wrapper {
  padding-bottom: 60px
}

#top_news .news_list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -40px -40px 0
}

#top_news .news_list li {
  display: -webkit-flex;
  display: flex;
  width: 420px;
  padding-right: 30px;
  margin: 0 40px 40px 0
}

#top_news .news_list li figure {
  width: 120px;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 15px
}

#top_news .news_list li figure a {
  display: block
}

#top_news .news_list li figure img {
  width: 100%;
  height: auto
}

#top_news .news_list li .meta {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  padding: 5px 0 12px;
  color: #98bfc8
}

#top_news .news_list li .meta time {
  margin-right: 15px;
  line-height: 1em
}

#top_news .news_list li .meta .topcategory_link {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  font-weight: bold;
  line-height: 1em;
  margin-right: -5px
}

#top_news .news_list li .meta .topcategory_link a {
  display: block;
  margin-right: 5px;
  color: #98bfc8
}

#top_news .news_list li .post_ttl {
  font-size: 15px;
  line-height: 1.7em
}

#top_news .news_list li .post_ttl a {
  display: block
}

@media screen and (min-width: 961px) {
  #top_news .tempmore {
    margin: 0 auto
  }
}

@media screen and (max-width: 960px) {
  #top_news .bg {
    background-image: url(img/top_news_bgsp.jpg);
    height: 0;
    padding-top: 53%
  }
  #top_news .tempttl {
    padding: 80px 0 35px
  }
  #top_news .wrapper {
    padding: 0 45px 45px
  }
  #top_news .news_list {
    margin: 0 0 -30px
  }
  #top_news .news_list li {
    width: 100%;
    padding-right: 0;
    margin: 0 0 30px
  }
  #top_news .news_list li figure {
    width: 100px
  }
  #top_news .news_list li .meta {
    display: block;
    padding: 0 0 10px
  }
  #top_news .news_list li .meta time {
    margin: 0 0 8px;
    font-size: 12px
  }
  #top_news .news_list li .meta .topcategory_link {
    font-size: 13px
  }
  #top_news .news_list li .post_ttl {
    font-size: 13px
  }
}

#footer {
  margin-top: 70px;
  border-top: 1px solid rgba(152, 191, 200, 0.2);
  padding: 50px 0 70px;
  position: relative
}

#footer .duide {
  padding: 40px 0 50px
}

#footer .duide .ttl {
  color: #98bfc8;
  font-weight: bold;
  font-size: 22px;
  line-height: 1em;
  letter-spacing: 8px;
  margin-bottom: 30px
}

#footer .duide .duide_list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -80px -20px 0;
  font-size: 15px;
  line-height: 1.4em
}

#footer .duide .duide_list li {
  background: url(img/icon_plus.png) no-repeat left center/10px auto;
  width: 240px;
  margin: 0 80px 20px 0;
  padding-left: 20px
}

#footer .duide .duide_list a {
  display: block;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding: 3px 0
}

#footer .duide .other {
  display: -webkit-flex;
  display: flex;
  margin-top: 80px;
  border-top: 1px solid rgba(152, 191, 200, 0.2);
  padding-top: 60px
}

#footer .duide .other a {
  display: block;
  margin: 10px 50px 0 0
}

#footer .duide .other .logo {
  width: 260px;
  margin-left: auto
}

#footer .duide .other .logo img {
  width: 100%;
  height: auto
}

#footer .foot_info .contactbtn {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: rgba(152, 191, 200, 0.2);
  width: 280px;
  height: 50px;
  color: #2a5b63;
  font-weight: bold;
  font-size: 16px;
  line-height: 1em
}

#footer .foot_info .contactbtn img {
  width: 22px;
  height: 15px;
  margin-right: 10px
}

#footer .foot_info .infobox {
  padding-top: 35px
}

#footer .foot_info .infobox .ttl {
  color: #98bfc8;
  margin-bottom: 5px
}

#footer .foot_info .infobox .tel {
  font-size: 30px;
  line-height: 1em
}

#footer .foot_info .infobox .open {
  margin: 20px 0 40px
}

#footer .foot_info .infobox .address dt {
  color: #98bfc8;
  font-weight: bold;
  font-size: 10px;
  line-height: 1em;
  margin-bottom: 5px
}

#footer .copy {
  font-size: 12px;
  line-height: 1em;
  position: absolute;
  right: 0;
  bottom: 70px
}

#footer .wrapper #paypal-logo {
  display:none;
}

@media screen and (max-width: 960px) {
  #footer {
    margin-top: 0;
    border-top: none;
    padding: 100px 0 40px;
    overflow: hidden
  }
  #footer .duide {
    padding: 45px 45px 65px
  }
  #footer .duide .duide_list {
    margin: 0 0 -20px
  }
  #footer .duide .duide_list li {
    width: 100%;
    margin: 0 0 20px
  }
  #footer .duide .other {
    display: block;
    margin-top: 50px;
    padding-top: 35px;
    text-align: center;
    font-size: 13px;
    line-height: 1.4em
  }
  #footer .duide .other a {
    display: block;
    margin: 0
  }
  #footer .duide .other a:first-child {
    margin-bottom: 10px
  }
  #footer .foot_info {
    padding: 0 45px 10px
  }
  #footer .foot_info .contactbtn {
    width: auto;
    font-size: 15px
  }
  #footer .foot_info .infobox .tel {
    font-size: 26px
  }
  #footer .foot_info .infobox .open {
    margin: 15px 0 40px;
    font-size: 13px;
    line-height: 1.7em
  }
  #footer .foot_info .infobox .address dd {
    font-size: 13px;
    line-height: 1.7em
  }
  #footer .foot_info .logo {
    margin-top: 45px
  }
  #footer .foot_info .logo a {
    display: block;
    width: 160px;
    margin: 0 auto
  }
  #footer .foot_info .logo img {
    width: 100%;
    height: auto
  }
  #footer .copy {
    text-align: center;
    position: static
  }
}

#news .tempttl {
  padding: 0 65px
}

#news .category_nav {
  padding: 90px 65px 60px
}

#news .category_nav .category_link {
  font-size: 14px;
  margin-right: -20px
}

#news .category_nav .category_link a {
  background-color: rgba(152, 191, 200, 0.2);
  width: 90px;
  height: 33px;
  margin-right: 20px
}

#news .category_nav .category_link a.active {
  background-color: #98bfc8
}

@media screen and (min-width: 961px) {
  #news .category_nav .category_link a:hover {
    opacity: 1;
    background-color: #98bfc8
  }
}

#news .news_list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -44px -65px 0
}

#news .news_list li {
  width: 304px;
  margin: 0 44px 65px 0
}

#news .news_list li figure a {
  display: block
}

#news .news_list li figure img {
  width: 100%;
  height: auto
}

#news .news_list li .txtbox {
  padding: 20px 15px 40px;
  position: relative
}

#news .news_list li .txtbox time {
  color: #98bfc8;
  line-height: 1em
}

#news .news_list li .txtbox .post_ttl {
  font-size: 15px;
  line-height: 1.7em;
  margin-top: 10px
}

#news .news_list li .txtbox .post_ttl a {
  display: block
}

#news .news_list li .txtbox .category_link {
  position: absolute;
  left: 15px;
  bottom: 0
}

@media screen and (max-width: 960px) {
  #news .tempttl {
    padding: 0;
    text-align: center
  }
  #news .category_nav {
    padding: 30px 45px 40px
  }
  #news .category_nav .category_link {
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    font-size: 10px;
    margin-right: -10px
  }
  #news .category_nav .category_link a {
    width: 25%;
    height: 22px;
    margin-right: 10px
  }
  #news .news_list {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 45px -15px
  }
  #news .news_list li {
    display: -webkit-flex;
    display: flex;
    width: 100%;
    margin: 0 0 15px
  }
  #news .news_list li figure {
    width: 100px;
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
    margin-right: 15px
  }
  #news .news_list li .txtbox {
    padding: 0
  }
  #news .news_list li .txtbox time {
    font-size: 12px;
    margin-bottom: 8px
  }
  #news .news_list li .txtbox .post_ttl {
    font-size: 13px
  }
  #news .news_list li .txtbox .category_link {
    position: static
  }
  #news .news_list li .txtbox .category_link a {
    display: block;
    width: auto;
    height: auto;
    background-color: transparent;
    color: #98bfc8;
    font-size: 13px
  }
}

.article {
  width: 466px;
  margin: 0 auto 150px;
  font-size: 15px;
  line-height: 2.2em
}

.article h2, .article h3, .article h4, .article h5, .article h6 {
  line-height: 1.6em
}

.article h2 {
  font-size: 20px;
  margin: 60px 0 30px
}

.article h3 {
  font-size: 20px;
  margin: 60px 0 20px
}

.article h4 {
  font-size: 18px;
  margin: 40px 0 15px
}

.article h5, .article h6 {
  margin: 30px 0 10px
}

.article h5 {
  font-size: 16px;
  font-style: oblique
}

.article h6 {
  font-style: oblique
}

@media screen and (max-width: 960px) {
  .article {
    width: auto;
    margin: 0 0 120px
  }
  .article h2, .article h3, .article h4, .article h5, .article h6 {
    text-align: center
  }
  .article h2, .article h3 {
    font-size: 18px;
    margin: 35px 6.7% 25px
  }
  .article h4 {
    font-size: 17px;
    margin: 30px 6.7% 10px
  }
  .article h5, .article h6 {
    margin: 20px 6.7% 5px
  }
  .article h5 {
    font-size: 16px
  }
}

.article p, .article table, .article dl, .article ul, .article ol, .article blockquote, .article hr {
  margin: 0 0 20px
}

@media screen and (max-width: 960px) {
  .article p, .article table, .article dl, .article ul, .article ol, .article blockquote, .article hr {
    margin: 0 6.7% 20px
  }
}

.article a {
  display: inline-block;
  color: #00a9ef;
  text-decoration: underline
}

@media screen and (min-width: 961px) {
  .article a:hover {
    opacity: 0.5;
    text-decoration: none
  }
}

.article strong {
  font-weight: bold
}

.article strong, .article span {
  display: inline;
  line-height: 1.6em
}

.article em {
  font-style: oblique
}

.article del {
  text-decoration: line-through
}

.article img {
  max-width: 100%;
  height: auto;
  margin-top: 10px
}

@media screen and (max-width: 960px) {
  .article img {
    margin: 0 auto
  }
}

@media screen and (max-width: 960px) {
  .article p img {
    max-width: 118%;
    margin: 0;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
  }
}

.article .wp-caption-text {
  display: block;
  text-align: center;
  font-size: 13px;
  line-height: 1.7em;
  margin-top: -10px
}

@media screen and (min-width: 961px) {
  .article .alignleft {
    float: left;
    margin-right: 30px;
    text-align: left
  }
  .article .alignright {
    float: right;
    margin-left: 30px;
    text-align: right
  }
}

.article .aligncenter {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  text-align: center;
  margin-left: auto;
  margin-right: auto
}

@media screen and (max-width: 960px) {
  .article .aligncenter {
    display: block
  }
}

.article table {
  width: 100%;
  table-layout: auto;
  line-height: 1.6em
}

@media screen and (max-width: 960px) {
  .article table {
    width: 86.6%
  }
}

.article th, .article td {
  border: 1px solid rgba(152, 191, 200, 0.4);
  padding: 10px 15px
}

.article th {
  background-color: rgba(152, 191, 200, 0.2)
}

.article dt {
  font-weight: bold;
  color: #2a5b63;
  margin-bottom: 5px
}

.article dd {
  margin-bottom: 30px
}

@media screen and (max-width: 960px) {
  .article dd {
    margin-bottom: 20px
  }
}

.article ul, .article ol {
  line-height: 1.4em;
  padding-left: 1.5em
}

.article ul {
  list-style: disc outside
}

.article ol {
  list-style: decimal outside
}

.article li:not(:last-child) {
  margin-bottom: 8px
}

.article ul+ul, .article ol+ol {
  margin-top: -20px
}

.article ul ul, .article ol ol {
  margin: 0.8em 0 0
}

.article ul ul {
  list-style: circle outside
}

.article ul ul ul {
  list-style: none
}

.article ul ul ul li {
  position: relative
}

.article ul ul ul li:before {
  content: ">";
  position: absolute;
  top: 0;
  left: -1.2em
}

.article blockquote {
  display: block;
  background-color: rgba(152, 191, 200, 0.2);
  padding: 20px 20px 0;
  border: 2px solid rgba(152, 191, 200, 0.4);
  line-height: 1.6em
}

.article blockquote:before {
  content: "“";
  display: block;
  height: 35px;
  color: rgba(152, 191, 200, 0.4);
  font-family: Georgia, "Times New Roman", Times, "serif";
  font-size: 80px;
  line-height: 0.8em;
  text-indent: -5px
}

.article hr {
  display: block;
  background-color: rgba(152, 191, 200, 0.4);
  height: 1px
}

.article .movie {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
  position: relative;
  margin-bottom: 20px
}

.article .movie iframe {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0
}

@media screen and (min-width: 961px) {
  #news.single article {
    width: 1126px;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
  }
}

#news.single .ttlbox {
  padding: 80px 0 45px;
  text-align: center
}

#news.single .ttlbox .category_link {
  -webkit-justify-content: center;
  justify-content: center
}

#news.single .ttlbox .category_link a {
  width: 90px;
  height: 33px;
  font-size: 14px
}

#news.single .ttlbox h1 {
  font-size: 20px;
  line-height: 1.6em;
  margin: 20px 0 30px
}

#news.single .ttlbox time {
  font-size: 13px;
  line-height: 1em
}

#news.single .mainimg img {
  width: 100%;
  height: auto
}

@media screen and (max-width: 960px) {
  #news.single .ttlbox {
    padding: 25px 20px 40px
  }
  #news.single .ttlbox .category_link a {
    width: 71px;
    height: 26px;
    font-size: 11px
  }
  #news.single .ttlbox h1 {
    font-size: 18px;
    margin: 25px 0 20px
  }
  #news.single .ttlbox time {
    font-size: 15px
  }
  #news.single .mainimg img {
    width: 200%;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
  }
}

#news.single #etc {
  background-color: rgba(203, 223, 227, 0.1);
  padding: 65px 0 75px
}

#news.single #etc .ttl {
  color: #98bfc8;
  font-size: 35px;
  line-height: 1em;
  margin-bottom: 40px
}

@media screen and (min-width: 961px) {
  #news.single #etc .news_list {
    margin: 0 -40px -30px 0
  }
  #news.single #etc .news_list li {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    width: 480px;
    margin: 0 40px 30px 0
  }
  #news.single #etc .news_list figure {
    width: 160px;
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto
  }
  #news.single #etc .news_list .txtbox {
    padding: 0 0 40px 20px
  }
  #news.single #etc .news_list .txtbox .category_link {
    left: 20px
  }
}

#news.single #etc .tempmore {
  margin: 60px auto 0
}

@media screen and (max-width: 960px) {
  #news.single #etc {
    padding: 30px 25px 40px
  }
  #news.single #etc .ttl {
    text-align: center;
    font-size: 20px
  }
  #news.single #etc .news_list {
    margin: 0 0 -35px
  }
  #news.single #etc .news_list li {
    display: block;
    width: 50%;
    margin: 0 0 35px;
    padding-right: 15px
  }
  #news.single #etc .news_list li:nth-child(even) {
    padding: 0 0 0 15px
  }
  #news.single #etc .news_list figure {
    width: 92%;
    margin: 0 auto 20px
  }
  #news.single #etc .news_list .txtbox time {
    text-align: center;
    font-size: 16px;
    margin-bottom: 15px
  }
  #news.single #etc .news_list .txtbox .category_link {
    -webkit-justify-content: center;
    justify-content: center;
    font-size: 11px
  }
  #news.single #etc .news_list .txtbox .post_ttl {
    font-size: 15px
  }
}

#story {
  margin-top: -180px
}

@media screen and (min-width: 961px) {
  #story .temphead {
    background-image: url(img/story_head.jpg)
  }
  #story .temphead .txt {
    padding: 60px 0 100px
  }
}

@media screen and (max-width: 960px) {
  #story {
    margin-top: -120px
  }
  #story .temphead .tempttl {
    background-image: url(img/story_headsp.jpg)
  }
}

@media screen and (min-width: 961px) {
  #story.single article {
    width: 1352px;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
  }
}

#story.single .ttlbox {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  padding: 40px 0
}

#story.single .ttlbox .name {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #98bfc8;
  min-width: 145px;
  height: 54px;
  padding: 0 15px;
  text-align: center;
  color: #fff;
  font-size: 23px;
  line-height: 1em
}

#story.single .ttlbox h1 {
  color: #98bfc8;
  font-size: 23px;
  line-height: 1.6em;
  padding-left: 130px
}

#story.single .mainimg img {
  width: 100%;
  height: auto
}

#story.single .article h2, #story.single .article h3, #story.single .article h4, #story.single .article h5, #story.single .article h6 {
  color: #98bfc8
}

@media screen and (max-width: 960px) {
  #story.single .ttlbox {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    padding: 20px 10px
  }
  #story.single .ttlbox .name {
    min-width: 90px;
    height: 33px;
    font-size: 14px
  }
  #story.single .ttlbox h1 {
    -webkit-flex-grow: 1;
    flex-grow: 1;
    text-align: center;
    font-size: 14px;
    padding-left: 10px
  }
}

#engagement {
  margin-top: -180px
}

@media screen and (min-width: 961px) {
  #engagement .temphead {
    background-image: url(img/engagement_head.jpg)
  }
  #engagement .temphead .txt {
    padding-top: 120px
  }
}

@media screen and (max-width: 960px) {
  #engagement {
    margin-top: -120px
  }
  #engagement .temphead .tempttl {
    background-image: url(img/engagement_headsp.jpg)
  }
}

#engagement .templist .post_ttl {
  color: #444;
  font-size: 13px;
  line-height: 1.4em;
  margin: 15px 0 5px
}

#engagement .templist .txt {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  text-align: center;
  font-size: 11px;
  line-height: 1.6em;
  margin: 0 -5px
}

#engagement .templist .txt span {
  display: block;
  padding: 0 5px
}

@media screen and (max-width: 960px) {
  #engagement .templist .post_ttl {
    font-size: 10px
  }
  #engagement .templist .txt {
    font-size: 10px
  }
}

#engagement .bottomtxt {
  text-align: center;
  font-size: 13px;
  line-height: 1.8em;
  margin-top: 70px
}

#engagement .bottomtxt a {
  text-decoration: underline
}

@media screen and (max-width: 960px) {
  #engagement .bottomtxt {
    margin: 50px 25px 0;
    text-align: left;
    font-size: 12px
  }
}

@media screen and (min-width: 961px) {
  #product_single .wrapper {
    width: 990px
  }
}

#product_single .productwrap {
  min-height: 548px;
  padding-left: 605px;
  font-size: 15px;
  line-height: 1.8em;
  position: relative
}

#product_single .name, #product_single .price, #product_single .price_table {
  font-size: 20px;
  line-height: 1.7em
}

#product_single .price {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 5px 0 30px
}

#product_single .price span {
  display: block
}

#product_single .price span:not(:last-child) {
  margin-right: 20px
}

#product_single .price small {
  width: 100%;
  font-size: 13px;
  line-height: 1.6em;
  margin-top: 10px
}

#product_single .price_table {
  margin: 5px 0 30px
}

#product_single .price_table th[scope="row"] {
  padding-right: 25px
}

#product_single .price_table td:not(:last-of-type) {
  padding-right: 25px
}

#product_single .photobox {
  width: 524px;
  position: absolute;
  top: 0;
  left: 0
}

#product_single .photobox .mainphoto img {
  width: 100%;
  height: auto
}

#product_single .photobox .thumb {
  margin: 40px 0 0
}

#product_single .photobox .thumb .swiper-slide {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 116px !important;
  height: 116px;
  border: 1px solid rgba(0, 0, 0, 0.7);
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s
}

@media screen and (min-width: 961px) {
  #product_single .photobox .thumb .swiper-slide:hover {
    opacity: 0.5
  }
}

#product_single .photobox .thumb .swiper-slide img {
  width: auto;
  height: 100%
}

#product_single .txt1 {
  font-size: 20px;
  line-height: 1.6em;
  margin-bottom: 10px
}

#product_single .txt2 {
  line-height: 2.2em;
  margin-bottom: 30px
}

#product_single .spec {
  margin-bottom: 30px
}

#product_single .spec dt {
  margin-bottom: 10px
}

#product_single .entrybtn {
  background-color: #98bfc8;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  width: 385px;
  height: 50px;
  padding-left: 20px;
  color: #fff;
  line-height: 1.3em;
  margin-bottom: 18px
}

#product_single .entrybtn img {
  width: 16px;
  height: 16px;
  margin-right: 20px
}

#product_single .entrybtn.sample img {
  -webkit-transform: scale(1.3);
  transform: scale(1.3)
}

#product_single .entrybtn.ordermade img {
  -webkit-transform: scale(1.4);
  transform: scale(1.4)
}

#product_single .bottomtxt {
  font-size: 15px;
  line-height: 1.7em;
  margin-top: 80px
}

#product_single .bottomtxt a {
  text-decoration: underline
}

@media screen and (max-width: 960px) {
  #product_single .wrapper {
    padding: 0 25px
  }
  #product_single .productwrap {
    min-height: 0;
    padding-left: 0;
    font-size: 14px
  }
  #product_single .name, #product_single .price, #product_single .price_table {
    font-size: 17px
  }
  #product_single .price {
    margin: 5px 0 25px
  }
  #product_single .price small {
    font-size: 12px;
    margin-top: 10px
  }
  #product_single .price_table {
    margin: 5px 0 25px
  }
  #product_single .price_table th[scope="row"] {
    padding-right: 15px
  }
  #product_single .price_table td:not(:last-of-type) {
    padding-right: 15px
  }
  #product_single .photobox {
    width: auto;
    position: static
  }
  #product_single .photobox .thumb {
    margin: 15px 0 20px
  }
  #product_single .photobox .thumb .swiper-slide {
    width: 22% !important;
    height: 0;
    margin-right: 4% !important;
    padding-top: 22%;
    position: relative
  }
  #product_single .photobox .thumb .swiper-slide img {
    width: auto;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
  }
  #product_single .txt1 {
    font-size: 17px;
    margin-bottom: 10px
  }
  #product_single .txt2 {
    line-height: 1.8em;
    margin-bottom: 20px
  }
  #product_single .spec {
    margin-bottom: 25px
  }
  #product_single .spec dt {
    margin-bottom: 5px
  }
  #product_single .spec dd {
    font-size: 12px;
    line-height: 1.8em
  }
  #product_single .entrybtn {
    -webkit-justify-content: center;
    justify-content: center;
    width: auto;
    padding-left: 0
  }
  #product_single .entrybtn img {
    margin-right: 10px
  }
  #product_single .bottomtxt {
    font-size: 13px;
    margin-top: 0
  }
}

#product_single .review {
  background-color: rgba(203, 223, 227, 0.1);
  margin-top: 70px;
  padding: 30px 0 50px
}

#product_single .review .ttl {
  padding: 0 44px;
  color: #98bfc8;
  font-size: 25px;
  line-height: 1.6em
}

@media screen and (min-width: 961px) {
  #product_single .review .templist {
    padding-top: 25px
  }
}

#product_single .review .tempmore {
  margin: 50px auto 0
}

@media screen and (max-width: 960px) {
  #product_single .review {
    margin-top: 40px;
    padding: 30px 0
  }
  #product_single .review .ttl {
    padding: 0 25px 20px;
    font-size: 16px
  }
  #product_single .review .tempmore {
    margin: 30px auto 0
  }
}

.remodal[data-remodal-id="modal_order"] {
  max-width: 1000px;
  padding: 75px;
  text-align: center
}

.remodal[data-remodal-id="modal_order"] .ttl {
  color: #98bfc8;
  font-size: 20px;
  line-height: 1.6em
}

.remodal[data-remodal-id="modal_order"] .txt1 {
  font-size: 13px;
  line-height: 1.6em;
  margin: 20px 0 40px
}

.remodal[data-remodal-id="modal_order"] .itembox {
  border: 1px solid #98bfc8;
  padding: 30px
}

.remodal[data-remodal-id="modal_order"] .itembox .box_ttl {
  color: #444;
  margin-bottom: 30px
}

@media screen and (min-width: 961px) {
  .remodal[data-remodal-id="modal_order"] .itembox .wrap {
    display: -webkit-flex;
    display: flex
  }
}

.remodal[data-remodal-id="modal_order"] .itembox figure {
  width: 230px;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 70px
}

.remodal[data-remodal-id="modal_order"] .itembox figure img {
  width: 100%;
  height: auto
}

.remodal[data-remodal-id="modal_order"] .itembox .txtbox {
  width: 100%;
  text-align: left;
  font-size: 13px;
  line-height: 1.6em
}

.remodal[data-remodal-id="modal_order"] .itembox .txtbox table {
  width: 100%
}

.remodal[data-remodal-id="modal_order"] .itembox .txtbox th, .remodal[data-remodal-id="modal_order"] .itembox .txtbox td {
  padding-bottom: 20px
}

.remodal[data-remodal-id="modal_order"] .itembox .txtbox th {
  width: 55px
}

.remodal[data-remodal-id="modal_order"] .itembox .txtbox td span {
  display: inline-block
}

.remodal[data-remodal-id="modal_order"] .itembox .txtbox td span:not(:last-child) {
  margin-right: 10px
}

.remodal[data-remodal-id="modal_order"] .itembox .txtbox small {
  padding-top: 20px;
  font-size: 12px;
  line-height: 1.6em
}

.remodal[data-remodal-id="modal_order"] .itembox .marriage {
  display: -webkit-flex;
  display: flex
}

.remodal[data-remodal-id="modal_order"] .itembox .marriage .tablewrap {
  width: 210px
}

.remodal[data-remodal-id="modal_order"] .itembox .marriage .tablewrap:last-child {
  margin-left: auto
}

.remodal[data-remodal-id="modal_order"] .itembox .marriage .table_ttl {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: rgba(203, 223, 227, 0.2);
  height: 30px;
  margin-bottom: 30px
}

@media screen and (max-width: 960px) {
  .remodal[data-remodal-id="modal_order"] {
    padding: 40px 15px
  }
  .remodal[data-remodal-id="modal_order"] .ttl {
    font-size: 18px
  }
  .remodal[data-remodal-id="modal_order"] .txt1 {
    margin: 10px 0 20px
  }
  .remodal[data-remodal-id="modal_order"] .itembox {
    padding: 15px
  }
  .remodal[data-remodal-id="modal_order"] .itembox .box_ttl {
    font-size: 14px;
    margin-bottom: 15px
  }
  .remodal[data-remodal-id="modal_order"] .itembox figure {
    width: auto;
    margin: 0 0 15px
  }
  .remodal[data-remodal-id="modal_order"] .itembox .txtbox th, .remodal[data-remodal-id="modal_order"] .itembox .txtbox td {
    padding-bottom: 10px
  }
  .remodal[data-remodal-id="modal_order"] .itembox .txtbox small {
    padding-top: 10px
  }
  .remodal[data-remodal-id="modal_order"] .itembox .marriage {
    display: block
  }
  .remodal[data-remodal-id="modal_order"] .itembox .marriage .tablewrap {
    width: auto
  }
  .remodal[data-remodal-id="modal_order"] .itembox .marriage .tablewrap:last-child {
    margin: 10px 0 0
  }
  .remodal[data-remodal-id="modal_order"] .itembox .marriage .table_ttl {
    margin-bottom: 15px
  }
}

.remodal[data-remodal-id="modal_order"] .option {
  padding: 40px 0
}

.remodal[data-remodal-id="modal_order"] .option .ttl {
  margin-bottom: 30px
}

.remodal[data-remodal-id="modal_order"] .option .ttl span {
  display: inline-block;
  vertical-align: middle
}

.remodal[data-remodal-id="modal_order"] .option .ttl .dia {
  font-size: 30px
}

.remodal[data-remodal-id="modal_order"] .option .ttl a {
  display: inline-block;
  background: url(img/arrow_01.png) no-repeat right center/8px auto;
  padding-right: 20px;
  margin-left: 15px;
  font-size: 13px;
  line-height: 1.6em
}

.remodal[data-remodal-id="modal_order"] .option .ttl .free {
  background-color: rgba(203, 223, 227, 0.2);
  padding: 8px 20px;
  color: #444;
  font-size: 13px;
  line-height: 1em;
  margin-left: 10px
}

.remodal[data-remodal-id="modal_order"] .option .ttl .small {
  color: #444;
  font-size: 13px;
  line-height: 1em;
  margin-left: 10px
}

.remodal[data-remodal-id="modal_order"] .option dd:not(:last-of-type) {
  margin-bottom: 50px
}

.remodal[data-remodal-id="modal_order"] .option dd select {
  width: 215px;
  height: 40px
}

.remodal[data-remodal-id="modal_order"] .option dd input[type="radio"] {
  margin-right: 5px
}

.remodal[data-remodal-id="modal_order"] .option dd label {
  margin-right: 20px
}

.remodal[data-remodal-id="modal_order"] .option dd .txt {
  display: inline-block;
  vertical-align: middle;
  font-size: 13px;
  line-height: 1em;
  margin-right: 15px
}

.remodal[data-remodal-id="modal_order"] .option dd .required_box {
  display: inline-block;
  padding: 0 45px;
  position: relative
}

.remodal[data-remodal-id="modal_order"] .option dd .required {
  display: block;
  color: red;
  font-size: 13px;
  line-height: 40px;
  position: absolute;
  top: 0;
  right: 0
}

.remodal[data-remodal-id="modal_order"] .option dd small {
  font-size: 10px;
  line-height: 1.6em;
  margin-top: 10px
}

@media screen and (min-width: 961px) {
  .remodal[data-remodal-id="modal_order"] .option dd #sort {
    padding: 45px 70px 0
  }
}

.remodal[data-remodal-id="modal_order"] .option dd .stone_marriage {
  display: inline-block;
  padding: 0 45px
}

.remodal[data-remodal-id="modal_order"] .option dd .stone_list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 50px 40px -40px
}

.remodal[data-remodal-id="modal_order"] .option dd .stone_list li {
  width: 16.666%;
  margin-bottom: 40px
}

.remodal[data-remodal-id="modal_order"] .option dd .stone_list figure img {
  width: 56px;
  height: auto;
  margin: 0 auto
}

.remodal[data-remodal-id="modal_order"] .option dd .stone_list p {
  font-size: 13px;
  line-height: 1.8em;
  margin-top: 10px
}

.remodal[data-remodal-id="modal_order"] .option dd.stamp {
  font-size: 13px;
  line-height: 1.7em
}

.remodal[data-remodal-id="modal_order"] .option dd.stamp .stampwrap {
  display: -webkit-flex;
  display: flex;
  width: 610px;
  margin: 40px auto 0;
  text-align: left
}

.remodal[data-remodal-id="modal_order"] .option dd.stamp figure {
  width: 170px;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 60px
}

.remodal[data-remodal-id="modal_order"] .option dd.stamp figure img {
  width: 100%;
  height: auto
}

.remodal[data-remodal-id="modal_order"] .option dd.stamp .txtbox {
  width: 100%
}

.remodal[data-remodal-id="modal_order"] .option dd.stamp .txtbox .text {
  margin-bottom: 10px
}

.remodal[data-remodal-id="modal_order"] .option dd.stamp .txtbox .text input {
  width: 100%;
  height: 33px
}

.remodal[data-remodal-id="modal_order"] .option dd.stamp .txtbox .font .last {
  margin-right: 0
}

.remodal[data-remodal-id="modal_order"] .option dd.stamp .txtbox small {
  font-size: 12px;
  line-height: 1.7em;
  margin-bottom: 15px
}

.remodal[data-remodal-id="modal_order"] .option dd.stamp dl {
  display: -webkit-flex;
  display: flex
}

.remodal[data-remodal-id="modal_order"] .option dd.stamp dl:first-child {
  margin-bottom: 20px
}

.remodal[data-remodal-id="modal_order"] .option dd.stamp dl dt {
  padding: 6px 20px 0 0;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto
}

.remodal[data-remodal-id="modal_order"] .option dd .ring {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  height: 40px
}

.remodal[data-remodal-id="modal_order"] .option dd .ring label {
  margin-right: 50px
}

.remodal[data-remodal-id="modal_order"] .option dd .ring .last {
  margin-right: 0
}

@media screen and (max-width: 960px) {
  .remodal[data-remodal-id="modal_order"] .option {
    padding: 30px 0;
    text-align: left
  }
  .remodal[data-remodal-id="modal_order"] .option .ttl {
    margin-bottom: 15px;
    font-size: 14px;
    position: relative
  }
  .remodal[data-remodal-id="modal_order"] .option .ttl span {
    display: inline
  }
  .remodal[data-remodal-id="modal_order"] .option .ttl .dia {
    font-size: 13px
  }
  .remodal[data-remodal-id="modal_order"] .option .ttl a {
    margin-left: 0;
    position: absolute;
    left: 0;
    bottom: 0
  }
  .remodal[data-remodal-id="modal_order"] .option .ttl .free {
    display: inline-block;
    padding: 5px 15px;
    font-size: 12px;
    margin: 10px 0 0
  }
  .remodal[data-remodal-id="modal_order"] .option .ttl .small {
    display: inline-block;
    font-size: 12px;
    margin: 10px 0 0 10px
  }
  .remodal[data-remodal-id="modal_order"] .option .ttl.size {
    padding-bottom: 30px
  }
  .remodal[data-remodal-id="modal_order"] .option dd:not(:last-of-type) {
    margin-bottom: 35px
  }
  .remodal[data-remodal-id="modal_order"] .option dd select {
    width: 100%
  }
  .remodal[data-remodal-id="modal_order"] .option dd .txt {
    display: block;
    margin: 0 0 15px
  }
  .remodal[data-remodal-id="modal_order"] .option dd .required_box {
    display: block;
    padding: 0 45px 0 0
  }
  .remodal[data-remodal-id="modal_order"] .option dd .required_box.marriage {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center
  }
  .remodal[data-remodal-id="modal_order"] .option dd .required_box.marriage:first-child {
    margin-bottom: 15px
  }
  .remodal[data-remodal-id="modal_order"] .option dd .required_box.marriage .txt {
    width: 60px;
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
    margin: 0
  }
  .remodal[data-remodal-id="modal_order"] .option dd small {
    font-size: 10px;
    line-height: 1.6em;
    margin-top: 10px
  }
  .remodal[data-remodal-id="modal_order"] .option dd .stone_marriage {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    padding: 0
  }
  .remodal[data-remodal-id="modal_order"] .option dd .stone_marriage:first-child {
    margin-bottom: 15px
  }
  .remodal[data-remodal-id="modal_order"] .option dd .stone_marriage .txt {
    width: 60px;
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
    margin: 0
  }
  .remodal[data-remodal-id="modal_order"] .option dd .stone_list {
    margin: 25px 0 -20px;
    text-align: center;
    letter-spacing: 0
  }
  .remodal[data-remodal-id="modal_order"] .option dd .stone_list li {
    width: 33.333%;
    margin-bottom: 20px
  }
  .remodal[data-remodal-id="modal_order"] .option dd .stone_list figure img {
    width: 42px
  }
  .remodal[data-remodal-id="modal_order"] .option dd .stone_list p {
    font-size: 10px;
    line-height: 1.6em;
    margin-top: 7px;
    white-space: nowrap
  }
  .remodal[data-remodal-id="modal_order"] .option dd.stamp .stampwrap {
    display: block;
    width: auto;
    margin: 15px 0 0
  }
  .remodal[data-remodal-id="modal_order"] .option dd.stamp figure {
    width: 125px;
    margin: 0 auto 20px
  }
  .remodal[data-remodal-id="modal_order"] .option dd.stamp .txtbox .text {
    margin-bottom: 15px
  }
  .remodal[data-remodal-id="modal_order"] .option dd.stamp .txtbox .text input {
    height: 40px
  }
  .remodal[data-remodal-id="modal_order"] .option dd.stamp .txtbox .font .txt {
    margin: 0 0 5px
  }
  .remodal[data-remodal-id="modal_order"] .option dd.stamp .txtbox .font label {
    margin-right: 15px;
    font-size: 12px;
    line-height: 1.6em
  }
  .remodal[data-remodal-id="modal_order"] .option dd.stamp dl {
    display: block
  }
  .remodal[data-remodal-id="modal_order"] .option dd.stamp dl dt {
    padding: 0 0 5px
  }
  .remodal[data-remodal-id="modal_order"] .option dd .ring {
    display: block;
    height: auto
  }
  .remodal[data-remodal-id="modal_order"] .option dd .ring label {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    height: 40px;
    margin-right: 0
  }
}

.remodal[data-remodal-id="modal_order"] .submitbtn {
  background: #98bfc8 url(img/icon_cart.png) no-repeat left 90px center/16px auto;
  width: 340px;
  height: 50px;
  margin: 0 auto
}

.remodal[data-remodal-id="modal_order"] .submitbtn input {
  background-color: transparent;
  width: 100%;
  height: 100%;
  border: none;
  padding-left: 30px;
  text-align: center;
  color: #fff;
  font-size: 15px;
  line-height: 1em;
  cursor: pointer
}

@media screen and (max-width: 960px) {
  .remodal[data-remodal-id="modal_order"] .submitbtn {
    background-position: left 20px center;
    width: auto;
    height: 40px
  }
  .remodal[data-remodal-id="modal_order"] .submitbtn input {
    padding-left: 0
  }
}

#marriage {
  margin-top: -180px
}

@media screen and (min-width: 961px) {
  #marriage .temphead {
    background-image: url(img/marriage_head.jpg)
  }
  #marriage .temphead .txt {
    padding-top: 60px
  }
}

@media screen and (max-width: 960px) {
  #marriage {
    margin-top: -120px
  }
  #marriage .temphead .tempttl {
    background-image: url(img/marriage_headsp.jpg)
  }
}

#marriage .templist .post_ttl {
  color: #444;
  font-size: 13px;
  line-height: 1.4em;
  margin: 15px 0 5px
}

#marriage .templist .txt_table {
  font-size: 13px;
  line-height: 1.6em;
  margin: 0 auto
}

#marriage .templist .txt_table th[scope="row"] {
  padding-right: 20px
}

#marriage .templist .txt_table td:not(:last-of-type) {
  padding-right: 20px
}

@media screen and (max-width: 960px) {
  #marriage .templist .post_ttl {
    font-size: 10px
  }
  #marriage .templist .txt_table {
    font-size: 6px
  }
  #marriage .templist .txt_table th[scope="row"] {
    padding-right: 10px
  }
  #marriage .templist .txt_table td:not(:last-of-type) {
    padding-right: 10px
  }
}

#ordermade {
  margin-top: -180px
}

@media screen and (min-width: 961px) {
  #ordermade .temphead {
    background-image: url(img/ordermade_head.jpg)
  }
  #ordermade .temphead .txt {
    padding-top: 110px
  }
}

@media screen and (max-width: 960px) {
  #ordermade {
    margin-top: -120px
  }
  #ordermade .temphead .tempttl {
    background-image: url(img/ordermade_headsp.jpg)
  }
}

#ordermade .story {
  padding: 80px 0 90px
}

#ordermade .story .ttl {
  text-align: center
}

#ordermade .story .ttl span {
  display: block
}

#ordermade .story .ttl .txt {
  padding: 35px 0 40px;
  font-size: 20px;
  line-height: 1em
}

#ordermade .story .txt1 {
  text-align: center;
  font-size: 15px;
  line-height: 2em
}

#ordermade .story .templist {
  padding-top: 50px
}

#ordermade .story .templist a {
  position: relative
}

#ordermade .story .templist .name {
  padding: 0;
  position: absolute;
  top: 20px;
  left: 0;
  z-index: 2
}

#ordermade .story .templist .txt {
  margin-top: 15px
}

#ordermade .story .tempmore {
  margin: 45px auto 0
}

@media screen and (max-width: 960px) {
  #ordermade .story {
    padding: 20px 25px 50px
  }
  #ordermade .story .ttl {
    text-align: left
  }
  #ordermade .story .ttl .txt {
    padding: 30px 0 35px;
    font-size: 18px
  }
  #ordermade .story .txt1 {
    text-align: left
  }
  #ordermade .story .templist {
    padding: 20px 0 0
  }
  #ordermade .story .templist .name {
    top: 15px
  }
  #ordermade .story .templist .txt {
    margin-top: 10px
  }
}

#ordermade #flow {
  background-color: rgba(203, 223, 227, 0.1);
  text-align: center
}

#ordermade #flow .wrapper2 {
  padding: 85px 40px 125px
}

#ordermade #flow .ttl {
  color: #98bfc8;
  font-size: 35px;
  line-height: 1.3em
}

#ordermade #flow .sub {
  font-size: 15px;
  line-height: 1.7em;
  padding: 30px 0 20px
}

#ordermade #flow .chart {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-right: -28px
}

#ordermade #flow .chart .col2, #ordermade #flow .chart .col4 {
  margin-right: 28px
}

#ordermade #flow .chart .col2 {
  width: 446px
}

#ordermade #flow .chart .col4 {
  width: 209px
}

#ordermade #flow .chart .chart_ttl {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #98bfc8;
  height: 86px;
  border-radius: 5px;
  color: #fff;
  font-weight: bold;
  font-size: 24px;
  line-height: 1em;
  position: relative;
  margin-bottom: 40px
}

#ordermade #flow .chart .chart_ttl img {
  position: absolute;
  top: 0;
  left: 20px;
  bottom: 0;
  margin: auto
}

#ordermade #flow .chart dl {
  background-color: #fff;
  border: 2px solid #98bfc8;
  border-radius: 5px;
  position: relative;
  z-index: 2
}

#ordermade #flow .chart dt {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  min-height: 64px;
  color: #6f8b92;
  font-weight: bold;
  font-size: 21px;
  line-height: 1.2em
}

#ordermade #flow .chart .border {
  position: relative
}

#ordermade #flow .chart .border:before {
  content: "";
  background-color: #98bfc8;
  width: 5px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto
}

#ordermade #flow .chart .row1:before {
  height: 60px;
  top: -50px
}

#ordermade #flow .chart .row1 dd {
  border-top: 1px solid #98bfc8;
  padding: 10px 15px;
  text-align: left;
  font-size: 15px;
  line-height: 1.8em
}

#ordermade #flow .chart .row1.col2.sizing .border {
  height: 100%;
  margin-right: 0;
  position: absolute;
  top: 0
}

#ordermade #flow .chart .row1.col2.sizing .border:before {
  height: 100%
}

#ordermade #flow .chart .row1.col2.sizing .border1 {
  left: 0
}

#ordermade #flow .chart .row1.col2.sizing .border2 {
  right: 0
}

#ordermade #flow .chart .row1.col4.sizing:after {
  content: "";
  background-color: #98bfc8;
  width: 5px;
  height: 100%;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto
}

#ordermade #flow .chart .row1.col4.sizing dl {
  margin-right: 0
}

#ordermade #flow .chart .row1.col4.sizing .pos {
  position: absolute;
  left: 0;
  bottom: 0
}

#ordermade #flow .chart .row2 {
  margin-top: 130px
}

#ordermade #flow .chart .row2:before {
  height: 270px;
  bottom: -55px
}

#ordermade #flow .chart .row2.last dl {
  background-color: transparent;
  border-color: transparent
}

#ordermade #flow .chart .col1 {
  width: 100%;
  margin-top: 45px;
  margin-right: 28px
}

#ordermade #flow .chart .col1 dt {
  display: block;
  min-height: 0;
  padding: 15px 0
}

#ordermade #flow .chart .col1 dd {
  margin-top: -5px;
  padding-bottom: 15px;
  font-size: 17px;
  line-height: 1.7em
}

#ordermade #flow .chart .col1.border:before {
  height: 65px;
  bottom: -55px
}

#ordermade #flow .chart .col1.bg dl {
  background-color: #d9e7eb
}

#ordermade #flow .chart .col1.last:before {
  background: url(img/ordermade_flow_dot.png) no-repeat
}

@media screen and (max-width: 960px) {
  #ordermade #flow .wrapper2 {
    padding: 30px 10px 45px
  }
  #ordermade #flow .ttl {
    font-size: 25px
  }
  #ordermade #flow .sub {
    text-align: left;
    padding: 30px 15px 20px
  }
  #ordermade #flow .chart {
    margin-right: 0
  }
  #ordermade #flow .chart .col2, #ordermade #flow .chart .col4 {
    margin-right: 2.8%
  }
  #ordermade #flow .chart .col2.last, #ordermade #flow .chart .col4.last {
    margin-right: 0
  }
  #ordermade #flow .chart .col2 {
    width: 48.6%
  }
  #ordermade #flow .chart .col4 {
    width: 22.9%
  }
  #ordermade #flow .chart .chart_ttl {
    height: 32px;
    font-size: 9px;
    margin-bottom: 15px
  }
  #ordermade #flow .chart .chart_ttl img {
    width: 15px;
    height: auto;
    left: 7px
  }
  #ordermade #flow .chart dt {
    min-height: 24px;
    font-size: 8px
  }
  #ordermade #flow .chart .border:before {
    width: 2px
  }
  #ordermade #flow .chart .row1:before {
    height: 35px;
    top: -25px
  }
  #ordermade #flow .chart .row1 dd {
    padding: 5px;
    font-size: 6px
  }
  #ordermade #flow .chart .row1.col2.sizing .border {
    width: 47.12%
  }
  #ordermade #flow .chart .row1.col4.sizing:after {
    width: 2px
  }
  #ordermade #flow .chart .row2 {
    margin-top: 50px
  }
  #ordermade #flow .chart .row2:before {
    height: 120px;
    bottom: -28px
  }
  #ordermade #flow .chart .col1 {
    margin-top: 18px;
    margin-right: 0
  }
  #ordermade #flow .chart .col1 dt {
    padding: 10px 0
  }
  #ordermade #flow .chart .col1 dd {
    padding-bottom: 10px;
    font-size: 6px
  }
  #ordermade #flow .chart .col1.border:before {
    height: 38px;
    bottom: -28px
  }
  #ordermade #flow .chart .col1.last:before {
    background-size: 100% auto
  }
}

#ordermade .concept {
  display: -webkit-flex;
  display: flex;
  padding: 130px 40px 150px
}

@media screen and (min-width: 961px) {
  #ordermade .concept section {
    width: 440px
  }
}

#ordermade .concept .ttl {
  text-align: center;
  color: #98bfc8;
  font-size: 25px;
  line-height: 1em
}

#ordermade .concept .sub {
  text-align: center;
  font-weight: bold;
  color: #2a5b63;
  line-height: 1em;
  letter-spacing: 3px;
  margin: 15px 0 35px
}

#ordermade .concept .txt {
  font-size: 15px;
  line-height: 2em
}

#ordermade .concept small {
  font-size: 13px;
  line-height: 1.6em;
  margin-top: 40px
}

#ordermade .concept small .indent {
  display: block;
  text-indent: -1.2em;
  padding-left: 1.2em
}

#ordermade .concept small .indent:not(:last-child) {
  margin-bottom: 7px
}

#ordermade .concept #pattern {
  margin-right: 40px
}

@media screen and (max-width: 960px) {
  #ordermade .concept {
    display: block;
    padding: 30px 25px 70px
  }
  #ordermade .concept .ttl {
    font-size: 21px
  }
  #ordermade .concept .sub {
    margin: 15px 0 35px
  }
  #ordermade .concept small {
    font-size: 11px;
    margin-top: 10px
  }
  #ordermade .concept small .indent:not(:last-child) {
    margin-bottom: 5px
  }
  #ordermade .concept #pattern {
    margin: 0 0 40px
  }
}

#ordermade #arrange {
  background-color: rgba(203, 223, 227, 0.1);
  text-align: center
}

#ordermade #arrange .wrapper2 {
  padding: 100px 40px 110px
}

#ordermade #arrange .ttl {
  color: #98bfc8;
  font-size: 35px;
  line-height: 1em
}

#ordermade #arrange .sub {
  font-weight: bold;
  color: #2a5b63;
  line-height: 1em;
  letter-spacing: 3px;
  margin: 20px 0 45px
}

#ordermade #arrange .description {
  font-size: 15px;
  line-height: 2em
}

#ordermade #arrange .photo1 {
  padding: 50px 0 85px
}

#ordermade #arrange .photo1 img {
  width: 460px;
  height: auto;
  margin: 0 auto
}

#ordermade #arrange .arrange_list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -40px -85px 0
}

#ordermade #arrange .arrange_list section {
  width: 440px;
  margin: 0 40px 85px 0
}

#ordermade #arrange .arrange_list .list_ttl {
  color: #98bfc8;
  font-size: 25px;
  line-height: 1.2em
}

#ordermade #arrange .arrange_list .list_sub {
  font-weight: bold;
  color: #2a5b63;
  line-height: 1em;
  letter-spacing: 3px;
  margin: 15px 0 40px
}

#ordermade #arrange .arrange_list .txt {
  font-size: 15px;
  line-height: 2em
}

@media screen and (min-width: 961px) {
  #ordermade #arrange .arrange_list section:nth-last-child(-n+2) .txt {
    height: 6em
  }
}

#ordermade #arrange .arrange_list .inner_list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 25px 90px 0;
  margin: 0 -20px -25px 0
}

#ordermade #arrange .arrange_list .inner_list li {
  width: 120px;
  margin: 0 20px 25px 0
}

#ordermade #arrange .arrange_list .inner_list img {
  width: 100%;
  height: auto
}

#ordermade #arrange .arrange_list .inner_list p {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 11px;
  line-height: 1.4em;
  letter-spacing: 0.5px;
  white-space: nowrap;
  margin-top: 10px
}

#ordermade #arrange .arrange_list .stone {
  width: 100%
}

#ordermade #arrange .arrange_list .stone .stone_list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 75px -50px
}

#ordermade #arrange .arrange_list .stone .stone_list li {
  width: 110px;
  margin-bottom: 50px
}

#ordermade #arrange .arrange_list .stone .stone_list figure img {
  width: 56px;
  height: auto;
  margin: 0 auto
}

#ordermade #arrange .arrange_list .stone .stone_list p {
  font-size: 13px;
  line-height: 1.8em;
  letter-spacing: 0.5px;
  white-space: nowrap;
  margin-top: 10px
}

#ordermade #arrange .arrange_list .stone .stone_list .color_dia {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 220px;
  border: 1px solid #98bfc8
}

#ordermade #arrange .arrange_list .stone .stone_list .color_dia .item {
  width: 50%
}

#ordermade #arrange .arrange_list .stone .bottomtxt {
  font-size: 15px;
  line-height: 2em;
  margin: 50px 0
}

#ordermade #arrange .arrange_list .stone .contactbtn {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: rgba(152, 191, 200, 0.2);
  width: 280px;
  height: 50px;
  color: #2a5b63;
  font-weight: bold;
  font-size: 16px;
  line-height: 1em;
  margin: 0 auto 15px
}

#ordermade #arrange .arrange_list .stone .contactbtn img {
  width: 22px;
  height: 15px;
  margin-right: 10px
}

#ordermade #arrange .arrange_list .stone .tel {
  font-size: 22px;
  line-height: 1em
}

@media screen and (max-width: 960px) {
  #ordermade #arrange .wrapper2 {
    padding: 60px 0 75px
  }
  #ordermade #arrange .ttl {
    font-size: 21px
  }
  #ordermade #arrange .description {
    text-align: left;
    padding: 0 25px
  }
  #ordermade #arrange .photo1 {
    padding: 30px 0 85px
  }
  #ordermade #arrange .photo1 img {
    width: 100%
  }
  #ordermade #arrange .arrange_list {
    margin: 0 25px -80px
  }
  #ordermade #arrange .arrange_list section {
    width: 100%;
    margin: 0 0 80px
  }
  #ordermade #arrange .arrange_list .list_ttl {
    font-size: 21px
  }
  #ordermade #arrange .arrange_list .txt {
    text-align: left
  }
  #ordermade #arrange .arrange_list .inner_list {
    padding: 25px 0 0;
    margin: 0 0 -25px
  }
  #ordermade #arrange .arrange_list .inner_list li {
    width: 50%;
    margin: 0 0 25px;
    padding-right: 10px
  }
  #ordermade #arrange .arrange_list .inner_list li:nth-child(even) {
    padding: 0 0 0 10px
  }
  #ordermade #arrange .arrange_list .inner_list p {
    font-size: 12px
  }
  #ordermade #arrange .arrange_list .stone .stone_list {
    margin: 45px 0 -25px
  }
  #ordermade #arrange .arrange_list .stone .stone_list li {
    width: 33.333%;
    margin-bottom: 25px
  }
  #ordermade #arrange .arrange_list .stone .stone_list figure img {
    width: 65px
  }
  #ordermade #arrange .arrange_list .stone .stone_list p {
    font-size: 10px
  }
  #ordermade #arrange .arrange_list .stone .stone_list .color_dia {
    width: 66.666%;
    height: 120px
  }
  #ordermade #arrange .arrange_list .stone .bottomtxt {
    font-size: 11px;
    line-height: 1.6em;
    margin: 25px 0
  }
  #ordermade #arrange .arrange_list .stone .contactbtn {
    width: 85%;
    font-size: 15px
  }
  #ordermade #arrange .arrange_list .stone .tel {
    font-size: 20px
  }
}

@media screen and (max-width: 960px) {
  #sample .tempttl {
    padding: 0 15px
  }
}

#sample .intro {
  padding: 95px 0 110px;
  text-align: center;
  font-size: 15px;
  line-height: 2em
}

#sample .intro figure {
  padding: 40px 0 45px
}

#sample .intro figure img {
  width: 420px;
  height: auto;
  margin: 0 auto
}

#sample .intro dt {
  color: #98bfc8;
  font-size: 25px;
  line-height: 1em;
  margin-bottom: 15px
}

#sample .intro .tel {
  display: inline-block;
  margin: 40px 0 50px;
  font-size: 30px;
  line-height: 1em
}

#sample .intro .formlink {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #98bfc8;
  width: 226px;
  height: 78px;
  color: #fff;
  font-size: 17px;
  line-height: 1.5em;
  margin: 0 auto
}

@media screen and (max-width: 960px) {
  #sample .intro {
    padding: 30px 15px 25px;
    font-size: 13px;
    line-height: 1.6em
  }
  #sample .intro .txt1 {
    text-align: left
  }
  #sample .intro figure {
    padding: 20px 0
  }
  #sample .intro figure img {
    width: 249px
  }
  #sample .intro dt {
    font-size: 17px
  }
  #sample .intro dd {
    text-align: left
  }
  #sample .intro .tel {
    margin: 20px 0;
    font-size: 20px
  }
  #sample .intro .formlink {
    width: 150px;
    height: 50px;
    font-size: 13px
  }
}

#sample .step {
  background-color: rgba(203, 223, 227, 0.1)
}

#sample .step ul {
  padding: 100px 40px 110px
}

#sample .step li {
  display: -webkit-flex;
  display: flex
}

#sample .step li:not(:last-child) {
  margin-bottom: 80px
}

#sample .step li figure {
  width: 328px
}

#sample .step li figure img {
  width: 100%;
  height: auto
}

#sample .step li .txtbox {
  width: 425px;
  margin-left: auto
}

#sample .step li .txtbox .ttl {
  background-color: #98bfc8;
  padding: 10px 15px;
  font-weight: bold;
  color: #fff;
  font-size: 15px;
  line-height: 1.4em
}

#sample .step li .txtbox .txt {
  font-size: 15px;
  line-height: 2em;
  margin-top: 15px
}

#sample .step li .txtbox a {
  color: #2a5b63
}

@media screen and (min-width: 961px) {
  #sample .step li:nth-child(odd) figure {
    order: 2;
    margin-left: auto
  }
  #sample .step li:nth-child(odd) .txtbox {
    order: 1;
    margin-left: 0
  }
}

@media screen and (max-width: 960px) {
  #sample .step ul {
    padding: 30px 25px 75px
  }
  #sample .step li {
    display: block
  }
  #sample .step li:not(:last-child) {
    margin-bottom: 35px
  }
  #sample .step li figure {
    width: 70%;
    margin: 0 auto
  }
  #sample .step li .txtbox {
    width: auto;
    margin: 15px 0 0
  }
  #sample .step li .txtbox .ttl {
    text-align: center;
    font-size: 12px
  }
  #sample .step li .txtbox .txt {
    font-size: 12px;
    line-height: 1.6em;
    margin-top: 10px
  }
  #sample .step li .txtbox a {
    display: block;
    text-align: center
  }
}

@media screen and (max-width: 960px) and (min-width: 961px) {
  #sample .step li:nth-child(odd) figure {
    order: 2;
    margin-left: auto
  }
  #sample .step li:nth-child(odd) .txtbox {
    order: 1;
    margin-left: 0
  }
}

#sample #form {
  padding-top: 130px;
  font-size: 13px;
  line-height: 1.7em
}

#sample #form .ttl {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: rgba(152, 191, 200, 0.2);
  height: 140px;
  padding-right: 50px
}

#sample #form .ttl img {
  width: 40px;
  height: 40px
}

#sample #form .ttl span {
  display: block
}

#sample #form .ttl .txtbox {
  padding-left: 30px;
  text-align: center
}

#sample #form .ttl .txtbox span {
  font-size: 17px;
  line-height: 1em
}

#sample #form .ttl .txtbox .ttl2 {
  font-size: 23px;
  margin: 15px 0 12px
}

#sample #form .ttl .txtbox .ttl3 {
  color: #2a5b63
}

#sample #form .txt1, #sample #form .txt2 {
  text-align: center
}

#sample #form .txt1 {
  margin: 20px 0 10px
}

@media screen and (max-width: 960px) {
  #sample #form {
    padding: 40px 15px 0;
    font-size: 12px
  }
  #sample #form .ttl {
    height: 98px;
    padding-right: 0
  }
  #sample #form .ttl img {
    width: 20px;
    height: 20px
  }
  #sample #form .ttl .txtbox {
    padding-left: 15px
  }
  #sample #form .ttl .txtbox span {
    font-size: 12px
  }
  #sample #form .ttl .txtbox .ttl2 {
    font-size: 14px;
    margin: 10px 0 8px
  }
}

#sample #form .inner_ttl {
  text-align: center;
  color: #98bfc8;
  font-size: 20px;
  line-height: 1.4em
}

#sample #form .ring {
  padding: 50px 0 110px
}

#sample #form .ring .sub {
  text-align: center;
  margin: 15px 0 40px
}

#sample #form .ring .selectbox {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center
}

#sample #form .ring .selectbox select {
  width: 216px;
  height: 40px
}

#sample #form .ring .selectbox select:not(:last-child) {
  margin-right: 40px
}

@media screen and (min-width: 961px) {
  #sample #form .ring .templist {
    padding: 75px 0 0
  }
  #sample #form .ring .templist li {
    width: 190px
  }
}

#sample #form .ring .templist .post_ttl {
  color: #444;
  line-height: 1.4em;
  margin: 10px 0 0
}

@media screen and (max-width: 960px) {
  #sample #form form {
    border: 1px solid #98bfc8;
    padding: 20px 10px;
    margin-top: 25px
  }
  #sample #form .inner_ttl {
    font-size: 14px
  }
  #sample #form .ring {
    padding: 0 0 30px
  }
  #sample #form .ring .sub {
    margin: 10px 0 20px
  }
  #sample #form .ring .selectbox {
    display: block;
    text-align: center
  }
  #sample #form .ring .selectbox select {
    width: 70%;
    height: 44px
  }
  #sample #form .ring .selectbox select:not(:last-child) {
    margin: 0 0 20px
  }
  #sample #form .ring .templist {
    padding: 35px 0 0
  }
  #sample #form .ring .templist ul {
    margin: 0 0 -20px
  }
  #sample #form .ring .templist li {
    width: 33.333%;
    margin: 0 0 20px
  }
  #sample #form .ring .templist li:nth-child(even) {
    padding: 0
  }
  #sample #form .ring .templist li:nth-child(3n-2) {
    padding: 0 14px 0 0
  }
  #sample #form .ring .templist li:nth-child(3n-1) {
    padding: 0 7px
  }
  #sample #form .ring .templist li:nth-child(3n) {
    padding: 0 0 0 14px
  }
  #sample #form .ring .templist .post_ttl {
    font-size: 12px
  }
}

#sample #form .size {
  line-height: 1.4em;
  margin-bottom: 75px
}

#sample #form .size .selectbox {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 40px 0
}

#sample #form .size .selectbox dl {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center
}

#sample #form .size .selectbox dl:first-child {
  margin-right: 80px
}

#sample #form .size .selectbox dt {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: rgba(203, 223, 227, 0.2);
  width: 110px;
  height: 30px
}

#sample #form .size .selectbox dd {
  display: -webkit-flex;
  display: flex
}

#sample #form .size .selectbox dd label {
  margin-left: 30px
}

#sample #form .size .selectbox dd input {
  margin-right: 5px
}

#sample #form .size small {
  text-align: left
}

@media screen and (max-width: 960px) {
  #sample #form .size {
    margin-bottom: 20px
  }
  #sample #form .size .selectbox {
    display: block;
    padding: 20px 0 15px
  }
  #sample #form .size .selectbox dl:first-child {
    margin: 0 0 15px
  }
  #sample #form .size .selectbox dt {
    width: 75px;
    height: 28px
  }
  #sample #form .size .selectbox dd label {
    width: 50px;
    margin-left: 12px
  }
  #sample #form .size small {
    text-align: left;
    font-size: 10px;
    line-height: 1.7em
  }
}

#sample.size .tempttl {
  border-bottom: 1px solid rgba(152, 191, 200, 0.2);
  padding-bottom: 80px;
  margin-bottom: 100px
}

#sample.size .contents {
  background-color: rgba(203, 223, 227, 0.1);
  padding: 100px 0;
  font-size: 15px
}

#sample.size .contents .ttl {
  color: #98bfc8;
  font-size: 25px;
  line-height: 1.3em
}

#sample.size .contents .indent {
  display: inline-block;
  text-indent: -1.2em;
  padding-left: 1.2em
}

#sample.size .contents figure img {
  width: 100%;
  height: auto
}

#sample.size .order .ttl {
  text-align: center
}

#sample.size .order p {
  padding: 40px 0 20px;
  line-height: 2em
}

#sample.size .order .morebtn {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: rgba(203, 223, 227, 0.2);
  width: 200px;
  height: 50px;
  text-align: center;
  color: #2a5b63;
  font-weight: bold;
  line-height: 1em;
  margin-left: auto
}

#sample.size .order figure {
  width: 980px;
  margin: 40px 0 0 -200px
}

#sample.size .gauge {
  padding-top: 130px
}

#sample.size .gauge .txtbox {
  display: -webkit-flex;
  display: flex;
  padding-top: 30px
}

#sample.size .gauge p {
  width: 420px;
  line-height: 2em
}

#sample.size .gauge figure {
  width: 420px;
  margin-left: auto
}

@media screen and (max-width: 960px) {
  #sample.size .tempttl {
    padding: 0 0 45px;
    margin: 0 20px 35px
  }
  #sample.size .contents {
    padding: 35px 0 70px;
    font-size: 15px
  }
  #sample.size .contents .ttl {
    font-size: 23px;
    line-height: 1.6em
  }
  #sample.size .order .ttl {
    text-align: left;
    padding: 0 20px
  }
  #sample.size .order p {
    padding: 30px 20px 40px
  }
  #sample.size .order .morebtn {
    width: 81%;
    height: 75px;
    font-size: 23px;
    margin: 0 auto
  }
  #sample.size .order figure {
    width: auto;
    margin: 45px 0 0
  }
  #sample.size .gauge {
    padding: 85px 20px 0
  }
  #sample.size .gauge .txtbox {
    display: block;
    padding-top: 20px
  }
  #sample.size .gauge p {
    width: auto
  }
  #sample.size .gauge figure {
    width: auto;
    margin: 30px 0 0
  }
}

#cart .cart_flow {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  text-align: center;
  color: #98bfc8
}

#cart .cart_flow li:not(:last-child) {
  background: url(img/arrow_02.png) no-repeat right 10px bottom 18px/8px 12px;
  padding-right: 30px
}

#cart .cart_flow span {
  display: block;
  line-height: 1em
}

#cart .cart_flow .number {
  font-weight: bold;
  font-size: 26px;
  margin-bottom: 10px
}

#cart .cart_flow .txt {
  font-size: 13px
}

#cart .cart_flow li.active .number {
  font-size: 34px
}

#cart .cart_flow li.active .txt {
  font-weight: bold
}

#cart .tempttl {
  padding: 50px 0
}

@media screen and (max-width: 960px) {
  #cart .cart_flow li:not(:last-child) {
    background-position: right 7px bottom 18px;
    background-size: 6px 9px;
    padding-right: 20px
  }
  #cart .cart_flow .number {
    font-size: 16px;
    margin-bottom: 8px
  }
  #cart .cart_flow .txt {
    font-size: 8px
  }
  #cart .cart_flow li.active .number {
    font-size: 21px
  }
  #cart .tempttl {
    padding: 35px 15px 30px
  }
}

#cart .cart .item {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  border-bottom: 1px solid #98bfc8;
  padding: 30px 10px;
  font-size: 13px;
  line-height: 1.7em
}

#cart .cart .item:first-child {
  border-top: 1px solid #98bfc8
}

#cart .cart .item figure {
  width: 200px
}

#cart .cart .item figure a {
  display: block;
  width: 97px;
  margin: 0 auto
}

#cart .cart .item figure img {
  width: 100%;
  height: auto
}

#cart .cart .item .txtbox {
  width: 350px
}

#cart .cart .item .txtbox .detail {
  color: #999696;
  margin-top: 10px
}

#cart .cart .item .price {
  width: 130px;
  text-align: right
}

#cart .cart .item .delete {
  width: 180px
}

#cart .cart .item .delete a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 80px;
  height: 27px;
  border: 1px solid #444;
  line-height: 1em;
  margin-left: auto
}

#cart .cart .total {
  width: 290px;
  margin-left: auto;
  padding: 15px 0 50px;
  font-size: 16px;
  line-height: 1em
}

#cart .cart .total p {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  border-bottom: 1px solid #98bfc8;
  padding: 15px 10px 15px 0
}

#cart .cart .total p span {
  display: block
}

#cart .cart .total p .price {
  margin-left: auto;
  text-align: right
}

#cart .cart .btnbox {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center
}

#cart .cart .btnbox .submitbtn, #cart .cart .btnbox .backbtn {
  width: 317px;
  height: 56px
}

#cart .cart .btnbox .submitbtn, #cart .cart .btnbox .backbtn input {
  text-align: center;
  font-size: 17px;
  line-height: 1em
}

#cart .cart .btnbox .submitbtn {
  order: 2;
  background-color: #98bfc8
}

#cart .cart .btnbox .submitbtn input {
  background-color: transparent;
  width: 100%;
  height: 100%;
  border: none;
  padding: 0;
  color: #fff;
  cursor: pointer
}

#cart .cart .btnbox .backbtn {
  order: 1;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  border: 1px solid #c9c9c9;
  margin-right: 80px
}

@media screen and (max-width: 960px) {
  #cart .cart {
    margin: 0 15px
  }
  #cart .cart .item {
    padding: 10px 0;
    font-size: 10px;
    position: relative
  }
  #cart .cart .item figure {
    width: 83px;
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
    margin-right: 10px
  }
  #cart .cart .item figure a {
    width: auto
  }
  #cart .cart .item .txtbox {
    width: 100%
  }
  #cart .cart .item .txtbox .detail {
    font-size: 8px;
    line-height: 1.7em;
    margin-top: 5px
  }
  #cart .cart .item .price {
    width: auto;
    position: absolute;
    right: 0;
    bottom: 40px
  }
  #cart .cart .item .delete {
    width: 50px;
    position: absolute;
    right: 0;
    bottom: 10px
  }
  #cart .cart .item .delete a {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    height: 20px
  }
  #cart .cart .total {
    width: auto;
    margin-left: 0;
    padding: 40px 0 35px;
    font-size: 14px
  }
  #cart .cart .total p {
    padding: 10px 10px 10px 0
  }
  #cart .cart .btnbox {
    display: block;
    padding: 0 10px
  }
  #cart .cart .btnbox .submitbtn, #cart .cart .btnbox .backbtn {
    width: auto;
    height: 42px
  }
  #cart .cart .btnbox .submitbtn, #cart .cart .btnbox .backbtn input {
    font-size: 13px
  }
  #cart .cart .btnbox .backbtn {
    margin: 10px 0 0
  }
}

#cart .cart .payment {
  max-width: 600px;
  margin: 0 auto;
  font-size: 13px;
  line-height: 1.4em
}

#cart .cart .payment li {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  padding: 25px 0;
  border-bottom: 1px solid #98bfc8
}

#cart .cart .payment li:first-child {
  padding: 0 0 25px
}

#cart .cart .payment input {
  margin-right: 5px
}

#cart .cart .payment figure {
  width: 413px;
  margin-left: auto
}

#cart .cart .payment figure img {
  width: 100%;
  height: auto
}

#cart .cart .payment small {
  width: 390px;
  font-size: 9px;
  line-height: 1.6em;
  margin-left: auto
}

#cart .cart .delivery {
  padding: 50px 0 100px;
  font-size: 13px;
  line-height: 1.4em
}

#cart .cart .delivery ul {
  max-width: 600px;
  margin: 20px auto 0
}

#cart .cart .delivery li:not(:last-child) {
  margin-bottom: 25px
}

#cart .cart .delivery li p {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center
}

#cart .cart .delivery li .txt {
  display: block;
  width: 80px;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto
}

#cart .cart .delivery li select {
  width: 100%;
  height: 33px
}

#cart .cart .delivery li small {
  margin: 10px 0 0 80px;
  padding-left: 1.2em;
  font-size: 9px;
  line-height: 1.6em;
  text-indent: -1.2em
}

@media screen and (max-width: 960px) {
  #cart .cart .payment li {
    display: block;
    padding: 12px 0
  }
  #cart .cart .payment li:first-child {
    padding: 0 0 12px
  }
  #cart .cart .payment figure {
    width: 243px;
    margin: 10px auto 0
  }
  #cart .cart .payment small {
    width: auto;
    margin: 10px 0 0
  }
  #cart .cart .delivery {
    padding: 30px 0 50px
  }
  #cart .cart .delivery ul {
    margin: 15px auto 0
  }
  #cart .cart .delivery li:not(:last-child) {
    margin-bottom: 20px
  }
  #cart .cart .delivery li .txt {
    width: 70px
  }
  #cart .cart .delivery li select {
    height: 40px
  }
  #cart .cart .delivery li small {
    margin: 10px 0 0 70px
  }
}

#cart .cart .personal {
  max-width: 640px;
  margin: 0 auto 50px;
  font-size: 13px;
  line-height: 1.4em
}

#cart .cart .personal dt {
  margin-bottom: 5px
}

#cart .cart .personal dd:not(:last-of-type) {
  margin-bottom: 20px
}

#cart .cart .personal dd input {
  width: 100%;
  height: 33px
}

#cart .cart .personal .other_check {
  margin: 20px 0
}

#cart .cart .personal .other_check input {
  margin-right: 5px
}

#cart .cart .personal .other_address {
  display: none
}

@media screen and (max-width: 960px) {
  #cart .cart .personal dd:not(:last-of-type) {
    margin-bottom: 15px
  }
  #cart .cart .personal dd input {
    height: 40px
  }
}

@media screen and (min-width: 961px) {
  #cart .cart.confirm {
    max-width: 740px;
    margin: 0 auto
  }
}

@media screen and (min-width: 961px) {
  #cart .cart.confirm .item .price {
    margin-left: auto;
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto
  }
}

@media screen and (max-width: 960px) {
  #cart .cart.confirm .item .price {
    bottom: 10px
  }
}

#cart .cart.confirm .confirm_personal li {
  display: -webkit-flex;
  display: flex;
  padding: 20px 0
}

#cart .cart.confirm .confirm_personal li:not(:last-child) {
  border-bottom: 1px solid #98bfc8
}

#cart .cart.confirm .confirm_personal .ttl {
  width: 170px;
  padding-left: 35px
}

#cart .cart.confirm .confirm_personal .chengebtn {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 80px;
  height: 28px;
  border: 1px solid #444;
  padding-bottom: 2px;
  text-align: center;
  line-height: 1em;
  margin-top: 15px
}

#cart .cart.confirm .caution {
  border: 1px solid red;
  margin: 25px 0 35px;
  padding: 15px 0;
  text-align: center;
  color: red
}

#cart .cart.confirm .bottomtxt {
  text-align: center;
  margin-bottom: 25px
}

@media screen and (max-width: 960px) {
  #cart .cart.confirm .confirm_personal li {
    display: block;
    padding: 15px 0;
    position: relative
  }
  #cart .cart.confirm .confirm_personal .ttl {
    width: auto;
    padding: 0 0 20px;
    font-size: 20px;
    line-height: 1em
  }
  #cart .cart.confirm .confirm_personal div {
    font-size: 12px;
    line-height: 1.7em
  }
  #cart .cart.confirm .confirm_personal .chengebtn {
    margin-top: 0;
    position: absolute;
    top: 15px;
    right: 0
  }
  #cart .cart.confirm .caution {
    margin: 20px 0;
    padding: 10px;
    text-align: left
  }
}

:placeholder-shown {
  color: #bbbbbb
}

::-webkit-input-placeholder {
  color: #bbbbbb
}

:-moz-placeholder {
  color: #bbbbbb;
  opacity: 1
}

::-moz-placeholder {
  color: #bbbbbb;
  opacity: 1
}

:-ms-input-placeholder {
  color: #bbbbbb
}

#diamond {
  margin-top: -180px
}

@media screen and (min-width: 961px) {
  #diamond .temphead {
    background-image: url(img/diamond_head.jpg)
  }
  #diamond .temphead .txt {
    padding: 60px 0
  }
}

#diamond .diamond_ttl {
  text-align: center;
  color: #98bfc8;
  font-size: 35px;
  line-height: 1.4em
}

@media screen and (max-width: 960px) {
  #diamond {
    margin-top: -120px
  }
  #diamond .temphead {
    background-image: url(img/diamond_headsp.jpg)
  }
  #diamond .diamond_ttl {
    font-size: 22px
  }
}

#diamond .value {
  padding: 70px 0
}

#diamond .value .wrapper2 {
  display: -webkit-flex;
  display: flex;
  padding: 50px 40px 0
}

#diamond .value figure {
  width: 396px;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 45px
}

#diamond .value figure img {
  width: 100%;
  height: auto
}

#diamond .value p {
  font-size: 15px;
  line-height: 2em
}

@media screen and (max-width: 960px) {
  #diamond .value {
    padding: 30px 20px
  }
  #diamond .value .wrapper2 {
    display: block;
    padding: 30px 0 0
  }
  #diamond .value figure {
    width: 86%;
    margin: 0 auto 15px
  }
  #diamond .value p {
    font-size: 14px;
    line-height: 1.6em
  }
}

#diamond .section_wrap section {
  background-color: rgba(203, 223, 227, 0.1);
  padding: 65px 0;
  text-align: center;
  font-size: 15px;
  line-height: 2em
}

#diamond .section_wrap section:not(:last-child) {
  margin-bottom: 60px
}

#diamond .section_wrap .ttl span {
  display: block
}

#diamond .section_wrap .ttl .ja {
  color: #2a5b63
}

#diamond .section_wrap .txt1 {
  margin: 20px 0 40px
}

#diamond .section_wrap figure img {
  margin: 0 auto
}

@media screen and (max-width: 960px) {
  #diamond .section_wrap section {
    padding: 30px 20px;
    font-size: 14px;
    line-height: 1.6em
  }
  #diamond .section_wrap section:not(:last-child) {
    margin-bottom: 30px
  }
  #diamond .section_wrap .txt1 {
    margin: 20px 0;
    text-align: left
  }
  #diamond .section_wrap figure img {
    width: 100%;
    height: auto
  }
}

#diamond .triple {
  padding: 50px 0 70px
}

#diamond .triple .wrapper2 {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  padding: 40px 30px 0
}

#diamond .triple figure {
  width: 290px;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 30px
}

#diamond .triple figure img {
  width: 100%;
  height: auto
}

#diamond .triple dl {
  font-size: 15px;
  line-height: 2em
}

#diamond .triple dt {
  color: #2a5b63
}

#diamond .triple dd:not(:last-of-type) {
  margin-bottom: 30px
}

@media screen and (max-width: 960px) {
  #diamond .triple {
    padding: 30px 20px 50px
  }
  #diamond .triple .wrapper2 {
    display: block;
    padding: 25px 0 0
  }
  #diamond .triple figure {
    width: 60%;
    margin: 0 auto 25px
  }
  #diamond .triple dl {
    font-size: 14px;
    line-height: 1.6em
  }
  #diamond .triple dd:not(:last-of-type) {
    margin-bottom: 20px
  }
}

#price {
  text-align: center
}

#price .ttl {
  color: #98bfc8;
  font-size: 35px;
  line-height: 1.4em
}

#price small {
  font-size: 15px;
  line-height: 1.6em;
  margin-top: 30px
}

@media screen and (min-width: 961px) {
  #price #sort {
    padding: 40px 85px 70px
  }
}

@media screen and (max-width: 960px) {
  #price {
    padding: 0 20px
  }
  #price .ttl {
    font-size: 22px
  }
  #price small {
    font-size: 12px;
    margin-top: 15px
  }
  #price .tempbtn {
    margin: 35px auto 0
  }
}

#about {
  margin-top: -180px
}

@media screen and (min-width: 961px) {
  #about .temphead {
    background-image: url(img/about_head.jpg)
  }
  #about .temphead .txt {
    padding-top: 110px
  }
}

@media screen and (max-width: 960px) {
  #about {
    margin-top: -120px
  }
  #about .temphead .tempttl {
    background-image: url(img/about_headsp.jpg)
  }
}

#about .intro_txt {
  text-align: center;
  font-size: 15px;
  line-height: 2.4em;
  margin: 90px 0
}

@media screen and (min-width: 961px) {
  #about .photobox {
    display: -webkit-flex;
    display: flex;
    max-width: 1280px;
    margin: 0 auto 120px
  }
  #about .photobox img {
    width: 100%;
    height: auto
  }
  #about .photobox .photo1 {
    width: 62.5%;
    padding-top: 80px
  }
  #about .photobox .photo2 {
    width: 34%;
    margin-left: auto
  }
}

#about .planner {
  background-color: rgba(203, 223, 227, 0.1);
  max-width: 1280px;
  margin: 0 auto;
  padding: 90px 50px;
  text-align: center
}

#about .planner .ttl {
  color: #98bfc8;
  font-size: 35px;
  line-height: 1.3em
}

#about .planner p {
  margin: 30px 0 40px;
  font-size: 15px;
  line-height: 2.4em
}

#about .planner figure img {
  width: 442px;
  height: auto;
  margin: 0 auto
}

@media screen and (max-width: 960px) {
  #about .intro_txt {
    text-align: left;
    margin: 60px 20px 50px
  }
  #about .photobox {
    margin-bottom: 70px
  }
  #about .photobox img {
    width: 100%;
    height: auto
  }
  #about .photobox .photo1 {
    margin-bottom: 60px
  }
  #about .planner {
    padding: 50px 20px 70px
  }
  #about .planner .ttl {
    font-size: 26px
  }
  #about .planner p {
    text-align: left;
    margin: 30px 0
  }
  #about .planner figure img {
    width: 91%
  }
}

#shop {
  margin-top: -180px
}

@media screen and (min-width: 961px) {
  #shop .temphead {
    background-image: url(img/shop_head.jpg)
  }
  #shop .temphead .tempttl {
    padding-bottom: 150px
  }
}

@media screen and (max-width: 960px) {
  #shop {
    margin-top: -120px
  }
  #shop .temphead .tempttl {
    background-image: url(img/shop_headsp.jpg)
  }
}

#shop .shop_wrap {
  max-width: 1280px;
  margin: 0 auto
}

#shop .detail {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  padding: 110px 0 100px
}

#shop .detail .txtbox {
  width: 27%;
  font-size: 16px;
  line-height: 2em
}

#shop .detail .txtbox .logo img {
  width: 200px;
  height: auto
}

#shop .detail .txtbox .name {
  color: #2a5b63;
  font-weight: bold;
  font-size: 19px;
  line-height: 1em;
  margin-top: 15px
}

#shop .detail .txtbox .address {
  margin-top: 20px
}

#shop .detail .txtbox .open {
  margin-top: 15px
}

#shop .detail .txtbox p.tel {
  margin-top: 15px;
  font-size: 22px;
  line-height: 1em
}

#shop .detail .txtbox .person {
  margin-top: 10px
}

#shop .detail figure {
  width: 58%
}

#shop .detail figure img {
  width: 100%;
  height: auto
}

#shop .map iframe {
  width: 100%;
  height: 560px
}

#shop .company {
  background-color: rgba(203, 223, 227, 0.1);
  padding: 85px 0 70px
}

#shop .company .ttl {
  text-align: center;
  color: #98bfc8;
  font-size: 35px;
  line-height: 1em
}

#shop .company .subttl {
  text-align: center;
  color: #2a5b63;
  font-weight: bold;
  font-size: 15px;
  line-height: 1em;
  margin: 20px 0 50px
}

@media screen and (min-width: 961px) {
  #shop .company .txtbox {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center
  }
}

#shop .company dl:first-child {
  padding-right: 70px
}

#shop .company dt {
  color: #98bfc8;
  font-weight: bold;
  font-size: 17px;
  line-height: 1em;
  margin-bottom: 10px
}

#shop .company dd {
  font-size: 16px;
  line-height: 2em
}

#shop .company dd:not(:last-of-type) {
  margin-bottom: 30px
}

@media screen and (max-width: 960px) {
  #shop .detail {
    display: block;
    padding: 100px 0
  }
  #shop .detail .txtbox {
    width: auto;
    padding: 0 20px 70px
  }
  #shop .detail figure {
    width: auto
  }
  #shop .map iframe {
    height: 468px
  }
  #shop .company {
    padding: 50px 20px 100px
  }
  #shop .company .ttl {
    font-size: 25px
  }
  #shop .company .subttl {
    margin: 15px 0 50px
  }
  #shop .company dl:first-child {
    padding: 0 0 25px
  }
  #shop .company dt {
    margin-bottom: 10px
  }
  #shop .company dd {
    font-size: 15px
  }
  #shop .company dd:not(:last-of-type) {
    margin-bottom: 25px
  }
}

#guide {
  margin-top: -180px
}

@media screen and (min-width: 961px) {
  #guide .temphead {
    background-image: url(img/guide_head.jpg)
  }
  #guide .temphead .tempttl {
    padding-bottom: 120px
  }
  #guide .temphead .tempttl .ja {
    line-height: 1.7em
  }
}

@media screen and (max-width: 960px) {
  #guide {
    margin-top: -120px
  }
  #guide .temphead .tempttl {
    background-image: url(img/guide_headsp.jpg)
  }
  #guide .temphead .tempttl .ja {
    line-height: 1.7em
  }
}

#guide .intro_txt {
  text-align: center;
  font-size: 15px;
  line-height: 2.4em;
  padding: 90px 0 60px
}

#guide .infobox {
  display: -webkit-flex;
  display: flex
}

#guide .infobox .contactbtn {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: rgba(152, 191, 200, 0.2);
  width: 420px;
  height: 80px;
  color: #2a5b63;
  font-weight: bold;
  font-size: 19px;
  line-height: 1em
}

#guide .infobox .contactbtn img {
  width: 25px;
  height: 17px;
  margin-right: 15px
}

#guide .infobox .txtbox {
  width: 420px;
  margin-left: auto;
  font-size: 15px;
  line-height: 2em
}

#guide .infobox .txtbox .tel {
  display: inline-block;
  font-size: 30px;
  line-height: 1em
}

#guide .guide_list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 80px -20px -60px 0;
  text-align: center;
  font-size: 16px;
  line-height: 1em
}

#guide .guide_list li {
  width: 280px;
  margin: 0 20px 60px 0
}

#guide .guide_list a {
  display: block
}

#guide .guide_list figure {
  margin-bottom: 15px
}

#guide .guide_list figure img {
  width: 100%;
  height: auto
}

@media screen and (max-width: 960px) {
  #guide .wrapper {
    padding: 0 20px
  }
  #guide .intro_txt {
    text-align: left;
    padding: 60px 0 40px
  }
  #guide .infobox {
    display: block
  }
  #guide .infobox .contactbtn {
    width: auto;
    height: 77px;
    font-size: 18px
  }
  #guide .infobox .contactbtn img {
    width: 24px;
    height: 16px
  }
  #guide .infobox .txtbox {
    width: auto;
    margin: 30px 0 0
  }
  #guide .infobox .txtbox .tel {
    font-size: 27px
  }
  #guide .infobox .txtbox .open {
    margin-top: 10px
  }
  #guide .guide_list {
    margin: 80px 0 -30px
  }
  #guide .guide_list li {
    width: 100%;
    margin: 0 0 30px
  }
}

#contact .txt1, #contact .txt2 {
  text-align: center;
  font-size: 13px;
  line-height: 1.7em
}

#contact .txt1 {
  margin-top: 80px
}

#contact .txt2 {
  margin-bottom: 30px
}

@media screen and (max-width: 960px) {
  #contact {
    padding: 0 20px
  }
  #contact .txt1, #contact .txt2 {
    text-align: left;
    font-size: 13px;
    line-height: 1.7em
  }
  #contact .txt1 {
    margin: 25px 0 20px
  }
  #contact .txt1 span {
    display: inline-block
  }
  #contact .txt1 span, #contact .txt2 {
    text-indent: -1.2em;
    padding-left: 1.2em
  }
}

.temp_guide .tempttl {
  border-bottom: 1px solid rgba(152, 191, 200, 0.2);
  padding-bottom: 65px;
  margin-bottom: 95px
}

.temp_guide .guidewrap {
  background-color: rgba(203, 223, 227, 0.1);
  padding: 95px 0 70px
}

@media screen and (max-width: 960px) {
  .temp_guide .tempttl {
    border-bottom: 1px solid rgba(152, 191, 200, 0.2);
    padding-bottom: 45px;
    margin: 0 25px
  }
  .temp_guide .guidewrap {
    padding: 60px 25px 90px
  }
  .temp_guide .guidewrap .txt1 {
    text-align: left;
    line-height: 2em
  }
}

#flow .guidewrap .txt1 {
  text-align: center;
  font-size: 15px;
  line-height: 2.4em
}

#flow .guidewrap .txt1 a {
  color: #98bfc8
}

#flow .chart {
  padding: 70px 0 140px;
  text-align: center
}

#flow .chart dt {
  font-weight: bold;
  color: #98bfc8;
  font-size: 25px;
  line-height: 1.6em
}

#flow .chart dd figure {
  padding: 30px 0 50px
}

#flow .chart dd figure img {
  margin: 0 auto
}

#flow .chart dd small {
  font-size: 15px;
  line-height: 2em
}

#flow .flow dt {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  color: #98bfc8;
  font-weight: bold;
  font-size: 22px;
  line-height: 1.4em;
  margin-bottom: 5px
}

#flow .flow dt img {
  width: 50px;
  height: 48px;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 15px
}

#flow .flow dd {
  font-size: 15px;
  line-height: 2em
}

#flow .flow dd:not(:last-of-type) {
  margin-bottom: 50px
}

#flow .flow dd .tempmore {
  width: 240px;
  margin-top: 20px
}

#flow .flow dd .tempmore img {
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 10px
}

#flow .flow dd .tempmore span {
  width: 100%;
  font-weight: normal
}

#flow .flow dd:last-of-type .tempmore {
  width: 290px
}

@media screen and (max-width: 960px) {
  #flow .guidewrap .txt1 {
    text-align: left;
    line-height: 2em
  }
  #flow .chart {
    padding: 70px 0
  }
  #flow .chart dt {
    font-size: 24px
  }
  #flow .chart dd figure img {
    width: 100%;
    height: auto
  }
  #flow .chart dd small {
    text-align: left
  }
  #flow .flow dt {
    font-size: 18px
  }
  #flow .flow dt img {
    width: 48px;
    height: 46px
  }
  #flow .flow dd {
    font-size: 15px;
    line-height: 2em
  }
  #flow .flow dd:not(:last-of-type) {
    margin-bottom: 40px
  }
  #flow .flow dd .tempmore {
    margin: 20px 0 0
  }
}

#order ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -40px -55px 0;
  font-size: 15px;
  line-height: 2em
}

#order li {
  width: 420px;
  margin: 0 40px 55px 0
}

#order li:last-child {
  width: 100%
}

#order li figure img {
  width: 100%;
  height: auto
}

#order li p {
  display: -webkit-flex;
  display: flex;
  margin-top: 15px
}

#order li p img {
  width: 50px;
  height: 48px;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 15px
}

#order li p .txt {
  display: block;
  padding-top: 8px
}

#order .bottomtxt1 {
  padding: 70px 0;
  border-bottom: 1px solid rgba(152, 191, 200, 0.2);
  text-align: center;
  color: #2a5b63;
  font-weight: bold;
  font-size: 15px;
  line-height: 2em
}

#order .bottomtxt2 {
  padding-top: 80px;
  font-size: 15px;
  line-height: 2em
}

@media screen and (max-width: 960px) {
  #order ul {
    margin: 0 0 -40px
  }
  #order li {
    width: 100%;
    margin: 0 0 40px
  }
  #order li p img {
    width: 48px;
    height: 46px
  }
  #order .bottomtxt1 {
    font-size: 16px
  }
  #order .bottomtxt2 {
    padding-top: 60px
  }
}

#payment .guidewrap {
  max-width: 1280px;
  margin: 0 auto
}

#payment .intro_txt {
  text-align: center;
  font-size: 18px;
  line-height: 2em;
  margin-bottom: 110px
}

#payment dt {
  font-weight: bold;
  color: #98bfc8;
  font-size: 25px;
  line-height: 1.6em;
  margin-bottom: 25px
}

#payment dd:not(:last-of-type) {
  margin-bottom: 70px
}

#payment dd .txt1 {
  font-size: 15px;
  line-height: 2em
}

@media screen and (min-width: 961px) {
  #payment dd.credit {
    display: -webkit-flex;
    display: flex
  }
  #payment dd.credit .txt1 {
    width: 420px
  }
}

#payment dd.credit figure {
  width: 440px;
  margin-left: auto;
  padding-right: 30px
}

#payment dd.credit figure img {
  width: 100%;
  height: auto
}

#payment dd.bank .bank_number {
  margin-top: 35px
}

#payment dd.bank .bank_number .ttl {
  color: #98bfc8;
  font-weight: bold;
  font-size: 17px;
  line-height: 1em;
  margin-bottom: 15px
}

#payment dd.bank .bank_number .list {
  display: -webkit-flex;
  display: flex;
  border: 1px solid #98bfc8;
  font-size: 16px;
  line-height: 2em
}

#payment dd.bank .bank_number .list p {
  -webkit-flex-grow: 1;
  flex-grow: 1;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 20px 0
}

#payment dd.bank .bank_number .list p:not(:last-child) {
  border-right: 1px solid #98bfc8
}

@media screen and (max-width: 960px) {
  #payment .intro_txt {
    text-align: left;
    font-size: 16px;
    margin-bottom: 60px
  }
  #payment dt {
    font-size: 23px;
    line-height: 1.6em;
    margin-bottom: 20px
  }
  #payment dd.credit figure {
    width: auto;
    margin: 25px 0 0;
    padding-right: 0
  }
  #payment dd.credit figure img {
    width: 271px;
    margin: 0 auto
  }
  #payment dd.bank .bank_number .ttl {
    font-size: 23px
  }
  #payment dd.bank .bank_number .list {
    display: block;
    font-size: 15px
  }
  #payment dd.bank .bank_number .list p {
    display: block;
    padding: 20px
  }
  #payment dd.bank .bank_number .list p:not(:last-child) {
    border-right: none;
    border-bottom: 1px solid #98bfc8
  }
}

#delivery .intro_txt {
  text-align: center;
  font-size: 18px;
  line-height: 2em;
  margin-bottom: 90px
}

#delivery ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -40px -80px 0
}

#delivery li {
  width: 420px;
  margin: 0 40px 80px 0
}

#delivery li .list_ttl {
  color: #98bfc8;
  font-weight: bold;
  font-size: 25px;
  line-height: 1.3em;
  margin-bottom: 25px
}

#delivery li p {
  font-size: 15px;
  line-height: 2em
}

@media screen and (min-width: 961px) {
  #delivery li.full {
    width: 100%
  }
}

@media screen and (min-width: 961px) {
  #delivery li.full .txtbox {
    display: -webkit-flex;
    display: flex
  }
}

#delivery li.full .txtbox figure img {
  width: 100%;
  height: auto
}

@media screen and (min-width: 961px) {
  #delivery li.full .half {
    width: 420px
  }
  #delivery li.full .half.last {
    margin-left: auto
  }
}

#delivery li p.tel {
  font-size: 30px;
  line-height: 1em;
  margin-bottom: 10px
}

#delivery li .info {
  font-size: 14px;
  line-height: 1.8em
}

#delivery li .contactbtn {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: rgba(203, 223, 227, 0.2);
  width: 280px;
  height: 50px;
  color: #2a5b63;
  font-weight: bold;
  line-height: 1em;
  margin-bottom: 20px
}

#delivery li .contactbtn img {
  width: 22px;
  height: 15px;
  margin-right: 10px
}

@media screen and (max-width: 960px) {
  #delivery .intro_txt {
    text-align: left
  }
  #delivery ul {
    margin: 0 0 -50px
  }
  #delivery li {
    width: 100%;
    margin: 0 0 50px
  }
  #delivery li .list_ttl {
    font-size: 23px;
    margin-bottom: 20px
  }
  #delivery li.full .half.last {
    margin-top: 20px
  }
  #delivery li p.tel {
    font-size: 23px;
    margin-bottom: 15px
  }
  #delivery li .contactbtn {
    width: auto;
    height: 58px;
    font-size: 18px
  }
}

#faq .guidewrap {
  max-width: 1280px;
  margin: 0 auto
}

#faq dt {
  color: #2a5b63;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.6em;
  position: relative;
  padding: 0 0 25px 40px
}

#faq dt .caf {
  color: #98bfc8;
  font-size: 40px;
  line-height: 1em;
  position: absolute;
  top: 0;
  left: 0
}

#faq dd {
  border-bottom: 1px solid rgba(152, 191, 200, 0.4);
  padding-bottom: 50px;
  font-size: 15px;
  line-height: 2em
}

@media screen and (min-width: 961px) {
  #faq dd:not(:last-of-type) {
    margin-bottom: 50px
  }
}

#faq dd a {
  color: #98bfc8
}

#faq dd .inner_dl {
  padding-top: 40px
}

#faq dd .inner_dl dt {
  color: #98bfc8;
  padding: 0 0 15px
}

#faq dd .inner_dl dd {
  border-bottom: none;
  padding-bottom: 0
}

#faq dd p.tel {
  font-size: 26px;
  line-height: 1em;
  margin: 25px 0 10px
}

#faq dd p.tel a {
  color: #444
}

#faq dd .info {
  font-size: 14px;
  line-height: 1.8em
}

#faq dd .material_list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 30px -20px -50px 0
}

#faq dd .material_list li {
  display: -webkit-flex;
  display: flex;
  width: 430px;
  margin: 0 20px 50px 0
}

#faq dd .material_list li figure {
  width: 150px;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-right: 15px
}

#faq dd .material_list li figure img {
  width: 100%;
  height: auto
}

#faq dd .material_list li .name {
  font-weight: bold;
  color: #98bfc8;
  font-size: 20px;
  line-height: 1em;
  margin-bottom: 8px
}

#faq .other {
  padding-top: 70px
}

#faq .other .ttl {
  font-weight: bold;
  color: #98bfc8;
  font-size: 25px;
  line-height: 1em;
  margin-bottom: 35px
}

#faq .other .infowrap {
  display: -webkit-flex;
  display: flex
}

#faq .other .infowrap .contactbtn {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: rgba(203, 223, 227, 0.2);
  width: 280px;
  height: 50px;
  color: #2a5b63;
  font-weight: bold;
  font-size: 15px;
  line-height: 1em;
  margin-right: 30px
}

#faq .other .infowrap .contactbtn img {
  width: 22px;
  height: 15px;
  margin-right: 10px
}

#faq .other .infowrap p.tel {
  font-size: 30px;
  line-height: 1em;
  margin-bottom: 10px
}

#faq .other .infowrap .info {
  font-size: 14px;
  line-height: 1.8em
}

@media screen and (max-width: 960px) {
  #faq dl {
    border-bottom: 1px solid rgba(152, 191, 200, 0.4)
  }
  #faq dt {
    font-size: 18px;
    padding: 25px 30px 25px 40px;
    cursor: pointer
  }
  #faq dt:not(:first-of-type) {
    border-top: 1px solid rgba(152, 191, 200, 0.4)
  }
  #faq dt:before {
    content: "";
    background: url(img/arrow_03.png) no-repeat left top/100% 100%;
    width: 13px;
    height: 7px;
    position: absolute;
    top: 35px;
    right: 10px;
    -webkit-transition: 0.3s;
    transition: 0.3s
  }
  #faq dt .caf {
    font-size: 35px;
    top: 25px
  }
  #faq dd {
    display: none;
    border-bottom: none;
    padding-bottom: 30px;
    font-size: 14px;
    line-height: 1.8em
  }
  #faq dd a {
    color: #98bfc8
  }
  #faq dd .inner_dl {
    padding-top: 30px;
    border-bottom: none
  }
  #faq dd .inner_dl dt {
    border-top: none
  }
  #faq dd .inner_dl dt:before {
    display: none
  }
  #faq dd .inner_dl dd {
    display: block
  }
  #faq dd .inner_dl dd:not(:last-of-type) {
    padding-bottom: 30px
  }
  #faq dd p.tel {
    font-size: 23px
  }
  #faq dd .info {
    font-size: 13px
  }
  #faq dd .material_list {
    margin: 30px 0 -30px
  }
  #faq dd .material_list li {
    width: 100%;
    margin: 0 0 30px
  }
  #faq dd .material_list li figure {
    width: 100px
  }
  #faq dd .material_list li .name {
    font-size: 18px
  }
  #faq .other {
    padding-top: 60px
  }
  #faq .other .ttl {
    font-size: 22px;
    margin-bottom: 20x
  }
  #faq .other .infowrap {
    display: block
  }
  #faq .other .infowrap .contactbtn {
    width: auto;
    height: 58px;
    font-size: 18px;
    margin: 0 0 30px
  }
  #faq .other .infowrap p.tel {
    font-size: 28px
  }
  #faq .other .infowrap .info {
    font-size: 13px
  }
}

#asct table {
  margin: 80px auto 0;
  font-size: 16px;
  line-height: 1.6em
}

#asct th, #asct td {
  padding: 20px 0
}

#asct th {
  width: 270px
}

#asct td .indent {
  display: inline-block;
  text-indent: -1.2em;
  padding-left: 2.2em
}

#asct td .more {
  color: #2a5b63
}

@media screen and (max-width: 960px) {
  #asct {
    padding: 0 20px
  }
  #asct table {
    width: 100%;
    margin: 30px 0 0;
    font-size: 14px
  }
  #asct th, #asct td {
    display: block
  }
  #asct th {
    width: 100%;
    padding: 20px 0 5px;
    font-size: 17px;
    line-height: 1.4em
  }
  #asct td {
    padding: 0
  }
}

#privacy .wrapper {
  font-size: 15px;
  line-height: 2em
}

#privacy .intro {
  margin-top: 100px
}

#privacy dt {
  font-size: 17px;
  line-height: 1.4em;
  margin: 30px 0 5px
}

#privacy .last {
  text-align: right
}

@media screen and (max-width: 960px) {
  #privacy {
    padding: 0 20px
  }
  #privacy .wrapper {
    font-size: 12px;
    line-height: 1.6em
  }
  #privacy .intro {
    margin-top: 45px
  }
  #privacy dt {
    font-size: 14px;
    margin: 15px 0 5px
  }
}

.sample-rings {
  display: flex;
  flex-wrap: wrap;
}

.sample-rings li {
  width: 33.333%;
}

.select-size {
  display: flex;
  flex-wrap: wrap;
}

.tempform .input_box dd input,
.tempform .input_box dd textarea,
.tempform .input_box dd select  {
  font-size: 16px;

}