@charset "UTF-8";
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
body {
  margin: 0;
}

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

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

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

b,
strong {
  font-weight: 700;
}

dfn {
  font-style: italic;
}

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

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 40px;
}

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

pre {
  overflow: auto;
}

code,
kbd,
pre,
samp {
  font-family: monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

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

input {
  line-height: normal;
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: 700;
}

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

td,
th {
  padding: 0;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

p {
  margin: 0;
}

.clearfix {
  *zoom: 1;
}
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

/*
Animate.css - http://daneden.me/animate
Licensed under the ☺ license (http://licence.visualidiot.com/)

Copyright (c) 2012 Dan Eden

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
body { /* Addresses a small issue in webkit: http://bit.ly/NEdoDq */
  -webkit-backface-visibility: hidden;
}

.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.animated.hinge {
  animation-duration: 2s;
}
@keyframes flash {
  0%, 50%, 100% {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  animation-name: flash;
}
@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-10px);
  }
  20%, 40%, 60%, 80% {
    transform: translateX(10px);
  }
}
.shake {
  animation-name: shake;
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
.bounce {
  animation-name: bounce;
}
@keyframes tada {
  0% {
    transform: scale(1);
  }
  10%, 20% {
    transform: scale(0.9) rotate(-3deg);
  }
  30%, 50%, 70%, 90% {
    transform: scale(1.1) rotate(3deg);
  }
  40%, 60%, 80% {
    transform: scale(1.1) rotate(-3deg);
  }
  100% {
    transform: scale(1) rotate(0);
  }
}
.tada {
  animation-name: tada;
}
@keyframes swing {
  20% {
    transform: rotate(15deg);
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  80% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.swing {
  transform-origin: top center;
  animation-name: swing;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes wobble {
  0% {
    transform: translateX(0%);
  }
  15% {
    transform: translateX(-25%) rotate(-5deg);
  }
  30% {
    transform: translateX(20%) rotate(3deg);
  }
  45% {
    transform: translateX(-15%) rotate(-3deg);
  }
  60% {
    transform: translateX(10%) rotate(2deg);
  }
  75% {
    transform: translateX(-5%) rotate(-1deg);
  }
  100% {
    transform: translateX(0%);
  }
}
.wobble {
  animation-name: wobble;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.pulse {
  animation-name: pulse;
}
@keyframes flip {
  0% {
    transform: perspective(400px) rotateY(0);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    animation-timing-function: ease-in;
  }
  100% {
    transform: perspective(400px) scale(1);
    animation-timing-function: ease-in;
  }
}
.flip {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flip;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flip;
  -o-backface-visibility: visible !important;
  -o-animation-name: flip;
  backface-visibility: visible !important;
  animation-name: flip;
}
@keyframes flipInX {
  0% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateX(-10deg);
  }
  70% {
    transform: perspective(400px) rotateX(10deg);
  }
  100% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}
.flipInX {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flipInX;
  -o-backface-visibility: visible !important;
  -o-animation-name: flipInX;
  backface-visibility: visible !important;
  animation-name: flipInX;
}
@keyframes flipOutX {
  0% {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
  100% {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
}
.flipOutX {
  -webkit-animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  -moz-animation-name: flipOutX;
  -moz-backface-visibility: visible !important;
  -o-animation-name: flipOutX;
  -o-backface-visibility: visible !important;
  animation-name: flipOutX;
  backface-visibility: visible !important;
}
@keyframes flipInY {
  0% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateY(-10deg);
  }
  70% {
    transform: perspective(400px) rotateY(10deg);
  }
  100% {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}
.flipInY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flipInY;
  -o-backface-visibility: visible !important;
  -o-animation-name: flipInY;
  backface-visibility: visible !important;
  animation-name: flipInY;
}
@keyframes flipOutY {
  0% {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
  100% {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
}
.flipOutY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  -moz-backface-visibility: visible !important;
  -moz-animation-name: flipOutY;
  -o-backface-visibility: visible !important;
  -o-animation-name: flipOutY;
  backface-visibility: visible !important;
  animation-name: flipOutY;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDown {
  animation-name: fadeInDown;
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInLeft {
  animation-name: fadeInLeft;
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInRight {
  animation-name: fadeInRight;
}
@keyframes fadeInUpBig {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInUpBig {
  animation-name: fadeInUpBig;
}
@keyframes fadeInDownBig {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeInDownBig {
  animation-name: fadeInDownBig;
}
@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}
@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.fadeInRightBig {
  animation-name: fadeInRightBig;
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.fadeOut {
  animation-name: fadeOut;
}
@keyframes fadeOutUp {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-20px);
  }
}
.fadeOutUp {
  animation-name: fadeOutUp;
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(20px);
  }
}
.fadeOutDown {
  animation-name: fadeOutDown;
}
@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-20px);
  }
}
.fadeOutLeft {
  animation-name: fadeOutLeft;
}
@keyframes fadeOutRight {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(20px);
  }
}
.fadeOutRight {
  animation-name: fadeOutRight;
}
@keyframes fadeOutUpBig {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}
@keyframes fadeOutDownBig {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(2000px);
  }
}
.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}
@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}
@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}
@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
.bounceIn {
  animation-name: bounceIn;
}
@keyframes bounceInUp {
  0% {
    opacity: 0;
    transform: translateY(2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(-30px);
  }
  80% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}
.bounceInUp {
  animation-name: bounceInUp;
}
@keyframes bounceInDown {
  0% {
    opacity: 0;
    transform: translateY(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateY(30px);
  }
  80% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
.bounceInDown {
  animation-name: bounceInDown;
}
@keyframes bounceInLeft {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }
  60% {
    opacity: 1;
    transform: translateX(30px);
  }
  80% {
    transform: translateX(-10px);
  }
  100% {
    transform: translateX(0);
  }
}
.bounceInLeft {
  animation-name: bounceInLeft;
}
@keyframes bounceInRight {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }
  60% {
    opacity: 1;
    transform: translateX(-30px);
  }
  80% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}
.bounceInRight {
  animation-name: bounceInRight;
}
@keyframes bounceOut {
  0% {
    transform: scale(1);
  }
  25% {
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(0.3);
  }
}
.bounceOut {
  animation-name: bounceOut;
}
@keyframes bounceOutUp {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(20px);
  }
  100% {
    opacity: 0;
    transform: translateY(-2000px);
  }
}
.bounceOutUp {
  animation-name: bounceOutUp;
}
@keyframes bounceOutDown {
  0% {
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(-20px);
  }
  100% {
    opacity: 0;
    transform: translateY(2000px);
  }
}
.bounceOutDown {
  animation-name: bounceOutDown;
}
@keyframes bounceOutLeft {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(20px);
  }
  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}
.bounceOutLeft {
  animation-name: bounceOutLeft;
}
@keyframes bounceOutRight {
  0% {
    transform: translateX(0);
  }
  20% {
    opacity: 1;
    transform: translateX(-20px);
  }
  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}
.bounceOutRight {
  animation-name: bounceOutRight;
}
@keyframes rotateIn {
  0% {
    transform-origin: center center;
    transform: rotate(-200deg);
    opacity: 0;
  }
  100% {
    transform-origin: center center;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateIn {
  animation-name: rotateIn;
}
@keyframes rotateInUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInUpLeft {
  animation-name: rotateInUpLeft;
}
@keyframes rotateInDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInDownLeft {
  animation-name: rotateInDownLeft;
}
@keyframes rotateInUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInUpRight {
  animation-name: rotateInUpRight;
}
@keyframes rotateInDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
}
.rotateInDownRight {
  animation-name: rotateInDownRight;
}
@keyframes rotateOut {
  0% {
    transform-origin: center center;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: center center;
    transform: rotate(200deg);
    opacity: 0;
  }
}
.rotateOut {
  animation-name: rotateOut;
}
@keyframes rotateOutUpLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
}
@keyframes rotateOutDownLeft {
  0% {
    transform-origin: left bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: left bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
}
@keyframes rotateOutUpRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  animation-name: rotateOutUpRight;
}
@keyframes rotateOutDownRight {
  0% {
    transform-origin: right bottom;
    transform: rotate(0);
    opacity: 1;
  }
  100% {
    transform-origin: right bottom;
    transform: rotate(-90deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  animation-name: rotateOutDownRight;
}
@keyframes hinge {
  0% {
    transform: rotate(0);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    transform: rotate(80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40% {
    transform: rotate(60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  80% {
    transform: rotate(60deg) translateY(0);
    opacity: 1;
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  100% {
    transform: translateY(700px);
    opacity: 0;
  }
}
.hinge {
  animation-name: hinge;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollIn {
  0% {
    opacity: 0;
    transform: translateX(-100%) rotate(-120deg);
  }
  100% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
}
.rollIn {
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollOut {
  0% {
    opacity: 1;
    transform: translateX(0px) rotate(0deg);
  }
  100% {
    opacity: 0;
    transform: translateX(100%) rotate(120deg);
  }
}
.rollOut {
  animation-name: rollOut;
}

/* originally authored by Angelo Rohit - https://github.com/angelorohit */
@keyframes lightSpeedIn {
  0% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    transform: translateX(0%) skewX(-15deg);
    opacity: 1;
  }
  100% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
}
.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}

.animated.lightSpeedIn {
  animation-duration: 0.5s;
}

/* originally authored by Angelo Rohit - https://github.com/angelorohit */
@keyframes lightSpeedOut {
  0% {
    transform: translateX(0%) skewX(0deg);
    opacity: 1;
  }
  100% {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}

.animated.lightSpeedOut {
  animation-duration: 0.25s;
}

/* originally authored by Angelo Rohit - https://github.com/angelorohit */
@keyframes wiggle {
  0% {
    transform: skewX(9deg);
  }
  10% {
    transform: skewX(-8deg);
  }
  20% {
    transform: skewX(7deg);
  }
  30% {
    transform: skewX(-6deg);
  }
  40% {
    transform: skewX(5deg);
  }
  50% {
    transform: skewX(-4deg);
  }
  60% {
    transform: skewX(3deg);
  }
  70% {
    transform: skewX(-2deg);
  }
  80% {
    transform: skewX(1deg);
  }
  90% {
    transform: skewX(0deg);
  }
  100% {
    transform: skewX(0deg);
  }
}
.wiggle {
  animation-name: wiggle;
  animation-timing-function: ease-in;
}

.animated.wiggle {
  animation-duration: 0.75s;
}

/* Media queries */
/*----------------------------------------
font iconn
----------------------------------------*/
@font-face {
  font-family: "fontello";
  src: url("../font/fontello.eot?37845983");
  src: url("../font/fontello.eot?37845983#iefix") format("embedded-opentype"), url("../font/fontello.woff2?37845983") format("woff2"), url("../font/fontello.woff?37845983") format("woff"), url("../font/fontello.ttf?37845983") format("truetype"), url("../font/fontello.svg?37845983#fontello") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?37845983#fontello') format('svg');
  }
}
*/
[class^=icon-]:before,
[class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: never;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: 0.2em;
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: 0.2em;
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.icon-down-dir:before {
  content: "\e800";
} /* '' */
.icon-up-dir:before {
  content: "\e801";
} /* '' */
.icon-left-dir:before {
  content: "\e802";
} /* '' */
.icon-right-dir:before {
  content: "\e803";
} /* '' */
.icon-down-open:before {
  content: "\e804";
} /* '' */
.icon-left-open:before {
  content: "\e805";
} /* '' */
.icon-right-open:before {
  content: "\e806";
} /* '' */
.icon-up-open:before {
  content: "\e807";
} /* '' */
.icon-mail-alt:before {
  content: "\f0e0";
} /* '' */
.icon-angle-left:before {
  content: "\f104";
} /* '' */
.icon-angle-right:before {
  content: "\f105";
} /* '' */
.icon-angle-up:before {
  content: "\f106";
} /* '' */
.icon-angle-down:before {
  content: "\f107";
} /* '' */
.icon-twitter-squared:before {
  content: "\f304";
} /* '' */
.icon-facebook-squared:before {
  content: "\f308";
} /* '' */
.icon-linkedin-squared:before {
  content: "\f30c";
} /* '' */
/*----------------------------------------
Fade Effect
----------------------------------------*/
.fadein {
  opacity: 0;
  transform: translate(0px, 0px);
  transition: all 2s;
}

.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

.fadein_top {
  opacity: 0;
  transform: translate(0px, 30px);
  transition: all 1s;
}

.fadein_top.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

.fadein_right {
  opacity: 0;
  transform: translate(30px, 0px);
  transition: all 1s;
}

.fadein_right.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

.fadein_bottom {
  opacity: 0;
  transform: translate(0px, -30px);
  transition: all 1s;
}

.fadein_bottom.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

.fadein_left {
  opacity: 0;
  transform: translate(-30px, 0px);
  transition: all 1s;
}

.fadein_left.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

/*--------------------------
common
---------------------------*/
.global-Header_MainContentsWrap {
  border-bottom: none;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}

main {
  overflow: hidden;
  overflow-wrap: break-word;
}
main section:not(#nav) .container {
  max-width: 1080px;
}

/*--------------------------
main
---------------------------*/
#wrap > #nav.is-fixed {
  z-index: 1001;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.2);
}
#wrap > #nav.is-fixed > #mainnav .sitenav > ul > li:last-child > a {
  background: #cd2d2e;
  color: #fff;
  border-radius: 5px;
  padding-inline: 2em;
}
#wrap > #nav > .breadcrumb {
  width: 100%;
}
#wrap > #nav > #mainnav {
  padding-block: 10px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap > #nav > #mainnav {
    padding-block: 0;
  }
}
#wrap > #nav > #mainnav:after {
  content: "";
  display: block;
  clear: both;
}
@media only screen and (min-width: 769px) {
  #wrap > #nav > #mainnav > .container {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: space-between;
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
}
@media only screen and (max-width: 768px) {
  #wrap > #nav > #mainnav > .container {
    padding: 0 10px;
  }
}
@media only screen and (max-width: 768px) {
  #wrap > #nav > #mainnav > .container .sitename {
    width: 100%;
  }
}
#wrap > #nav > #mainnav > .container .sitename > h1 {
  font-size: 1.375rem;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap > #nav > #mainnav > .container .sitename > h1 {
    font-size: 1.125rem;
    line-height: 1;
    padding: 14.5px 0;
  }
}
#wrap > #nav > #mainnav > .container > .sitenav {
  padding-top: 5px;
}
@media only screen and (max-width: 1023px) {
  #wrap > #nav > #mainnav > .container > .sitenav {
    display: none;
  }
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li {
  float: left;
  margin-left: 22px;
  position: relative;
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li:first-child {
  margin-left: 0;
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li > a,
#wrap > #nav > #mainnav > .container > .sitenav > ul > li > span {
  position: relative;
  font-weight: 700;
  color: #000;
  text-decoration: none;
  padding: 10px 0;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 1090px) {
  #wrap > #nav > #mainnav > .container > .sitenav > ul > li > a,
  #wrap > #nav > #mainnav > .container > .sitenav > ul > li > span {
    font-size: 14px;
  }
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li > a:hover,
#wrap > #nav > #mainnav > .container > .sitenav > ul > li > span:hover {
  cursor: pointer;
  text-decoration: underline;
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li:nth-child(2) > span {
  padding-right: 20px;
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li:nth-child(2) > span:before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
  width: 14px;
  height: 7px;
  background: url(../img/common/icon01.svg) no-repeat center center/14px 7px;
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li > .dropdwn_menu {
  display: none;
  position: absolute;
  top: 30px;
  left: -350px;
  background: rgba(0, 0, 0, 0.8);
  width: 1070px;
  height: auto;
  border-radius: 2px;
  padding: 25px 50px 20px 50px;
  z-index: 100;
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li > .dropdwn_menu.is-open {
  display: block;
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li > .dropdwn_menu:after {
  content: "";
  display: block;
  clear: both;
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li > .dropdwn_menu > li {
  float: left;
  width: 32%;
  text-align: center;
  margin-right: 2%;
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li > .dropdwn_menu > li:last-child {
  border-bottom: none;
  margin-right: 0;
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li > .dropdwn_menu > li > a {
  display: block;
  color: #000;
  padding: 5px 10px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  padding: 10px 0;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li > .dropdwn_menu > li > a:hover {
  opacity: 0.7;
  text-decoration: none;
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li > .dropdwn_menu > li > a > .img {
  margin-bottom: 20px;
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li > .dropdwn_menu > li > a > .img > img {
  width: 100%;
  height: auto;
}
#wrap > #nav > #mainnav > .container > .sitenav > ul > li > .dropdwn_menu > li > a > p {
  font-size: 1.35em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  color: #fff;
}
#wrap > #projects {
  width: 100%;
  background: url(../img/common/projects_bg01.jpg) no-repeat center center/cover, #fbf9f7;
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap > #projects {
    padding: 40px 0;
  }
}
#wrap > #projects > h2 {
  color: #000;
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap > #projects > h2 {
    font-size: 10vw;
  }
}
#wrap > #projects h3 {
  color: #047468;
  text-align: center;
  font-family: "Noto Serif", serif;
  font-size: 1.2em;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap > #projects h3 {
    font-size: 5vw;
    margin-bottom: 40px;
  }
}
#wrap > #projects > .item01 {
  width: 100%;
  margin: 0 auto 20px auto;
}
@media only screen and (max-width: 768px) {
  #wrap > #projects > .item01 {
    margin: 0 auto 40px auto;
  }
}
#wrap > #projects > .item01 > .slide2 {
  width: 100%;
}
#wrap > #projects > .item01 > .slide2 .slick-slide {
  margin: 0 150px;
}
#wrap > #projects > .item01 > .slide2 .slide2next {
  width: 45px;
  height: 45px;
  position: absolute;
  top: 45%;
  right: calc((100vw - 1200px) / 2);
  z-index: 1000;
}
@media only screen and (max-width: 768px) {
  #wrap > #projects > .item01 > .slide2 .slide2next {
    right: 2%;
    top: 35%;
  }
}
#wrap > #projects > .item01 > .slide2 .slide2next > span {
  display: block;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: #057468;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap > #projects > .item01 > .slide2 .slide2next > span:hover {
  cursor: pointer;
  opacity: 0.7;
}
#wrap > #projects > .item01 > .slide2 .slide2next > span:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  width: 45px;
  height: 45px;
  margin: auto;
  text-align: center;
  position: absolute;
  top: 50%;
  font-size: 1.6em;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  content: "\f105";
}
#wrap > #projects > .item01 > .slide2 .slide2prev {
  width: 45px;
  height: 45px;
  position: absolute;
  top: 45%;
  left: calc((100vw - 1200px) / 2);
  z-index: 1000;
}
@media only screen and (max-width: 768px) {
  #wrap > #projects > .item01 > .slide2 .slide2prev {
    left: 2%;
    top: 35%;
  }
}
#wrap > #projects > .item01 > .slide2 .slide2prev > span {
  display: block;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  background: #057468;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap > #projects > .item01 > .slide2 .slide2prev > span:hover {
  cursor: pointer;
  opacity: 0.7;
}
#wrap > #projects > .item01 > .slide2 .slide2prev > span:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  width: 45px;
  height: 45px;
  margin: auto;
  text-align: center;
  position: absolute;
  top: 50%;
  font-size: 1.6em;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  content: "\f104";
}
#wrap > #projects > .item01 > .slide2 li {
  max-width: 1000px;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap > #projects > .item01 > .slide2 li {
    width: 100vw;
  }
}
#wrap > #projects > .item01 > .slide2 li > div {
  display: grid;
  grid-template-columns: 630px 1fr;
}
@media only screen and (max-width: 768px) {
  #wrap > #projects > .item01 > .slide2 li > div {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  #wrap > #projects > .item01 > .slide2 li .left {
    width: 100vw;
  }
}
@media only screen and (max-width: 768px) {
  #wrap > #projects > .item01 > .slide2 li .left > .img {
    width: 100%;
  }
}
#wrap > #projects > .item01 > .slide2 li .left > .img > img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 768px) {
  #wrap > #projects > .item01 > .slide2 li .left > .img > img {
    width: 100vw;
    height: auto;
  }
}
#wrap > #projects > .item01 > .slide2 li .right {
  padding: 10px;
}
@media only screen and (max-width: 768px) {
  #wrap > #projects > .item01 > .slide2 li .right {
    width: 100vw;
    padding: 20px 10px 30px 10px;
  }
}
#wrap > #projects > .item01 > .slide2 li .right > h4 {
  position: relative;
  color: #3c3d3d;
  text-align: center;
  font-size: 2em;
  line-height: 1em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  padding-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap > #projects > .item01 > .slide2 li .right > h4 {
    font-size: 7vw;
  }
}
#wrap > #projects > .item01 > .slide2 li .right > h4:before {
  position: absolute;
  content: "";
  bottom: 20px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 25px;
  height: 1px;
  background: #047468;
}
#wrap > #projects > .item01 > .slide2 li .right > h4 > span {
  display: block;
  font-size: 0.8em;
}
#wrap > #projects > .item01 > .slide2 li .right > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 1.6em;
  width: 80%;
  margin: 0 auto 20px auto;
}
@media only screen and (max-width: 768px) {
  #wrap > #projects > .item01 > .slide2 li .right > p {
    font-size: 4vw;
  }
}
#wrap > #projects > .item01 > .slide2 li .right > .btn {
  text-align: center;
}
#wrap > #projects > .item01 > .slide2 li .right > .btn > a {
  display: inline-block;
  margin: 0 auto;
  padding: 10px 30px;
  text-align: center;
  color: #000;
  border-radius: 2px;
  text-decoration: none;
  border: 1px solid #000;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap > #projects > .item01 > .slide2 li .right > .btn > a {
    font-size: 4vw;
  }
}
#wrap > #projects > .item01 > .slide2 li .right > .btn > a:hover {
  color: #fff;
  background: #057468;
  border: 1px solid #057468;
}
#wrap > #projects > .btn {
  text-align: center;
}
#wrap > #projects > .btn > a {
  display: block;
  width: 280px;
  margin: 0 auto;
  padding: 10px 0;
  text-align: center;
  color: #fff;
  text-decoration: none;
  background: #057468;
  border: 1px solid #057468;
  border-radius: 35px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap > #projects > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap > #projects > .btn > a:hover {
  opacity: 0.7;
}
#wrap #ourgemstones {
  padding: 50px 0 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones {
    padding: 40px 0;
  }
}
#wrap #ourgemstones > .container > h2 {
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > h2 {
    font-size: 10vw;
  }
}
#wrap #ourgemstones > .container > h3 {
  color: #047468;
  text-align: center;
  font-family: "Noto Serif", serif;
  font-size: 1.2em;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > h3 {
    font-size: 5vw;
    margin-bottom: 40px;
  }
}
#wrap #ourgemstones > .container > .tab01 {
  max-width: 900px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tab01 {
    width: 100%;
  }
}
#wrap #ourgemstones > .container > .tab01 > ul {
  text-align: center;
  display: table;
  width: 100%;
}
#wrap #ourgemstones > .container > .tab01 > ul > li {
  width: 20%;
  margin: 0 4%;
  display: inline-table;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tab01 > ul > li {
    width: 30%;
    margin: 0 1%;
  }
}
#wrap #ourgemstones > .container > .tab01 > ul > li.active > a:before {
  background: #047468;
}
#wrap #ourgemstones > .container > .tab01 > ul > li > a {
  font-size: 1em;
  font-weight: 500;
  color: #000;
  padding-bottom: 10px;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
  position: relative;
  display: block;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tab01 > ul > li > a {
    font-size: 3vw;
  }
}
#wrap #ourgemstones > .container > .tab01 > ul > li > a:before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: #aaa;
}
#wrap #ourgemstones > .container > .tab01 > ul > li > a:hover:before {
  background: #047468;
}
#wrap #ourgemstones > .container > .tab01 > ul > li > a > span {
  position: relative;
  padding-right: 30px;
  font-weight: 900;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tab01 > ul > li > a > span {
    padding-right: 1.5em;
  }
}
#wrap #ourgemstones > .container > .tab01 > ul > li > a > span:after {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 50%;
  right: 0;
  color: #057468;
  transform: translateY(-50%);
  content: "\f105";
}
#wrap #ourgemstones > .container > .tabContents {
  padding: 30px 0 0 0;
  display: none;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents {
    padding: 20px 0 0 0;
  }
}
#wrap #ourgemstones > .container > .tabContents.active {
  display: block;
}
#wrap #ourgemstones > .container > .tabContents > .btn {
  text-align: center;
}
#wrap #ourgemstones > .container > .tabContents > .btn > a {
  display: inline-block;
  width: 280px;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  background: #057468;
  padding: 10px 0;
  text-align: center;
  border-radius: 35px;
  letter-spacing: 0.1em;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap #ourgemstones > .container > .tabContents > .btn > a:hover {
  opacity: 0.7;
}
#wrap #ourgemstones > .container > .tabContents > .list01 {
  max-width: 900px;
  margin: 0 auto 20px auto;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents > .list01 {
    width: 100%;
  }
}
#wrap #ourgemstones > .container > .tabContents > .list01 > ul {
  width: 100%;
  text-align: center;
  display: table;
}
#wrap #ourgemstones > .container > .tabContents > .list01 > ul > li {
  width: 24%;
  display: inline-table;
  margin: 0 0 40px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents > .list01 > ul > li {
    width: 31%;
    margin: 0 1% 30px 1%;
  }
}
#wrap #ourgemstones > .container > .tabContents > .list01 > ul > li > .item03 {
  text-align: center;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents > .list01 > ul > li > .item03 {
    line-height: 1em;
  }
}
#wrap #ourgemstones > .container > .tabContents > .list01 > ul > li > .item03 > .img {
  display: block;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents > .list01 > ul > li > .item03 > .img {
    margin-bottom: 1px;
  }
}
#wrap #ourgemstones > .container > .tabContents > .list01 > ul > li > .item03 > .img > img {
  height: 120px;
  width: auto;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents > .list01 > ul > li > .item03 > .img > img {
    height: 60px;
    width: auto;
  }
}
#wrap #ourgemstones > .container > .tabContents > .list01 > ul > li > .item03 > span {
  font-size: 1em;
  font-weight: 500;
  color: #000;
  font-family: "Jost", sans-serif;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents > .list01 > ul > li > .item03 > span {
    font-size: 3vw;
    line-height: 1em;
  }
}
#wrap #ourgemstones > .container > .tabContents > .list01 > ul > li > .item03 > span:before {
  content: "-";
  color: #047468;
  margin-right: 10px;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents > .list01 > ul > li > .item03 > span:before {
    display: none;
  }
}
#wrap #ourgemstones > .container > .tabContents > .list01 > ul > li > .item03 > span:after {
  content: "-";
  color: #047468;
  margin-left: 10px;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents > .list01 > ul > li > .item03 > span:after {
    display: none;
  }
}
#wrap #ourgemstones > .container > .tabContents > .list01 > ul > li > .item03:hover {
  cursor: pointer;
  opacity: 0.7;
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup {
  display: none;
  z-index: 1001;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  width: 100vw;
  min-height: 100vh;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup {
    min-height: auto;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup.active {
  display: block;
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner {
  position: relative;
  padding: 20px 0;
  max-width: 800px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner {
    width: 100%;
    padding: 20px;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .close {
  position: absolute;
  top: 20px;
  right: 0;
  width: 30px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .close {
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .close:hover {
  opacity: 0.5;
  cursor: pointer;
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > h3 {
  text-align: center;
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > h3 {
    font-size: 7vw;
    margin-bottom: 0;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > h3:focus {
  outline: none;
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .img {
  position: relative;
  padding-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .img {
    padding-bottom: 40px;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .img:before {
  position: absolute;
  content: "";
  bottom: 10px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 80px;
  height: 1px;
  background: #047468;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .img:before {
    bottom: 20px;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > p {
  width: 750px;
  margin: 0 auto 20px auto;
  font-family: "Noto Serif", serif;
  font-size: 1em;
  line-height: 1.6em;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > p {
    width: 100%;
    font-size: 4vw;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > p > span {
  font-style: italic;
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .text01 {
  text-align: center;
  font-size: 1.6em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .text01 {
    font-size: 6vw;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .text02 {
  text-align: center;
  width: 100%;
  font-family: "Noto Serif", serif;
  font-size: 1em;
  font-weight: 400;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .text02 {
    font-size: 4vw;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table {
  position: relative;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table {
    overflow: auto;
    white-space: nowrap;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table {
  width: 100%;
  margin: 0 auto;
  table-layout: fixed;
  font-family: "Noto Serif", serif;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table {
    width: 1170px;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > thead > tr:hover {
  cursor: pointer;
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > thead > tr > th {
  background: #036a5d;
  color: #fff;
  font-size: 1em;
  font-weight: 700;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > thead > tr > th {
    text-align: left;
    padding-left: 3%;
    font-size: 5vw;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > thead > tr > td {
  background: #449087;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > thead > tr:first-child {
  border-bottom: 2px solid #fff;
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > thead:before {
  color: #fff;
  font-size: 22px;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 26px;
  right: 20px;
  transform: translateY(-50%);
  content: "\f107";
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > thead.is-open:before {
  transform: translateY(-50%);
  content: "\f106";
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > tbody {
  display: none;
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > tbody > tr > th {
  background: #67a69e;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > tbody > tr > th {
    font-size: 4vw;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > tbody > tr > td {
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > tbody > tr > td:first-child:before {
    position: absolute;
    top: 66px;
    right: 10px;
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    speak: none;
    line-height: 1em;
    display: inline-block;
    text-decoration: inherit;
    width: auto;
    text-align: center;
    display: inline-block;
    content: "\e803";
    vertical-align: middle;
    font-size: 4vw;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > tbody > tr > td:first-child:after {
    position: absolute;
    top: 61px;
    right: 20px;
    content: "Scroll";
    font-size: 4vw;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > tbody > tr:nth-child(odd) {
  background: #edf3f4;
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > tbody > tr:last-child {
  border-bottom: 1px solid #036a5d;
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > tbody > tr:first-child {
  background: #449087;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > tbody > tr:first-child {
    font-size: 4vw;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > tbody > tr.tableaddtr {
  background: #449087;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .table > table > tbody > tr.tableaddtr {
    font-size: 4vw;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .btn {
  text-align: center;
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .btn > a {
  display: block;
  width: 280px;
  margin: 0 auto;
  padding: 10px 0;
  text-align: center;
  color: #fff;
  text-decoration: none;
  background: #ca1e1e;
  border: 1px solid #ca1e1e;
  border-radius: 35px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab1 .popup > .inner > .item02 > .btn > a:hover {
  opacity: 0.7;
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup {
  display: none;
  z-index: 1001;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  width: 100vw;
  min-height: 100vh;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab2 .popup {
    min-height: auto;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup.active {
  display: block;
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner {
  position: relative;
  padding: 20px 0;
  width: 800px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner {
    width: 100%;
    padding: 20px;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .close {
  position: absolute;
  top: 20px;
  right: 0;
  width: 30px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .close {
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .close:hover {
  opacity: 0.5;
  cursor: pointer;
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .item02:after {
  content: "";
  display: block;
  clear: both;
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .item02 > .left {
  float: left;
  width: 400px;
  margin-right: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .item02 > .left {
    float: none;
    width: 100%;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .item02 > .left > h3 {
  position: relative;
  text-align: left;
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .item02 > .left > h3 {
    font-size: 7vw;
    padding-bottom: 20px;
    margin-bottom: 0;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .item02 > .left > h3:before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  margin: 0 auto;
  width: 80px;
  height: 1px;
  background: #047468;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .item02 > .left > h3:before {
    bottom: 10px;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .item02 > .left > h3:focus {
  outline: none;
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .item02 > .left > p {
  text-align: left;
  width: 400px;
  margin: 0 auto 60px auto;
  font-family: "Noto Serif", serif;
  font-size: 1em;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .item02 > .left > p {
    width: 100%;
    font-size: 4vw;
    margin: 0 auto 20px auto;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .item02 > .left > p > span {
  font-style: italic;
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .item02 > .right {
  float: left;
  width: 380px;
  padding-top: 50px;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .item02 > .right {
    float: none;
    width: 100%;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .item02 > .right > .img {
  width: 100%;
  height: auto;
  padding-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .item02 > .right > .img {
    padding-bottom: 20px;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .btn {
  text-align: center;
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .btn > a {
  display: block;
  width: 280px;
  margin: 0 auto;
  padding: 10px 0;
  text-align: center;
  color: #fff;
  text-decoration: none;
  background: #ca1e1e;
  border: 1px solid #ca1e1e;
  border-radius: 35px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab2 .popup > .inner > .btn > a:hover {
  opacity: 0.7;
}
#wrap #ourgemstones > .container > .tabContents#tab3 > .list01 > ul > li {
  margin: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab3 > .list01 > ul > li {
    margin: 0 1%;
  }
}
#wrap #ourgemstones > .container > .tabContents#tab3 > .list01 > ul > li > .item03 > .img > img {
  height: 180px;
  width: auto;
}
@media only screen and (max-width: 768px) {
  #wrap #ourgemstones > .container > .tabContents#tab3 > .list01 > ul > li > .item03 > .img > img {
    height: 100px;
    width: auto;
  }
}
#wrap > #news {
  width: 100%;
}
#wrap > #news > .container {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap > #news > .container {
    padding: 40px 0;
  }
}
#wrap > #news > .container > h2 {
  color: #000;
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap > #news > .container > h2 {
    font-size: 10vw;
    margin-bottom: 40px;
  }
}
#wrap > #news > .container > ul {
  max-width: 960px;
  padding-inline: 15px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap > #news > .container > ul {
    width: 100%;
    padding: 0 10px;
  }
}
#wrap > #news > .container > ul > li {
  border-top: 1px solid #f0f0f0;
}
#wrap > #news > .container > ul > li:last-child {
  border-bottom: 1px solid #f0f0f0;
}
#wrap > #news > .container > ul > li > .nonews,
#wrap > #news > .container > ul > li > a {
  padding: 15px 0;
  color: #000;
  font-size: 0.8em;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  text-decoration: none;
  display: grid;
  grid-template-columns: 90px 100px 1fr;
}
@media only screen and (max-width: 768px) {
  #wrap > #news > .container > ul > li > .nonews,
  #wrap > #news > .container > ul > li > a {
    grid-template-columns: 30% 40% 1fr;
    grid-template-areas: "date category ." "title title title";
    font-size: 4vw;
  }
}
#wrap > #news > .container > ul > li > .nonews:hover > .right,
#wrap > #news > .container > ul > li > a:hover > .right {
  text-decoration: underline;
}
#wrap > #news > .container > ul > li > .nonews > .left,
#wrap > #news > .container > ul > li > a > .left {
  padding: 1px 0;
}
@media only screen and (max-width: 768px) {
  #wrap > #news > .container > ul > li > .nonews > .left,
  #wrap > #news > .container > ul > li > a > .left {
    grid-area: date;
  }
}
#wrap > #news > .container > ul > li > .nonews > .center,
#wrap > #news > .container > ul > li > a > .center {
  margin-right: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap > #news > .container > ul > li > .nonews > .center,
  #wrap > #news > .container > ul > li > a > .center {
    grid-area: category;
    margin-right: 0;
  }
}
#wrap > #news > .container > ul > li > .nonews > .center > span,
#wrap > #news > .container > ul > li > a > .center > span {
  display: block;
  width: 100%;
  padding: 1px 0;
  text-align: center;
  background: #ccc;
  color: #fff;
}
#wrap > #news > .container > ul > li > .nonews > .center > span.event,
#wrap > #news > .container > ul > li > a > .center > span.event {
  background: #057468;
}
#wrap > #news > .container > ul > li > .nonews > .center > span.news,
#wrap > #news > .container > ul > li > a > .center > span.news {
  background: #1b1b1b;
}
#wrap > #news > .container > ul > li > .nonews > .right,
#wrap > #news > .container > ul > li > a > .right {
  padding: 1px 0;
}
@media only screen and (max-width: 768px) {
  #wrap > #news > .container > ul > li > .nonews > .right,
  #wrap > #news > .container > ul > li > a > .right {
    grid-area: title;
  }
}
#wrap > #news > .container > ul > li > .nonews:hover > .right {
  text-decoration: none;
}
#wrap > #contact {
  width: 100%;
  height: 500px;
  background: url(../img/common/contact_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap > #contact {
    height: auto;
  }
}
#wrap > #contact > .container {
  position: relative;
  height: 500px;
  padding: 50px 0 0 0;
}
@media only screen and (max-width: 768px) {
  #wrap > #contact > .container {
    height: auto;
    padding: 50px 0;
  }
}
#wrap > #contact > .container > h2 {
  color: #fff;
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap > #contact > .container > h2 {
    font-size: 10vw;
    margin-bottom: 40px;
  }
}
#wrap > #contact > .container > ul {
  width: 100%;
  margin-bottom: 20px;
  text-align: center;
  display: grid;
  grid-template-columns: repeat(4, 210px);
  justify-content: center;
}
@media only screen and (max-width: 768px) {
  #wrap > #contact > .container > ul {
    grid-template-columns: repeat(2, 130px);
    gap: 2% 5%;
  }
}
#wrap > #contact > .container > ul > li {
  aspect-ratio: 210/200;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap > #contact > .container > ul > li {
    aspect-ratio: 1;
    background-size: contain !important;
  }
}
#wrap > #contact > .container > ul > li:hover {
  opacity: 0.7;
}
#wrap > #contact > .container > ul > li:nth-child(1) {
  background: url(../img/common/contact_img02.png) no-repeat top center/133px 133px;
}
#wrap > #contact > .container > ul > li:nth-child(2) {
  background: url(../img/common/contact_img03.png) no-repeat top center/133px 133px;
}
#wrap > #contact > .container > ul > li:nth-child(3) {
  background: url(../img/common/contact_img04.png) no-repeat top center/133px 133px;
}
#wrap > #contact > .container > ul > li:nth-child(4) {
  background: url(../img/common/contact_img05.png) no-repeat top center/133px 133px;
}
#wrap > #contact > .container > ul > li > a {
  display: block;
  width: 100%;
  height: 200px;
  padding-top: 150px;
  text-decoration: none;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap > #contact > .container > ul > li > a {
    height: auto;
    padding: 140px 0 20px 0;
  }
}
#wrap > #contact > .container > ul > li > a > span {
  font-size: 1.2em;
  font-weight: 500;
  color: #fff;
  font-family: "Jost", sans-serif;
}
@media only screen and (max-width: 768px) {
  #wrap > #contact > .container > ul > li > a > span {
    font-size: 4vw;
  }
}
#wrap > #contact > .container > .btn {
  text-align: center;
}
#wrap > #contact > .container > .btn > a {
  display: block;
  width: 280px;
  margin: 0 auto;
  padding: 10px 0;
  text-align: center;
  color: #fff;
  text-decoration: none;
  border: 1px solid #fff;
  border-radius: 35px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap > #contact > .container > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap > #contact > .container > .btn > a:hover {
  background: #fff;
  color: #06524e;
}
#wrap > #footerSub {
  padding: 50px 0 40px 0;
}
@media only screen and (max-width: 768px) {
  #wrap > #footerSub {
    padding: 10px 0;
  }
}
#wrap > #footerSub > .container > h3 {
  font-size: 1.6em;
  font-weight: 900;
  margin-bottom: 15px;
}
@media only screen and (max-width: 768px) {
  #wrap > #footerSub > .container > h3 {
    font-size: 5vw;
  }
}
#wrap > #footerSub > .container > ul:after {
  content: "";
  display: block;
  clear: both;
}
#wrap > #footerSub > .container > ul > li {
  float: left;
  margin-right: 30px;
}
@media only screen and (max-width: 768px) {
  #wrap > #footerSub > .container > ul > li {
    font-size: 4vw;
  }
}
#wrap > #footerSub > .container > ul > li:last-child {
  margin-right: 0;
}
#wrap > #footerSub > .container > ul > li > a {
  text-decoration: none;
  color: #000;
}
#wrap > #footerSub > .container > ul > li > a:hover {
  color: #e20326;
}
#wrap > #footerSub > .container > ul > li > a:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  line-height: 1em;
  display: inline-block;
  text-decoration: inherit;
  width: auto;
  margin: 0 5px 0 0;
  text-align: center;
  display: inline-block;
  content: "\e803";
  font-size: 20px;
  vertical-align: middle;
}
@media only screen and (max-width: 768px) {
  #wrap > #footerSub > .container > ul > li > a:before {
    font-size: 4vw;
  }
}
#wrap > #footerContact {
  background: #333;
}
#wrap > #footerContact > .container {
  padding-top: 10px;
  padding-bottom: 10px;
  color: #fff;
}
#wrap > #footerContact > .container > .item01:after {
  content: "";
  display: block;
  clear: both;
}
#wrap > #footerContact > .container > .item01 > .left {
  float: left;
  width: 50%;
}
@media only screen and (max-width: 768px) {
  #wrap > #footerContact > .container > .item01 > .left {
    float: none;
    width: 100%;
    padding-bottom: 10px;
  }
}
#wrap > #footerContact > .container > .item01 > .left > p {
  font-size: 1em;
}
@media only screen and (max-width: 768px) {
  #wrap > #footerContact > .container > .item01 > .left > p {
    font-size: 3.7vw;
  }
}
#wrap > #footerContact > .container > .item01 > .right {
  float: left;
  width: 50%;
}
@media only screen and (max-width: 768px) {
  #wrap > #footerContact > .container > .item01 > .right {
    float: none;
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  #wrap > #footerContact > .container > .item01 > .right > .btn {
    display: table;
    width: 100%;
    text-align: center;
  }
}
#wrap > #footerContact > .container > .item01 > .right > .btn > a.sns {
  line-height: 0;
  vertical-align: top;
  display: inline-block;
  padding-top: 8px;
  margin-left: 25px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap > #footerContact > .container > .item01 > .right > .btn > a.sns {
    display: inline-table;
    margin: 0 4%;
  }
}
#wrap > #footerContact > .container > .item01 > .right > .btn > a.sns:hover {
  opacity: 0.7;
}
#wrap > #footerContact > .container > .item01 > .right > .btn > a.sns > img {
  width: auto;
  height: 35px;
}
#wrap > #footerContact > .container > .item01 > .right > .btn > a.contact {
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  text-align: center;
  background: #e20226;
  border-radius: 5px;
  width: 300px;
  padding: 8px 10px;
  display: inline-block;
  position: relative;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap > #footerContact > .container > .item01 > .right > .btn > a.contact {
    float: none;
    width: 80%;
    margin: 0 auto 10px auto;
    display: block;
  }
}
#wrap > #footerContact > .container > .item01 > .right > .btn > a.contact:after {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  content: "\f105";
}
#wrap > #footerContact > .container > .item01 > .right > .btn > a.contact:hover {
  background: #960119;
}
#wrap > #footerContact > .container > .item01 > .right > .btn > a.contact > span:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: auto;
  margin: 0;
  text-align: center;
  display: inline-block;
  content: "\f0e0";
  margin-right: 12px;
}
#wrap > #sec01 {
  position: relative;
  height: 450px;
  background: #fff;
}
#wrap > #sec01.bg {
  background: url(../img/index/slide00_bg01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 {
    height: 140vw;
  }
}
#wrap > #sec01 > .item01 {
  height: 450px;
  overflow-y: hidden;
  z-index: 0;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 {
    min-height: 40vh;
    height: 140vw;
  }
}
#wrap > #sec01 > .item01 .slick-prev:hover:before,
#wrap > #sec01 > .item01 .slick-prev:focus:before,
#wrap > #sec01 > .item01 .slick-next:hover:before,
#wrap > #sec01 > .item01 .slick-next:focus:before {
  opacity: 0.55;
}
#wrap > #sec01 > .item01 .slick-prev:before,
#wrap > #sec01 > .item01 .slick-next:before {
  opacity: 0.55;
  font-size: 2rem;
  color: gray;
}
#wrap > #sec01 > .item01 .slick-prev {
  z-index: 10000;
  left: 10px;
  width: 30px;
  height: 34px;
}
#wrap > #sec01 > .item01 .slick-next {
  z-index: 10000;
  right: 10px;
  width: 30px;
  height: 34px;
}
#wrap > #sec01 > .item01 .slidetop {
  display: none;
}
#wrap > #sec01 > .item01 .slidetop.slick-initialized {
  display: block;
}
#wrap > #sec01 > .item01 .slick-dots {
  bottom: 25px;
}
#wrap > #sec01 > .item01 .slick-dots li {
  width: 50px;
  margin: 0 10px;
}
#wrap > #sec01 > .item01 .slick-dots li button:before {
  width: 50px;
  height: 10px;
  opacity: 0.8;
  content: "";
  background: #fff;
}
#wrap > #sec01 > .item01 .slick-dots li.slick-active button:before {
  background: #000;
  opacity: 1;
}
#wrap > #sec01 > .item01 .slide01 {
  position: relative;
  height: 450px;
  background: url(../img/index/slide01_bg01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide01 {
    height: 140vw;
  }
}
#wrap > #sec01 > .item01 .slide01 > .slide01_bg01 {
  z-index: 10;
  position: absolute;
  top: 0;
  left: 0;
  height: 450px;
  width: 100%;
  background: url(../img/index/slide01_bg02.png) no-repeat center center/cover;
  transition: all 0.5s cubic-bezier(0.4, 0.3, 0.5, 0.9);
  opacity: 0;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide01 > .slide01_bg01 {
    height: 140vw;
  }
}
#wrap > #sec01 > .item01 .slide01 > .slide01_bg01.on {
  opacity: 1;
}
#wrap > #sec01 > .item01 .slide01 .item02 {
  z-index: 20;
  position: relative;
  max-width: 1200px;
  height: 450px;
  margin: 0 auto;
  padding: 0 15px;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide01 .item02 {
    height: 140vw;
  }
}
#wrap > #sec01 > .item01 .slide01 .item02 > h2 {
  position: absolute;
  top: 120px;
  left: 15px;
  opacity: 0;
  font-size: 4em;
  letter-spacing: 0.05em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  transition: all 0.5s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide01 .item02 > h2 {
    top: 20vw;
    line-height: 1em;
    font-size: 14vw;
  }
}
#wrap > #sec01 > .item01 .slide01 .item02 > h2.on {
  opacity: 1;
}
#wrap > #sec01 > .item01 .slide01 .item02 > h2 > br {
  display: none;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide01 .item02 > h2 > br {
    display: block;
  }
}
#wrap > #sec01 > .item01 .slide01 .item02 > p {
  position: absolute;
  top: 220px;
  left: 15px;
  opacity: 0;
  width: 500px;
  transition: all 0.5s cubic-bezier(0.4, 0.3, 0.5, 0.9);
  font-family: "Noto Serif", serif;
  font-size: 1em;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide01 .item02 > p {
    top: 65vw;
    width: 60%;
    line-height: 1.4em;
    font-size: 4vw;
  }
}
#wrap > #sec01 > .item01 .slide01 .item02 > p.on {
  opacity: 1;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide01 .item02 > p > br {
    display: none;
  }
}
#wrap > #sec01 > .item01 .slide01 .item02 > .item03 {
  position: absolute;
  top: 280px;
  left: 15px;
  opacity: 0;
  transition: all 0.5s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide01 .item02 > .item03 {
    top: 100vw;
  }
}
#wrap > #sec01 > .item01 .slide01 .item02 > .item03:after {
  position: absolute;
  content: "";
  width: 5px;
  height: 69px;
  top: 0;
  left: 0;
  background: url(../img/index/slide01_bg03.png) no-repeat center center/5px 69px;
}
#wrap > #sec01 > .item01 .slide01 .item02 > .item03.on {
  opacity: 1;
}
#wrap > #sec01 > .item01 .slide01 .item02 > .item03 > p {
  opacity: 0.8;
  position: absolute;
  top: 0;
  left: 15px;
  font-size: 0.8em;
  animation: 2s ease-in 1s infinite normal running slide01scrolltext;
}
@keyframes slide01scrolltext {
  0% {
    top: 0;
  }
  80% {
    top: 50px;
    opacity: 1;
  }
  100% {
    opacity: 0;
    top: 50px;
  }
}
#wrap > #sec01 > .item01 .slide02 {
  position: relative;
  height: 450px;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide02 {
    height: 140vw;
  }
}
#wrap > #sec01 > .item01 .slide02 > .slide02_bg01 {
  z-index: 10;
  position: absolute;
  top: 0;
  left: 0;
  height: 450px;
  width: 100%;
  background: url(../img/index/slide02_bg01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide02 > .slide02_bg01 {
    height: 140vw;
  }
}
#wrap > #sec01 > .item01 .slide02 .item02 {
  z-index: 20;
  position: relative;
  max-width: 1200px;
  height: 450px;
  margin: 0 auto;
  padding: 0 15px;
  color: #000;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide02 .item02 {
    height: 140vw;
    max-width: 100%;
  }
}
#wrap > #sec01 > .item01 .slide02 .item02 > p {
  text-align: left;
  position: absolute;
  top: 80px;
  left: 15px;
  width: 100px;
  font-family: "DM Serif Display", serif;
  font-size: 1.6em;
  font-weight: 400;
  color: #057468;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide02 .item02 > p {
    top: 20vw;
    display: block;
    font-size: 6vw;
  }
}
#wrap > #sec01 > .item01 .slide02 .item02 > p:after {
  position: absolute;
  width: 100px;
  height: 1px;
  background: #057468;
  bottom: 0;
  left: 0;
  content: "";
}
#wrap > #sec01 > .item01 .slide02 .item02 > h2 {
  text-align: left;
  position: absolute;
  top: 130px;
  left: 15px;
  font-size: 3em;
  line-height: 1.2em;
  letter-spacing: 0;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide02 .item02 > h2 {
    top: 34vw;
    font-size: 8vw;
    width: 40%;
  }
}
#wrap > #sec01 > .item01 .slide02 .item02 > .btn {
  position: absolute;
  top: 310px;
  left: 15px;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide02 .item02 > .btn {
    top: 90vw;
    width: 70%;
  }
}
#wrap > #sec01 > .item01 .slide02 .item02 > .btn > a {
  display: inline-block;
  width: 250px;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  background: #057468;
  padding: 15px 0;
  text-align: center;
  border-radius: 30px;
  letter-spacing: 0.1em;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide02 .item02 > .btn > a {
    display: block;
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap > #sec01 > .item01 .slide02 .item02 > .btn > a:hover {
  opacity: 0.7;
}
#wrap > #sec01 > .item01 .slide03 {
  position: relative;
  height: 450px;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide03 {
    height: 140vw;
  }
}
#wrap > #sec01 > .item01 .slide03 > .slide03_bg01 {
  z-index: 10;
  position: absolute;
  top: 0;
  left: 0;
  height: 450px;
  width: 100%;
  background: url(../img/index/slide03_bg01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide03 > .slide03_bg01 {
    height: 140vw;
    background: url(../img/index/slide03_sp_bg01.jpg) no-repeat center center/cover;
  }
}
#wrap > #sec01 > .item01 .slide03 .item02 {
  z-index: 20;
  position: relative;
  max-width: 1200px;
  height: 450px;
  margin: 0 auto;
  padding: 0 15px;
  color: #000;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide03 .item02 {
    height: 140vw;
  }
}
#wrap > #sec01 > .item01 .slide03 .item02 > p {
  text-align: center;
  position: absolute;
  top: 120px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100px;
  font-family: "DM Serif Display", serif;
  font-size: 1.6em;
  font-weight: 400;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide03 .item02 > p {
    top: 20vw;
    display: block;
    font-size: 6vw;
  }
}
#wrap > #sec01 > .item01 .slide03 .item02 > p:after {
  position: absolute;
  width: 100px;
  height: 1px;
  background: #fff;
  bottom: 0;
  left: 0;
  content: "";
}
#wrap > #sec01 > .item01 .slide03 .item02 > h2 {
  text-align: center;
  position: absolute;
  top: 160px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%;
  font-size: 3em;
  line-height: 1.2em;
  letter-spacing: 0;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide03 .item02 > h2 {
    top: 35vw;
    font-size: 8vw;
    width: 40%;
  }
}
#wrap > #sec01 > .item01 .slide03 .item02 > .btn {
  position: absolute;
  top: 225px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 250px;
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide03 .item02 > .btn {
    top: 70vw;
    width: 60%;
  }
}
#wrap > #sec01 > .item01 .slide03 .item02 > .btn > a {
  display: inline-block;
  width: 250px;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  background: #057468;
  padding: 15px 0;
  text-align: center;
  border-radius: 30px;
  letter-spacing: 0.1em;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap > #sec01 > .item01 .slide03 .item02 > .btn > a {
    display: block;
    width: 100%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap > #sec01 > .item01 .slide03 .item02 > .btn > a:hover {
  opacity: 0.7;
}
#wrap #sec02 {
  background: #faf9f7;
}
#wrap #sec02 > .container {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec02 > .container {
    padding: 40px 0;
  }
}
#wrap #sec02 > .container > h2 {
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec02 > .container > h2 {
    font-size: 10vw;
  }
}
#wrap #sec02 > .container > h3 {
  color: #047468;
  text-align: center;
  font-family: "Noto Serif", serif;
  font-size: 1.2em;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec02 > .container > h3 {
    font-size: 5vw;
    margin-bottom: 40px;
  }
}
#wrap #sec02 > .container > h3 > br {
  display: none;
}
@media only screen and (max-width: 768px) {
  #wrap #sec02 > .container > h3 > br {
    display: block;
  }
}
#wrap #sec02 > .container > .item01 {
  width: 820px;
  height: 400px;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #wrap #sec02 > .container > .item01 {
    width: 100%;
    height: 130vw;
  }
}
#wrap #sec02 > .container > .item01 > .item03 {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 320px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec02 > .container > .item01 > .item03 {
    width: 70%;
  }
}
#wrap #sec02 > .container > .item01 > .item03 > img {
  width: 100%;
  height: auto;
}
#wrap #sec02 > .container > .item01 > ul > li {
  position: absolute;
  top: 0;
  left: 0;
  width: 200px;
  height: 200px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec02 > .container > .item01 > ul > li {
    left: 7%;
    width: 140px;
    height: 140px;
  }
}
#wrap #sec02 > .container > .item01 > ul > li:nth-child(1) {
  top: 160px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec02 > .container > .item01 > ul > li:nth-child(1) {
    top: 20px;
  }
}
#wrap #sec02 > .container > .item01 > ul > li:nth-child(2) {
  left: 180px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec02 > .container > .item01 > ul > li:nth-child(2) {
    top: 20px;
    left: auto;
    right: 7%;
  }
}
#wrap #sec02 > .container > .item01 > ul > li:nth-child(3) {
  left: auto;
  right: 180px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec02 > .container > .item01 > ul > li:nth-child(3) {
    top: 180px;
    left: 7%;
    right: auto;
  }
}
#wrap #sec02 > .container > .item01 > ul > li:nth-child(4) {
  top: 160px;
  left: auto;
  right: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec02 > .container > .item01 > ul > li:nth-child(4) {
    top: 180px;
    right: 7%;
  }
}
#wrap #sec02 > .container > .item02 {
  text-align: center;
  width: 700px;
  margin: 40px auto 20px auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec02 > .container > .item02 {
    width: 100%;
    margin: 40px auto 20px auto;
    padding: 0 10px;
    text-align: left;
  }
}
#wrap #sec02 > .container > .item02 > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec02 > .container > .item02 > p {
    font-size: 4vw;
  }
}
#wrap #sec02 > .container > .btn {
  text-align: center;
}
#wrap #sec02 > .container > .btn > a {
  display: inline-block;
  width: 280px;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  background: #057468;
  padding: 10px 0;
  text-align: center;
  border-radius: 35px;
  letter-spacing: 0.1em;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec02 > .container > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap #sec02 > .container > .btn > a:hover {
  opacity: 0.7;
}
#wrap #sec03 {
  width: 100%;
  height: 400px;
  background: url(../img/index/sec03_img01.jpg) no-repeat right center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec03 {
    width: 100%;
    height: 300px;
  }
}
#wrap #sec03 > .container {
  position: relative;
  height: 400px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec03 > .container {
    height: 300px;
  }
}
#wrap #sec03 > .container > .item01 {
  text-align: center;
  position: absolute;
  top: 100px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 700px;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #sec03 > .container > .item01 {
    top: 30%;
    width: 100%;
    height: 300px;
  }
}
#wrap #sec03 > .container > .item01 > h2 {
  position: relative;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec03 > .container > .item01 > h2 {
    font-size: 10vw;
    margin-bottom: 40px;
  }
}
#wrap #sec03 > .container > .item01 > p {
  font-family: "Noto Serif", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4em;
  margin-bottom: 50px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec03 > .container > .item01 > p {
    padding: 0 12px;
    font-size: 4vw;
    line-height: 1.2em;
  }
}
#wrap #sec03 > .container > .item01 > .btn {
  text-align: center;
}
#wrap #sec03 > .container > .item01 > .btn > a {
  display: inline-block;
  width: 280px;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  background: #057468;
  padding: 10px 0;
  text-align: center;
  border-radius: 35px;
  letter-spacing: 0.1em;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec03 > .container > .item01 > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap #sec03 > .container > .item01 > .btn > a:hover {
  opacity: 0.7;
}
#wrap #sec04 {
  width: 100%;
  height: auto;
  background: url(../img/index/sec04_img01.jpg) no-repeat top center/cover;
}
#wrap #sec04 > .container {
  position: relative;
  height: auto;
}
#wrap #sec04 > .container > .item01 {
  text-align: center;
  color: #000;
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec04 > .container > .item01 {
    padding: 40px 0;
  }
}
#wrap #sec04 > .container > .item01 > h2 {
  color: #000;
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec04 > .container > .item01 > h2 {
    font-size: 10vw;
  }
}
#wrap #sec04 > .container > .item01 h3 {
  color: #047468;
  text-align: center;
  font-family: "Noto Serif", serif;
  font-size: 1.2em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec04 > .container > .item01 h3 {
    font-size: 5vw;
    margin-bottom: 40px;
  }
}
#wrap #sec04 > .container > .item01 > .item02 {
  width: 800px;
  margin: 0 auto 20px auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec04 > .container > .item01 > .item02 {
    width: 100%;
  }
}
#wrap #sec04 > .container > .item01 > .item02 > ul:after {
  content: "";
  display: block;
  clear: both;
}
#wrap #sec04 > .container > .item01 > .item02 > ul > li {
  float: left;
  width: 24%;
  margin: 0 1.33% 8px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec04 > .container > .item01 > .item02 > ul > li {
    margin: 0 1.33% 5px 0;
  }
}
#wrap #sec04 > .container > .item01 > .item02 > ul > li:nth-child(4n) {
  margin: 0 0 8px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec04 > .container > .item01 > .item02 > ul > li:nth-child(4n) {
    margin: 0 0 5px 0;
  }
}
#wrap #sec04 > .container > .item01 > .item02 > ul > li > a {
  display: block;
  width: 100%;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap #sec04 > .container > .item01 > .item02 > ul > li > a:hover {
  opacity: 0.7;
}
#wrap #sec04 > .container > .item01 > .item02 > ul > li > a > img {
  width: 100%;
  height: auto;
}
#wrap #sec04 > .container > .item01 > .btn {
  text-align: center;
}
#wrap #sec04 > .container > .item01 > .btn > a {
  display: inline-block;
  width: 280px;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  background: #057468;
  padding: 10px 0;
  text-align: center;
  border-radius: 35px;
  letter-spacing: 0.1em;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec04 > .container > .item01 > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap #sec04 > .container > .item01 > .btn > a:hover {
  opacity: 0.7;
}
#wrap #sec11 {
  width: 100%;
  height: 400px;
  background: url(../img/gemstones/sec11_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec11 {
    height: auto;
  }
}
#wrap #sec11 > .container {
  position: relative;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec11 > .container {
    padding-block: 18vw;
  }
}
#wrap #sec11 > .container > .item01 {
  text-align: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0 auto auto;
  width: 460px;
  height: 400px;
  color: #000;
}
@media only screen and (max-width: 768px) {
  #wrap #sec11 > .container > .item01 {
    position: static;
    width: 100%;
    height: auto;
  }
}
#wrap #sec11 > .container > .item01 > .item02 {
  position: relative;
  padding: 90px 0 40px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec11 > .container > .item01 > .item02 {
    text-align: left;
    padding: 0 20px;
  }
}
#wrap #sec11 > .container > .item01 > .item02:before {
  position: absolute;
  content: "";
  bottom: 20px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 90px;
  height: 1px;
  background: #000;
}
@media only screen and (max-width: 768px) {
  #wrap #sec11 > .container > .item01 > .item02:before {
    bottom: -10px;
    right: auto;
    left: 13%;
    margin: 0 auto 0 0;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec11 > .container > .item01 > .item02 > img {
    width: 40%;
    height: auto;
  }
}
#wrap #sec11 > .container > .item01 > p {
  font-family: "Noto Serif", serif;
  font-size: 20px;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec11 > .container > .item01 > p {
    padding: 0 12px;
    font-size: 4vw;
    line-height: 1.2em;
    text-align: left;
    padding-left: 8%;
    margin-top: 20px;
  }
}
#wrap #sec12 .sample_btn {
  max-width: 338px;
  margin: 60px auto 50px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 .sample_btn {
    max-width: 100%;
    width: 68%;
  }
}
#wrap #sec12 .sample_btn a {
  width: 100%;
  display: inline-block;
  font-size: 1.2em;
  font-weight: 500;
  color: #057468;
  font-family: "Jost", sans-serif;
  border: 2px solid #057468;
  text-decoration: none;
  text-align: center;
  padding: 10px;
  border-radius: 50px;
  transition: 0.4s all ease-in-out;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 .sample_btn a {
    padding: 13px 10px;
    font-size: 4vw;
    line-height: 1em;
  }
}
#wrap #sec12 .sample_btn a:hover {
  color: #fff;
  background: #057468;
}
#wrap #sec12 > .container {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container {
    padding: 40px 0;
  }
}
#wrap #sec12 > .container > .list01 > h2 {
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > h2 {
    font-size: 10vw;
    margin-bottom: 40px;
  }
}
#wrap #sec12 > .container > .list01 > ul {
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul {
    width: 100%;
    text-align: center;
    display: table;
  }
}
#wrap #sec12 > .container > .list01 > ul > li {
  width: 24%;
  display: inline-table;
  margin: 0 0 40px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li {
    width: 31%;
    margin: 0 1% 30px 1%;
  }
}
#wrap #sec12 > .container > .list01 > ul > li > .item03 {
  text-align: center;
  transition: all 0.5s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li > .item03 {
    line-height: 1em;
  }
}
#wrap #sec12 > .container > .list01 > ul > li > .item03:hover {
  opacity: 0.5;
  cursor: pointer;
}
#wrap #sec12 > .container > .list01 > ul > li > .item03 > .img {
  display: block;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li > .item03 > .img {
    margin-bottom: 1px;
  }
}
#wrap #sec12 > .container > .list01 > ul > li > .item03 > .img > img {
  height: 120px;
  width: auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li > .item03 > .img > img {
    height: 60px;
    width: auto;
  }
}
#wrap #sec12 > .container > .list01 > ul > li > .item03 > span {
  font-size: 1em;
  font-weight: 500;
  color: #000;
  font-family: "Jost", sans-serif;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li > .item03 > span {
    font-size: 3vw;
    line-height: 1em;
  }
}
#wrap #sec12 > .container > .list01 > ul > li > .item03 > span:before {
  content: "-";
  color: #047468;
  margin-right: 10px;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li > .item03 > span:before {
    display: none;
  }
}
#wrap #sec12 > .container > .list01 > ul > li > .item03 > span:after {
  content: "-";
  color: #047468;
  margin-left: 10px;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li > .item03 > span:after {
    display: none;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup {
  display: none;
  z-index: 1001;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  width: 100vw;
  min-height: 100vh;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup {
    min-height: auto;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup.active {
  display: block;
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner {
  position: relative;
  padding: 20px 0;
  max-width: 800px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner {
    width: 100%;
    padding: 20px;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .close {
  position: absolute;
  top: 20px;
  right: 0;
  width: 30px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .close {
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .close:hover {
  opacity: 0.5;
  cursor: pointer;
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > h3 {
  text-align: center;
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > h3 {
    font-size: 7vw;
    margin-bottom: 20px;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > h3:focus {
  outline: none;
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .img {
  position: relative;
  padding-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .img {
    padding-bottom: 40px;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .img:before {
  position: absolute;
  content: "";
  bottom: 10px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 80px;
  height: 1px;
  background: #047468;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .img:before {
    bottom: 20px;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > p {
  width: 750px;
  margin: 0 auto 20px auto;
  font-family: "Noto Serif", serif;
  font-size: 1em;
  line-height: 1.6em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > p {
    width: 100%;
    font-size: 4vw;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > p > span {
  font-style: italic;
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .text01 {
  text-align: center;
  font-size: 1.6em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .text01 {
    font-size: 6vw;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .text02 {
  text-align: center;
  width: 100%;
  font-family: "Noto Serif", serif;
  font-size: 1em;
  font-weight: 400;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .text02 {
    font-size: 4vw;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table {
  position: relative;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table {
    overflow: auto;
    white-space: nowrap;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table {
  width: 100%;
  margin: 0 auto;
  table-layout: fixed;
  font-family: "Noto Serif", serif;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table {
    width: 1170px;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > thead > tr:hover {
  cursor: pointer;
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > thead > tr > th {
  background: #036a5d;
  color: #fff;
  font-size: 1em;
  font-weight: 700;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > thead > tr > th {
    text-align: left;
    padding-left: 3%;
    font-size: 5vw;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > thead > tr > td {
  background: #449087;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > thead > tr:first-child {
  border-bottom: 2px solid #fff;
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > thead:before {
  color: #fff;
  font-size: 22px;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 26px;
  right: 20px;
  transform: translateY(-50%);
  content: "\f107";
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > thead.is-open:before {
  transform: translateY(-50%);
  content: "\f106";
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody {
  display: none;
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr > th {
  background: #67a69e;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr > th {
    font-size: 4vw;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr > td {
  padding: 10px 0;
  text-align: center;
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr:nth-child(odd) {
  background: #edf3f4;
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr:last-child {
  border-bottom: 1px solid #036a5d;
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr:first-child {
  background: #449087;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr:first-child {
    font-size: 4vw;
    position: relative;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr:first-child > td:first-child:before {
    position: absolute;
    top: 66px;
    right: 10px;
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    speak: none;
    line-height: 1em;
    display: inline-block;
    text-decoration: inherit;
    width: auto;
    text-align: center;
    display: inline-block;
    content: "\e803";
    vertical-align: middle;
    font-size: 4vw;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr:first-child > td:first-child:after {
    position: absolute;
    top: 61px;
    right: 20px;
    content: "Scroll";
    font-size: 4vw;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr.tableaddtr {
  background: #449087;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr.tableaddtr {
    font-size: 4vw;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .btn {
  text-align: center;
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .btn > a {
  display: block;
  width: 280px;
  margin: 0 auto;
  padding: 10px 0;
  text-align: center;
  color: #fff;
  text-decoration: none;
  background: #ca1e1e;
  border: 1px solid #ca1e1e;
  border-radius: 35px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap #sec12 > .container > .list01 > ul > li .popup > .inner > .item02 > .btn > a:hover {
  opacity: 0.7;
}
#wrap #sec13 {
  background: #fbf9f7;
}
#wrap #sec13 .txt_link {
  text-align: center;
  padding-top: 30px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec13 .txt_link {
    padding: 30px 10px 0px;
  }
}
#wrap #sec13 .txt_link a {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.6em;
  line-height: 2em;
  color: #027568;
  text-decoration: underline;
}
@media only screen and (max-width: 768px) {
  #wrap #sec13 .txt_link a {
    font-size: 6vw;
  }
}
#wrap #sec13 .txt_link a span {
  margin-left: 5px;
}
#wrap #sec13 > .container {
  padding: 50px 0 100px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec13 > .container {
    padding: 40px 0;
  }
}
#wrap #sec13 > .container > h2 {
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec13 > .container > h2 {
    font-size: 10vw;
    margin-bottom: 20px;
  }
}
#wrap #sec13 > .container > .item01 {
  position: relative;
  width: 600px;
  min-height: 400px;
  margin: 0 0 0 auto;
  padding: 0 0 0 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec13 > .container > .item01 {
    width: 100%;
    min-height: auto;
    padding: 0 10px;
  }
}
#wrap #sec13 > .container > .item01:before {
  position: absolute;
  content: "";
  top: 0;
  right: 640px;
  width: 651px;
  height: 400px;
  background: url(../img/gemstones/sec13_img01.jpg) no-repeat center center/cover;
  display: block;
}
@media only screen and (max-width: 768px) {
  #wrap #sec13 > .container > .item01:before {
    position: static;
    width: 100vw;
    aspect-ratio: 651/400;
    margin: 0 -10px 8vw;
  }
}
#wrap #sec13 > .container > .item01 > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1em;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec13 > .container > .item01 > p {
    font-size: 4vw;
  }
}
#wrap #sec13 > .container > .item01 > .btn {
  text-align: center;
  padding-top: 40px;
}
#wrap #sec13 > .container > .item01 > .btn > a {
  display: inline-block;
  width: 280px;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  background: #057468;
  padding: 10px 0;
  text-align: center;
  border-radius: 35px;
  letter-spacing: 0.1em;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec13 > .container > .item01 > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap #sec13 > .container > .item01 > .btn > a:hover {
  opacity: 0.7;
}
#wrap #sec14 {
  width: 100%;
}
#wrap #sec14 .txt_link {
  text-align: center;
  padding-top: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 .txt_link {
    padding: 30px 10px 0px;
  }
}
#wrap #sec14 .txt_link a {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.4em;
  line-height: 2em;
  color: #027568;
  text-decoration: underline;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 .txt_link a {
    font-size: 6vw;
  }
}
#wrap #sec14 .txt_link a span {
  margin-left: 5px;
}
#wrap #sec14 .experience_cont .container {
  max-width: 1170px;
  background: #f1f1f1;
  padding: 50px 30px 30px 40px;
  margin-bottom: 215px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 .experience_cont .container {
    padding: 25px 15px;
    margin-bottom: 50px;
  }
}
#wrap #sec14 .experience_cont .container .ttl {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-size: 2.6em;
  line-height: 1.4em;
  margin-bottom: 20px;
  text-align: center;
  letter-spacing: 0.05em;
  color: #057468;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 .experience_cont .container .ttl {
    font-size: 7vw;
    line-height: 1.2em;
  }
}
#wrap #sec14 .experience_cont .container .spec {
  font-family: "Jost", sans-serif;
  font-size: 1.1em;
  line-height: 1.4em;
  margin-bottom: 40px;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 .experience_cont .container .spec {
    font-size: 4vw;
  }
}
#wrap #sec14 .experience_cont .container .subttl {
  color: #057468;
  font-family: "Jost", sans-serif;
  font-size: 1.3em;
  line-height: 1.4em;
  margin-bottom: 40px;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 .experience_cont .container .subttl {
    font-size: 4vw;
  }
}
#wrap #sec14 .experience_cont .container .kitoffer {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
}
#wrap #sec14 .experience_cont .container .kitoffer .kit {
  width: 60%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 .experience_cont .container .kitoffer .kit {
    width: 100%;
  }
}
#wrap #sec14 .experience_cont .container .kitoffer .kit .imgitem {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: baseline;
  margin-bottom: 10px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 .experience_cont .container .kitoffer .kit .imgitem {
    display: block;
    text-align: center;
  }
  #wrap #sec14 .experience_cont .container .kitoffer .kit .imgitem .imgitem_img1 {
    margin-bottom: 20px;
  }
}
#wrap #sec14 .experience_cont .container .kitoffer .kit .cap_area {
  font-family: "Jost", sans-serif;
  font-size: 0.9em;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 .experience_cont .container .kitoffer .kit .cap_area {
    padding-top: 20px;
  }
}
#wrap #sec14 .experience_cont .container .kitoffer .kit .cap_area p {
  line-height: 2em;
  margin-bottom: 20px;
  padding-left: 20px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 .experience_cont .container .kitoffer .kit .cap_area p {
    line-height: 1.4em;
    margin-bottom: 15px;
  }
}
#wrap #sec14 .experience_cont .container .kitoffer .kit .cap_area p:before {
  color: #057468;
  content: "・";
  position: absolute;
  top: 0px;
  left: 0px;
}
#wrap #sec14 .experience_cont .container .kitoffer .kit .cap_area p:last-child {
  margin-bottom: 0px;
}
#wrap #sec14 .experience_cont .container .kitoffer .offer {
  width: 38%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 .experience_cont .container .kitoffer .offer {
    width: 100%;
    padding-top: 30px;
  }
}
#wrap #sec14 .experience_cont .container .kitoffer .offer .img {
  text-align: right;
  margin-bottom: 70px;
  padding-right: 30px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 .experience_cont .container .kitoffer .offer .img {
    text-align: center;
    margin: 0 auto 35px;
    padding-right: 0px;
    max-width: 200px;
  }
}
#wrap #sec14 .experience_cont .container .kitoffer .offer .samplekit {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-size: 1.8em;
  line-height: 1.4em;
  text-align: right;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 .experience_cont .container .kitoffer .offer .samplekit {
    text-align: center;
    font-size: 5vw;
  }
}
#wrap #sec14 .experience_cont .container .kitoffer .offer .samplekit a {
  padding: 10px 15px 10px 35px;
  border-radius: 50px;
  background: #057468;
  display: inline-block;
  letter-spacing: 0.05em;
  color: #fff;
  text-decoration: none;
  transition: 0.4s opacity ease-in-out;
}
#wrap #sec14 .experience_cont .container .kitoffer .offer .samplekit a:hover {
  opacity: 0.7;
}
#wrap #sec14 > .item01 {
  position: relative;
  height: 300px;
  padding-top: 105px;
  background: url(../img/gemstones/sec14_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .item01 {
    padding-block: 20vw;
    height: auto;
  }
}
#wrap #sec14 > .item01 > h2 {
  color: #fff;
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .item01 > h2 {
    font-size: 10vw;
  }
}
#wrap #sec14 > .list01 > ul {
  padding-bottom: 60px;
}
#wrap #sec14 > .list01 > ul > li {
  padding: 80px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li {
    padding: 40px 0;
  }
}
#wrap #sec14 > .list01 > ul > li:first-child {
  padding: 80px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li:first-child {
    padding: 40px 0;
  }
}
#wrap #sec14 > .list01 > ul > li:nth-child(3) {
  padding: 80px 0 0 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li:nth-child(3) {
    padding: 40px 0 40px 0;
  }
}
#wrap #sec14 > .list01 > ul > li:nth-child(even) {
  background: #fbf9f7;
}
#wrap #sec14 > .list01 > ul > li > .container > .item02 {
  margin-bottom: 10px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item02 {
    height: 60px;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item02 > img {
  width: auto;
  height: 60px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item02 > img {
    width: auto;
    height: 60px;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > h3 {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-size: 2em;
  line-height: 1.4em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > h3 {
    font-size: 7vw;
    margin-bottom: 20px;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > p {
    font-size: 4vw;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item03 {
  background: #faf8f7;
  padding: 20px;
}
#wrap #sec14 > .list01 > ul > li > .container > .item03 > h4 {
  margin-bottom: 20px;
}
#wrap #sec14 > .list01 > ul > li > .container > .item03 > h4 > img {
  width: 95px;
  height: 23px;
}
#wrap #sec14 > .list01 > ul > li > .container > .item03 > ul {
  width: 100%;
  display: table;
  text-align: center;
}
#wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li {
  display: inline-table;
  width: 540px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li {
    width: 100%;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li > .item04 {
  height: 135px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li > .item04 {
    height: auto;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li > .item04:after {
  content: "";
  display: block;
  clear: both;
}
#wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li > .item04 > .left {
  float: left;
  width: auto;
}
#wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li > .item04 > .left > img {
  width: 100%;
  height: auto;
}
#wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li > .item04 > .right {
  float: left;
  width: auto;
}
#wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li > .item04 > .right > p {
  text-align: left;
  font-family: "Noto Serif", serif;
  font-weight: 300;
  font-size: 1em;
  line-height: 1.8em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li > .item04 > .right > p {
    font-size: 4vw;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li:nth-child(1) > .item04 > .left {
  width: 91px;
  margin-right: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li:nth-child(1) > .item04 > .left {
    width: 25%;
    margin-right: 5%;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li:nth-child(1) > .item04 > .right {
  width: 429px;
  padding-top: 30px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li:nth-child(1) > .item04 > .right {
    width: 70%;
    padding-top: 5px;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li:nth-child(2) > .item04 > .left {
  width: 120px;
  margin-right: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li:nth-child(2) > .item04 > .left {
    width: 25%;
    margin-right: 5%;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li:nth-child(2) > .item04 > .right {
  width: 400px;
  padding-top: 30px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item03 > ul > li:nth-child(2) > .item04 > .right {
    width: 70%;
    padding-top: 0;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .table {
  position: relative;
  max-width: 900px;
  margin: 40px auto 0 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .table {
    width: 100%;
    margin: 40px 0 0 0;
    overflow: auto;
    white-space: nowrap;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .table > table {
  width: 100%;
  margin: 0 auto;
  table-layout: fixed;
  font-family: "Noto Serif", serif;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .table > table {
    width: 1170px;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .table > table > thead > tr {
  position: relative;
  text-align: center;
}
#wrap #sec14 > .list01 > ul > li > .container > .table > table > thead > tr:hover {
  cursor: pointer;
}
#wrap #sec14 > .list01 > ul > li > .container > .table > table > thead > tr > th {
  background: #036a5d;
  color: #fff;
  font-size: 1em;
  font-weight: 700;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .table > table > thead > tr > th {
    text-align: left;
    padding-left: 3%;
    font-size: 5vw;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .table > table > thead > tr > td {
  background: #449087;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
#wrap #sec14 > .list01 > ul > li > .container > .table > table > thead > tr:first-child {
  border-bottom: 2px solid #fff;
}
#wrap #sec14 > .list01 > ul > li > .container > .table > table > thead:before {
  color: #fff;
  font-size: 22px;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 26px;
  right: 20px;
  transform: translateY(-50%);
  content: "\f107";
}
#wrap #sec14 > .list01 > ul > li > .container > .table > table > thead.is-open:before {
  transform: translateY(-50%);
  content: "\f106";
}
#wrap #sec14 > .list01 > ul > li > .container > .table > table > tbody {
  display: none;
}
#wrap #sec14 > .list01 > ul > li > .container > .table > table > tbody > tr > th {
  background: #67a69e;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .table > table > tbody > tr > th {
    font-size: 4vw;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .table > table > tbody > tr > td {
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .table > table > tbody > tr > td:first-child:before {
    position: absolute;
    top: 66px;
    right: 10px;
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    speak: none;
    line-height: 1em;
    display: inline-block;
    text-decoration: inherit;
    width: auto;
    text-align: center;
    display: inline-block;
    content: "\e803";
    vertical-align: middle;
    font-size: 4vw;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .table > table > tbody > tr > td:first-child:after {
    position: absolute;
    top: 61px;
    right: 20px;
    content: "Scroll";
    font-size: 4vw;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .table > table > tbody > tr:nth-child(odd) {
  background: #edf3f4;
}
#wrap #sec14 > .list01 > ul > li > .container > .table > table > tbody > tr:last-child {
  border-bottom: 1px solid #036a5d;
}
#wrap #sec14 > .list01 > ul > li > .container > .table > table > tbody > tr:first-child {
  background: #449087;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .table > table > tbody > tr:first-child {
    font-size: 4vw;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item04 {
  position: relative;
  width: 600px;
  min-height: 596px;
  margin: 0 auto 0 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item04 {
    width: 100%;
    padding-bottom: 115vw;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item04:before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 700px;
  width: 541px;
  height: 596px;
  background: url(../img/gemstones/sec14_img09.jpg) no-repeat center center/541px 596px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item04:before {
    left: 0;
    bottom: 0;
    width: 100%;
    height: 110.1vw;
    background: url(../img/gemstones/sec14_img09.jpg) no-repeat center center/cover;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item04 > ul > li {
  margin-bottom: 40px;
}
#wrap #sec14 > .list01 > ul > li > .container > .item04 > ul > li:last-child {
  margin-bottom: 0;
}
#wrap #sec14 > .list01 > ul > li > .container > .item04 > ul > li > h4 {
  position: relative;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-size: 2em;
  line-height: 1.4em;
  padding-bottom: 20px;
  color: #047468;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item04 > ul > li > h4 {
    font-size: 6vw;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item04 > ul > li > h4:before {
  position: absolute;
  content: "";
  bottom: 10px;
  left: 0;
  width: 35px;
  height: 1px;
  background: #047468;
}
#wrap #sec14 > .list01 > ul > li > .container > .item04 > ul > li > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item04 > ul > li > p {
    font-size: 4vw;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item05 {
  margin-top: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item05 {
    margin-top: 20px;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item05 > ul {
  width: 800px;
  margin: 0 auto;
  text-align: center;
  display: table;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item05 > ul {
    width: 100%;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item05 > ul:after {
  content: "";
  display: block;
  clear: both;
}
#wrap #sec14 > .list01 > ul > li > .container > .item05 > ul > li {
  position: relative;
  display: inline-table;
  width: 30%;
  height: 200px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item05 > ul > li {
    position: relative;
    width: 100%;
    height: 160px;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item05 > ul > li:nth-child(1) {
  background: url(../img/gemstones/sec14_img11.png) no-repeat center center/200px 200px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item05 > ul > li:nth-child(1) {
    background: url(../img/gemstones/sec14_img11.png) no-repeat top center/160px 160px;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item05 > ul > li:nth-child(2) {
  background: url(../img/gemstones/sec14_img12.png) no-repeat center center/200px 200px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item05 > ul > li:nth-child(2) {
    background: url(../img/gemstones/sec14_img12.png) no-repeat top center/160px 160px;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item05 > ul > li:nth-child(3) {
  background: url(../img/gemstones/sec14_img13.png) no-repeat center center/200px 200px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item05 > ul > li:nth-child(3) {
    background: url(../img/gemstones/sec14_img13.png) no-repeat top center/160px 160px;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item05 > ul > li > .text01 {
  position: absolute;
  bottom: 10px;
  left: 0;
  width: 100%;
  height: 100px;
  display: table;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item05 > ul > li > .text01 {
    height: 80px;
    bottom: 10px;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item05 > ul > li > .text01 > p {
  display: table-cell;
  vertical-align: middle;
  line-height: 1.2em;
  font-size: 1em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item05 > ul > li > .text01 > p {
    font-size: 4vw;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item06 {
  position: relative;
  width: 606px;
  height: 180px;
  margin: 0 auto 50px auto;
  background: url(../img/gemstones/sec14_img10.jpg) no-repeat center center/606px 127px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item06 {
    width: 100%;
    height: 20.9vw;
    background: url(../img/gemstones/sec14_img10.jpg) no-repeat center center/100% 20.9vw;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item06 > .text01 {
  position: absolute;
  bottom: -30px;
  right: 5px;
  width: 220px;
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item06 > .text01 {
    right: 5%;
    width: auto;
    font-size: 4vw;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item06 > .text02 {
  position: absolute;
  bottom: -20px;
  left: -40px;
  width: 150px;
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1em;
  line-height: 1.2em;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item06 > .text02 {
    left: -3%;
    width: auto;
    font-size: 3vw;
  }
}
#wrap #sec14 > .list01 > ul > li > .container > .item06 > .text03 {
  position: absolute;
  bottom: -30px;
  left: 145px;
  width: 220px;
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec14 > .list01 > ul > li > .container > .item06 > .text03 {
    left: auto;
    right: 46%;
    width: auto;
    font-size: 4vw;
  }
}
#wrap #sec21 {
  width: 100%;
  height: 400px;
  background: url(../img/kyotoopal/sec21_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec21 {
    height: auto;
    background: url(../img/kyotoopal/sec21_img01.jpg) no-repeat left 24% center/cover;
  }
}
#wrap #sec21 > .container {
  position: relative;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec21 > .container {
    padding-block: 18vw 10vw;
  }
}
#wrap #sec21 > .container > .item01 {
  text-align: left;
  position: absolute;
  top: 100px;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 460px;
  color: #000;
}
@media only screen and (max-width: 768px) {
  #wrap #sec21 > .container > .item01 {
    position: static;
    width: 100%;
  }
}
#wrap #sec21 > .container > .item01 > h1 {
  position: relative;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 50px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec21 > .container > .item01 > h1 {
    font-size: 11vw;
    padding-left: 3vw;
  }
}
#wrap #sec21 > .container > .item01 > h1:before {
  position: absolute;
  content: "";
  bottom: -25px;
  left: 0;
  margin: 0 0 0 auto;
  width: 140px;
  height: 1px;
  background: #047468;
}
@media only screen and (max-width: 768px) {
  #wrap #sec21 > .container > .item01 > h1:before {
    left: 3vw;
  }
}
#wrap #sec21 > .container > .item01 > p {
  font-family: "Noto Serif", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec21 > .container > .item01 > p {
    padding: 0 12px;
    font-size: 4vw;
    line-height: 1.2em;
  }
}
#wrap #sec21 > .container > .item01 > p > br {
  display: none;
}
@media only screen and (max-width: 768px) {
  #wrap #sec21 > .container > .item01 > p > br {
    display: block;
  }
}
#wrap #sec22 > .container {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container {
    padding: 40px 0;
  }
}
#wrap #sec22 > .container > .list01 {
  max-width: 900px;
  margin: 0 auto 20px auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 {
    width: 100%;
  }
}
#wrap #sec22 > .container > .list01 > h2 {
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > h2 {
    font-size: 9vw;
    margin-bottom: 0;
  }
}
#wrap #sec22 > .container > .list01 > h3 {
  color: #047468;
  text-align: center;
  font-family: "Noto Serif", serif;
  font-size: 1.2em;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > h3 {
    font-size: 6vw;
    margin-bottom: 20px;
  }
}
#wrap #sec22 > .container > .list01 > ul {
  width: 100%;
  text-align: center;
  display: table;
}
#wrap #sec22 > .container > .list01 > ul > li {
  width: 24%;
  display: inline-table;
  margin: 0 0 40px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li {
    width: 31%;
    margin: 0 1% 30px 1%;
  }
}
#wrap #sec22 > .container > .list01 > ul > li > .item03 {
  text-align: center;
  transition: all 0.5s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li > .item03 {
    line-height: 1em;
  }
}
#wrap #sec22 > .container > .list01 > ul > li > .item03:hover {
  opacity: 0.5;
  cursor: pointer;
}
#wrap #sec22 > .container > .list01 > ul > li > .item03 > .img {
  display: block;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li > .item03 > .img {
    margin-bottom: 1px;
  }
}
#wrap #sec22 > .container > .list01 > ul > li > .item03 > .img > img {
  height: 120px;
  width: auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li > .item03 > .img > img {
    height: 60px;
    width: auto;
  }
}
#wrap #sec22 > .container > .list01 > ul > li > .item03 > span {
  font-size: 1em;
  font-weight: 500;
  color: #000;
  font-family: "Jost", sans-serif;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li > .item03 > span {
    font-size: 3vw;
    line-height: 1em;
  }
}
#wrap #sec22 > .container > .list01 > ul > li > .item03 > span:before {
  content: "-";
  color: #047468;
  margin-right: 10px;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li > .item03 > span:before {
    display: none;
  }
}
#wrap #sec22 > .container > .list01 > ul > li > .item03 > span:after {
  content: "-";
  color: #047468;
  margin-left: 10px;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li > .item03 > span:after {
    display: none;
  }
}
#wrap #sec22 > .container > .list01 > ul > li .popup {
  display: none;
  z-index: 1001;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  width: 100vw;
  min-height: 100vh;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li .popup {
    min-height: auto;
  }
}
#wrap #sec22 > .container > .list01 > ul > li .popup.active {
  display: block;
}
#wrap #sec22 > .container > .list01 > ul > li .popup > .inner {
  position: relative;
  padding: 20px 0;
  max-width: 800px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li .popup > .inner {
    width: 100%;
    padding: 20px;
  }
}
#wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .close {
  position: absolute;
  top: 20px;
  right: 0;
  width: 30px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .close {
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
  }
}
#wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .close:hover {
  opacity: 0.5;
  cursor: pointer;
}
#wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .item02:after {
  content: "";
  display: block;
  clear: both;
}
#wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .item02 > .left {
  float: left;
  width: 50%;
  margin-right: 2.5%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .item02 > .left {
    float: none;
    width: 100%;
    margin-right: 0;
  }
}
#wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .item02 > .left > h3 {
  position: relative;
  text-align: left;
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .item02 > .left > h3 {
    font-size: 7vw;
    padding-bottom: 20px;
    margin-bottom: 0;
  }
}
#wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .item02 > .left > h3:before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  margin: 0 auto;
  width: 80px;
  height: 1px;
  background: #047468;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .item02 > .left > h3:before {
    bottom: 10px;
  }
}
#wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .item02 > .left > h3:focus {
  outline: none;
}
#wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .item02 > .left > p {
  text-align: left;
  width: 100%;
  margin: 0 auto 60px auto;
  font-family: "Noto Serif", serif;
  font-size: 1em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .item02 > .left > p {
    width: 100%;
    font-size: 4vw;
    margin: 0 auto 20px auto;
  }
}
#wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .item02 > .left > p > span {
  font-style: italic;
}
#wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .item02 > .right {
  float: left;
  width: 47.5%;
  padding-top: 50px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .item02 > .right {
    float: none;
    width: 100%;
  }
}
#wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .item02 > .right > .img {
  width: 100%;
  height: auto;
  padding-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .item02 > .right > .img {
    padding-bottom: 20px;
  }
}
#wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .btn {
  text-align: center;
}
#wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .btn > a {
  display: block;
  width: 280px;
  margin: 0 auto;
  padding: 10px 0;
  text-align: center;
  color: #fff;
  text-decoration: none;
  background: #ca1e1e;
  border: 1px solid #ca1e1e;
  border-radius: 35px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap #sec22 > .container > .list01 > ul > li .popup > .inner > .btn > a:hover {
  opacity: 0.7;
}
#wrap #sec23 {
  background: #fbf9f7;
}
#wrap #sec23 > .container {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec23 > .container {
    padding: 40px 0;
  }
}
#wrap #sec23 > .container > h2 {
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec23 > .container > h2 {
    font-size: 9vw;
    margin-bottom: 20px;
  }
}
#wrap #sec23 > .container > .item01 {
  position: relative;
  width: 600px;
  min-height: 500px;
  margin: 0 0 0 auto;
  padding: 50px 0 0 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec23 > .container > .item01 {
    width: 100%;
    min-height: auto;
    padding: 90vw 10px 0 10px;
  }
}
#wrap #sec23 > .container > .item01:before {
  position: absolute;
  content: "";
  top: 0;
  right: 640px;
  width: 550px;
  height: 500px;
  background: url(../img/kyotoopal/sec23_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec23 > .container > .item01:before {
    top: 0;
    right: 0;
    width: 100vw;
    height: 86.3vw;
    background: url(../img/kyotoopal/sec23_img01.jpg) no-repeat center center/cover;
  }
}
#wrap #sec23 > .container > .item01 > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec23 > .container > .item01 > p {
    font-size: 4vw;
  }
}
#wrap #sec23 > .container > .item01 > .btn {
  text-align: center;
  padding-top: 40px;
}
#wrap #sec23 > .container > .item01 > .btn > a {
  display: inline-block;
  width: 280px;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  background: #057468;
  padding: 10px 0;
  text-align: center;
  border-radius: 35px;
  letter-spacing: 0.1em;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec23 > .container > .item01 > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap #sec23 > .container > .item01 > .btn > a:hover {
  opacity: 0.7;
}
#wrap #sec24 > .container {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec24 > .container {
    padding: 40px 0;
  }
}
#wrap #sec24 > .container > h2 {
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec24 > .container > h2 {
    font-size: 9vw;
    margin-bottom: 20px;
    line-height: 1.2em;
  }
}
#wrap #sec24 > .container > .slide {
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec24 > .container > .slide {
    margin-bottom: 10px;
    padding: 0 10px;
  }
}
#wrap #sec24 > .container > .slide .bx-wrapper {
  width: 600px;
  margin: 0 auto 10px auto;
  box-shadow: none;
  border: none;
}
@media only screen and (max-width: 768px) {
  #wrap #sec24 > .container > .slide .bx-wrapper {
    width: 100%;
    margin-bottom: 10px;
  }
}
#wrap #sec24 > .container > .slide #slide_main {
  width: 600px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec24 > .container > .slide #slide_main {
    width: 100%;
  }
}
#wrap #sec24 > .container > .slide #slide_main li {
  position: relative;
  width: 100%;
}
#wrap #sec24 > .container > .slide #slide_main li:after {
  position: absolute;
  top: 0;
  left: 6px;
  content: "";
  width: 600px;
  height: 370px;
}
#wrap #sec24 > .container > .slide #slide_main li img {
  width: 600px;
  height: 370px;
  margin: 20px auto 0 auto;
  border-radius: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec24 > .container > .slide #slide_main li img {
    width: 100%;
    height: 61.6vw;
  }
}
#wrap #sec24 > .container > .slide #slide_thum {
  width: 900px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec24 > .container > .slide #slide_thum {
    width: 100%;
  }
}
#wrap #sec24 > .container > .slide #slide_thum:after {
  content: "";
  display: block;
  clear: both;
}
#wrap #sec24 > .container > .slide #slide_thum li {
  float: left;
  width: 9.1%;
  margin-right: 1%;
}
#wrap #sec24 > .container > .slide #slide_thum li:last-child {
  margin-right: 0;
}
#wrap #sec24 > .container > .slide #slide_thum li img {
  box-sizing: border-box;
  width: 100%;
  height: auto;
  border-radius: 5px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec24 > .container > .item01 {
    padding: 0 10px;
  }
}
#wrap #sec24 > .container > .item01 > p {
  text-align: center;
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
  width: 900px;
  margin: 0 auto 20px auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec24 > .container > .item01 > p {
    width: 100%;
    margin: 0 auto 40px auto;
    font-size: 4vw;
  }
}
#wrap #sec24 > .container > .item01 > .table {
  max-width: 800px;
  background: #fbf9f7;
  margin: 0 auto;
  font-family: "Noto Serif", serif;
}
@media only screen and (max-width: 768px) {
  #wrap #sec24 > .container > .item01 > .table {
    width: 100%;
    max-width: inherit;
    margin: 40px 0 0 0;
    overflow: auto;
    white-space: nowrap;
  }
}
#wrap #sec24 > .container > .item01 > .table > .item02 {
  background: #036a5d;
  color: #fff;
  font-size: 1em;
  font-weight: 700;
  padding: 10px 0;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec24 > .container > .item01 > .table > .item02 {
    text-align: left;
    padding-left: 28%;
    font-size: 5vw;
  }
}
#wrap #sec24 > .container > .item01 > .table > .item02:before {
  position: absolute;
  font-size: 22px;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  content: "\f107";
}
#wrap #sec24 > .container > .item01 > .table > .item02.is-open:before {
  transform: translateY(-50%);
  content: "\f106";
}
#wrap #sec24 > .container > .item01 > .table > .item03 {
  display: none;
  padding-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec24 > .container > .item01 > .table > .item03 {
    padding-bottom: 40px;
    overflow: auto;
    white-space: nowrap;
  }
}
#wrap #sec24 > .container > .item01 > .table > .item03.is-open {
  display: block;
}
#wrap #sec24 > .container > .item01 > .table > .item03 > h3 {
  padding: 20px 0;
  text-align: center;
  line-height: 1em;
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec24 > .container > .item01 > .table > .item03 > h3 {
    font-size: 7vw;
  }
}
#wrap #sec24 > .container > .item01 > .table > .item03 > table {
  width: 700px;
  margin: 0 auto 20px auto;
  table-layout: fixed;
  font-family: "Noto Serif", serif;
}
#wrap #sec24 > .container > .item01 > .table > .item03 > table > tbody > tr {
  background: #fff;
}
#wrap #sec24 > .container > .item01 > .table > .item03 > table > tbody > tr > th {
  padding: 10px 0;
  text-align: center;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec24 > .container > .item01 > .table > .item03 > table > tbody > tr > th {
    font-size: 4vw;
  }
}
#wrap #sec24 > .container > .item01 > .table > .item03 > table > tbody > tr > td {
  padding: 10px 0;
  text-align: center;
}
#wrap #sec24 > .container > .item01 > .table > .item03 > table > tbody > tr:nth-child(odd) {
  background: #f2f4f4;
}
#wrap #sec24 > .container > .item01 > .table > .item03 > p {
  width: 700px;
  margin: 0 auto;
}
#wrap #sec31 {
  width: 100%;
  height: 400px;
  background: url(../img/oem/sec31_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec31 {
    height: auto;
  }
}
#wrap #sec31 > .container {
  position: relative;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec31 > .container {
    padding-block: 19vw 18vw;
  }
}
#wrap #sec31 > .container > .item01 {
  text-align: center;
  position: absolute;
  top: 140px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 460px;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #sec31 > .container > .item01 {
    position: static;
    width: 100%;
  }
}
#wrap #sec31 > .container > .item01 > h1 {
  position: relative;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec31 > .container > .item01 > h1 {
    font-size: 12vw;
  }
}
#wrap #sec31 > .container > .item01 > p {
  font-family: "Noto Serif", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec31 > .container > .item01 > p {
    padding: 0 12px;
    font-size: 4vw;
    line-height: 1.2em;
  }
}
#wrap #sec31 > .container > .item01 > p > br {
  display: none;
}
@media only screen and (max-width: 768px) {
  #wrap #sec31 > .container > .item01 > p > br {
    display: block;
  }
}
#wrap #sec32 {
  background: #fbf9f7;
  position: relative;
}
#wrap #sec32 .load_height {
  min-height: 1800px;
}
#wrap #sec32 > .container {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec32 > .container {
    padding: 40px 0;
  }
}
#wrap #sec32 > .container > .list-btn {
  width: 800px;
  margin: 0 auto 20px auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec32 > .container > .list-btn {
    width: 90%;
    margin: 0 auto 40px auto;
  }
}
#wrap #sec32 > .container > .list-btn > ul:after {
  content: "";
  display: block;
  clear: both;
}
#wrap #sec32 > .container > .list-btn > ul > li {
  float: left;
  width: 18.4%;
  margin-right: 2%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec32 > .container > .list-btn > ul > li {
    width: 30%;
    margin-right: 5%;
    margin-bottom: 10px;
  }
}
#wrap #sec32 > .container > .list-btn > ul > li:last-child {
  margin-right: 0;
}
#wrap #sec32 > .container > .list-btn > ul > li:nth-child(3n) {
  margin-right: 0;
}
#wrap #sec32 > .container > .list-btn > ul > li > a {
  color: #000;
}
#wrap #sec32 > .container > .list-btn > ul > li > a > button {
  border: none;
  position: relative;
  padding: 5px 30px 5px 10px;
  border-radius: 5px;
  background: none;
  color: #000;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec32 > .container > .list-btn > ul > li > a > button {
    font-size: 4vw;
  }
}
#wrap #sec32 > .container > .list-btn > ul > li > a > button:after {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  content: "\f105";
  color: #0c776b;
}
#wrap #sec32 > .container > .list-btn > ul > li.active > a > button {
  background: #0c776b;
  color: #fff;
}
#wrap #sec32 > .container > .list-btn > ul > li.active > a > button:after {
  color: #fff;
}
#wrap #sec32 > .container > .list01 {
  width: 800px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec32 > .container > .list01 {
    width: 100%;
  }
}
#wrap #sec32 > .container > .list01 > ul {
  position: relative;
  width: 100%;
  text-align: center;
}
#wrap #sec32 > .container > .list01 > ul > li {
  display: block;
  position: absolute;
  width: 180px;
  height: 180px;
  margin: 10px;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  #wrap #sec32 > .container > .list01 > ul > li {
    box-sizing: border-box;
    width: 28%;
    height: 30vw;
    margin: 10px 10px 0 10px;
  }
}
#wrap #sec32 > .container > .list01 > ul > li > .item03 {
  text-align: center;
  transition: all 0.5s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap #sec32 > .container > .list01 > ul > li > .item03:hover {
  opacity: 0.5;
  cursor: pointer;
}
#wrap #sec32 > .container > .list01 > ul > li > .item03 > .img {
  display: block;
  margin-bottom: 10px;
}
#wrap #sec32 > .container > .list01 > ul > li > .item03 > span {
  font-size: 1em;
  font-weight: 500;
  color: #000;
  font-family: "Jost", sans-serif;
}
#wrap #sec32 > .container > .list01 > ul > li > .item03 > span:before {
  content: "-";
  color: #047468;
  margin-right: 10px;
  font-weight: 400;
}
#wrap #sec32 > .container > .list01 > ul > li > .item03 > span:after {
  content: "-";
  color: #047468;
  margin-left: 10px;
  font-weight: 400;
}
#wrap #sec32 > .container > .list01 > ul > li .popup {
  display: none;
  z-index: 100001;
  position: fixed;
  top: 0;
  left: 0;
  overflow-y: auto;
  width: 100vw;
  min-height: 100vh;
  background: #fff;
}
#wrap #sec32 > .container > .list01 > ul > li .popup.active {
  display: block;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner {
  position: relative;
  padding: 150px 0 100px 0;
  width: 1170px;
  margin: 0 auto;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .close {
  position: absolute;
  top: 50px;
  right: 0;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .close:hover {
  opacity: 0.5;
  cursor: pointer;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item02:after {
  content: "";
  display: block;
  clear: both;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item02 > .left {
  float: left;
  width: 620px;
  padding-right: 100px;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item02 > .left > .slide {
  margin-bottom: 30px;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item02 > .left > .slide .bx-wrapper {
  box-shadow: none;
  border: none;
  margin-bottom: 30px;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item02 > .left > .slide #slide_main li {
  position: relative;
  width: 100%;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item02 > .left > .slide #slide_main li:after {
  position: absolute;
  top: 0;
  left: 6px;
  content: "";
  width: 520px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item02 > .left > .slide #slide_main li:after {
    top: -2vw;
    left: -1.5vw;
    width: 98.5vw;
    height: 140vw;
  }
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item02 > .left > .slide #slide_main li img {
  width: 520px;
  height: auto;
  margin: 20px auto;
  border-radius: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item02 > .left > .slide #slide_main li img {
    width: 100%;
    height: 126vw;
  }
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item02 > .right {
  float: left;
  width: 550px;
  padding-top: 100px;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item02 > .right > h3 {
  text-align: left;
  font-size: 3em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 10px;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item02 > .right > p {
  text-align: left;
  width: 580px;
  margin: 0 auto 60px auto;
  font-family: "Noto Serif", serif;
  font-size: 1.2em;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item02 > .right > p > span {
  font-weight: 700;
  font-size: 1.3em;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item04 {
  margin: 0 0 100px 0;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item04 #slide_thum:after {
  content: "";
  display: block;
  clear: both;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item04 #slide_thum li {
  float: left;
  width: 19.2%;
  margin-right: 1%;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item04 #slide_thum li:last-child {
  margin-right: 0;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .item04 #slide_thum li img {
  box-sizing: border-box;
  width: 100%;
  height: auto;
  border-radius: 5px;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .btn {
  text-align: center;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .btn > a {
  position: relative;
  display: block;
  width: 750px;
  margin: 0 auto;
  background: #ca1e1e;
  color: #fff;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
  font-size: 1.2em;
  padding: 60px 0;
  border-radius: 2px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .btn > a:hover {
  opacity: 0.7;
  cursor: pointer;
}
#wrap #sec32 > .container > .list01 > ul > li .popup > .inner > .btn > a:after {
  position: absolute;
  top: 35%;
  bottom: 0;
  right: 50px;
  margin: auto 0;
  font-size: 1.2em;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  content: "\f105";
}
#wrap #sec32 > .container > .btn {
  margin-top: 40px;
  text-align: center;
}
#wrap #sec32 > .container > .btn > a {
  color: #000;
  font-size: 1.2em;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  text-decoration: none;
  border-bottom: 1px solid #aaa;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap #sec32 > .container > .btn > a:hover {
  color: #cd2d2e;
}
#wrap #sec32 > .container > .btn > a:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  line-height: 1em;
  display: inline-block;
  text-decoration: inherit;
  width: auto;
  margin: 0 5px 0 0;
  text-align: center;
  display: inline-block;
  content: "\e801";
  font-size: 20px;
  vertical-align: middle;
  position: relative;
  top: -3px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec32 > .container > .btn > a:before {
    font-size: 4vw;
  }
}
#wrap #sec41 {
  width: 100%;
  height: 400px;
  background: url(../img/policy/sec41_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec41 {
    width: 100%;
    height: auto;
  }
}
#wrap #sec41 > .container {
  position: relative;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec41 > .container {
    padding-block: 19vw 18vw;
  }
}
#wrap #sec41 > .container > .item01 {
  text-align: center;
  position: absolute;
  top: 130px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 460px;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #sec41 > .container > .item01 {
    position: static;
    width: 100%;
  }
}
#wrap #sec41 > .container > .item01 > h1 {
  position: relative;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec41 > .container > .item01 > h1 {
    font-size: 12vw;
  }
}
#wrap #sec41 > .container > .item01 > p {
  font-family: "Noto Serif", serif;
  font-size: 1em;
  font-weight: 400;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec41 > .container > .item01 > p {
    padding: 0 12px;
    font-size: 4vw;
    line-height: 1.2em;
  }
}
#wrap #sec41 > .container > .item01 > p > br {
  display: none;
}
@media only screen and (max-width: 768px) {
  #wrap #sec41 > .container > .item01 > p > br {
    display: block;
  }
}
#wrap #sec42 {
  background: #faf9f7;
}
#wrap #sec42 > .container {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .container {
    padding: 50px 0;
  }
}
#wrap #sec42 > .container > .item01 {
  width: 820px;
  height: 400px;
  margin: 0 auto;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .container > .item01 {
    width: 100%;
    height: auto;
  }
}
#wrap #sec42 > .container > .item01 > h2 {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 320px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .container > .item01 > h2 {
    position: static;
    width: 70%;
  }
}
#wrap #sec42 > .container > .item01 > h2 > img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .container > .item01 > ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: space-between;
    gap: 9vw;
    margin-bottom: 10vw;
    padding-inline: 8%;
  }
}
#wrap #sec42 > .container > .item01 > ul > li {
  position: absolute;
  top: 0;
  left: 0;
  width: 200px;
  height: 200px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .container > .item01 > ul > li {
    position: static;
    width: auto;
    height: auto;
    text-align: center;
  }
}
#wrap #sec42 > .container > .item01 > ul > li:nth-child(1) {
  top: 160px;
}
#wrap #sec42 > .container > .item01 > ul > li:nth-child(2) {
  left: 180px;
}
#wrap #sec42 > .container > .item01 > ul > li:nth-child(3) {
  left: auto;
  right: 180px;
}
#wrap #sec42 > .container > .item01 > ul > li:nth-child(4) {
  top: 160px;
  left: auto;
  right: 0;
}
#wrap #sec42 > .container > .item02 {
  text-align: center;
  max-width: 900px;
  margin: 70px auto 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .container > .item02 {
    width: 100%;
    padding: 0 10px;
  }
}
#wrap #sec42 > .container > .item02 > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .container > .item02 > p {
    font-size: 4vw;
  }
}
#wrap #sec42 > .item03 {
  overflow-x: hidden;
  margin-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 {
    margin-bottom: 0;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(1) {
  background: #fff;
}
#wrap #sec42 > .item03 > ul > li:nth-child(1) > .container {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(1) > .container {
    padding: 0 0 40px 0;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(1) > .container > .item04 {
  position: relative;
  width: 600px;
  min-height: 561px;
  margin: 0 0 0 auto;
  padding: 0 0 80px 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(1) > .container > .item04 {
    width: 100%;
    padding: 90vw 10px 0 10px;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(1) > .container > .item04:before {
  position: absolute;
  content: "";
  top: 0;
  right: 640px;
  width: 651px;
  height: 561px;
  background: url(../img/policy/sec42_img06.jpg) no-repeat center center/651px 561px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(1) > .container > .item04:before {
    top: 0;
    right: 0;
    width: 100vw;
    height: 86.3vw;
    background: url(../img/policy/sec42_img06.jpg) no-repeat center center/cover;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(1) > .container > .item04 > h3 {
  text-align: left;
  font-size: 2.4em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  padding-bottom: 40px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(1) > .container > .item04 > h3 {
    font-size: 10vw;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(1) > .container > .item04 > h3:before {
  position: absolute;
  content: "";
  bottom: 20px;
  left: 0;
  margin: 0 0 0 auto;
  width: 70px;
  height: 1px;
  background: #047468;
}
#wrap #sec42 > .item03 > ul > li:nth-child(1) > .container > .item04 > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(1) > .container > .item04 > p {
    font-size: 4vw;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(2) {
  background: #faf9f7;
}
#wrap #sec42 > .item03 > ul > li:nth-child(2) > .container {
  padding: 50px 0 20px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(2) > .container {
    padding: 0 0 40px 0;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(2) > .container > .item04 {
  position: relative;
  width: 600px;
  margin: 0 auto 0 0;
  padding: 0 40px 100px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(2) > .container > .item04 {
    width: 100%;
    padding: 90vw 10px 0 10px;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(2) > .container > .item04:before {
  position: absolute;
  content: "";
  top: -100px;
  left: 640px;
  width: 650px;
  height: 560px;
  background: url(../img/policy/sec42_img07.jpg) no-repeat center center/650px 560px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(2) > .container > .item04:before {
    top: 0;
    right: 0;
    left: 0;
    width: 100vw;
    height: 86.3vw;
    background: url(../img/policy/sec42_img07.jpg) no-repeat center center/cover;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(2) > .container > .item04 > h3 {
  text-align: left;
  font-size: 3em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  padding-bottom: 40px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(2) > .container > .item04 > h3 {
    font-size: 10vw;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(2) > .container > .item04 > h3:before {
  position: absolute;
  content: "";
  bottom: 20px;
  left: 0;
  margin: 0 0 0 auto;
  width: 70px;
  height: 1px;
  background: #047468;
}
#wrap #sec42 > .item03 > ul > li:nth-child(2) > .container > .item04 > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(2) > .container > .item04 > p {
    font-size: 4vw;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(3) {
  background: #fff;
}
#wrap #sec42 > .item03 > ul > li:nth-child(3) > .container {
  padding: 80px 0 40px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(3) > .container {
    padding: 0 0 40px 0;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(3) > .container > .item04 {
  position: relative;
  width: 600px;
  margin: 0 0 0 auto;
  padding: 0 0 160px 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(3) > .container > .item04 {
    width: 100%;
    padding: 90vw 10px 0 10px;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(3) > .container > .item04:before {
  position: absolute;
  content: "";
  top: 0;
  right: 640px;
  width: 651px;
  height: 560px;
  background: url(../img/policy/sec42_img08.jpg) no-repeat center center/651px 560px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(3) > .container > .item04:before {
    top: 0;
    right: 0;
    width: 100vw;
    height: 86.3vw;
    background: url(../img/policy/sec42_img08.jpg) no-repeat center center/cover;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(3) > .container > .item04 > h3 {
  text-align: left;
  font-size: 3em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  padding-bottom: 40px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(3) > .container > .item04 > h3 {
    font-size: 10vw;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(3) > .container > .item04 > h3:before {
  position: absolute;
  content: "";
  bottom: 20px;
  left: 0;
  margin: 0 0 0 auto;
  width: 70px;
  height: 1px;
  background: #047468;
}
#wrap #sec42 > .item03 > ul > li:nth-child(3) > .container > .item04 > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(3) > .container > .item04 > p {
    font-size: 4vw;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(4) {
  background: #faf9f7;
}
#wrap #sec42 > .item03 > ul > li:nth-child(4) > .container {
  padding: 50px 0 0 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(4) > .container {
    padding: 0 0 40px 0;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(4) > .container > .item04 {
  position: relative;
  width: 600px;
  margin: 0 auto 0 0;
  padding: 0 40px 100px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(4) > .container > .item04 {
    width: 100%;
    padding: 90vw 10px 0 10px;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(4) > .container > .item04:before {
  position: absolute;
  content: "";
  top: -100px;
  left: 640px;
  width: 650px;
  height: 561px;
  background: url(../img/policy/sec42_img09.jpg) no-repeat center center/650px 561px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(4) > .container > .item04:before {
    top: 0;
    left: 0;
    right: 0;
    width: 100vw;
    height: 86.3vw;
    background: url(../img/policy/sec42_img09.jpg) no-repeat center center/cover;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(4) > .container > .item04 > h3 {
  text-align: left;
  font-size: 3em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  padding-bottom: 40px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(4) > .container > .item04 > h3 {
    font-size: 10vw;
  }
}
#wrap #sec42 > .item03 > ul > li:nth-child(4) > .container > .item04 > h3:before {
  position: absolute;
  content: "";
  bottom: 20px;
  left: 0;
  margin: 0 0 0 auto;
  width: 70px;
  height: 1px;
  background: #047468;
}
#wrap #sec42 > .item03 > ul > li:nth-child(4) > .container > .item04 > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec42 > .item03 > ul > li:nth-child(4) > .container > .item04 > p {
    font-size: 4vw;
  }
}
#wrap #sec43 > .item01 {
  width: 100%;
  height: 400px;
  background: url(../img/policy/sec43_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec43 > .item01 {
    height: auto;
  }
}
#wrap #sec43 > .item01 > .container {
  position: relative;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec43 > .item01 > .container {
    padding-block: 22vw;
  }
}
#wrap #sec43 > .item01 > .container > .item02 {
  text-align: center;
  position: absolute;
  top: 130px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #sec43 > .item01 > .container > .item02 {
    position: static;
  }
}
#wrap #sec43 > .item01 > .container > .item02 > h1 {
  position: relative;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1.4em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec43 > .item01 > .container > .item02 > h1 {
    font-size: 7vw;
    margin-bottom: 0;
  }
}
#wrap #sec43 > .container {
  max-width: 1200px;
}
#wrap #sec43 > .container > .item03 {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec43 > .container > .item03 {
    padding: 50px 0;
  }
}
#wrap #sec43 > .container > .item03 > ul > li {
  margin-bottom: 70px;
}
#wrap #sec43 > .container > .item03 > ul > li:last-child {
  margin-bottom: 0;
}
#wrap #sec43 > .container > .item03 > ul > li > .item04 {
  display: grid;
  grid-template-columns: 23.0769230769% 71.7948717949%;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec43 > .container > .item03 > ul > li > .item04 {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec43 > .container > .item03 > ul > li > .item04 > .left {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec43 > .container > .item03 > ul > li > .item04 > .left > .img {
    text-align: center;
    padding: 0 30%;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec43 > .container > .item03 > ul > li > .item04 > .right {
    width: 100%;
    padding-top: 20px;
  }
}
#wrap #sec43 > .container > .item03 > ul > li > .item04 > .right > h3 {
  font-size: 2.4em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 10px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec43 > .container > .item03 > ul > li > .item04 > .right > h3 {
    font-size: 7vw;
    text-align: center;
  }
}
#wrap #sec43 > .container > .item03 > ul > li > .item04 > .right > h3 > span.text01 {
  color: #027568;
  margin-right: 20px;
}
#wrap #sec43 > .container > .item03 > ul > li > .item04 > .right > h3 > span.text02 {
  font-size: 60%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec43 > .container > .item03 > ul > li > .item04 > .right > h3 > span.text02 {
    font-size: 5vw;
  }
}
#wrap #sec43 > .container > .item03 > ul > li > .item04 > .right > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1em;
  line-height: 1.6em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec43 > .container > .item03 > ul > li > .item04 > .right > p {
    font-size: 4vw;
  }
}
#wrap #sec43 > .container > .item03 > ul > li > .item04 > .right > p > a {
  color: #027568;
  text-decoration: underline;
}
#wrap #sec43 > .container > .item03 > ul > li > .item04 > .right > p > a:hover {
  text-decoration: none;
}
#wrap #sec43 > .container > .item03 > ul > li > .item04 > .right > p > span.st-Icon-Internal {
  color: #e20226;
}
#wrap #sec51 {
  width: 100%;
  height: 400px;
  background: url(../img/glossary/sec51_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec51 {
    width: 100%;
    height: auto;
    background-position: left center;
  }
}
#wrap #sec51 > .container {
  position: relative;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec51 > .container {
    padding-block: 20vw 27vw;
  }
}
#wrap #sec51 > .container > .item01 {
  text-align: center;
  position: absolute;
  top: 160px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 700px;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #sec51 > .container > .item01 {
    position: static;
    width: 100%;
  }
}
#wrap #sec51 > .container > .item01 > h1 {
  position: relative;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec51 > .container > .item01 > h1 {
    font-size: 12vw;
    text-shadow: 1px 1px 5px black;
  }
}
#wrap #sec52 {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec52 {
    padding: 50px 0;
  }
}
#wrap #sec52 > .container {
  max-width: 1200px;
}
#wrap #sec52 > .container > h2 {
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec52 > .container > h2 {
    font-size: 7vw;
    margin-bottom: 20px;
  }
}
#wrap #sec52 > .container > ul:after {
  content: "";
  display: block;
  clear: both;
}
#wrap #sec52 > .container > ul > li {
  float: left;
  width: auto;
  margin: 0 10px 10px 0;
}
#wrap #sec52 > .container > ul > li > a {
  font-size: 0.8rem;
  text-decoration: none;
  color: #000;
  padding: 5px 10px;
  border: 1px solid #000;
  border-radius: 15px;
  display: inline-block;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap #sec52 > .container > ul > li > a:hover {
  background: #000;
  color: #fff;
}
#wrap #sec53 {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 {
    padding: 50px 0;
  }
}
#wrap #sec53 > .container {
  max-width: 1200px;
}
#wrap #sec53 > .container > .item01 h3 {
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container > .item01 h3 {
    font-size: 7vw;
    margin-bottom: 20px;
  }
}
#wrap #sec53 > .container > .item01 > ul:after {
  content: "";
  display: block;
  clear: both;
}
#wrap #sec53 > .container > .item01 > ul > li {
  float: left;
  margin: 0 1.01% 10px 0;
  width: 6.2%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container > .item01 > ul > li {
    margin: 0 1.01% 5px 0;
  }
}
#wrap #sec53 > .container > .item01 > ul > li:nth-child(14) {
  margin: 0 0 10px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container > .item01 > ul > li:nth-child(14) {
    margin: 0 0 5px 0;
  }
}
#wrap #sec53 > .container > .item01 > ul > li:last-child {
  width: 13.4%;
  margin: 0 0 10px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container > .item01 > ul > li:last-child {
    margin: 0 0 5px 0;
  }
}
#wrap #sec53 > .container > .item01 > ul > li > a {
  display: block;
  padding: 10px 0;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.3em;
  width: 100%;
  background: #edeced;
  text-decoration: none;
  color: #000;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container > .item01 > ul > li > a {
    letter-spacing: 0;
  }
}
#wrap #sec53 > .container > .item01 > ul > li > a:hover {
  background: #000;
  color: #fff;
}
#wrap #sec53 > .container > ul {
  margin: 80px 0;
}
#wrap #sec53 > .container > ul > li {
  margin-bottom: 40px;
}
#wrap #sec53 > .container > ul > li > h4 {
  width: 100%;
  background: #edeced;
  color: #000;
  font-size: 1rem;
  padding: 10px 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container > ul > li > h4 {
    font-size: 5vw;
  }
}
#wrap #sec53 > .container > ul > li > ul > li {
  padding: 30px 20px;
  border-bottom: 1px solid #f0eff0;
}
#wrap #sec53 > .container > ul > li > ul > li > .item01 {
  position: relative;
}
#wrap #sec53 > .container > ul > li > ul > li > .item01 > h5 {
  font-size: 1.2rem;
  margin-bottom: 10px;
}
#wrap #sec53 > .container > ul > li > ul > li > .item01 > p > a {
  color: #027568;
  text-decoration: underline;
}
#wrap #sec53 > .container > ul > li > ul > li > .item01 > p > a:hover {
  text-decoration: none;
}
#wrap #sec53 > .container > ul > li > ul > li > .item01 > .open {
  position: absolute;
  bottom: 0;
  right: 0;
}
#wrap #sec53 > .container > ul > li > ul > li > .item01 > .open.is-open {
  display: none;
}
#wrap #sec53 > .container > ul > li > ul > li > .item01 > .open > span {
  color: #afafaf;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap #sec53 > .container > ul > li > ul > li > .item01 > .open > span:hover {
  cursor: pointer;
  color: #000;
}
#wrap #sec53 > .container > ul > li > ul > li > .item01 > .open > span > img {
  width: 12px;
  height: 12px;
  margin-right: 5px;
}
#wrap #sec53 > .container > ul > li > ul > li > .item02 {
  position: relative;
  padding-bottom: 30px;
  padding-top: 30px;
  display: none;
}
#wrap #sec53 > .container > ul > li > ul > li > .item02 > .close {
  position: absolute;
  bottom: 0;
  right: 0;
}
#wrap #sec53 > .container > ul > li > ul > li > .item02 > .close.is-open {
  display: none;
}
#wrap #sec53 > .container > ul > li > ul > li > .item02 > .close > span {
  color: #3b776e;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap #sec53 > .container > ul > li > ul > li > .item02 > .close > span:hover {
  cursor: pointer;
  opacity: 0.5;
}
#wrap #sec53 > .container > ul > li > ul > li > .item02 > .close > span > img {
  width: 12px;
  height: 12px;
  margin-right: 5px;
}
#wrap #sec53 > .container .popup {
  display: none;
  z-index: 1001;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  width: 100vw;
  min-height: 100vh;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup {
    min-height: auto;
  }
}
#wrap #sec53 > .container .popup.active {
  display: block;
}
#wrap #sec53 > .container .popup .table_open {
  display: table-row-group !important;
}
#wrap #sec53 > .container .popup > .inner {
  position: relative;
  padding: 20px 0;
  max-width: 800px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner {
    width: 100%;
    padding: 20px;
  }
}
#wrap #sec53 > .container .popup > .inner > .close {
  position: absolute;
  top: 20px;
  right: 0;
  width: 30px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner > .close {
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
  }
}
#wrap #sec53 > .container .popup > .inner > .close:hover {
  opacity: 0.5;
  cursor: pointer;
}
#wrap #sec53 > .container .popup > .inner > .item02 > h3 {
  text-align: center;
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner > .item02 > h3 {
    font-size: 7vw;
    margin-bottom: 20px;
  }
}
#wrap #sec53 > .container .popup > .inner > .item02 > h3:focus {
  outline: none;
}
#wrap #sec53 > .container .popup > .inner > .item02 > .img {
  position: relative;
  padding-bottom: 20px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner > .item02 > .img {
    padding-bottom: 40px;
  }
}
#wrap #sec53 > .container .popup > .inner > .item02 > .img:before {
  position: absolute;
  content: "";
  bottom: 10px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 80px;
  height: 1px;
  background: #047468;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner > .item02 > .img:before {
    bottom: 20px;
  }
}
#wrap #sec53 > .container .popup > .inner > .item02 > p {
  width: 750px;
  text-align: center;
  margin: 0 auto 20px auto;
  font-family: "Noto Serif", serif;
  font-size: 1em;
  line-height: 1.6em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner > .item02 > p {
    width: 100%;
    font-size: 4vw;
  }
}
#wrap #sec53 > .container .popup > .inner > .item02 > p > span {
  font-style: italic;
}
#wrap #sec53 > .container .popup > .inner > .item02 > .text01 {
  text-align: center;
  font-size: 1.6em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner > .item02 > .text01 {
    font-size: 6vw;
  }
}
#wrap #sec53 > .container .popup > .inner > .item02 > .text02 {
  text-align: center;
  width: 100%;
  font-family: "Noto Serif", serif;
  font-size: 1em;
  font-weight: 400;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner > .item02 > .text02 {
    font-size: 4vw;
  }
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table {
  position: relative;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner > .item02 > .table {
    overflow: auto;
    white-space: nowrap;
  }
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table > table {
  width: 100%;
  margin: 0 auto;
  table-layout: fixed;
  font-family: "Noto Serif", serif;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner > .item02 > .table > table {
    width: 1170px;
  }
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table > table > thead > tr:hover {
  cursor: pointer;
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table > table > thead > tr > th {
  background: #036a5d;
  color: #fff;
  font-size: 1em;
  font-weight: 700;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner > .item02 > .table > table > thead > tr > th {
    text-align: left;
    padding-left: 3%;
    font-size: 5vw;
  }
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table > table > thead > tr > td {
  background: #449087;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table > table > thead > tr:first-child {
  border-bottom: 2px solid #fff;
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table > table > thead:before {
  color: #fff;
  font-size: 22px;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 26px;
  right: 20px;
  transform: translateY(-50%);
  content: "\f107";
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table > table > thead.active:before {
  transform: rotate(180deg) translateY(50%);
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table > table > thead.is-open:before {
  transform: translateY(-50%);
  content: "\f106";
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table > table > tbody {
  display: none;
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table > table > tbody > tr > th {
  background: #67a69e;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner > .item02 > .table > table > tbody > tr > th {
    font-size: 4vw;
  }
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table > table > tbody > tr > td {
  padding: 10px 0;
  text-align: center;
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table > table > tbody > tr:nth-child(odd) {
  background: #edf3f4;
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table > table > tbody > tr:last-child {
  border-bottom: 1px solid #036a5d;
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table > table > tbody > tr:first-child {
  background: #449087;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner > .item02 > .table > table > tbody > tr:first-child {
    font-size: 4vw;
    position: relative;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner > .item02 > .table > table > tbody > tr:first-child > td:first-child:before {
    position: absolute;
    top: 66px;
    right: 10px;
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    speak: none;
    line-height: 1em;
    display: inline-block;
    text-decoration: inherit;
    width: auto;
    text-align: center;
    content: "\e803";
    vertical-align: middle;
    font-size: 4vw;
  }
  #wrap #sec53 > .container .popup > .inner > .item02 > .table > table > tbody > tr:first-child > td:first-child:after {
    position: absolute;
    top: 61px;
    right: 20px;
    content: "Scroll";
    font-size: 4vw;
  }
}
#wrap #sec53 > .container .popup > .inner > .item02 > .table > table > tbody > tr.tableaddtr {
  background: #449087;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner > .item02 > .table > table > tbody > tr.tableaddtr {
    font-size: 4vw;
  }
}
#wrap #sec53 > .container .popup > .inner > .item02 > .btn {
  text-align: center;
}
#wrap #sec53 > .container .popup > .inner > .item02 > .btn > a {
  display: block;
  width: 280px;
  margin: 0 auto;
  padding: 10px 0;
  text-align: center;
  color: #fff;
  text-decoration: none;
  background: #ca1e1e;
  border: 1px solid #ca1e1e;
  border-radius: 35px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec53 > .container .popup > .inner > .item02 > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap #sec53 > .container .popup > .inner > .item02 > .btn > a:hover {
  opacity: 0.7;
}
#wrap #sec53 .modal_img {
  text-align: center;
}
#wrap #sec53 .word_list .no_link a {
  pointer-events: none;
  color: #fff !important;
}
#wrap #sec53 .thumb_wrap_twoitem {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
}
#wrap #sec53 .thumb_wrap_twoitem .thumb_wrap {
  margin-right: 20px;
}
#wrap #sec53 .thumb_wrap_other {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
}
#wrap #sec53 .thumb_wrap {
  padding-top: 20px;
}
#wrap #sec53 .thumb_wrap.here {
  padding-top: 0px;
}
#wrap #sec53 .thumb_wrap.here .inline_txt {
  display: inline;
}
#wrap #sec53 .thumb_wrap .thumb {
  max-width: 200px;
}
#wrap #sec53 .thumb_wrap .thumb img {
  border: 1px solid #ddd;
}
#wrap #sec53 .thumb_wrap .link_color {
  color: #027568;
  text-decoration: underline;
  transition: 0s;
}
#wrap #sec53 .thumb_wrap .link_color:hover {
  opacity: 1;
  text-decoration: none;
}
#wrap #sec53 .modal_item {
  cursor: pointer;
  transition: opacity 0.5s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap #sec53 .modal_item:hover {
  opacity: 0.5;
}
#wrap #sec54 {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec54 {
    padding: 50px 0;
  }
}
#wrap #sec54 > .container > h2 {
  text-align: center;
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec54 > .container > h2 {
    font-size: 10vw;
    margin-bottom: 20px;
  }
}
#wrap #sec54 > .container > ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 372px));
  justify-content: center;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec54 > .container > ul {
    grid-template-columns: minmax(0, 600px);
    gap: 5px 0;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec54 > .container > ul > li {
    width: 100%;
    margin: 0 0 10px 0;
  }
}
#wrap #sec54 > .container > ul > li > a {
  text-decoration: none;
  color: #fff;
  width: 100%;
}
#wrap #sec54 > .container > ul > li > a:hover > .img {
  opacity: 0.5;
}
#wrap #sec54 > .container > ul > li > a > .img {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 372/178;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap #sec54 > .container > ul > li > a > .img::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 0;
}
#wrap #sec54 > .container > ul > li > a > .img > img {
  position: absolute;
  width: 100%;
  height: 100%;
  max-width: inherit;
  max-height: inherit;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
}
#wrap #sec54 > .container > ul > li > a > .img > p {
  font-size: 1.4rem;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  position: relative;
  text-align: center;
  z-index: 1;
}
@media only screen and (max-width: 768px) {
  #wrap #sec54 > .container > ul > li > a > .img > p {
    width: 100%;
  }
}
#wrap #sec61 {
  width: 100%;
  height: 400px;
  background: url(../img/projects/sec61_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec61 {
    height: auto;
  }
}
#wrap #sec61 > .container {
  position: relative;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec61 > .container {
    padding-block: 18vw 19vw;
  }
}
#wrap #sec61 > .container > .item01 {
  text-align: center;
  position: absolute;
  top: 130px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 700px;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #sec61 > .container > .item01 {
    position: static;
    width: 100%;
  }
}
#wrap #sec61 > .container > .item01 > h1 {
  position: relative;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec61 > .container > .item01 > h1 {
    font-size: 12vw;
  }
}
#wrap #sec61 > .container > .item01 > p {
  font-family: "Noto Serif", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec61 > .container > .item01 > p {
    padding: 0 12px;
    font-size: 4vw;
    line-height: 1.2em;
  }
}
#wrap #sec61 > .container > .item01 > p > br {
  display: none;
}
@media only screen and (max-width: 768px) {
  #wrap #sec61 > .container > .item01 > p > br {
    display: block;
  }
}
#wrap #sec62 {
  padding: 50px 0;
  background: #fbf9f6;
  overflow-x: hidden;
}
@media only screen and (max-width: 768px) {
  #wrap #sec62 {
    padding: 40px 0;
  }
}
#wrap #sec62 > .container.container_w {
  width: 100vw;
  max-width: 1350px;
  padding: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec62 > .container.container_w {
    width: 100%;
    max-width: 100%;
  }
}
#wrap #sec62 > .container > ul {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  text-align: center;
}
#wrap #sec62 > .container > ul:after {
  content: "";
  display: block;
  clear: both;
}
#wrap #sec62 > .container > ul > li {
  display: inline-table;
  background: #fff;
  width: 31.73%;
  margin-right: 2%;
  margin-bottom: 2%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec62 > .container > ul > li {
    width: 95%;
    margin: 0 auto 30px auto;
  }
}
#wrap #sec62 > .container > ul > li:nth-child(3n+3) {
  margin-right: 0;
}
#wrap #sec62 > .container > ul > li:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec62 > .container > ul > li:last-child {
    margin: 0 auto;
  }
}
#wrap #sec62 > .container > ul > li > a {
  display: block;
  text-decoration: none;
  color: #000;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap #sec62 > .container > ul > li > a:hover {
  opacity: 0.7;
}
#wrap #sec62 > .container > ul > li > a:hover > .btn > span {
  color: #fff;
  background: #057468;
  border: 1px solid #057468;
}
#wrap #sec62 > .container > ul > li > a > .img {
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec62 > .container > ul > li > a > .img {
    margin-bottom: 20px;
  }
}
#wrap #sec62 > .container > ul > li > a > .img > img {
  width: 100%;
  height: auto;
}
#wrap #sec62 > .container > ul > li > a > h3 {
  position: relative;
  color: #3c3d3d;
  text-align: left;
  font-size: 2em;
  line-height: 1em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  padding: 0 10px 20px 10px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec62 > .container > ul > li > a > h3 {
    text-align: center;
    font-size: 7vw;
    padding: 0 10px 40px 10px;
  }
}
#wrap #sec62 > .container > ul > li > a > h3:before {
  position: absolute;
  content: "";
  bottom: 10px;
  left: 10px;
  margin: 0 auto 0 0;
  width: 25px;
  height: 1px;
  background: #047468;
}
@media only screen and (max-width: 768px) {
  #wrap #sec62 > .container > ul > li > a > h3:before {
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
#wrap #sec62 > .container > ul > li > a > h3 > span {
  display: block;
  font-size: 60%;
}
#wrap #sec62 > .container > ul > li > a > p {
  text-align: left;
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1em;
  line-height: 1.6em;
  margin-bottom: 20px;
  padding: 0 10px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec62 > .container > ul > li > a > p {
    font-size: 4vw;
    padding: 0 10px;
  }
}
#wrap #sec62 > .container > ul > li > a > .btn {
  padding: 0 10px 20px 10px;
  text-align: left;
}
@media only screen and (max-width: 768px) {
  #wrap #sec62 > .container > ul > li > a > .btn {
    padding: 0 0 20px 0;
    text-align: center;
  }
}
#wrap #sec62 > .container > ul > li > a > .btn > span {
  display: inline-block;
  margin: 0 auto;
  padding: 10px 30px;
  text-align: center;
  color: #000;
  border-radius: 2px;
  text-decoration: none;
  border: 1px solid #000;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap #sec62 > .container > ul > li > a > .btn > span:hover {
  color: #fff;
  background: #057468;
  border: 1px solid #057468;
}
#wrap #sec71 {
  width: 100%;
  height: 400px;
  background: url(../img/story/sec71_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec71 {
    width: 100%;
    height: auto;
  }
}
#wrap #sec71 > .container {
  position: relative;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec71 > .container {
    padding-block: 19vw 18vw;
  }
}
#wrap #sec71 > .container > .item01 {
  text-align: center;
  position: absolute;
  top: 140px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 700px;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #sec71 > .container > .item01 {
    position: static;
    width: 100%;
  }
}
#wrap #sec71 > .container > .item01 > h1 {
  position: relative;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec71 > .container > .item01 > h1 {
    font-size: 12vw;
  }
}
#wrap #sec71 > .container > .item01 > p {
  font-family: "Noto Serif", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec71 > .container > .item01 > p {
    padding: 0 12px;
    font-size: 4vw;
    line-height: 1.2em;
  }
}
#wrap #sec71 > .container > .item01 > p > br {
  display: none;
}
@media only screen and (max-width: 768px) {
  #wrap #sec71 > .container > .item01 > p > br {
    display: block;
  }
}
#wrap #sec72 {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 {
    padding: 50px 0;
  }
}
#wrap #sec72 > .container {
  max-width: 1200px;
}
#wrap #sec72 > .container > h2 {
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > h2 {
    font-size: 10vw;
    margin-bottom: 40px;
  }
}
#wrap #sec72 > .container > .item01 {
  background: #faf8f6;
  border-radius: 2px;
  padding: 60px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item01 {
    padding: 40px 20px;
  }
}
#wrap #sec72 > .container > .item01 > h3 {
  text-align: center;
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item01 > h3 {
    font-size: 7vw;
    margin-bottom: 20px;
  }
}
#wrap #sec72 > .container > .item01 > .item02 {
  display: grid;
  grid-template-columns: 38.0952380952% 58.0952380952%;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item01 > .item02 {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item01 > .item02 > .left {
    text-align: center;
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item01 > .item02 > .right {
    padding-top: 20px;
  }
}
#wrap #sec72 > .container > .item01 > .item02 > .right > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 1.6em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item01 > .item02 > .right {
    width: 100%;
    font-size: 4vw;
  }
}
#wrap #sec72 > .container > .item03 {
  position: relative;
  padding: 100px 0 0 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item03 {
    padding: 70px 0 0 0;
  }
}
#wrap #sec72 > .container > .item03:before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  content: "";
  width: 4px;
  height: 100%;
  margin: 0 auto;
  background: #faf8f6;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item03:before {
    height: 100%;
    right: auto;
    left: 8%;
  }
}
#wrap #sec72 > .container > .item03 > ul {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 130px;
       column-gap: 130px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item03 > ul {
    display: block;
    height: auto;
  }
}
#wrap #sec72 > .container > .item03 > ul > li {
  position: relative;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item03 > ul > li {
    width: 80%;
    margin: 0 0 0 auto;
    padding-bottom: 40px;
    position: relative;
  }
}
#wrap #sec72 > .container > .item03 > ul > li > .item04 {
  background: #faf8f6;
  border-radius: 2px;
  padding: 30px 50px;
  max-width: 520px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item03 > ul > li > .item04 {
    padding: 20px;
    width: 100%;
  }
}
#wrap #sec72 > .container > .item03 > ul > li > .item04 > h4 {
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1.4em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item03 > ul > li > .item04 > h4 {
    font-size: 6vw;
    line-height: 1.1em;
  }
}
#wrap #sec72 > .container > .item03 > ul > li > .item04 > h4 > span {
  display: block;
  color: #057468;
}
#wrap #sec72 > .container > .item03 > ul > li > .item04 > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1em;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item03 > ul > li > .item04 > p {
    font-size: 4vw;
  }
}
#wrap #sec72 > .container > .item03 > ul > li:nth-child(odd):before {
  position: absolute;
  content: "";
  top: -15px;
  right: -65px;
  width: 50px;
  height: 62px;
  background: url(../img/story/sec72_img02.png) no-repeat center center/50px 62px;
  translate: 50%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item03 > ul > li:nth-child(odd):before {
    top: 0;
    left: -23%;
    right: auto;
    margin: 0 0 0 auto;
    translate: none;
  }
}
#wrap #sec72 > .container > .item03 > ul > li:nth-child(odd) > .item04:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  border: 10px solid transparent;
  border-left: 20px solid #faf8f6;
  translate: 100% 10px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item03 > ul > li:nth-child(odd) > .item04:after {
    display: none;
  }
}
@media only screen and (min-width: 769px) {
  #wrap #sec72 > .container > .item03 > ul > li:nth-child(even) {
    margin-top: 200px;
  }
}
#wrap #sec72 > .container > .item03 > ul > li:nth-child(even):before {
  position: absolute;
  content: "";
  top: -15px;
  left: -65px;
  width: 61px;
  height: 61px;
  background: url(../img/story/sec72_img03.png) no-repeat center center/61px 61px;
  translate: -50%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item03 > ul > li:nth-child(even):before {
    top: 0;
    left: -26%;
    right: auto;
    margin: 0 0 0 auto;
    translate: none;
  }
}
#wrap #sec72 > .container > .item03 > ul > li:nth-child(even) > .item04 {
  margin-left: auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item03 > ul > li:nth-child(even) > .item04 {
    margin-left: 0;
  }
}
#wrap #sec72 > .container > .item03 > ul > li:nth-child(even) > .item04:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border: 10px solid transparent;
  border-right: 20px solid #faf8f6;
  translate: -100% 10px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item03 > ul > li:nth-child(even) > .item04:after {
    display: none;
  }
}
#wrap #sec72 > .container > .item05 {
  position: relative;
  padding: 0 0 100px 0;
}
#wrap #sec72 > .container > .item05:before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  content: "";
  width: 4px;
  height: 700px;
  margin: 0 auto;
  background: #faf8f6;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item05:before {
    height: 100%;
    right: auto;
    left: 8%;
  }
}
#wrap #sec72 > .container > .item05:after {
  position: absolute;
  content: "";
  bottom: -15px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 58px;
  height: 79px;
  background: url(../img/story/sec72_img06.png) no-repeat center center/58px 79px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item05:after {
    bottom: 0;
    left: 0;
    right: auto;
    margin: 0 0 0 auto;
  }
}
#wrap #sec72 > .container > .item05 > ul {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 130px;
       column-gap: 130px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item05 > ul {
    display: block;
    height: auto;
  }
}
#wrap #sec72 > .container > .item05 > ul > li {
  position: relative;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item05 > ul > li {
    width: 80%;
    margin: 0 0 0 auto;
    padding-bottom: 40px;
    position: relative;
  }
}
#wrap #sec72 > .container > .item05 > ul > li > .item06 {
  background: #faf8f6;
  border-radius: 2px;
  padding: 30px 50px;
  max-width: 520px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item05 > ul > li > .item06 {
    padding: 20px;
    width: 100%;
  }
}
#wrap #sec72 > .container > .item05 > ul > li > .item06 > h4 {
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1.4em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item05 > ul > li > .item06 > h4 {
    font-size: 6vw;
    line-height: 1.1em;
  }
}
#wrap #sec72 > .container > .item05 > ul > li > .item06 > h4 > span {
  display: block;
  color: #057468;
}
#wrap #sec72 > .container > .item05 > ul > li > .item06 > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1em;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item05 > ul > li > .item06 > p {
    font-size: 4vw;
  }
}
#wrap #sec72 > .container > .item05 > ul > li:nth-child(odd):before {
  position: absolute;
  content: "";
  top: -15px;
  right: -65px;
  width: 52px;
  height: 68px;
  background: url(../img/story/sec72_img04.png) no-repeat center center/contain;
  translate: 50%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item05 > ul > li:nth-child(odd):before {
    top: 0;
    left: -23%;
    right: auto;
    margin: 0 0 0 auto;
    translate: none;
  }
}
#wrap #sec72 > .container > .item05 > ul > li:nth-child(odd) > .item06:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  border: 10px solid transparent;
  border-left: 20px solid #faf8f6;
  translate: 100% 10px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item05 > ul > li:nth-child(odd) > .item06:after {
    display: none;
  }
}
@media only screen and (min-width: 769px) {
  #wrap #sec72 > .container > .item05 > ul > li:nth-child(even) {
    margin-top: 200px;
  }
}
#wrap #sec72 > .container > .item05 > ul > li:nth-child(even):before {
  position: absolute;
  content: "";
  top: -15px;
  left: -65px;
  width: 58px;
  height: 57px;
  background: url(../img/story/sec72_img05.png) no-repeat center center/contain;
  translate: -50%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item05 > ul > li:nth-child(even):before {
    top: 0;
    left: -26%;
    right: auto;
    margin: 0 0 0 auto;
    translate: none;
  }
}
#wrap #sec72 > .container > .item05 > ul > li:nth-child(even) > .item06 {
  margin-left: auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item05 > ul > li:nth-child(even) > .item06 {
    margin-left: 0;
  }
}
#wrap #sec72 > .container > .item05 > ul > li:nth-child(even) > .item06:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border: 10px solid transparent;
  border-right: 20px solid #faf8f6;
  translate: -100% 10px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item05 > ul > li:nth-child(even) > .item06:after {
    display: none;
  }
}
#wrap #sec72 > .container > .item07 {
  background: #faf8f6;
  border-radius: 2px;
  padding: 60px;
  margin-top: 40px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item07 {
    padding: 40px 20px;
    margin-top: 20px;
  }
}
#wrap #sec72 > .container > .item07:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-bottom: 15px solid #faf8f6;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item07:before {
    left: 7%;
  }
}
#wrap #sec72 > .container > .item07 > h4 {
  text-align: center;
  font-size: 2.4em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1.4em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item07 > h4 {
    font-size: 7vw;
    line-height: 1.2em;
  }
}
#wrap #sec72 > .container > .item07 > h4 > span {
  display: block;
  color: #057468;
}
#wrap #sec72 > .container > .item07 > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1em;
  line-height: 2em;
}
#wrap #sec72 > .container > .item07 > .item08 {
  display: grid;
  grid-template-columns: 42.8571428571% 50.4761904762%;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item07 > .item08 {
    display: block;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item07 > .item08 > .left {
    width: 100%;
    padding: 0 0 40px 0;
  }
}
#wrap #sec72 > .container > .item07 > .item08 > .left > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 1.6em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item07 > .item08 > .left > p {
    font-size: 4vw;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec72 > .container > .item07 > .item08 > .right {
    width: 100%;
    margin-left: 0;
  }
}
#wrap #sec72 > .container > .item07 > .item08 > .right > .img > img {
  width: 100%;
  height: auto;
}
#wrap #sec73 {
  background: #faf9f7;
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec73 {
    padding: 60px 0 30px 0;
  }
}
#wrap #sec73 > .container > .item01 {
  max-width: 960px;
  margin: 0 auto;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec73 > .container > .item01 {
    width: 100%;
  }
}
#wrap #sec73 > .container > .item01 > .img {
  margin-bottom: 60px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec73 > .container > .item01 > .img {
    margin-bottom: 30px;
  }
}
#wrap #sec73 > .container > .item01 > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec73 > .container > .item01 > p {
    text-align: left;
    font-size: 4vw;
  }
}
#wrap #sec73 > .container > .item01 > p > a {
  color: #027568;
  text-decoration: underline;
}
#wrap #sec73 > .container > .item01 > p > a:hover {
  text-decoration: none;
}
#wrap #sec73 > .container > .item01 > p > span {
  margin-left: 5px;
  color: #e20226;
}
#wrap #sec101 {
  width: 100%;
  height: 400px;
  background: url(../img/projects/sec101_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec101 {
    height: 240px;
  }
}
#wrap #sec101 > .container {
  position: relative;
  height: 400px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec101 > .container {
    height: 240px;
  }
}
#wrap #sec101 > .container > .item01 {
  text-align: center;
  position: absolute;
  top: 130px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 700px;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #sec101 > .container > .item01 {
    top: 30%;
    width: 100%;
  }
}
#wrap #sec101 > .container > .item01 > h1 {
  position: relative;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec101 > .container > .item01 > h1 {
    font-size: 12vw;
  }
}
#wrap #sec101 > .container > .item01 > p {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-size: 2.4em;
  line-height: 1.6em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec101 > .container > .item01 > p {
    padding: 0 12px;
    font-size: 4vw;
    line-height: 1.2em;
  }
}
#wrap #sec201 {
  width: 100%;
  height: 400px;
  background: url(../img/projects/sec201_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec201 {
    height: auto;
  }
}
#wrap #sec201 > .container {
  position: relative;
  height: 100%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec201 > .container {
    padding-block: 21vw;
  }
}
#wrap #sec201 > .container > .item01 {
  text-align: center;
  position: absolute;
  top: 130px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 700px;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #sec201 > .container > .item01 {
    position: static;
    width: 100%;
  }
}
#wrap #sec201 > .container > .item01 > h1 {
  position: relative;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec201 > .container > .item01 > h1 {
    font-size: 12vw;
  }
}
#wrap #sec201 > .container > .item01 > p {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-size: 2.4em;
  line-height: 1.6em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec201 > .container > .item01 > p {
    padding: 0 12px;
    font-size: 4vw;
    line-height: 1.2em;
  }
}
#wrap #sec301 {
  width: 100%;
  height: 400px;
  background: url(../img/projects/sec301_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec301 {
    height: 75vw;
  }
}
#wrap #sec301 > .container {
  position: relative;
  height: 400px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec301 > .container {
    height: 75vw;
  }
}
#wrap #sec301 > .container > .item01 {
  text-align: center;
  position: absolute;
  top: 100px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 700px;
  color: #000;
}
@media only screen and (max-width: 768px) {
  #wrap #sec301 > .container > .item01 {
    top: 30%;
    width: 100%;
  }
}
#wrap #sec301 > .container > .item01 > h1 {
  position: relative;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 5px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec301 > .container > .item01 > h1 {
    font-size: 12vw;
  }
}
#wrap #sec301 > .container > .item01 > p {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-size: 2.4em;
  line-height: 1.6em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec301 > .container > .item01 > p {
    padding: 0 12px;
    font-size: 4vw;
    line-height: 1.2em;
  }
}
#wrap #sec301 > .container > .item01 > .text01 {
  text-align: center;
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 1.6em;
  padding: 0 100px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec301 > .container > .item01 > .text01 {
    color: #000;
    padding: 0 12px;
    font-size: 3vw;
    line-height: 1.2em;
  }
}
#wrap #sec302 {
  overflow-x: hidden;
  width: 100%;
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 {
    padding: 40px 0;
  }
}
#wrap #sec302 > .container {
  max-width: 1200px;
}
#wrap #sec302 > .container > ul > li {
  position: relative;
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li {
    margin-bottom: 60px;
  }
}
#wrap #sec302 > .container > ul > li > .item01 {
  position: relative;
  z-index: 1;
  display: grid;
  justify-content: space-between;
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li > .item01 {
    display: block;
  }
}
#wrap #sec302 > .container > ul > li > .item01 h3 {
  position: relative;
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1.2em;
  margin-bottom: 50px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li > .item01 h3 {
    font-size: 8vw;
  }
}
#wrap #sec302 > .container > ul > li > .item01 h3:before {
  position: absolute;
  content: "";
  bottom: -25px;
  left: 0;
  margin: 0 0 0 auto;
  width: 60px;
  height: 1px;
  background: #047468;
}
#wrap #sec302 > .container > ul > li > .item01 p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 1.6em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li > .item01 p {
    font-size: 4vw;
  }
}
#wrap #sec302 > .container > ul > li:nth-child(odd):after {
  z-index: 0;
  position: absolute;
  bottom: 40px;
  left: -100px;
  width: 100vw;
  height: 300px;
  background: #f9f9f6;
  content: "";
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li:nth-child(odd):after {
    top: 25px;
    buttom: auto;
  }
}
#wrap #sec302 > .container > ul > li:nth-child(odd) > .item01 {
  grid-template-columns: 44.4444444444% 49.5726495726%;
}
#wrap #sec302 > .container > ul > li:nth-child(odd) > .item01 > .left {
  padding-top: 50px;
  padding-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li:nth-child(odd) > .item01 > .left {
    width: 100%;
    padding: 0;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li:nth-child(odd) > .item01 > .left > .img {
    width: 80%;
    margin: 0 auto 10px auto;
  }
}
#wrap #sec302 > .container > ul > li:nth-child(odd) > .item01 > .right {
  padding-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li:nth-child(odd) > .item01 > .right {
    width: 100%;
    padding: 0;
    margin: 0;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li:nth-child(odd) > .item01 > .right > .img {
    width: 100%;
  }
}
#wrap #sec302 > .container > ul > li:nth-child(even):after {
  z-index: 0;
  position: absolute;
  bottom: 40px;
  right: -100px;
  width: 100vw;
  height: 300px;
  background: #f9f9f6;
  content: "";
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li:nth-child(even):after {
    right: auto;
    left: -100px;
    top: 25px;
    buttom: auto;
  }
}
#wrap #sec302 > .container > ul > li:nth-child(even) > .item01 {
  grid-template-columns: 49.5726495726% 44.4444444444%;
}
#wrap #sec302 > .container > ul > li:nth-child(even) > .item01 > .left {
  padding-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li:nth-child(even) > .item01 > .left {
    display: table-footer-group;
    width: 100%;
    padding: 0;
  }
}
#wrap #sec302 > .container > ul > li:nth-child(even) > .item01 > .right {
  padding-top: 50px;
  padding-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li:nth-child(even) > .item01 > .right {
    display: table-header-group;
    width: 100%;
    padding: 0;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li:nth-child(even) > .item01 > .right > .img {
    width: 80%;
    margin: 0 auto 10px auto;
  }
}
#wrap #sec302 > .container > ul > li:nth-child(2) > .item01 > .right {
  padding-top: 70px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li:nth-child(2) > .item01 > .right {
    padding-top: 0;
  }
}
#wrap #sec302 > .container > ul > li:nth-child(2) > .item01 > .right {
  padding-top: 70px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li:nth-child(2) > .item01 > .right {
    padding-top: 0;
  }
}
#wrap #sec302 > .container > ul > li:nth-child(3) > .item01 > .left {
  padding-top: 0;
}
#wrap #sec302 > .container > ul > li:nth-child(3) > .item01 > .right {
  padding-top: 70px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li:nth-child(3) > .item01 > .right {
    padding-top: 0;
  }
}
#wrap #sec302 > .container > ul > li:nth-child(4) > .item01 > .left {
  padding-top: 90px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li:nth-child(4) > .item01 > .left {
    padding-top: 0;
  }
}
#wrap #sec302 > .container > ul > li:nth-child(4) > .item01 > .right {
  padding-top: 0;
}
#wrap #sec302 > .container > ul > li:nth-child(5) > .item01 > .left {
  padding-top: 0;
}
#wrap #sec302 > .container > ul > li:nth-child(5) > .item01 > .right {
  padding-top: 120px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec302 > .container > ul > li:nth-child(5) > .item01 > .right {
    padding-top: 0;
  }
}
#wrap #sec401 {
  width: 100%;
  height: 400px;
  background: url(../img/projects/sec401_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec401 {
    height: 75vw;
    background: url(../img/projects/sec401_img01.jpg) no-repeat center right 30%/cover;
  }
}
#wrap #sec401 > .container {
  position: relative;
  height: 400px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec401 > .container {
    height: 75vw;
  }
}
#wrap #sec401 > .container > .item01 {
  text-align: center;
  position: absolute;
  top: 130px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 700px;
  color: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #sec401 > .container > .item01 {
    top: 30%;
    width: 100%;
  }
}
#wrap #sec401 > .container > .item01 .shadow {
  text-shadow: 0px 30px 105px rgba(0, 0, 0, 0.01), 0px -30px 105px rgba(0, 0, 0, 0.01), -30px 0px 40px rgba(0, 0, 0, 0.8), 30px 0px 40px rgb(0, 0, 0.8);
}
#wrap #sec401 > .container > .item01 h1 {
  position: relative;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 12px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec401 > .container > .item01 h1 {
    font-size: 12vw;
  }
}
#wrap #sec401 > .container > .item01 p {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-size: 2.4em;
  line-height: 1.6em;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec401 > .container > .item01 p {
    padding: 0 12px;
    font-size: 4vw;
    line-height: 1.2em;
  }
}
#wrap #sec401 > .container > .item01 > .text01 {
  text-align: center;
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 1.6em;
  padding: 0 100px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec401 > .container > .item01 > .text01 {
    color: #000;
    padding: 0 12px;
    font-size: 3vw;
    line-height: 1.2em;
  }
}
#wrap #sec402 {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec402 {
    padding: 30px 0;
  }
}
#wrap #sec402 > .container > h2 {
  text-align: center;
  font-size: 2.4em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec402 > .container > h2 {
    line-height: 1.2em;
    font-size: 10vw;
  }
}
#wrap #sec402 > .container > h2 > br {
  display: none;
}
@media only screen and (max-width: 768px) {
  #wrap #sec402 > .container > h2 > br {
    display: block;
  }
}
#wrap #sec402 > .container > p {
  text-align: center;
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
  max-width: 960px;
  margin: 0 auto 100px auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec402 > .container > p {
    width: 100%;
    margin: 0 auto 30px auto;
    font-size: 4vw;
  }
}
#wrap #sec402 > .container > ul {
  max-width: 965px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec402 > .container > ul {
    width: 100%;
  }
}
#wrap #sec402 > .container > ul > li {
  margin-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec402 > .container > ul > li {
    margin-bottom: 40px;
  }
}
#wrap #sec402 > .container > ul > li:last-child {
  margin-bottom: 0;
}
#wrap #sec402 > .container > ul > li > .img {
  width: 600px;
  margin: 0 auto 50px auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec402 > .container > ul > li > .img {
    width: 80%;
  }
}
#wrap #sec402 > .container > ul > li > .img.img_w {
  width: 900px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec402 > .container > ul > li > .img.img_w {
    width: 100%;
  }
}
#wrap #sec402 > .container > ul > li > .img > img {
  width: 100%;
  height: auto;
}
#wrap #sec402 > .container > ul > li > .text01 {
  color: #057468;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  font-size: 1em;
  max-width: 900px;
  margin: 0 auto 10px auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec402 > .container > ul > li > .text01 {
    width: 100%;
    padding: 0 10px;
  }
}
#wrap #sec402 > .container > ul > li > .text01.ttl_mt {
  padding-top: 50px;
}
#wrap #sec402 > .container > ul > li > h3 {
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  max-width: 900px;
  line-height: 1.4em;
  margin: 0 auto 20px auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec402 > .container > ul > li > h3 {
    width: 100%;
    line-height: 1.2em;
    font-size: 8vw;
  }
}
#wrap #sec402 > .container > ul > li > h3.ttl_mt {
  padding-top: 50px;
}
#wrap #sec402 > .container > ul > li > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
  max-width: 900px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec402 > .container > ul > li > p {
    width: 100%;
    padding: 0 10px;
    font-size: 4vw;
  }
}
#wrap #sec402 > .container > ul > li > p span {
  font-style: italic;
}
#wrap #sec102 {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec102 {
    padding: 30px 0;
  }
}
#wrap #sec102 > .container > h2 {
  text-align: center;
  font-size: 2.4em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec102 > .container > h2 {
    line-height: 1.2em;
    font-size: 10vw;
  }
}
#wrap #sec102 > .container > h2 > br {
  display: none;
}
@media only screen and (max-width: 768px) {
  #wrap #sec102 > .container > h2 > br {
    display: block;
  }
}
#wrap #sec102 > .container > p {
  text-align: center;
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
  max-width: 960px;
  margin: 0 auto 100px auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec102 > .container > p {
    width: 100%;
    margin: 0 auto 30px auto;
    font-size: 4vw;
  }
}
#wrap #sec102 > .container > ul {
  max-width: 965px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec102 > .container > ul {
    width: 100%;
  }
}
#wrap #sec102 > .container > ul > li {
  margin-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec102 > .container > ul > li {
    margin-bottom: 40px;
  }
}
#wrap #sec102 > .container > ul > li:last-child {
  margin-bottom: 0;
}
#wrap #sec102 > .container > ul > li > .img {
  width: 600px;
  margin: 0 auto 50px auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec102 > .container > ul > li > .img {
    width: 80%;
  }
}
#wrap #sec102 > .container > ul > li > .img.img_w {
  max-width: 900px;
  width: 100%;
}
#wrap #sec102 > .container > ul > li > .img > img {
  width: 100%;
  height: auto;
}
#wrap #sec102 > .container > ul > li > .text01 {
  color: #057468;
  font-weight: 500;
  font-family: "Jost", sans-serif;
  font-size: 1em;
  max-width: 900px;
  margin: 0 auto 10px auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec102 > .container > ul > li > .text01 {
    width: 100%;
    padding: 0 10px;
  }
}
#wrap #sec102 > .container > ul > li > h3 {
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  max-width: 900px;
  line-height: 1.4em;
  margin: 0 auto 20px auto;
  padding: 0 10px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec102 > .container > ul > li > h3 {
    width: 100%;
    line-height: 1.2em;
    font-size: 8vw;
  }
}
#wrap #sec102 > .container > ul > li > p {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 2em;
  max-width: 900px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec102 > .container > ul > li > p {
    width: 100%;
    padding: 0 10px;
    font-size: 4vw;
  }
}
#wrap #sec102 > .container > ul > li > p span {
  font-style: italic;
}
#wrap #sec103 {
  background: #faf9f7;
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 {
    padding: 40px 0 0 0;
  }
}
#wrap #sec103 > .container > h2 {
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > h2 {
    line-height: 1.2em;
    font-size: 8vw;
  }
}
#wrap #sec103 > .container > .list01 {
  max-width: 800px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 {
    width: 100%;
  }
}
#wrap #sec103 > .container > .list01 > ul {
  width: 100%;
  text-align: center;
  display: table;
}
#wrap #sec103 > .container > .list01 > ul > li {
  width: 24%;
  display: inline-table;
  margin: 0 0 20px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li {
    width: 47%;
    margin: 0 0 30px 0;
  }
}
#wrap #sec103 > .container > .list01 > ul > li > .item03 {
  text-align: center;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#wrap #sec103 > .container > .list01 > ul > li > .item03:hover {
  cursor: pointer;
  opacity: 0.7;
}
#wrap #sec103 > .container > .list01 > ul > li > .item03 > .img {
  display: block;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li > .item03 > .img {
    margin-bottom: 1px;
  }
}
#wrap #sec103 > .container > .list01 > ul > li > .item03 > .img > img {
  height: 80px;
  width: auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li > .item03 > .img > img {
    height: 60px;
    width: auto;
  }
}
#wrap #sec103 > .container > .list01 > ul > li > .item03 > span {
  font-size: 1em;
  font-weight: 500;
  color: #000;
  font-family: "Jost", sans-serif;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li > .item03 > span {
    font-size: 3vw;
    line-height: 1.2em;
  }
}
#wrap #sec103 > .container > .list01 > ul > li > .item03 > span:before {
  content: "-";
  color: #047468;
  margin-right: 10px;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li > .item03 > span:before {
    display: none;
  }
}
#wrap #sec103 > .container > .list01 > ul > li > .item03 > span:after {
  content: "-";
  color: #047468;
  margin-left: 10px;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li > .item03 > span:after {
    display: none;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup {
  display: none;
  z-index: 1001;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  width: 100vw;
  min-height: 100vh;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup {
    min-height: auto;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup.active {
  display: block;
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner {
  position: relative;
  padding: 20px 0;
  max-width: 800px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner {
    width: 100%;
    padding: 20px;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .close {
  position: absolute;
  top: 20px;
  right: 0;
  width: 30px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .close {
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .close:hover {
  opacity: 0.5;
  cursor: pointer;
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > h3 {
  text-align: center;
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > h3 {
    font-size: 7vw;
    margin-bottom: 20px;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > h3:focus {
  outline: none;
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .img {
  position: relative;
  padding-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .img {
    padding-bottom: 40px;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .img:before {
  position: absolute;
  content: "";
  bottom: 10px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 80px;
  height: 1px;
  background: #047468;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .img:before {
    bottom: 20px;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > p {
  width: 750px;
  margin: 0 auto 20px auto;
  font-family: "Noto Serif", serif;
  font-size: 1em;
  line-height: 1.6em;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > p {
    width: 100%;
    font-size: 4vw;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > p > span {
  font-style: italic;
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .text01 {
  text-align: center;
  font-size: 1.6em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .text01 {
    font-size: 6vw;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .text02 {
  text-align: center;
  width: 100%;
  font-family: "Noto Serif", serif;
  font-size: 1em;
  font-weight: 400;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .text02 {
    font-size: 4vw;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table {
  position: relative;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table {
    overflow: auto;
    white-space: nowrap;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table {
  width: 100%;
  margin: 0 auto;
  table-layout: fixed;
  font-family: "Noto Serif", serif;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table {
    width: 1170px;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > thead > tr:hover {
  cursor: pointer;
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > thead > tr > th {
  background: #036a5d;
  color: #fff;
  font-size: 1em;
  font-weight: 700;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > thead > tr > th {
    text-align: left;
    padding-left: 3%;
    font-size: 5vw;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > thead > tr > td {
  background: #449087;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > thead > tr:first-child {
  border-bottom: 2px solid #fff;
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > thead:before {
  color: #fff;
  font-size: 22px;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 26px;
  right: 20px;
  transform: translateY(-50%);
  content: "\f107";
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > thead.is-open:before {
  transform: translateY(-50%);
  content: "\f106";
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody {
  display: none;
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr > th {
  background: #67a69e;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr > th {
    font-size: 4vw;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr > td {
  padding: 10px 0;
  text-align: center;
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr:nth-child(odd) {
  background: #edf3f4;
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr:last-child {
  border-bottom: 1px solid #036a5d;
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr:first-child {
  background: #449087;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr:first-child {
    font-size: 4vw;
    position: relative;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr:first-child > td:first-child:before {
    position: absolute;
    top: 66px;
    right: 10px;
    font-family: "fontello";
    font-style: normal;
    font-weight: normal;
    speak: none;
    line-height: 1em;
    display: inline-block;
    text-decoration: inherit;
    width: auto;
    text-align: center;
    display: inline-block;
    content: "\e803";
    vertical-align: middle;
    font-size: 4vw;
  }
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr:first-child > td:first-child:after {
    position: absolute;
    top: 61px;
    right: 20px;
    content: "Scroll";
    font-size: 4vw;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr.tableaddtr {
  background: #449087;
  color: #fff;
  font-size: 1em;
  padding: 10px 0;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .table > table > tbody > tr.tableaddtr {
    font-size: 4vw;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .btn {
  text-align: center;
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .btn > a {
  display: block;
  width: 280px;
  margin: 0 auto;
  padding: 10px 0;
  text-align: center;
  color: #fff;
  text-decoration: none;
  background: #ca1e1e;
  border: 1px solid #ca1e1e;
  border-radius: 35px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#wrap #sec103 > .container > .list01 > ul > li .popup > .inner > .item02 > .btn > a:hover {
  opacity: 0.7;
}
#wrap #sec104 {
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec104 {
    padding: 40px 0;
  }
}
#wrap #sec104 > .container > h2 {
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec104 > .container > h2 {
    line-height: 1.2em;
    font-size: 7vw;
  }
}
#wrap #sec104 > .container > ul {
  width: min(100%, 1200px);
  margin: 0 auto;
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  #wrap #sec104 > .container > ul {
    width: 100%;
    margin: 0 auto;
  }
}
#wrap #sec104 > .container > ul:after {
  content: "";
  display: block;
  clear: both;
}
#wrap #sec104 > .container > ul > li {
  float: left;
  width: 32%;
  height: 200px;
  margin-right: 2%;
  cursor: pointer;
}
@media only screen and (max-width: 768px) {
  #wrap #sec104 > .container > ul > li {
    width: 100%;
    height: 150px;
    margin-right: 0;
    margin-bottom: 15px;
  }
}
#wrap #sec104 > .container > ul > li:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec104 > .container > ul > li:last-child {
    margin-bottom: 0;
  }
}
#wrap #sec104 > .container > ul > li > a {
  display: block;
  width: 100%;
  height: 200px;
  color: #fff;
  text-decoration: none;
  text-align: center;
  position: relative;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec104 > .container > ul > li > a {
    width: 100%;
    height: 150px;
  }
}
#wrap #sec104 > .container > ul > li > a:hover {
  opacity: 0.7;
}
#wrap #sec104 > .container > ul > li > a:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 50%;
  right: 20px;
  font-size: 1.6em;
  transform: translateY(-50%);
  content: "\f105";
}
@media only screen and (max-width: 768px) {
  #wrap #sec104 > .container > ul > li > a:before {
    right: 10px;
    font-size: 6vw;
  }
}
#wrap #sec104 > .container > ul > li > a.p01 {
  background: url(../img/projects/sec104_img01.jpg) no-repeat center center/cover;
}
#wrap #sec104 > .container > ul > li > a.p02 {
  background: url(../img/projects/sec104_img02.jpg) no-repeat center center/cover;
}
#wrap #sec104 > .container > ul > li > a.p03 {
  background: url(../img/projects/sec104_img03.jpg) no-repeat center center/cover;
}
#wrap #sec104 > .container > ul > li > a.p04 {
  background: url(../img/projects/sec104_img04.jpg) no-repeat center center/cover;
}
#wrap #sec104 > .container > ul > li > a > .text01 {
  display: table;
  width: 100%;
  height: 200px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec104 > .container > ul > li > a > .text01 {
    height: 150px;
    margin-right: 0;
  }
}
#wrap #sec104 > .container > ul > li > a > .text01 > p {
  display: table-cell;
  vertical-align: middle;
  line-height: 1.4em;
  font-size: 1.6em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec104 > .container > ul > li > a > .text01 > p {
    line-height: 1.2em;
    font-size: 6vw;
  }
}
#wrap #sec104 > .container > ul > li > a > .text01 > p > span {
  display: block;
  font-size: 80%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec104 > .container > ul > li > a > .text01 > p > span {
    font-size: 5vw;
  }
}
#wrap #sec105 {
  background: #faf9f7;
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec105 {
    padding: 40px 0 0 0;
  }
}
#wrap #sec105 > .container > h2 {
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec105 > .container > h2 {
    line-height: 1.2em;
    font-size: 8vw;
  }
}
#wrap #sec105 > .container > ul {
  width: min(100%, 1200px);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #wrap #sec105 > .container > ul {
    width: 100%;
  }
}
#wrap #sec105 > .container > ul:after {
  content: "";
  display: block;
  clear: both;
}
#wrap #sec105 > .container > ul > li {
  width: 32%;
  height: 240px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec105 > .container > ul > li {
    width: 100%;
    height: 150px;
    margin-right: 0;
    margin-bottom: 15px;
  }
}
#wrap #sec105 > .container > ul > li > a {
  display: block;
  width: 100%;
  height: 240px;
  color: #fff;
  text-decoration: none;
  text-align: center;
  position: relative;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
  background: url(../img/projects/sec105_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #wrap #sec105 > .container > ul > li > a {
    width: 100%;
    height: 150px;
  }
}
#wrap #sec105 > .container > ul > li > a:hover {
  opacity: 0.7;
}
#wrap #sec105 > .container > ul > li > a:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 50%;
  right: 20px;
  font-size: 1.6em;
  transform: translateY(-50%);
  content: "\f105";
}
@media only screen and (max-width: 768px) {
  #wrap #sec105 > .container > ul > li > a:before {
    right: 10px;
    font-size: 6vw;
  }
}
#wrap #sec105 > .container > ul > li > a > .text01 {
  display: table;
  width: 100%;
  height: 240px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec105 > .container > ul > li > a > .text01 {
    height: 150px;
    margin-right: 0;
  }
}
#wrap #sec105 > .container > ul > li > a > .text01 > p {
  display: table-cell;
  vertical-align: middle;
  line-height: 1.2em;
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec105 > .container > ul > li > a > .text01 > p {
    line-height: 1.2em;
    font-size: 6vw;
  }
}
#wrap #sec105 > .container > ul > li > a > .text01 > p > span {
  display: block;
  font-size: 80%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec105 > .container > ul > li > a > .text01 > p > span {
    font-size: 5vw;
  }
}
#wrap #sec106 {
  background: #faf9f7;
  padding: 50px 0;
}
@media only screen and (max-width: 768px) {
  #wrap #sec106 {
    padding: 40px 0 0 0;
  }
}
#wrap #sec106 > .container > h2 {
  text-align: center;
  font-size: 3.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec106 > .container > h2 {
    line-height: 1.2em;
    font-size: 8vw;
  }
}
#wrap #sec106 > .container > ul {
  width: 100%;
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  #wrap #sec106 > .container > ul {
    width: 100%;
  }
}
#wrap #sec106 > .container > ul.keywords {
  justify-content: center;
}
#wrap #sec106 > .container > ul:after {
  content: "";
  display: block;
  clear: both;
}
#wrap #sec106 > .container > ul > li {
  width: 32%;
  height: 240px;
  margin-right: 2%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec106 > .container > ul > li {
    width: 100%;
    height: 150px;
    margin-right: 0;
    margin-bottom: 15px;
  }
}
#wrap #sec106 > .container > ul > li:nth-child(3n+3) {
  margin-right: 0;
}
#wrap #sec106 > .container > ul > li:last-child {
  margin-right: 0;
}
#wrap #sec106 > .container > ul > li > a {
  display: block;
  width: 100%;
  height: 240px;
  color: #fff;
  text-decoration: none;
  text-align: center;
  position: relative;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #wrap #sec106 > .container > ul > li > a {
    width: 100%;
    height: 150px;
  }
}
#wrap #sec106 > .container > ul > li > a.p01 {
  background: url(../img/projects/sec106_img01.jpg) no-repeat center center/cover;
}
#wrap #sec106 > .container > ul > li > a.p02 {
  background: url(../img/projects/sec106_img02.jpg) no-repeat center center/cover;
}
#wrap #sec106 > .container > ul > li > a.p03 {
  background: url(../img/projects/sec106_img03.jpg) no-repeat center center/cover;
}
#wrap #sec106 > .container > ul > li > a.p04 {
  background: url(../img/projects/sec106_img04.jpg) no-repeat center center/cover;
}
#wrap #sec106 > .container > ul > li > a:hover {
  opacity: 0.7;
}
#wrap #sec106 > .container > ul > li > a:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  width: auto;
  margin: 0;
  text-align: center;
  position: absolute;
  top: 50%;
  right: 20px;
  font-size: 1.6em;
  transform: translateY(-50%);
  content: "\f105";
}
@media only screen and (max-width: 768px) {
  #wrap #sec106 > .container > ul > li > a:before {
    right: 10px;
    font-size: 6vw;
  }
}
#wrap #sec106 > .container > ul > li > a > .text01 {
  display: table;
  width: 100%;
  height: 240px;
}
@media only screen and (max-width: 768px) {
  #wrap #sec106 > .container > ul > li > a > .text01 {
    height: 150px;
    margin-right: 0;
  }
}
#wrap #sec106 > .container > ul > li > a > .text01 > p {
  display: table-cell;
  vertical-align: middle;
  line-height: 1.2em;
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #wrap #sec106 > .container > ul > li > a > .text01 > p {
    line-height: 1.2em;
    font-size: 6vw;
  }
}
#wrap #sec106 > .container > ul > li > a > .text01 > p > span {
  display: block;
  font-size: 80%;
}
@media only screen and (max-width: 768px) {
  #wrap #sec106 > .container > ul > li > a > .text01 > p > span {
    font-size: 5vw;
  }
}

#modal > ul > li .popup,
#modal_oem > ul > li .popup {
  z-index: 100001;
  position: fixed;
  top: 0;
  left: -150%;
  overflow-y: scroll;
  width: 100vw;
  height: 100vh;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  #modal > ul > li .popup,
  #modal_oem > ul > li .popup {
    min-height: auto;
  }
}
#modal > ul > li .popup.active,
#modal_oem > ul > li .popup.active {
  left: 0;
}
#modal > ul > li .popup > .inner,
#modal_oem > ul > li .popup > .inner {
  position: relative;
  padding: 20px 0;
  max-width: 800px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #modal > ul > li .popup > .inner,
  #modal_oem > ul > li .popup > .inner {
    width: 100%;
    padding: 20px;
  }
}
#modal > ul > li .popup > .inner > .close,
#modal_oem > ul > li .popup > .inner > .close {
  z-index: 100;
  position: absolute;
  top: 20px;
  right: 0;
  width: 30px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #modal > ul > li .popup > .inner > .close,
  #modal_oem > ul > li .popup > .inner > .close {
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
  }
}
#modal > ul > li .popup > .inner > .close:hover,
#modal_oem > ul > li .popup > .inner > .close:hover {
  opacity: 0.5;
  cursor: pointer;
}
#modal > ul > li .popup > .inner > .close > img,
#modal_oem > ul > li .popup > .inner > .close > img {
  width: 100%;
  height: auto;
}
#modal > ul > li .popup > .inner > .item02:after,
#modal_oem > ul > li .popup > .inner > .item02:after {
  content: "";
  display: block;
  clear: both;
}
#modal > ul > li .popup > .inner > .item02 > .left,
#modal_oem > ul > li .popup > .inner > .item02 > .left {
  float: left;
  width: 50%;
  padding-right: 2.5%;
}
@media only screen and (max-width: 768px) {
  #modal > ul > li .popup > .inner > .item02 > .left,
  #modal_oem > ul > li .popup > .inner > .item02 > .left {
    float: none;
    width: 100%;
    padding: 0;
  }
}
#modal > ul > li .popup > .inner > .item02 > .left > .slide,
#modal_oem > ul > li .popup > .inner > .item02 > .left > .slide {
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #modal > ul > li .popup > .inner > .item02 > .left > .slide,
  #modal_oem > ul > li .popup > .inner > .item02 > .left > .slide {
    margin-bottom: 0;
  }
}
#modal > ul > li .popup > .inner > .item02 > .left > .slide .bx-wrapper,
#modal_oem > ul > li .popup > .inner > .item02 > .left > .slide .bx-wrapper {
  box-shadow: none;
  border: none;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #modal > ul > li .popup > .inner > .item02 > .left > .slide .bx-wrapper,
  #modal_oem > ul > li .popup > .inner > .item02 > .left > .slide .bx-wrapper {
    margin-bottom: 0;
  }
}
#modal > ul > li .popup > .inner > .item02 > .left > .slide .slide_main li,
#modal_oem > ul > li .popup > .inner > .item02 > .left > .slide .slide_main li {
  position: relative;
  width: 100%;
}
#modal > ul > li .popup > .inner > .item02 > .left > .slide .slide_main li:after,
#modal_oem > ul > li .popup > .inner > .item02 > .left > .slide .slide_main li:after {
  position: absolute;
  top: 0;
  left: 6px;
  content: "";
  width: 520px;
}
@media only screen and (max-width: 768px) {
  #modal > ul > li .popup > .inner > .item02 > .left > .slide .slide_main li:after,
  #modal_oem > ul > li .popup > .inner > .item02 > .left > .slide .slide_main li:after {
    width: 100%;
    height: 100%;
  }
}
#modal > ul > li .popup > .inner > .item02 > .left > .slide .slide_main li img,
#modal_oem > ul > li .popup > .inner > .item02 > .left > .slide .slide_main li img {
  width: 520px;
  height: auto;
  margin: 0 auto;
  border-radius: 20px;
}
@media only screen and (max-width: 768px) {
  #modal > ul > li .popup > .inner > .item02 > .left > .slide .slide_main li img,
  #modal_oem > ul > li .popup > .inner > .item02 > .left > .slide .slide_main li img {
    width: 100%;
    height: auto;
  }
}
#modal > ul > li .popup > .inner > .item02 > .right,
#modal_oem > ul > li .popup > .inner > .item02 > .right {
  float: left;
  width: 47.5%;
  padding-top: 80px;
}
@media only screen and (max-width: 768px) {
  #modal > ul > li .popup > .inner > .item02 > .right,
  #modal_oem > ul > li .popup > .inner > .item02 > .right {
    float: none;
    width: 100%;
    padding-top: 0;
  }
}
#modal > ul > li .popup > .inner > .item02 > .right > h3,
#modal_oem > ul > li .popup > .inner > .item02 > .right > h3 {
  text-align: left;
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 10px;
}
@media only screen and (max-width: 768px) {
  #modal > ul > li .popup > .inner > .item02 > .right > h3,
  #modal_oem > ul > li .popup > .inner > .item02 > .right > h3 {
    font-size: 7vw;
  }
}
#modal > ul > li .popup > .inner > .item02 > .right > h3:focus,
#modal_oem > ul > li .popup > .inner > .item02 > .right > h3:focus {
  outline: none;
}
#modal > ul > li .popup > .inner > .item02 > .right > p,
#modal_oem > ul > li .popup > .inner > .item02 > .right > p {
  text-align: left;
  width: 380px;
  margin: 0 auto 60px auto;
  font-family: "Noto Serif", serif;
  font-size: 1em;
}
@media only screen and (max-width: 768px) {
  #modal > ul > li .popup > .inner > .item02 > .right > p,
  #modal_oem > ul > li .popup > .inner > .item02 > .right > p {
    width: 100%;
    margin: 0 auto 20px auto;
    font-size: 4vw;
  }
}
#modal > ul > li .popup > .inner > .item02 > .right > p > span,
#modal_oem > ul > li .popup > .inner > .item02 > .right > p > span {
  font-weight: 700;
  font-size: 1.3em;
}
@media only screen and (max-width: 768px) {
  #modal > ul > li .popup > .inner > .item02 > .right > p > span,
  #modal_oem > ul > li .popup > .inner > .item02 > .right > p > span {
    font-size: 5vw;
  }
}
#modal > ul > li .popup > .inner > .item04,
#modal_oem > ul > li .popup > .inner > .item04 {
  margin: 0 0 40px 0;
}
@media only screen and (max-width: 768px) {
  #modal > ul > li .popup > .inner > .item04,
  #modal_oem > ul > li .popup > .inner > .item04 {
    margin: 0 0 20px 0;
  }
}
#modal > ul > li .popup > .inner > .item04 .slide_thum:after,
#modal_oem > ul > li .popup > .inner > .item04 .slide_thum:after {
  content: "";
  display: block;
  clear: both;
}
#modal > ul > li .popup > .inner > .item04 .slide_thum li,
#modal_oem > ul > li .popup > .inner > .item04 .slide_thum li {
  float: left;
  width: 10.22%;
  margin-right: 1%;
}
#modal > ul > li .popup > .inner > .item04 .slide_thum li:last-child,
#modal_oem > ul > li .popup > .inner > .item04 .slide_thum li:last-child {
  margin-right: 0;
}
#modal > ul > li .popup > .inner > .item04 .slide_thum li img,
#modal_oem > ul > li .popup > .inner > .item04 .slide_thum li img {
  box-sizing: border-box;
  width: 100%;
  height: auto;
  border-radius: 5px;
}
#modal > ul > li .popup > .inner > .btn,
#modal_oem > ul > li .popup > .inner > .btn {
  text-align: center;
}
#modal > ul > li .popup > .inner > .btn > a,
#modal_oem > ul > li .popup > .inner > .btn > a {
  display: block;
  width: 280px;
  margin: 0 auto;
  padding: 10px 0;
  text-align: center;
  color: #fff;
  text-decoration: none;
  background: #ca1e1e;
  border: 1px solid #ca1e1e;
  border-radius: 35px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #modal > ul > li .popup > .inner > .btn > a,
  #modal_oem > ul > li .popup > .inner > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#modal > ul > li .popup > .inner > .btn > a:hover,
#modal_oem > ul > li .popup > .inner > .btn > a:hover {
  opacity: 0.7;
}

.loader-wrap {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 9999;
}

.loader {
  border-radius: 50%;
  width: 10em;
  height: 10em;
  z-index: 9999;
  margin: 60px auto;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(205, 45, 46, 0.2);
  border-right: 1.1em solid rgba(205, 45, 46, 0.2);
  border-bottom: 1.1em solid rgba(205, 45, 46, 0.2);
  border-left: 1.1em solid #cd2d2e;
  transform: translateZ(0);
  animation: load8 1.1s infinite linear;
}
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}

.loader-wrap02 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 9999;
  overflow: hidden;
}

@keyframes load8 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
#p_rough_stone {
  /**/
  /**/
}
#p_rough_stone #p_rough_stone_secwrap {
  font-size: 62.5%; /* 1em = 10px */
  background: #fbf9f7;
}
#p_rough_stone .popup {
  display: none;
  z-index: 1001;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  width: 100vw;
  min-height: 100vh;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone .popup {
    min-height: auto;
  }
}
#p_rough_stone .popup.active {
  display: block;
}
#p_rough_stone .popup > .inner {
  position: relative;
  padding: 20px 0;
  max-width: 1000px;
  margin: 0 auto;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone .popup > .inner {
    width: 100%;
    padding: 20px;
  }
}
#p_rough_stone .popup > .inner > .close {
  position: absolute;
  top: 20px;
  right: 0;
  width: 30px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #p_rough_stone .popup > .inner > .close {
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
  }
}
#p_rough_stone .popup > .inner > .close:hover {
  opacity: 0.5;
  cursor: pointer;
}
#p_rough_stone .popup > .inner > .item02 > h3 {
  text-align: center;
  font-size: 2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone .popup > .inner > .item02 > h3 {
    font-size: 7vw;
    margin-bottom: 0;
  }
}
#p_rough_stone .popup > .inner > .item02 > h3:focus {
  outline: none;
}
#p_rough_stone .popup > .inner > .item02 > .img {
  position: relative;
  padding-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone .popup > .inner > .item02 > .img {
    padding-bottom: 40px;
  }
}
#p_rough_stone .popup > .inner > .item02 > .img:before {
  position: absolute;
  content: "";
  bottom: 10px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 80px;
  height: 1px;
  background: #047468;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone .popup > .inner > .item02 > .img:before {
    bottom: 20px;
  }
}
#p_rough_stone .popup > .inner > .item02 > p {
  width: 750px;
  margin: 0 auto 20px auto;
  font-family: "Noto Serif", serif;
  font-size: 1em;
  line-height: 1.6em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone .popup > .inner > .item02 > p {
    width: 100%;
    font-size: 4vw;
  }
}
#p_rough_stone .popup > .inner > .item02 > p > span {
  font-style: italic;
}
#p_rough_stone .popup > .inner > .item02 > .text01 {
  text-align: center;
  font-size: 1.6em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone .popup > .inner > .item02 > .text01 {
    font-size: 6vw;
  }
}
#p_rough_stone .popup > .inner > .item02 > .text02 {
  text-align: center;
  width: 100%;
  font-family: "Noto Serif", serif;
  font-size: 1em;
  font-weight: 400;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone .popup > .inner > .item02 > .text02 {
    font-size: 4vw;
  }
}
#p_rough_stone .popup > .inner > .item02 > .table {
  position: relative;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone .popup > .inner > .item02 > .table {
    overflow: auto;
    white-space: nowrap;
  }
}
#p_rough_stone .popup > .inner > .item02 > .btn {
  text-align: center;
}
#p_rough_stone .popup > .inner > .item02 > .btn > a {
  display: block;
  width: 390px;
  margin: 0 auto;
  padding: 10px 0;
  text-align: center;
  color: #fff;
  text-decoration: none;
  background: #ca1e1e;
  border: 1px solid #ca1e1e;
  border-radius: 35px;
  transition: all 0.3s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
@media only screen and (max-width: 768px) {
  #p_rough_stone .popup > .inner > .item02 > .btn > a {
    width: 70%;
    padding: 10px;
    font-size: 4vw;
  }
}
#p_rough_stone .popup > .inner > .item02 > .btn > a:hover {
  opacity: 0.7;
}
#p_rough_stone #sec1001 {
  width: 100%;
  height: 480px;
  background: url(../img/rough_stone/sec1001_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1001 {
    height: auto;
    padding-block: 2vw 5vw;
    background: url(../img/rough_stone/sec1001_img01_sp.jpg) no-repeat center center/cover;
  }
}
#p_rough_stone #sec1001 .item01 {
  text-align: center;
}
#p_rough_stone #sec1001 .item01 h1 {
  font-size: 6em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 90px;
  padding-top: 140px;
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1001 .item01 h1 {
    margin-bottom: 20px;
    padding-top: 40px;
    font-size: 10vw;
  }
}
#p_rough_stone #sec1001 .item01 p {
  font-size: 1.6em;
  font-family: "Noto Serif", serif;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1001 .item01 p {
    font-size: 3vw;
  }
}
#p_rough_stone #sec1002 {
  padding-top: 110px;
  margin-bottom: 150px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1002 {
    padding-top: 55px;
    margin-bottom: 75px;
  }
}
#p_rough_stone #sec1002 .container {
  max-width: 1170px;
}
#p_rough_stone #sec1002 .tab {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 30px;
  margin-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1002 .tab {
    margin-bottom: 50px;
  }
  #p_rough_stone #sec1002 .tab li {
    width: 100%;
    margin-bottom: 10px;
  }
}
#p_rough_stone #sec1002 .tab a {
  border: 2px solid #057468;
  color: #057468;
  font-size: 1.8em;
  font-weight: 900;
  display: inline-block;
  text-decoration: none;
  padding: 15px 60px 15px 40px;
  border-radius: 50px;
  position: relative;
  transition: 0.4s all ease-in-out;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1002 .tab a {
    width: 100%;
    font-size: 3.5vw;
    padding: 10px 15px;
    text-align: center;
  }
}
#p_rough_stone #sec1002 .tab a:before {
  font-size: 0.4em;
  font-family: "fontello";
  display: inline-block;
  font-weight: 700;
  position: absolute;
  top: 53%;
  right: 20px;
  transform: translateY(-50%);
  content: "\e804";
}
#p_rough_stone #sec1002 .tab a:hover {
  color: #fff;
  background: #057468;
}
#p_rough_stone #sec1002 h2 {
  font-size: 5.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 30px;
  text-align: center;
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1002 h2 {
    font-size: 8vw;
    margin-bottom: 20px;
  }
}
#p_rough_stone #sec1002 h3 {
  font-size: 1.6em;
  font-family: "Noto Serif", serif;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1002 h3 {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1003 {
  /* modal_popup */
  margin-bottom: 170px;
}
#p_rough_stone #sec1003 .modal_item {
  cursor: pointer;
  transition: opacity 0.5s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#p_rough_stone #sec1003 .modal_item:hover {
  opacity: 0.5;
}
#p_rough_stone #sec1003 .popup .modal_ttl {
  font-size: 4.2em;
  font-weight: 500;
  text-align: center;
  font-family: "DM Serif Display", serif;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .popup .modal_ttl {
    font-size: 7vw;
  }
}
#p_rough_stone #sec1003 .popup .modal_subttl {
  font-size: 2em;
  font-weight: 400;
  text-align: center;
  font-family: "Noto Serif", serif;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .popup .modal_subttl {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1003 .popup .modal_img {
  max-width: 600px;
  margin: 0 auto 30px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .popup .modal_img {
    margin-bottom: 15px;
  }
}
#p_rough_stone #sec1003 .popup .modal_jewelryspec {
  padding: 0px 120px;
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .popup .modal_jewelryspec {
    padding: 0px 0px;
  }
}
#p_rough_stone #sec1003 .popup .modal_jewelryspec {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  font-weight: 400;
  font-family: "Noto Serif", serif;
  letter-spacing: 0.05em;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .popup .modal_jewelryspec {
    margin-bottom: 20px;
  }
}
#p_rough_stone #sec1003 .popup .modal_jewelryspec .size {
  width: 75%;
  margin-right: 2%;
  margin-bottom: 0px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .popup .modal_jewelryspec .size {
    width: 100%;
    margin-right: 0%;
    margin-bottom: 20px;
  }
}
#p_rough_stone #sec1003 .popup .modal_jewelryspec .size h4 {
  font-size: 2em;
  color: #057468;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .popup .modal_jewelryspec .size h4 {
    font-size: 4vw;
  }
}
#p_rough_stone #sec1003 .popup .modal_jewelryspec .size p {
  font-size: 1.8em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .popup .modal_jewelryspec .size p {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1003 .popup .modal_jewelryspec .size p span {
  font-weight: 700;
}
#p_rough_stone #sec1003 .popup .modal_jewelryspec .weight {
  width: 23%;
  margin-right: 0px;
  margin-bottom: 0px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .popup .modal_jewelryspec .weight {
    width: 100%;
    margin-right: 0%;
  }
}
#p_rough_stone #sec1003 .popup .modal_jewelryspec .weight h4 {
  font-size: 2em;
  color: #057468;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .popup .modal_jewelryspec .weight h4 {
    font-size: 4vw;
  }
}
#p_rough_stone #sec1003 .popup .modal_jewelryspec .weight p {
  font-size: 1.8em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .popup .modal_jewelryspec .weight p {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1003 .popup .modal_jewelryspec .weight p span {
  font-weight: 700;
}
#p_rough_stone #sec1003 .popup .modal_jewelrytxt {
  font-size: 1.4em;
  text-align: center;
  font-weight: 400;
  font-family: "Noto Serif", serif;
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .popup .modal_jewelrytxt {
    margin-bottom: 15px;
  }
}
#p_rough_stone #sec1003 .popup .btn {
  font-size: 2em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .popup .btn {
    font-size: 4vw;
  }
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 {
    margin-bottom: 85px;
  }
}
#p_rough_stone #sec1003 h2 {
  color: #057468;
  font-size: 4em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 30px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 h2 {
    font-size: 8vw;
  }
}
#p_rough_stone #sec1003 .item_list01 {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
}
#p_rough_stone #sec1003 .item_list01 li {
  width: 23.1%;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .item_list01 li {
    width: 48%;
  }
}
#p_rough_stone #sec1003 .item_list01 li:not(:last-child) {
  margin-right: 2.5333333333%;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .item_list01 li:not(:last-child) {
    margin-right: 0%;
  }
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .item_list01 li:nth-child(2n+1) {
    margin-right: 4%;
  }
}
#p_rough_stone #sec1003 .item_list01 li .item_name {
  padding-top: 20px;
  font-size: 1.8em;
  font-weight: 500;
  text-align: center;
  font-family: "Jost", sans-serif;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .item_list01 li .item_name {
    font-size: 4vw;
  }
}
#p_rough_stone #sec1003 .item_list01 li .avg_spec {
  padding-top: 10px;
  font-family: "Noto Serif", serif;
  font-size: 1.7em;
  line-height: 1.6;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1003 .item_list01 li .avg_spec {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1004 {
  /* end modal_popup */
}
#p_rough_stone #sec1004 .container {
  max-width: 900px;
  /* modal_popup */
}
#p_rough_stone #sec1004 .container .modal_item {
  cursor: pointer;
  transition: opacity 0.5s cubic-bezier(0.4, 0.3, 0.5, 0.9);
}
#p_rough_stone #sec1004 .container .modal_item:hover {
  opacity: 0.5;
}
#p_rough_stone #sec1004 .container .popup .modal_ttl {
  font-size: 4.2em;
  font-weight: 500;
  text-align: center;
  font-family: "DM Serif Display", serif;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .container .popup .modal_ttl {
    font-size: 7vw;
  }
}
#p_rough_stone #sec1004 .container .popup .modal_subttl {
  font-size: 2em;
  font-weight: 400;
  text-align: center;
  font-family: "Noto Serif", serif;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .container .popup .modal_subttl {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1004 .container .popup .modal_img {
  max-width: 600px;
  margin: 0 auto 30px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .container .popup .modal_img {
    margin-bottom: 15px;
  }
}
#p_rough_stone #sec1004 .container .popup .modal_jewelryspec {
  padding: 0px 120px;
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .container .popup .modal_jewelryspec {
    padding: 0px 0px;
  }
}
#p_rough_stone #sec1004 .container .popup .modal_jewelryspec {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  font-weight: 400;
  font-family: "Noto Serif", serif;
  letter-spacing: 0.05em;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .container .popup .modal_jewelryspec {
    margin-bottom: 20px;
  }
}
#p_rough_stone #sec1004 .container .popup .modal_jewelryspec .size {
  width: 75%;
  margin-right: 2%;
  margin-bottom: 0px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .container .popup .modal_jewelryspec .size {
    width: 100%;
    margin-right: 0%;
    margin-bottom: 20px;
  }
}
#p_rough_stone #sec1004 .container .popup .modal_jewelryspec .size h4 {
  font-size: 2em;
  color: #057468;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .container .popup .modal_jewelryspec .size h4 {
    font-size: 4vw;
  }
}
#p_rough_stone #sec1004 .container .popup .modal_jewelryspec .size p {
  font-size: 1.8em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .container .popup .modal_jewelryspec .size p {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1004 .container .popup .modal_jewelryspec .size p span {
  font-weight: 700;
}
#p_rough_stone #sec1004 .container .popup .modal_jewelryspec .weight {
  width: 23%;
  margin-right: 0px;
  margin-bottom: 0px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .container .popup .modal_jewelryspec .weight {
    width: 100%;
    margin-right: 0%;
  }
}
#p_rough_stone #sec1004 .container .popup .modal_jewelryspec .weight h4 {
  font-size: 2em;
  color: #057468;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .container .popup .modal_jewelryspec .weight h4 {
    font-size: 4vw;
  }
}
#p_rough_stone #sec1004 .container .popup .modal_jewelryspec .weight p {
  font-size: 1.8em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .container .popup .modal_jewelryspec .weight p {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1004 .container .popup .modal_jewelryspec .weight p span {
  font-weight: 700;
}
#p_rough_stone #sec1004 .container .popup .modal_jewelrytxt {
  font-size: 1.4em;
  text-align: center;
  font-weight: 400;
  font-family: "Noto Serif", serif;
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .container .popup .modal_jewelrytxt {
    margin-bottom: 15px;
  }
}
#p_rough_stone #sec1004 .container .popup .btn {
  font-size: 2em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .container .popup .btn {
    font-size: 4vw;
  }
}
#p_rough_stone #sec1004 h2 {
  color: #057468;
  font-size: 4em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 35px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 h2 {
    font-size: 8vw;
    margin-bottom: 17.5px;
  }
}
#p_rough_stone #sec1004 .item_list01 {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
}
#p_rough_stone #sec1004 .item_list01 li {
  width: 31.1%;
  margin-bottom: 60px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .item_list01 li {
    width: 48%;
  }
}
#p_rough_stone #sec1004 .item_list01 li:not(:nth-child(3n+3)) {
  margin-right: 3.35%;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .item_list01 li:not(:nth-child(3n+3)) {
    margin-right: 4%;
    margin-bottom: 30px;
  }
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .item_list01 li:nth-child(2n+1) {
    margin-right: 4%;
  }
  #p_rough_stone #sec1004 .item_list01 li:nth-child(2n+2) {
    margin-right: 0%;
  }
}
#p_rough_stone #sec1004 .item_list01 li .item_img {
  margin-bottom: 20px;
}
#p_rough_stone #sec1004 .item_list01 li .item_name {
  font-size: 1.8em;
  font-weight: 500;
  text-align: center;
  font-family: "Jost", sans-serif;
  margin-bottom: 15px;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .item_list01 li .item_name {
    margin-bottom: 10px;
    font-size: 4vw;
  }
}
#p_rough_stone #sec1004 .item_list01 li .item_name b {
  width: 100%;
  display: block;
  font-family: "Noto Serif", serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .item_list01 li .item_name b {
    font-size: 3vw;
  }
  #p_rough_stone #sec1004 .item_list01 li .item_name b.space {
    display: none;
  }
}
#p_rough_stone #sec1004 .item_list01 li .avg_spec {
  font-size: 1.6em;
  font-family: "Noto Serif", serif;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .item_list01 li .avg_spec {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1004 .cap {
  font-size: 1.6em;
  font-family: "Noto Serif", serif;
  font-weight: 400;
  padding-top: 60px;
  margin-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .cap {
    font-size: 3.5vw;
    padding-top: 30px;
    margin-bottom: 50px;
  }
}
#p_rough_stone #sec1004 .cap span {
  display: inline-block;
  padding-left: 1em;
  text-indent: -1em;
}
#p_rough_stone #sec1004 .btn_list01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 190px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .btn_list01 {
    margin-bottom: 95px;
  }
}
#p_rough_stone #sec1004 .btn_list01 li {
  width: 46%;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .btn_list01 li {
    width: 100%;
    margin-bottom: 20px;
  }
}
#p_rough_stone #sec1004 .btn_list01 li a {
  text-decoration: none;
  width: 100%;
  display: inline-block;
  background: #057468;
  border-radius: 50px;
  padding: 25px 5px;
  color: #fff;
  text-align: center;
  font-family: "Jost", sans-serif;
  font-size: 2em;
  transition: 0.4s all ease-in-out;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1004 .btn_list01 li a {
    padding: 15px 5px;
    font-size: 4vw;
  }
}
#p_rough_stone #sec1004 .btn_list01 li a:before {
  font-size: 0.4em;
  font-family: "fontello";
  display: inline-block;
  font-weight: 700;
  position: absolute;
  top: 51%;
  right: 20px;
  transform: translateY(-50%);
  content: "\e806";
}
#p_rough_stone #sec1004 .btn_list01 li a:hover {
  color: #057468;
  background: #fff;
  border: 1px solid #057468;
}
#p_rough_stone #sec1005 {
  width: 100%;
  height: 480px;
  background: url(../img/rough_stone/sec1005_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1005 {
    height: auto;
    padding-block: 2vw 5vw;
  }
}
#p_rough_stone #sec1005 .item01 {
  text-align: center;
}
#p_rough_stone #sec1005 .item01 h2 {
  color: #fff;
  font-size: 5.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 60px;
  padding-top: 140px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1005 .item01 h2 {
    font-size: 10vw;
    margin-bottom: 20px;
    padding-top: 30px;
  }
}
#p_rough_stone #sec1005 .item01 p {
  color: #fff;
  font-size: 1.6em;
  font-family: "Noto Serif", serif;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1005 .item01 p {
    font-size: 3vw;
  }
}
#p_rough_stone #sec1006 {
  padding: 100px 0px;
  background: #fff;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1006 {
    padding: 50px 0px;
  }
}
#p_rough_stone #sec1006 .container {
  max-width: 1330px;
}
#p_rough_stone #sec1006 .imgtxt {
  position: relative;
  padding-top: 100px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1006 .imgtxt {
    padding-top: 50px;
  }
}
#p_rough_stone #sec1006 .imgtxt:not(:nth-child(1)) {
  margin-top: 100px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1006 .imgtxt:not(:nth-child(1)) {
    margin-top: 50px;
  }
}
#p_rough_stone #sec1006 .imgtxt:last-child {
  padding-bottom: 100px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1006 .imgtxt:last-child {
    padding-bottom: 50px;
  }
}
#p_rough_stone #sec1006 .imgtxt:last-child:after {
  content: "";
  max-width: 1170px;
  width: 100%;
  height: 1px;
  background: rgba(165, 165, 165, 0.3);
  position: absolute;
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
}
#p_rough_stone #sec1006 .imgtxt:last-child .txt {
  padding-top: 110px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1006 .imgtxt:last-child .txt {
    padding-top: 0px;
  }
}
#p_rough_stone #sec1006 .imgtxt:before {
  content: "";
  max-width: 1170px;
  width: 100%;
  height: 1px;
  background: rgba(165, 165, 165, 0.3);
  position: absolute;
  top: 0px;
  left: 50%;
  transform: translateX(-50%);
}
#p_rough_stone #sec1006 .imgtxt .img {
  width: 45%;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1006 .imgtxt .img {
    width: 100%;
    margin-bottom: 30px;
  }
}
#p_rough_stone #sec1006 .imgtxt .img.leftpd {
  padding-left: 5.5%;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1006 .imgtxt .img.leftpd {
    padding-left: 0%;
  }
}
#p_rough_stone #sec1006 .imgtxt .txt {
  width: 50%;
  padding-right: 65px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1006 .imgtxt .txt {
    width: 100%;
    padding-right: 0px;
  }
}
#p_rough_stone #sec1006 .imgtxt .txt h3 {
  font-family: "Jost", sans-serif;
  font-size: 2.8em;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1006 .imgtxt .txt h3 {
    font-size: 5vw;
  }
}
#p_rough_stone #sec1006 .imgtxt .txt .subttl {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.6em;
  margin-bottom: 50px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1006 .imgtxt .txt .subttl {
    font-size: 4vw;
    margin-bottom: 25px;
  }
}
#p_rough_stone #sec1006 .imgtxt .txt .spec {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 1.6em;
  letter-spacing: 0.03em;
  margin-bottom: 55px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1006 .imgtxt .txt .spec {
    font-size: 3.5vw;
    margin-bottom: 27.5px;
  }
}
#p_rough_stone #sec1006 .imgtxt .txt .link_txt a {
  color: #057468;
  font-family: "Jost", sans-serif;
  font-size: 1.8em;
  text-decoration: none;
  letter-spacing: 0.05em;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1006 .imgtxt .txt .link_txt a {
    font-size: 4.5vw;
  }
}
#p_rough_stone #sec1006 .imgtxt .txt .link_txt a:after {
  font-size: 0.5em;
  font-family: "fontello";
  display: inline-block;
  font-weight: 900;
  position: absolute;
  top: 53%;
  right: -15px;
  transform: translateY(-50%);
  content: "\e806";
}
#p_rough_stone #sec1007 {
  width: 100%;
  height: 480px;
  background: url(../img/rough_stone/sec1007_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1007 {
    height: auto;
    padding-block: 2vw 5vw;
  }
}
#p_rough_stone #sec1007 .item01 {
  text-align: center;
}
#p_rough_stone #sec1007 .item01 h2 {
  color: #fff;
  font-size: 5.2em;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 1em;
  margin-bottom: 40px;
  padding-top: 160px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1007 .item01 h2 {
    font-size: 10vw;
    margin-bottom: 20px;
    padding-top: 30px;
  }
}
#p_rough_stone #sec1007 .item01 p {
  color: #fff;
  font-size: 1.6em;
  font-family: "Noto Serif", serif;
  font-weight: 700;
  line-height: 1.8;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1007 .item01 p {
    font-size: 3vw;
  }
}
#p_rough_stone #sec1008 {
  margin-top: 90px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1008 {
    margin-top: 45px;
  }
}
#p_rough_stone #sec1008 .container {
  max-width: 1600px;
  background: #f5ede6;
  padding: 80px 15px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1008 .container {
    padding: 40px 15px;
  }
}
#p_rough_stone #sec1008 .container .inner {
  max-width: 1260px;
  margin: 0 auto;
}
#p_rough_stone #sec1008 .container .inner h2 {
  color: #057468;
  font-size: 5.4em;
  font-style: italic;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  text-align: center;
  margin-bottom: 65px;
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1008 .container .inner h2 {
    font-size: 8vw;
    margin-bottom: 35px;
  }
}
#p_rough_stone #sec1008 .container .inner .society_list {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
}
#p_rough_stone #sec1008 .container .inner .society_list .bg_area01 {
  width: 35.3%;
  background: #fff;
  padding: 30px 30px 30px 40px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1008 .container .inner .society_list .bg_area01 {
    width: 100%;
    padding: 20px;
  }
}
#p_rough_stone #sec1008 .container .inner .society_list .bg_area01:before {
  content: "";
  width: 46px;
  height: 141px;
  position: absolute;
  top: 50%;
  right: -35px;
  transform: translateY(-50%);
  background: url(../img/rough_stone/sec1008_img06.png) no-repeat center center/cover;
  display: block;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1008 .container .inner .society_list .bg_area01:before {
    top: auto;
    right: auto;
    left: 50%;
    bottom: -81px;
    transform: translate(-50%, 0%) rotate(90deg);
  }
}
#p_rough_stone #sec1008 .container .inner .society_list .bg_area01 h3 {
  color: #057468;
  font-size: 3.4em;
  font-style: italic;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 20px;
  line-height: 1.2;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1008 .container .inner .society_list .bg_area01 h3 {
    font-size: 6vw;
  }
}
#p_rough_stone #sec1008 .container .inner .society_list .bg_area01 p {
  font-family: "Noto Serif", serif;
  font-size: 1.6em;
  font-weight: 700;
  margin-bottom: 20px;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1008 .container .inner .society_list .bg_area01 p {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1008 .container .inner .society_list .bg_area01 p:last-child {
  margin-bottom: 0px;
}
#p_rough_stone #sec1008 .container .inner .society_list .bg_area01 .img {
  margin-bottom: 0px;
}
#p_rough_stone #sec1008 .container .inner .society_list .icon_area {
  width: 29.4%;
  padding: 155px 30px 0;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1008 .container .inner .society_list .icon_area {
    width: 100%;
    padding: 60px 20px;
  }
}
#p_rough_stone #sec1008 .container .inner .society_list .icon_area .icon_area_spec {
  color: #057468;
  text-align: center;
  font-family: "Noto Serif", serif;
  font-size: 2.2em;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 50px;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1008 .container .inner .society_list .icon_area .icon_area_spec {
    margin-bottom: 25px;
  }
}
#p_rough_stone #sec1008 .container .inner .society_list .icon_area .icon_txt {
  margin-bottom: 90px;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1008 .container .inner .society_list .icon_area .icon_txt {
    margin-bottom: 45px;
  }
}
#p_rough_stone #sec1008 .container .inner .society_list .icon_area .icon_txt .icon {
  margin-bottom: 5px;
}
#p_rough_stone #sec1008 .container .inner .society_list .icon_area .icon_txt .txt {
  color: #057468;
  font-size: 2.6em;
  font-style: italic;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1008 .container .inner .society_list .icon_area .icon_txt .txt {
    font-size: 5vw;
  }
}
#p_rough_stone #sec1008 .container .inner .society_list .bg_area02 {
  width: 35.3%;
  background: #fff;
  padding: 30px 50px 30px 40px;
  position: relative;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1008 .container .inner .society_list .bg_area02 {
    width: 100%;
    padding: 20px;
  }
}
#p_rough_stone #sec1008 .container .inner .society_list .bg_area02:before {
  content: "";
  width: 46px;
  height: 141px;
  position: absolute;
  top: 50%;
  left: -35px;
  transform: translateY(-50%);
  background: url(../img/rough_stone/sec1008_img07.png) no-repeat center center/cover;
  display: block;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1008 .container .inner .society_list .bg_area02:before {
    top: -81px;
    left: 50%;
    transform: translate(-50%, 0%) rotate(90deg);
  }
}
#p_rough_stone #sec1008 .container .inner .society_list .bg_area02 h3 {
  color: #057468;
  font-size: 3.4em;
  font-style: italic;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  margin-bottom: 20px;
  padding-top: 25px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1008 .container .inner .society_list .bg_area02 h3 {
    font-size: 6vw;
    padding-top: 0px;
  }
}
#p_rough_stone #sec1008 .container .inner .society_list .bg_area02 p {
  font-family: "Noto Serif", serif;
  font-size: 1.6em;
  font-weight: 700;
  margin-bottom: 20px;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1008 .container .inner .society_list .bg_area02 p {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1008 .container .inner .society_list .bg_area02 p:last-child {
  margin-bottom: 0px;
}
#p_rough_stone #sec1008 .container .inner .society_list .bg_area02 .img {
  margin-bottom: 0px;
}
#p_rough_stone #sec1009 {
  margin-top: 40px;
}
#p_rough_stone #sec1009 .container {
  max-width: 1600px;
  background: #f5ede6;
  padding: 80px 15px 70px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1009 .container {
    padding: 20px;
  }
}
#p_rough_stone #sec1009 .container .inner {
  max-width: 1170px;
  margin: 0 auto;
}
#p_rough_stone #sec1009 .container .inner h2 {
  color: #057468;
  font-size: 5.4em;
  font-style: italic;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  text-align: center;
  margin-bottom: 65px;
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1009 .container .inner h2 {
    font-size: 8vw;
    margin-bottom: 15px;
  }
}
#p_rough_stone #sec1009 .container .inner .txtimg {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#p_rough_stone #sec1009 .container .inner .txtimg .txt {
  width: 45%;
  padding-left: 40px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1009 .container .inner .txtimg .txt {
    width: 100%;
    padding-left: 0px;
    margin-bottom: 25px;
  }
}
#p_rough_stone #sec1009 .container .inner .txtimg .txt p {
  padding-top: 70px;
  font-size: 2em;
  font-weight: 700;
  font-family: "Noto Serif", serif;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1009 .container .inner .txtimg .txt p {
    padding-top: 0px;
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1009 .container .inner .txtimg .img {
  width: 48%;
  padding-right: 40px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1009 .container .inner .txtimg .img {
    width: 100%;
    padding-right: 0px;
  }
}
#p_rough_stone #sec1009 .pdf_link {
  font-size: 1.6em;
  font-weight: 400;
  font-family: "Noto Serif", serif;
  line-height: 1.8;
  text-align: center;
  padding-top: 10px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1009 .pdf_link {
    font-size: 1.3em;
  }
}
#p_rough_stone #sec1009 .pdf_link a {
  color: #000;
  text-decoration: none;
}
#p_rough_stone #sec1010 {
  margin-top: 40px;
}
#p_rough_stone #sec1010 .container {
  max-width: 1600px;
  background: #f5ede6;
  padding: 80px 15px 30px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1010 .container {
    padding: 20px;
  }
}
#p_rough_stone #sec1010 .container .inner {
  max-width: 1170px;
  margin: 0 auto;
}
#p_rough_stone #sec1010 .container .inner h2 {
  color: #057468;
  font-size: 5.4em;
  font-style: italic;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  text-align: center;
  margin-bottom: 90px;
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1010 .container .inner h2 {
    font-size: 8vw;
    margin-bottom: 15px;
  }
}
#p_rough_stone #sec1010 .container .inner .txttxt {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#p_rough_stone #sec1010 .container .inner .txttxt .txt01 {
  width: 47.9%;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1010 .container .inner .txttxt .txt01 {
    width: 100%;
  }
}
#p_rough_stone #sec1010 .container .inner .txttxt .txt01 .spec {
  font-size: 1.6em;
  font-weight: 700;
  font-family: "Noto Serif", serif;
  letter-spacing: 0.05em;
  margin-bottom: 25px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1010 .container .inner .txttxt .txt01 .spec {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1010 .container .inner .txttxt .txt01 .sub_imgtxt {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#p_rough_stone #sec1010 .container .inner .txttxt .txt01 .sub_imgtxt .img {
  width: 34.1%;
}
#p_rough_stone #sec1010 .container .inner .txttxt .txt01 .sub_imgtxt .txt {
  width: 57.9%;
  font-size: 1.6em;
  font-weight: 700;
  font-family: "Noto Serif", serif;
  letter-spacing: 0.05em;
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  align-items: flex-end;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1010 .container .inner .txttxt .txt01 .sub_imgtxt .txt {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1010 .container .inner .txttxt .txt02 {
  width: 47.9%;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1010 .container .inner .txttxt .txt02 {
    width: 100%;
    padding-top: 25px;
  }
}
#p_rough_stone #sec1010 .container .inner .txttxt .txt02 .spec {
  font-size: 1.6em;
  font-weight: 700;
  font-family: "Noto Serif", serif;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1010 .container .inner .txttxt .txt02 .spec {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1010 .container .inner .txttxt .txt02 .img {
  padding-top: 40px;
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1010 .container .inner .txttxt .txt02 .img {
    padding-top: 25px;
  }
}
#p_rough_stone #sec1011 {
  margin: 40px 0px 50px;
}
#p_rough_stone #sec1011 .container {
  max-width: 1600px;
  background: #f5ede6;
  padding: 80px 15px 40px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1011 .container {
    padding: 20px;
  }
}
#p_rough_stone #sec1011 .container .inner {
  max-width: 1170px;
  margin: 0 auto;
}
#p_rough_stone #sec1011 .container .inner h2 {
  color: #057468;
  font-size: 5.4em;
  font-style: italic;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  text-align: center;
  margin-bottom: 55px;
  letter-spacing: 0.025em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1011 .container .inner h2 {
    font-size: 8vw;
    line-height: 1.4;
    margin-bottom: 25px;
  }
}
#p_rough_stone #sec1011 .container .inner .spec {
  font-size: 2em;
  font-weight: 700;
  font-family: "Noto Serif", serif;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1011 .container .inner .spec {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1011 .container .inner .item_list01 {
  max-width: 872px;
  margin: 0 auto 110px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1011 .container .inner .item_list01 {
    margin: 0 auto 50px;
    text-align: center;
  }
  #p_rough_stone #sec1011 .container .inner .item_list01 li {
    width: 100%;
    margin-bottom: 15px;
  }
}
#p_rough_stone #sec1011 .container .inner .item_list01 .cap {
  display: block;
  font-size: 1.6em;
}
#p_rough_stone #sec1011 .container .inner .item_list02 {
  max-width: 910px;
  margin: 0 auto 40px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1011 .container .inner .item_list02 li {
    width: 100%;
    margin-bottom: 15px;
    text-align: center;
  }
}
#p_rough_stone #sec1011 .container .inner .item_list02 .cap {
  display: block;
  font-size: 1.6em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1011 .container .inner .item_list02 .cap {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1011 .container .inner .link_txt {
  font-size: 2.2em;
  text-align: center;
  font-weight: 700;
  font-family: "Noto Serif", serif;
  margin-bottom: 40px;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1011 .container .inner .link_txt {
    font-size: 4.5vw;
  }
}
#p_rough_stone #sec1011 .container .inner .link_txt a {
  color: #057468;
  text-decoration: none;
  border-bottom: 1px solid #057468;
  padding-bottom: 10px;
}
#p_rough_stone #sec1011 .container .inner .link_txt a span {
  position: relative;
  padding-right: 43px;
}
#p_rough_stone #sec1011 .container .inner .link_txt a span:before {
  color: #e31f33;
  position: absolute;
  top: 5px;
  right: 0px;
  font-size: 1.5vw;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1011 .container .inner .link_txt a span:before {
    top: 0px;
    font-size: 8vw;
  }
}
#p_rough_stone #sec1011 .container .inner .cap_wrap .indent {
  font-size: 1.6em;
  font-weight: 400;
  font-family: "Noto Serif", serif;
  line-height: 1.8;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1011 .container .inner .cap_wrap .indent {
    font-size: 3.5vw;
  }
}
#p_rough_stone #sec1011 .container .inner .cap_wrap .indent a {
  color: #057468;
}
#p_rough_stone #sec1011 .container .inner .cap_wrap .indent a span {
  position: relative;
}
#p_rough_stone #sec1011 .container .inner .cap_wrap .indent a span:before {
  color: #e31f33;
  position: absolute;
  top: -5px;
  right: -35px;
  font-size: 1.5vw;
}
@media only screen and (max-width: 768px) {
  #p_rough_stone #sec1011 .container .inner .cap_wrap .indent a span:before {
    font-size: 8vw;
    top: auto;
    bottom: -5px;
  }
}
