@charset "UTF-8";
/* =============================
 * Size
 */
/* =============================
 * Color
 */
/* =============================
 * Font
 */
/* =============================
 * Speed
 */
/* TODO タブレットやタブレット縦のみなどを追加  */
/*
Reset Stylesheet
v1.0
Last Updated: 2019/06/10
Author: Kaito Fukiage - https://bre-men.jp/
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-style: normal;
  vertical-align: baseline;
  background: transparent; }

html {
  overflow-y: scroll; }

body {
  line-height: 1; }

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

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

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

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

/* change colours to suit your needs */
mark {
  background-color: none;
  color: inherit;
  font-style: inherit;
  font-weight: inherit; }

del {
  text-decoration: line-through; }

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

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

caption, th {
  text-align: left; }

hr {
  display: block;
  width: 100%;
  height: 1px;
  border: 0;
  margin: 1em 0;
  padding: 0;
  background: #000; }

input, textarea, select {
  vertical-align: middle;
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  appearance: none; }

p {
  letter-spacing: 0em; }

a {
  text-decoration: none;
  color: inherit; }

a:focus {
  outline: none; }

@keyframes LOGO-H {
  0% {
    stroke-dashoffset: 600; }
  60% {
    stroke-dashoffset: 0; }
  73.3% {
    stroke-dashoffset: 0;
    fill: #ffffff;
    stroke: #000000;
    stroke-width: 1; }
  100% {
    stroke-dashoffset: 0;
    fill: #000000;
    stroke: #ffffff;
    stroke-width: 0; } }
@keyframes LOGO-H-ON {
  0% {
    stroke-dashoffset: 0;
    fill: #000000;
    stroke: #000000;
    stroke-width: 1; }
  33.3% {
    stroke-dashoffset: 300;
    fill: #ffffff; }
  73.3% {
    stroke-dashoffset: 600; }
  100% {
    stroke: #f2f2f2;
    stroke-dashoffset: 0; } }
@keyframes LOGO-H-OFF {
  0% {
    stroke-dashoffset: 0;
    fill: #000000;
    stroke: #ffffff;
    stroke-width: 0; }
  33.3% {
    stroke-dashoffset: 0;
    fill: #f2f2f2;
    stroke: #000000;
    stroke-width: 1; }
  46.6% {
    stroke-dashoffset: 0; }
  100% {
    stroke-dashoffset: 600; } }
@keyframes triangleCircle {
  0% {
    bottom: 20px;
    border-top: 7px solid #000000;
    border-left: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
    border-bottom: 3px solid #ffffff; }
  75% {
    bottom: 23px;
    border-top: 7px solid #ffffff;
    border-left: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
    border-bottom: 7px solid #000000; }
  100% {
    bottom: 23px;
    border-top: 7px solid transparent;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-bottom: 7px solid #000000; } }
@keyframes triangleCircleSP {
  0% {
    bottom: 20px;
    border-top: 7px solid #ffffff;
    border-left: 3px solid #000000;
    border-right: 3px solid #000000;
    border-bottom: 3px solid #000000; }
  75% {
    bottom: 23px;
    border-top: 7px solid #000000;
    border-left: 3px solid #000000;
    border-right: 3px solid #000000;
    border-bottom: 7px solid #ffffff; }
  100% {
    bottom: 23px;
    border-top: 7px solid transparent;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-bottom: 7px solid #ffffff; } }
@keyframes triangleCircle2 {
  0% {
    top: 11px;
    border-top: 7px solid #000000;
    border-left: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
    border-bottom: 3px solid #ffffff; }
  75% {
    top: 3px;
    border-top: 7px solid #ffffff;
    border-left: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
    border-bottom: 7px solid #000000; }
  100% {
    top: 3px;
    border-top: 7px solid transparent;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-bottom: 7px solid #000000; } }
@keyframes navdance {
  0% {
    -webkit-border-radius: 16px;
    -moz-border-radius: 16px;
    border-radius: 16px;
    padding: 0 0;
    margin-left: 0%; }
  25% {
    -webkit-border-radius: 16px 12px;
    -moz-border-radius: 16px 12px;
    padding: 0 2%;
    margin-left: -3%; }
  33% {
    -webkit-border-radius: 10px 8px;
    -moz-border-radius: 10px 8px;
    border-radius: 10px 8px;
    padding: 0 6%;
    margin-left: -8%; }
  50% {
    -webkit-border-radius: 8px 12px;
    -moz-border-radius: 8px 12px;
    border-radius: 8px 12px;
    padding: 0 3%;
    margin-left: -4%; }
  66% {
    -webkit-border-radius: 12px 16px;
    -moz-border-radius: 12px 16px;
    border-radius: 12px 16px;
    padding: 0 6%;
    margin-left: -5%; }
  100% {
    -webkit-border-radius: 16px;
    -moz-border-radius: 16px;
    border-radius: 16px;
    padding: 0;
    margin-left: 0; } }
@keyframes works-box {
  0% {
    width: 2px; }
  40% {
    width: 100%; }
  50% {
    width: 100%;
    height: 2px;
    background: #f2f2f2;
    opacity: 1; }
  100% {
    width: 100%;
    height: 50%;
    background: #000000;
    opacity: .55; } }
@keyframes works-box-rev {
  100% {
    width: 2px; }
  50% {
    width: 100%; }
  40% {
    width: 100%;
    height: 2px;
    background: #f2f2f2;
    opacity: 1; }
  0% {
    width: 100%;
    height: 50%;
    background: #000000;
    opacity: .55; } }
@keyframes works-box-fadeout {
  0% {
    width: 100%;
    height: 50%;
    background: #000000;
    opacity: .55; }
  100% {
    width: 120%;
    height: 60%;
    background: #000000;
    opacity: .0; } }
@keyframes works-box-inner {
  0% {
    top: 10px;
    opacity: 0; }
  100% {
    top: 0px;
    opacity: 1; } }
@keyframes works-box-inner-fadeout {
  0% {
    opacity: 1;
    transform: scale(1); }
  100% {
    opacity: 0;
    transform: scale(1.1); } }
@keyframes infinite_arw {
  0% {
    bottom: 77px;
    height: 23px;
    left: 50%;
    margin-left: 0;
    opacity: 1; }
  100% {
    bottom: 0px;
    height: 0px;
    left: 50%;
    margin-left: 0;
    opacity: .1; } }
@keyframes infinite_arw_rev {
  0% {
    bottom: 0px;
    height: 23px;
    left: 50%;
    margin-left: 0; }
  100% {
    bottom: 77px;
    height: 0px;
    opacity: .1;
    left: 50%;
    margin-left: 0; } }
@keyframes scroll_arw {
  0% {
    border-left-width: 3px;
    border-right-width: 0px;
    border-top-width: 0px;
    border-bottom-width: 0px;
    width: 0px;
    height: 23px;
    bottom: 77px; }
  20% {
    border-left-width: 3px;
    border-right-width: 0px;
    border-top-width: 0px;
    border-bottom-width: 0px;
    width: 0px;
    height: 23px;
    bottom: 43px; }
  22% {
    border-left-width: 3px;
    border-right-width: 0px;
    border-top-width: 0px;
    border-bottom-width: 3px;
    width: 11.5px;
    height: 11.5px;
    bottom: 43px; }
  24% {
    border-left-width: 0px;
    border-right-width: 0px;
    border-top-width: 0px;
    border-bottom-width: 3px;
    width: 23px;
    height: 0px;
    bottom: 43px; }
  50% {
    border-left-width: 0px;
    border-right-width: 0px;
    border-top-width: 1.5px;
    border-bottom-width: 1.5px;
    width: 23px;
    height: 0px;
    bottom: 43px; }
  76% {
    border-left-width: 0px;
    border-right-width: 0px;
    border-top-width: 3px;
    border-bottom-width: 0px;
    width: 23px;
    height: 0px;
    bottom: 43px; }
  78% {
    border-left-width: 0px;
    border-right-width: 3px;
    border-top-width: 3px;
    border-bottom-width: 0px;
    width: 11.5px;
    height: 11.5px;
    bottom: 23px; }
  80% {
    border-left-width: 0px;
    border-right-width: 3px;
    border-top-width: 0px;
    border-bottom-width: 0px;
    width: 0px;
    height: 23px;
    bottom: 23px; }
  100% {
    border-left-width: 0px;
    border-right-width: 3px;
    border-top-width: 0px;
    border-bottom-width: 0px;
    width: 0px;
    height: 23px;
    bottom: 23px; } }
@keyframes scroll_arw_btn {
  0% {
    bottom: 140px;
    left: 50%;
    margin-left: -20px; }
  20% {
    bottom: 43px;
    left: 50%;
    margin-left: -20px; }
  22% {
    bottom: 43px;
    left: 50%;
    margin-left: -20px; }
  24% {
    bottom: 43px;
    left: 50%;
    margin-left: -20px; }
  50% {
    bottom: 43px;
    margin-left: -20px;
    left: 72.5%; }
  76% {
    bottom: 43px;
    margin-left: -20px;
    left: 95%; }
  78% {
    bottom: 31.5px;
    margin-left: -20px;
    left: 95%; }
  80% {
    bottom: 20px;
    margin-left: -20px;
    left: 95%; }
  100% {
    bottom: 20px;
    margin-left: -20px;
    left: 95%; } }
@keyframes scroll_arw_head {
  0% {
    bottom: -15px;
    width: 0px;
    height: 0px;
    border: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-top: 10px solid #000000;
    left: 0%;
    margin-left: -7px; }
  20% {
    border: 1px solid transparent; }
  76% {
    border: 1px solid transparent; }
  86% {
    bottom: 23px;
    width: 0px;
    height: 0px;
    border: 6px solid transparent;
    border-bottom: 10px solid #000000;
    border-top: 6px solid transparent;
    left: 0%;
    margin-left: -4.5px; }
  100% {
    bottom: 23px;
    width: 0px;
    height: 0px;
    border: 6px solid transparent;
    border-bottom: 10px solid #000000;
    border-top: 6px solid transparent;
    left: 0%;
    margin-left: -4.5px; } }
@keyframes Humberger_bar_x {
  0% {
    width: 25px;
    transform: translateY(-8px) rotate(0deg); }
  50% {
    width: 25px;
    transform: translateY(-8px) rotate(0deg); }
  70% {
    width: 25px;
    transform: translateY(-8px) rotate(0deg); }
  100% {
    width: 24px;
    transform: translateY(0px) rotate(-45deg); } }
@keyframes Humberger_bar_y {
  0% {
    transform: translateX(0px); }
  50% {
    transform: translateX(13px); }
  70% {
    transform: translateX(13px); }
  100% {
    transform: translateX(50px); } }
@keyframes Humberger_bar_z {
  0% {
    transform: rotate(0deg) translateX(0px) translateY(8px);
    width: 20px; }
  50% {
    transform: rotate(0deg) translateX(5px) translateY(8px);
    width: 20px; }
  70% {
    transform: rotate(0deg) translateX(5px) translateY(8px);
    width: 20px; }
  100% {
    transform: rotate(45deg) translateX(0px) translateY(0px);
    width: 24px; } }
/* Humberger End */
/*
@keyframes unyuunyu {
  0% {
    background: $c_black;
    width: 36px;
    border-radius: 100%;
    left: 50%;
    bottom: 10px;
    margin-left:-198px;
  }
  50% {
    width: 36px;
    border-radius: 100%;
    left: 50%;
    bottom: 0px;
    margin-left:-198px;
    background: $c_black;
  }
  100% {
    width: 100%;
    border-radius: 0;
    background: $c_gray_light;
  }
}
*/
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before {
    display: table;
    content: ''; }
  .slick-track:after {
    display: table;
    content: '';
    clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }
.slick-slide.slick-loading img {
  display: none; }
.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #ffffff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: 'slick';
  font-weight: normal;
  font-style: normal;
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg"); }
/* Arrows */
.slick-prev, .slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: 20px;
  height: 20px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: transparent; }

.slick-prev:hover, .slick-prev:focus {
  color: transparent;
  outline: none;
  background: transparent; }

.slick-next:hover, .slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent; }

.slick-prev:hover:before, .slick-prev:focus:before {
  opacity: 1; }

.slick-next:hover:before, .slick-next:focus:before {
  opacity: 1; }

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
  opacity: .25; }

.slick-prev:before, .slick-next:before {
  font-family: 'slick';
  font-size: 20px;
  line-height: 1;
  opacity: .75;
  color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }

[dir='rtl'] .slick-prev {
  right: -25px;
  left: auto; }

.slick-prev:before {
  content: '←'; }

[dir='rtl'] .slick-prev:before {
  content: '→'; }

.slick-next {
  right: -25px; }

[dir='rtl'] .slick-next {
  right: auto;
  left: -25px; }

.slick-next:before {
  content: '→'; }

[dir='rtl'] .slick-next:before {
  content: '←'; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: 0 6px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      font-size: 0;
      line-height: 0;
      display: block;
      width: 12px;
      height: 12px;
      padding: 0;
      cursor: pointer;
      color: #e3dccc;
      border: 0;
      outline: none;
      border-radius: 50%;
      background: #e3dccc; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
      .slick-dots li button:hover:before, .slick-dots li button:focus:before {
        opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        width: 12px;
        height: 12px;
        background-color: #386150;
        content: '';
        border-radius: 50%;
        text-align: center;
        opacity: 0;
        color: #000000;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      opacity: .75;
      color: #000000; }

/* =============================
 * Basis
 */
html {
  -webkit-text-size-adjust: none;
  font-size: 62.5%; }
  @media screen and (max-width: 1280px) {
    html {
      font-size: 0.78125vw; } }
  @media screen and (max-width: 1280px) and (max-width: 768px) {
    html {
      font-size: 62.5%; } }

body {
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  font-size: 1.4rem;
  font-family: "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
  line-height: 1.5;
  -webkit-text-size-adjust: none;
  color: #000000;
  position: relative; }

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400; }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold; }
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100; }
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200; }
/* IE10以上 */
@media all and (-ms-high-contrast: none) {
  body {
    font-family: Verdana, Meiryo, sans-serif; } }
.clearfix:after {
  visibility: hidden;
  display: block;
  content: " ";
  clear: both;
  height: 0; }

* html .clearfix, *:first-child + html .clearfix {
  zoom: 1; }

/* IE6 */
/* IE7 */
a {
  color: #000000; }
  a:hover {
    text-decoration: none; }

/* =============================
 * Layout
 */
.main {
  padding-top: 90px; }
  @media screen and (max-width: 1280px) {
    .main {
      padding-top: 7.03125vw; } }
  @media screen and (max-width: 768px) {
    .main {
      padding-top: 12vw;
      overflow-x: hidden; } }

.container {
  width: 1000px;
  margin: 0 auto;
  clear: both; }
  @media screen and (max-width: 1280px) {
    .container {
      width: 78.125vw; } }
  @media screen and (max-width: 768px) {
    .container {
      width: 100%; } }

.paragraph {
  padding-bottom: 80px; }
  @media screen and (max-width: 1280px) {
    .paragraph {
      padding-bottom: 6.25vw; } }
  @media screen and (max-width: 768px) {
    .paragraph {
      width: 85.3333333333vw;
      margin: 0 auto;
      padding-bottom: 12vw; } }

.sentence {
  width: 800px;
  margin: 0 auto;
  font-size: 1.4rem;
  line-height: 3.0rem;
  margin-bottom: 1.5em;
  letter-spacing: .1em; }
  @media screen and (max-width: 1280px) {
    .sentence {
      width: 62.5vw; } }
  @media screen and (max-width: 768px) {
    .sentence {
      width: 85.3333333333vw;
      font-size: 3.7333333333vw;
      line-height: 6.9333333333vw; } }

/* =============================
 * Appearance
 */
.center {
  text-align: center; }

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

/* headline - title */
.title {
  width: 100%;
  text-align: center;
  position: relative; }
  .title_en {
    width: 100%;
    letter-spacing: 0.3rem;
    line-height: 120%;
    text-align: center;
    font-size: 3.0rem;
    font-family: "ltc-bodoni-175", "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN", serif, "Sawarabi Mincho";
    font-style: italic;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 37px 0px 24px; }
    @media screen and (max-width: 1280px) {
      .title_en {
        padding: 2.890625vw 0vw 1.875vw; } }
    @media screen and (max-width: 768px) {
      .title_en {
        font-size: 6.9333333333vw;
        padding: 9.0666666667vw 7.3333333333vw 6.9333333333vw; } }
  .title_ja {
    width: 100%;
    display: block;
    font-size: 1.2rem;
    letter-spacing: 0.2rem;
    left: -.2%;
    font-weight: bold;
    text-align: center;
    margin-top: 21px; }
    @media screen and (max-width: 1280px) {
      .title_ja {
        margin-top: 1.640625vw; } }
    @media screen and (max-width: 768px) {
      .title_ja {
        font-size: 3.2vw;
        margin-top: 6.4vw; } }
  .title .title_en {
    position: relative;
    display: inline;
    padding-bottom: 17px; }
    @media screen and (max-width: 1280px) {
      .title .title_en {
        padding-bottom: 1.328125vw; } }
    @media screen and (max-width: 768px) {
      .title .title_en {
        padding-bottom: 3.7333333333vw; } }
    .title .title_en:after {
      content: "";
      background: #000000;
      position: absolute;
      width: 86%;
      height: 2px;
      left: 6.8%;
      bottom: 0; }
  .title .title_ja {
    margin-top: 39px; }
    @media screen and (max-width: 1280px) {
      .title .title_ja {
        margin-top: 3.046875vw; } }
    @media screen and (max-width: 768px) {
      .title .title_ja {
        margin-top: 8vw; } }

.subtitle {
  width: 100%;
  letter-spacing: 0.3rem;
  line-height: 120%;
  text-align: center;
  font-size: 2.2rem;
  padding: 0;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 33px; }
  @media screen and (max-width: 1280px) {
    .subtitle {
      margin-bottom: 2.578125vw; } }
  @media screen and (max-width: 768px) {
    .subtitle {
      padding: 0vw 7.3333333333vw;
      margin-bottom: 8vw; } }
  .subtitle_en {
    width: 100%;
    letter-spacing: 0.3rem;
    line-height: 120%;
    text-align: center;
    font-family: "ltc-bodoni-175", "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN", serif, "Sawarabi Mincho";
    font-style: italic;
    font-size: 2.2rem;
    position: relative;
    display: inline;
    padding-bottom: 11px; }
    @media screen and (max-width: 1280px) {
      .subtitle_en {
        padding-bottom: 0.859375vw; } }
    @media screen and (max-width: 768px) {
      .subtitle_en {
        font-size: 4.2666666667vw;
        padding-bottom: 3.7333333333vw; } }
    .subtitle_en:before {
      content: "";
      background: #000000;
      position: absolute;
      width: 86%;
      height: 2px;
      left: 6.8%;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        .subtitle_en:before {
          height: 1px; } }

.headline {
  margin: 18px 0px 45px; }
  @media screen and (max-width: 1280px) {
    .headline {
      margin: 1.40625vw 0vw 3.515625vw; } }
  @media screen and (max-width: 768px) {
    .headline {
      margin: 4.2666666667vw auto 9.0666666667vw; } }
  .headline_ttl, .headline_ttl_sub {
    width: 100%;
    text-align: center;
    font-weight: bold;
    letter-spacing: .1em;
    font-size: 3.2rem; }
    @media screen and (max-width: 768px) {
      .headline_ttl, .headline_ttl_sub {
        font-size: 5.3333333333vw; } }
    .headline_ttl_sub {
      font-size: 2rem;
      text-align: center;
      font-weight: bold;
      letter-spacing: .2rem;
      margin: 22px 0px 0px;
      padding: 20px 0px 50px; }
      @media screen and (max-width: 1280px) {
        .headline_ttl_sub {
          margin: 1.71875vw 0vw 0vw;
          padding: 1.5625vw 0vw 3.90625vw; } }
      @media screen and (max-width: 768px) {
        .headline_ttl_sub {
          font-size: 4.2666666667vw;
          padding: 5.3333333333vw 0vw 12vw;
          margin: 5.3333333333vw 0vw 0vw; } }
  .headline .headline_ttl_sub {
    padding-bottom: 0; }

.contents {
  width: 100%;
  margin: 0px auto;
  padding-top: 25px; }
  @media screen and (max-width: 1280px) {
    .contents {
      padding-top: 1.953125vw; } }
  @media screen and (max-width: 768px) {
    .contents {
      padding-top: 5.3333333333vw; } }
  .contents_ttl {
    margin: 0 auto;
    font-size: 3.2rem;
    font-weight: bold;
    text-align: center;
    width: 800px;
    padding: 40px 0px; }
    @media screen and (max-width: 1280px) {
      .contents_ttl {
        width: 62.5vw;
        padding: 3.125vw 0vw; } }
    @media screen and (max-width: 768px) {
      .contents_ttl {
        width: 85.3333333333vw;
        padding: 8vw 0vw;
        font-size: 7.4666666667vw; } }

/* navigation - list */
.subnav {
  width: 100%; }
  .subnav_box {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
  .subnav_list {
    font-size: 1.2rem; }
    .subnav_list a {
      padding: 0 2px;
      font-size: 1.2rem; }

.ico_nav {
  box-sizing: border-box;
  border: solid #f2f2f2;
  text-align: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 1000px;
  margin: 46px auto;
  border-width: 8px; }
  @media screen and (max-width: 1280px) {
    .ico_nav {
      width: 78.125vw;
      margin: 3.59375vw auto;
      border-width: 0.625vw; } }
  @media screen and (max-width: 768px) {
    .ico_nav {
      width: 85.3333333333vw;
      margin: 12vw auto;
      border-width: 2.6666666667vw;
      padding-bottom: 5.3333333333vw;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: row;
      flex-direction: row;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -webkit-align-items: center;
      align-items: center;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; } }
  .ico_nav_list {
    width: 158px;
    vertical-align: top;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 60px 14px; }
    @media screen and (max-width: 1280px) {
      .ico_nav_list {
        padding: 4.6875vw 1.09375vw; } }
    @media screen and (max-width: 768px) {
      .ico_nav_list {
        width: 40vw;
        padding: 5.3333333333vw 5.3333333333vw 0vw; } }
    @media screen and (max-width: 768px) {
      .ico_nav_list:nth-child(even) {
        padding-left: 0; } }
    .ico_nav_list a {
      display: block; }
    .ico_nav_list_svg {
      vertical-align: middle;
      font-size: 1.5rem;
      text-align: center;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: row;
      flex-direction: row;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-align-items: flex-end;
      align-items: flex-end;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      height: 80px;
      padding-bottom: 14px; }
      @media screen and (max-width: 1280px) {
        .ico_nav_list_svg {
          height: 6.25vw;
          padding-bottom: 1.09375vw; } }
      @media screen and (max-width: 768px) {
        .ico_nav_list_svg {
          padding-bottom: 0;
          height: auto; } }
    .ico_nav_list_ttl {
      font-size: 1.5rem;
      font-weight: bold; }
      @media screen and (max-width: 768px) {
        .ico_nav_list_ttl {
          font-size: 3.4666666667vw;
          padding: 2.1333333333vw; } }

.menu {
  width: 100%;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .menu {
      width: 85.3333333333vw; } }
  .menu_list {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    .menu_list_item {
      font-size: 1.2rem; }
      .menu_list_item:not(:first-child)::before {
        content: '/';
        letter-spacing: 0;
        padding: 0 .5em; }
      @media screen and (max-width: 768px) {
        .menu_list_item {
          font-size: 3.4666666667vw;
          line-height: 2; } }

.mv {
  width: 1000px;
  margin: 75px auto 0px; }
  @media screen and (max-width: 1280px) {
    .mv {
      width: 78.125vw;
      margin: 5.859375vw auto 0vw; } }
  @media screen and (max-width: 768px) {
    .mv {
      width: 100%;
      margin-top: 8vw; } }

.box_list {
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 100px auto 16px; }
  @media screen and (max-width: 1280px) {
    .box_list {
      margin: 7.8125vw auto 1.25vw; } }
  @media screen and (max-width: 768px) {
    .box_list {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: row;
      flex-direction: row;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      -webkit-align-items: stretch;
      align-items: stretch;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      margin: 9.0666666667vw auto; } }
  .box_list_card {
    margin: 20px; }
    @media screen and (max-width: 1280px) {
      .box_list_card {
        margin: 1.5625vw; } }
    @media screen and (max-width: 768px) {
      .box_list_card {
        width: 100%;
        margin: 0 0 8vw; } }
    .box_list_card a {
      height: 100%;
      text-align: center;
      box-sizing: border-box;
      border: solid #f2f2f2;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: row;
      flex-direction: row;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-align-items: center;
      align-items: center;
      -webkit-align-content: center;
      align-content: center;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      width: 240px;
      border-width: 10px; }
      @media screen and (max-width: 1280px) {
        .box_list_card a {
          width: 18.75vw;
          border-width: 0.78125vw; } }
      @media screen and (max-width: 768px) {
        .box_list_card a {
          width: 100%; } }
    .box_list_card_ttl {
      font-size: 1.6rem;
      font-weight: bold;
      letter-spacing: .1em;
      position: relative;
      width: 100%;
      padding: 30px 5px 18px; }
      @media screen and (max-width: 1280px) {
        .box_list_card_ttl {
          padding: 2.34375vw 0.390625vw 1.40625vw; } }
      @media screen and (max-width: 768px) {
        .box_list_card_ttl {
          font-size: 3.7333333333vw; } }
      .box_list_card_ttl:after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        margin-left: -12px;
        width: 24px;
        height: 2px;
        background: #000000;
        width: 24px;
        height: 2px;
        margin-left: -12px; }
        @media screen and (max-width: 1280px) {
          .box_list_card_ttl:after {
            width: 1.875vw;
            height: 0.15625vw;
            margin-left: -0.9375vw; } }
    .box_list_card_svg {
      margin: 32px auto; }
      @media screen and (max-width: 1280px) {
        .box_list_card_svg {
          margin: 2.5vw auto; } }
      @media screen and (max-width: 768px) {
        .box_list_card_svg {
          margin: 6.6666666667vw 4vw; } }
    .box_list_card_exp {
      width: 88%;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      font-size: 1.3rem;
      line-height: 2.15;
      margin-bottom: 33px; }
      @media screen and (max-width: 1280px) {
        .box_list_card_exp {
          margin-bottom: 2.578125vw; } }
      @media screen and (max-width: 768px) {
        .box_list_card_exp {
          width: 100%;
          padding: 0vw 6.6666666667vw;
          margin-bottom: 6.6666666667vw;
          font-size: 4vw; } }

.slidetgl_area {
  margin: 0 auto;
  background: #f2f2f2;
  width: 600px;
  padding: 20px 100px; }
  @media screen and (max-width: 1280px) {
    .slidetgl_area {
      width: 46.875vw;
      padding: 1.5625vw 7.8125vw; } }
  @media screen and (max-width: 768px) {
    .slidetgl_area {
      width: 85.3333333333vw;
      padding: 4vw;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box; } }
.slidetgl_list {
  width: 100%;
  background: #ffffff;
  box-sizing: border-box;
  cursor: pointer;
  margin-bottom: 10px;
  padding: 15px 24px; }
  @media screen and (max-width: 1280px) {
    .slidetgl_list {
      margin-bottom: 0.78125vw;
      padding: 1.171875vw 1.875vw; } }
  @media screen and (max-width: 768px) {
    .slidetgl_list {
      padding: 4vw 6.6666666667vw; } }
  .slidetgl_list:last-child {
    margin-bottom: 0; }
  .slidetgl_list_txt {
    font-size: 1.4rem;
    line-height: 3.0rem;
    padding-top: 0;
    max-height: 0;
    overflow: hidden;
    transition: 0.4s;
    -webkit-transition: 0.4s; }
  .slidetgl_list_ttl {
    width: 100%;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    box-sizing: border-box;
    position: relative; }
    .slidetgl_list_ttl strong {
      font-weight: bold;
      position: relative; }
      .slidetgl_list_ttl strong:after {
        content: "";
        background: #000000;
        position: absolute;
        width: 0%;
        transition: 0.4s;
        -webkit-transition: 0.4s;
        left: 0;
        height: 2px;
        bottom: -16px; }
        @media screen and (max-width: 1280px) {
          .slidetgl_list_ttl strong:after {
            height: 0.15625vw;
            bottom: -1.25vw; } }
    .slidetgl_list_ttl:after {
      content: '';
      position: absolute;
      right: 0;
      width: 0;
      height: 0;
      border: solid transparent;
      border-top: solid #000000;
      -webkit-transition: 0.4s;
      transition: 0.4s;
      border-width: 3px;
      border-top-width: 7px;
      top: 11px; }
      @media screen and (max-width: 1280px) {
        .slidetgl_list_ttl:after {
          border-width: 0.234375vw;
          border-top-width: 0.546875vw;
          top: 0.859375vw; } }
      @media screen and (max-width: 768px) {
        .slidetgl_list_ttl:after {
          right: -2.6666666667vw; } }
  .slidetgl_list.open .slidetgl_list_txt {
    max-height: 500px;
    margin-top: 24px;
    max-height: 500px;
    margin-top: 24px; }
    @media screen and (max-width: 1280px) {
      .slidetgl_list.open .slidetgl_list_txt {
        max-height: 39.0625vw;
        margin-top: 1.875vw; } }
  .slidetgl_list.open .slidetgl_list_ttl:after {
    border-top: 0px solid transparent;
    border-left: solid transparent;
    border-right: solid transparent;
    border-bottom: solid #000000;
    animation: triangleCircle2 1s;
    top: 10px;
    border-left-width: 3px;
    border-right-width: 3px;
    border-bottom-width: 7px; }
    @media screen and (max-width: 1280px) {
      .slidetgl_list.open .slidetgl_list_ttl:after {
        top: 0.78125vw;
        border-left-width: 0.234375vw;
        border-right-width: 0.234375vw;
        border-bottom-width: 0.546875vw; } }
  .slidetgl_list.open .slidetgl_list_ttl strong:after {
    width: 86%;
    left: 6.8%; }

/* table */
.table {
  margin: 0 auto;
  border-bottom: 1px solid #000000;
  width: 800px; }
  @media screen and (max-width: 1280px) {
    .table {
      width: 62.5vw; } }
  @media screen and (max-width: 768px) {
    .table {
      width: 85.3333333333vw; } }
  .table_list {
    font-size: 1.4rem;
    line-height: 3rem;
    border-top: 1px solid #000000;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      .table_list {
        font-size: 3.7333333333vw; } }
    .table_list_ttl, .table_list_dat {
      padding: 16px 0px 16px 32px; }
      @media screen and (max-width: 1280px) {
        .table_list_ttl, .table_list_dat {
          padding: 1.25vw 0vw 1.25vw 2.5vw; } }
      @media screen and (max-width: 768px) {
        .table_list_ttl, .table_list_dat {
          padding: 3.7333333333vw 0vw; } }
    .table_list_ttl {
      font-weight: bold;
      font-size: inherit;
      line-height: inherit;
      width: 168px; }
      @media screen and (max-width: 1280px) {
        .table_list_ttl {
          width: 13.125vw; } }
      @media screen and (max-width: 768px) {
        .table_list_ttl {
          padding-bottom: 0; } }
    .table_list_dat {
      font-size: inherit;
      line-height: inherit;
      width: 568px; }
      @media screen and (max-width: 1280px) {
        .table_list_dat {
          width: 44.375vw; } }

/* btn */
.more {
  text-align: center;
  position: relative;
  width: 200px;
  height: 40px;
  border-radius: 40px;
  margin: 48px auto; }
  @media screen and (max-width: 1280px) {
    .more {
      width: 15.625vw;
      height: 3.125vw;
      border-radius: 3.125vw;
      margin: 3.75vw auto; } }
  @media screen and (max-width: 768px) {
    .more {
      width: 53.3333333333vw;
      height: 10.6666666667vw;
      margin: 12vw auto; } }
  .more a {
    width: 100%;
    height: 100%;
    border: 1px solid #000000;
    border-radius: 40px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-family: "ltc-bodoni-175", "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN", serif, "Sawarabi Mincho";
    font-style: italic;
    font-size: 1.8rem;
    letter-spacing: 0.3rem;
    text-align: center;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    -webkit-transition: 0.4s;
    transition: 0.4s; }
    @media screen and (max-width: 1280px) {
      .more a {
        border-radius: 3.125vw; } }
    .more a:after {
      content: '';
      position: absolute;
      top: 50%;
      width: 0;
      height: 0;
      border: solid transparent;
      border-top: solid #000000;
      -webkit-transition: 0.4s;
      transition: 0.4s;
      right: 20px;
      border-width: 3px;
      border-top-width: 7px;
      margin-top: -2px; }
      @media screen and (max-width: 1280px) {
        .more a:after {
          right: 1.5625vw;
          border-width: 0.234375vw;
          border-top-width: 0.546875vw;
          margin-top: -0.15625vw; } }
  .more:before, .more:after, .more a:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid #ffffff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: 0.8s;
    transition: 0.8s;
    z-index: -1;
    width: 190px;
    height: 30px;
    margin-top: -15px;
    margin-left: -95px;
    border-radius: 40px; }
    @media screen and (max-width: 1280px) {
      .more:before, .more:after, .more a:before {
        width: 14.84375vw;
        height: 2.34375vw;
        margin-top: -1.171875vw;
        margin-left: -7.421875vw;
        border-radius: 3.125vw; } }
  .more:hover a {
    width: 98%;
    font-size: 1.7rem;
    height: 98%;
    margin: 1%;
    color: #000000;
    border-color: #000000; }
    .more:hover a:after {
      border-top-color: #000000; }
  .more:hover:before, .more:hover:after, .more:hover a:before {
    opacity: 0;
    border-color: #000000; }
  .more:hover:before {
    width: 220px;
    height: 60px;
    margin-top: -30px;
    margin-left: -110px; }
    @media screen and (max-width: 1280px) {
      .more:hover:before {
        width: 17.1875vw;
        height: 4.6875vw;
        margin-top: -2.34375vw;
        margin-left: -8.59375vw; } }
  .more:hover:after {
    width: 240px;
    height: 80px;
    margin-top: -40px;
    margin-left: -120px; }
    @media screen and (max-width: 1280px) {
      .more:hover:after {
        width: 18.75vw;
        height: 6.25vw;
        margin-top: -3.125vw;
        margin-left: -9.375vw; } }
  .more:hover a:before {
    width: 260px;
    height: 100px;
    margin-top: -50px;
    margin-left: -130px; }
    @media screen and (max-width: 1280px) {
      .more:hover a:before {
        width: 20.3125vw;
        height: 7.8125vw;
        margin-top: -3.90625vw;
        margin-left: -10.15625vw; } }

.header {
  width: 100%;
  position: relative;
  z-index: 101; }
  .header_logo {
    margin: 68px auto 20px;
    text-align: center; }
    @media screen and (max-width: 1280px) {
      .header_logo {
        margin: 5.3125vw auto 1.5625vw; } }
    .header_logo_h {
      fill: #f2f2f2;
      stroke: #000000;
      stroke-width: 1px;
      -webkit-transition: 0.4s;
      transition: 0.4s;
      stroke-dasharray: 600;
      stroke-dashoffset: 600;
      animation: LOGO-H-OFF 0.8s ease-in 0s forwards; }
  .header_tagline {
    line-height: 100%;
    font-family: "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
    font-size: 1.8rem;
    text-align: center;
    letter-spacing: 0.4rem;
    margin-bottom: 54px; }
    @media screen and (max-width: 1280px) {
      .header_tagline {
        margin-bottom: 4.21875vw; } }
    .header_tagline span {
      padding: 0px 10px; }
      @media screen and (max-width: 1280px) {
        .header_tagline span {
          padding: 0vw 0.78125vw; } }
  .header_nav {
    width: 100%;
    position: absolute;
    left: 0;
    z-index: 1;
    -webkit-transition: all 0.4s, background-color 0.8s;
    transition: all 0.4s, background-color 0.8s; }
    @media screen and (max-width: 768px) {
      .header_nav {
        background: #ffffff;
        top: 0;
        position: fixed; } }
    .header_nav_logo {
      position: absolute;
      left: 50%;
      z-index: 1;
      -webkit-transition: .4s;
      transition: .4s;
      width: 100px;
      top: 10px;
      margin-left: -500px; }
      @media screen and (max-width: 1280px) {
        .header_nav_logo {
          width: 7.8125vw;
          top: 0.78125vw;
          margin-left: -39.0625vw; } }
      @media screen and (max-width: 768px) {
        .header_nav_logo {
          width: 24vw;
          height: 13.3333333333vw;
          position: relative;
          left: 0;
          top: 0;
          margin-left: 4.2666666667vw;
          display: -webkit-flex;
          display: flex;
          -webkit-flex-direction: row;
          flex-direction: row;
          -webkit-justify-content: flex-start;
          justify-content: flex-start;
          -webkit-align-items: center;
          align-items: center;
          -webkit-flex-wrap: wrap;
          flex-wrap: wrap; } }
      .header_nav_logo a {
        display: block; }
        @media screen and (max-width: 768px) {
          .header_nav_logo a {
            width: 100%; } }
  .header_gnav {
    text-align: center;
    margin: 0 auto;
    position: relative;
    padding-bottom: 36px; }
    @media screen and (max-width: 1280px) {
      .header_gnav {
        padding-bottom: 2.8125vw; } }
    @media screen and (max-width: 768px) {
      .header_gnav {
        height: calc(100vh - 13.3333333333vw);
        position: fixed;
        top: 13.3333333333vw;
        background: #000000;
        color: #ffffff;
        padding-bottom: 0;
        opacity: 0;
        transform: translateX(-100%);
        transition: transform 0.8s, opacity 1.5s; } }
    .header_gnav a {
      font-family: "ltc-bodoni-175", "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN", serif, "Sawarabi Mincho";
      font-style: italic;
      letter-spacing: 0.3rem;
      display: block;
      line-height: 1; }
    .header_gnav_parent {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: row;
      flex-direction: row;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-align-items: center;
      align-items: center;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; }
      .header_gnav_parent a {
        font-size: 1.8rem;
        position: relative;
        color: inherit;
        padding: 18px; }
        @media screen and (max-width: 1280px) {
          .header_gnav_parent a {
            padding: 1.40625vw; } }
        @media screen and (max-width: 768px) {
          .header_gnav_parent a {
            text-align: left;
            padding: 5.3333333333vw 13.3333333333vw 5.3333333333vw 6.6666666667vw; } }
      .header_gnav_parent_list {
        margin: 0px 4px; }
        @media screen and (max-width: 1280px) {
          .header_gnav_parent_list {
            margin: 0vw 0.3125vw; } }
        @media screen and (max-width: 768px) {
          .header_gnav_parent_list {
            width: 100%;
            margin: 0; } }
        .header_gnav_parent_list a:before {
          content: "";
          width: 0;
          background: #000000;
          bottom: 0;
          left: 50%;
          position: absolute;
          transition: 0.4s;
          -webkit-transition: 0.4s;
          -webkit-border-radius: 80% 80% 0 0;
          -moz-border-radius: 80% 80% 0 0;
          border-radius: 80% 80% 0 0;
          height: 10px; }
          @media screen and (max-width: 1280px) {
            .header_gnav_parent_list a:before {
              height: 0.78125vw; } }
        @media screen and (max-width: 768px) {
          .header_gnav_parent_list_link.parent {
            pointer-events: none; } }
      .header_gnav_parent > .header_gnav_parent_list:hover > a:before,
      .header_gnav_parent > .header_gnav_parent_list_open > a:before {
        width: 50%;
        height: 2px;
        left: 24%;
        -webkit-border-radius: 0;
        -moz-border-radius: 0;
        border-radius: 0; }
      .header_gnav_parent .parent {
        margin-right: 14px; }
        @media screen and (max-width: 1280px) {
          .header_gnav_parent .parent {
            margin-right: 1.09375vw; } }
        @media screen and (max-width: 768px) {
          .header_gnav_parent .parent {
            margin-right: 0; } }
        .header_gnav_parent .parent > a:after {
          content: '';
          position: absolute;
          right: 0;
          width: 0;
          height: 0;
          border: solid transparent;
          border-top: solid #000000;
          -webkit-transition: 0.4s;
          transition: 0.4s;
          border-width: 3px;
          border-top-width: 7px; }
          @media screen and (max-width: 1280px) {
            .header_gnav_parent .parent > a:after {
              border-width: 0.234375vw;
              border-top-width: 0.546875vw; } }
          @media screen and (max-width: 768px) {
            .header_gnav_parent .parent > a:after {
              border-top-color: #ffffff;
              right: 5.3333333333vw; } }
        .header_gnav_parent .parent > a:after {
          bottom: 20px; }
          @media screen and (max-width: 1280px) {
            .header_gnav_parent .parent > a:after {
              bottom: 1.5625vw; } }
        .header_gnav_parent .parent:hover > a:after {
          border-top: 0 solid transparent;
          border-left: solid transparent;
          border-right: solid transparent;
          border-bottom: solid #000000;
          border-left-width: 3px;
          border-right-width: 3px;
          border-bottom-width: 7px; }
          @media screen and (max-width: 1280px) {
            .header_gnav_parent .parent:hover > a:after {
              border-left-width: 0.234375vw;
              border-right-width: 0.234375vw;
              border-bottom-width: 0.546875vw; } }
          @media screen and (max-width: 768px) {
            .header_gnav_parent .parent:hover > a:after {
              border-bottom-color: #ffffff; } }
        .header_gnav_parent .parent:hover > a:after {
          bottom: 23px;
          animation: triangleCircle 0.8s; }
          @media screen and (max-width: 1280px) {
            .header_gnav_parent .parent:hover > a:after {
              bottom: 1.796875vw; } }
          @media screen and (max-width: 768px) {
            .header_gnav_parent .parent:hover > a:after {
              animation: triangleCircleSP 0.8s; } }
      .header_gnav_parent .header_gnav_child {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: row;
        flex-direction: row;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        display: none;
        text-align: center;
        background: #f2f2f2;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        overflow: hidden;
        z-index: 1;
        height: 36px; }
        @media screen and (max-width: 1280px) {
          .header_gnav_parent .header_gnav_child {
            height: 2.8125vw; } }
        @media screen and (max-width: 768px) {
          .header_gnav_parent .header_gnav_child {
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: column;
            flex-direction: column;
            -webkit-justify-content: center;
            justify-content: center;
            -webkit-align-items: flex-start;
            align-items: flex-start;
            -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
            display: none;
            position: relative;
            height: auto;
            color: #000000; } }
        .header_gnav_parent .header_gnav_child.open {
          display: flex;
          z-index: 0; }
          @media screen and (max-width: 768px) {
            .header_gnav_parent .header_gnav_child.open {
              display: block; } }
        .header_gnav_parent .header_gnav_child_list {
          margin: 0px 5px; }
          @media screen and (max-width: 1280px) {
            .header_gnav_parent .header_gnav_child_list {
              margin: 0vw 0.390625vw; } }
          @media screen and (max-width: 768px) {
            .header_gnav_parent .header_gnav_child_list {
              width: 100%;
              margin: 0; } }
          .header_gnav_parent .header_gnav_child_list a {
            font-size: 1.6rem;
            position: relative;
            -webkit-transition: 0.4s;
            transition: 0.4s;
            z-index: 1;
            display: -webkit-flex;
            display: flex;
            -webkit-flex-direction: row;
            flex-direction: row;
            -webkit-justify-content: center;
            justify-content: center;
            -webkit-align-items: center;
            align-items: center;
            -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
            margin: 8px 0px;
            height: 20px;
            padding: 0px 17px 0px 20px;
            border-radius: 16px; }
            @media screen and (max-width: 1280px) {
              .header_gnav_parent .header_gnav_child_list a {
                margin: 0.625vw 0vw;
                height: 1.5625vw;
                padding: 0vw 1.328125vw 0vw 1.5625vw;
                border-radius: 1.25vw; } }
            @media screen and (max-width: 768px) {
              .header_gnav_parent .header_gnav_child_list a {
                -webkit-justify-content: flex-start;
                justify-content: flex-start;
                height: auto;
                margin: 0;
                padding: 5.3333333333vw 13.3333333333vw 5.3333333333vw 13.3333333333vw;
                border-radius: 0; } }
            .header_gnav_parent .header_gnav_child_list a:before {
              content: "";
              width: 0;
              height: 0;
              background: #000000;
              position: absolute;
              top: 50%;
              left: 50%;
              -webkit-border-radius: 100%;
              -moz-border-radius: 100%;
              border-radius: 100%;
              -webkit-transition: 0.4s;
              transition: 0.4s;
              z-index: -1; }
              @media screen and (max-width: 768px) {
                .header_gnav_parent .header_gnav_child_list a:before {
                  content: none; } }
            .header_gnav_parent .header_gnav_child_list a:hover:before, .header_gnav_parent .header_gnav_child_list a.selected:before {
              width: 100%;
              height: 100%;
              left: 0%;
              animation: navdance 1.5s;
              margin-top: -10px;
              border-radius: 16px; }
              @media screen and (max-width: 1280px) {
                .header_gnav_parent .header_gnav_child_list a:hover:before, .header_gnav_parent .header_gnav_child_list a.selected:before {
                  margin-top: -0.78125vw;
                  border-radius: 1.25vw; } }
            .header_gnav_parent .header_gnav_child_list a.selected {
              background: #000000;
              color: #ffffff; }
            .header_gnav_parent .header_gnav_child_list a:hover {
              position: relative;
              color: #ffffff; }
  .header_sns {
    position: absolute;
    right: 50%;
    text-align: right;
    bottom: 48px;
    margin-right: -500px; }
    @media screen and (max-width: 1280px) {
      .header_sns {
        bottom: 3.75vw;
        margin-right: -39.0625vw; } }
    @media screen and (max-width: 768px) {
      .header_sns {
        width: 100%;
        z-index: 10;
        bottom: 12vw;
        margin-right: 0;
        right: 0;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: row;
        flex-direction: row;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap; } }
    @media screen and (max-width: 768px) {
      .header_sns_box {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: row;
        flex-direction: row;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap; } }
    .header_sns_list {
      display: inline-block;
      margin: 0px 8px; }
      @media screen and (max-width: 1280px) {
        .header_sns_list {
          margin: 0vw 0.625vw; } }
      @media screen and (max-width: 768px) {
        .header_sns_list {
          display: block; } }
      .header_sns_list:last-child {
        margin-right: 0; }
      @media screen and (max-width: 768px) {
        .header_sns_list {
          margin: 0 1.6vw; }
          .header_sns_list:last-child {
            margin: 0 1.6vw; } }
      @media screen and (max-width: 768px) {
        .header_sns_list a {
          padding: 2.1333333333vw; } }
      .header_sns_list_fb {
        width: 8px;
        height: 16px; }
      .header_sns_list_ig {
        width: 16px;
        height: 16px; }
      @media screen and (max-width: 768px) {
        .header_sns_list_ico {
          fill: #ffffff; } }

.floating {
  position: fixed;
  top: 0; }
  .floating .header_nav_logo a:hover .header_logo_h {
    animation: LOGO-H-ON 0.8s ease-in 0s forwards; }
  .floating .header_logo_h {
    animation: LOGO-H 0.8s ease-in 0s forwards; }
  .floating .header_gnav_parent {
    background: #ffffff; }
    @media screen and (max-width: 768px) {
      .floating .header_gnav_parent {
        background: #000000; } }

.hum {
  display: none; }
  @media screen and (max-width: 768px) {
    .hum {
      width: 25px;
      color: #000000;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-align-items: center;
      align-items: center;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-align-self: stretch;
      align-self: stretch;
      -webkit-transition: .5s;
      transition: .5s;
      cursor: pointer;
      font-weight: bold;
      order: 1;
      z-index: 2;
      position: fixed;
      top: 4.2666666667vw;
      right: 4.2666666667vw; }
      .hum:hover {
        cursor: pointer; }
      .hum_bar {
        width: 25px;
        height: 18px;
        position: relative; }
        .hum_bar_u, .hum_bar_m, .hum_bar_b {
          position: absolute;
          height: 2px;
          background: #000000;
          width: 100%;
          right: 0;
          -webkit-transition: all 0.3s, background-color 0.8s;
          transition: all 0.3s, background-color 0.8s;
          top: 50%;
          margin-top: -1.5px; }
        .hum_bar_u {
          transform: translateY(-8px); }
        .hum_bar_m {
          width: 12px;
          transform: translateX(0px) translateY(0px); }
        .hum_bar_b {
          width: 20px;
          transform: translateX(0px) translateY(8px); } }

.open .hum_bar_u, .open .hum_bar_m, .open .hum_bar_b {
  background: #ffffff; }
.open .hum_bar_u {
  animation: Humberger_bar_z 0.8s linear 0s forwards; }
.open .hum_bar_m {
  animation: Humberger_bar_x 0.8s linear 0s forwards; }
.open .hum_bar_b {
  animation: Humberger_bar_y 0.8s linear 0s forwards; }
.open.header_gnav {
  transform: translateX(0);
  opacity: 1; }
.open.header_nav {
  background: #000000; }
  .open.header_nav .header_logo_h {
    stroke: #ffffff;
    animation: none; }

.footer {
  width: 100%;
  padding: 25px 0px; }
  @media screen and (max-width: 1280px) {
    .footer {
      padding: 1.953125vw 0vw; } }
  @media screen and (max-width: 768px) {
    .footer {
      padding: 8vw 0vw; } }
  .footer_nav {
    width: 100%;
    padding-bottom: 56px; }
    @media screen and (max-width: 1280px) {
      .footer_nav {
        padding-bottom: 4.375vw; } }
    @media screen and (max-width: 768px) {
      .footer_nav {
        padding-bottom: 8vw; } }
    .footer_nav_box {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: row;
      flex-direction: row;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-align-items: center;
      align-items: center;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; }
    .footer_nav_list {
      margin: 0px 9px; }
      @media screen and (max-width: 1280px) {
        .footer_nav_list {
          margin: 0vw 0.703125vw; } }
      .footer_nav_list a img {
        -webkit-transition: .4s;
        transition: .4s;
        vertical-align: baseline; }
      .footer_nav_list a:hover img {
        transform: rotate3d(1, 12, 1, 360deg) scale(1.3); }

.copyright {
  font-size: 1.2rem;
  font-family: "ltc-bodoni-175", "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN", serif, "Sawarabi Mincho";
  font-style: italic;
  letter-spacing: 0.2rem;
  text-align: center; }

.form_area {
  margin: 0 auto;
  border-top: 1px solid #000000;
  width: 960px;
  padding-top: 24px; }
  @media screen and (max-width: 1280px) {
    .form_area {
      width: 75vw;
      padding-top: 1.875vw; } }
  @media screen and (max-width: 768px) {
    .form_area {
      width: 85.3333333333vw;
      padding-top: 0; } }
.form_list {
  width: 100%;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  -webkit-align-items: center;
  -webkit-flex-wrap: wrap;
  border-bottom: 1px solid #bcbcbc;
  box-sizing: border-box;
  flex-wrap: wrap;
  padding: 24px 0px; }
  @media screen and (max-width: 1280px) {
    .form_list {
      padding: 1.875vw 0vw; } }
  @media screen and (max-width: 768px) {
    .form_list {
      padding: 6.4vw 0vw; } }
  .form_list_ttl {
    height: 38px;
    font-size: 1.4rem;
    line-height: 3.0rem;
    letter-spacing: .1em;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    width: 360px;
    padding: 5px 0px; }
    @media screen and (max-width: 1280px) {
      .form_list_ttl {
        width: 28.125vw;
        padding: 0.390625vw 0vw; } }
    @media screen and (max-width: 768px) {
      .form_list_ttl {
        width: 100%; } }
    .form_list_ttl_txt {
      font-weight: 700;
      letter-spacing: .2em;
      font-size: 1.5rem;
      display: block;
      width: 240px; }
      @media screen and (max-width: 1280px) {
        .form_list_ttl_txt {
          width: 18.75vw; } }
      @media screen and (max-width: 768px) {
        .form_list_ttl_txt {
          width: calc(100% - 3em); } }
    .form_list_ttl_must {
      font-size: 1.3rem;
      letter-spacing: .1em;
      line-height: 1;
      color: #ffffff;
      background: #000000;
      font-weight: 700;
      text-align: center;
      padding: 5px 10px; }
      @media screen and (max-width: 1280px) {
        .form_list_ttl_must {
          padding: 0.390625vw 0.78125vw; } }
      @media screen and (max-width: 768px) {
        .form_list_ttl_must {
          width: 3em; } }
  .form_list_cnt {
    font-size: 1.5rem;
    letter-spacing: .2em; }
    @media screen and (max-width: 768px) {
      .form_list_cnt {
        width: 100%; } }
    .form_list_cnt_ipt {
      font-size: inherit;
      letter-spacing: inherit;
      border: 1px solid gray;
      box-sizing: border-box;
      width: 480px;
      height: 48px;
      padding: 5px 10px; }
      @media screen and (max-width: 1280px) {
        .form_list_cnt_ipt {
          width: 37.5vw;
          height: 3.75vw;
          padding: 0.390625vw 0.78125vw; } }
      @media screen and (max-width: 768px) {
        .form_list_cnt_ipt {
          width: 100%;
          height: 12vw; } }
    .form_list_cnt_txtarea {
      border: 1px solid #bcbcbc;
      font-size: 1.5rem;
      box-sizing: border-box;
      width: 480px;
      height: 160px;
      padding: 5px 10px; }
      @media screen and (max-width: 1280px) {
        .form_list_cnt_txtarea {
          width: 37.5vw;
          height: 12.5vw;
          padding: 0.390625vw 0.78125vw; } }
      @media screen and (max-width: 768px) {
        .form_list_cnt_txtarea {
          width: 100%; } }
    .form_list_cnt_set {
      width: 100%;
      display: flex;
      justify-content: flex-start;
      align-items: center;
      flex-wrap: nowrap; }
      .form_list_cnt_set_box {
        display: none; }
      .form_list_cnt_set_label {
        position: relative;
        padding-left: 24px; }
        @media screen and (max-width: 1280px) {
          .form_list_cnt_set_label {
            padding-left: 1.875vw; } }
        .form_list_cnt_set_label::before, .form_list_cnt_set_label::after {
          content: '';
          position: absolute;
          top: 50%;
          -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          box-sizing: border-box; }
        .form_list_cnt_set_label::before {
          border: 1px solid #bcbcbc;
          left: 0;
          width: 16px;
          height: 16px;
          margin-top: -8px; }
          @media screen and (max-width: 1280px) {
            .form_list_cnt_set_label::before {
              width: 1.25vw;
              height: 1.25vw;
              margin-top: -0.625vw; } }
        .form_list_cnt_set_label::after {
          width: 10px;
          height: 10px;
          margin-top: -5px;
          left: 3px; }
          @media screen and (max-width: 1280px) {
            .form_list_cnt_set_label::after {
              width: 0.78125vw;
              height: 0.78125vw;
              margin-top: -0.390625vw;
              left: 0.234375vw; } }
      .form_list_cnt_set_box:checked + .form_list_cnt_set_label::after {
        background: #000000; }
      .form_list_cnt_set_box[type='radio'] + .form_list_cnt_set_label::before, .form_list_cnt_set_box[type='radio'] + .form_list_cnt_set_label::after {
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        border-radius: 50%; }
    .form_list_cnt_select {
      display: block;
      width: 400px;
      height: 38px;
      width: 400px; }
      @media screen and (max-width: 1280px) {
        .form_list_cnt_select {
          width: 31.25vw; } }
      @media screen and (max-width: 768px) {
        .form_list_cnt_select {
          width: 100%; } }
      .form_list_cnt_select .form_select {
        display: block;
        width: 100%;
        height: 100%; }
        .form_list_cnt_select .form_select * {
          position: relative;
          margin: 0;
          padding: 0;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          border-color: inherit; }
        .form_list_cnt_select .form_select ul {
          list-style: none;
          padding: 0; }
        .form_list_cnt_select .form_select input {
          color: inherit;
          font: inherit;
          margin: 0;
          background: transparent;
          outline: none;
          border: none;
          border-radius: 0;
          -webkit-appearance: none;
          -moz-appearance: none;
          appearance: none;
          display: none; }
        .form_list_cnt_select .form_select li::before {
          display: none; }
        .form_list_cnt_select .form_select_box {
          width: 100%;
          /*height: 100%;*/
          cursor: pointer;
          background-color: #ffffff; }
          .form_list_cnt_select .form_select_box_expand {
            width: 0;
            height: 38px;
            position: absolute;
            top: 0;
            right: 0; }
            .form_list_cnt_select .form_select_box_expand:checked + .form_select_box_close_label {
              display: block; }
              .form_list_cnt_select .form_select_box_expand:checked + .form_select_box_close_label + .form_select_box_options .form_select_box_label {
                height: 38px; }
                .form_list_cnt_select .form_select_box_expand:checked + .form_select_box_close_label + .form_select_box_options .form_select_box_label:hover {
                  background-color: #bcbcbc; }
              .form_list_cnt_select .form_select_box_expand:checked + .form_select_box_close_label + .form_select_box_options + .form_select_box_expand_label::after {
                -webkit-transform: translate(-50%, -50%) rotate(180deg) scaleX(-1) scaleY(1.75);
                transform: translate(-50%, -50%) rotate(180deg) scaleX(-1) scaleY(1.75); }
            .form_list_cnt_select .form_select_box_expand_label {
              display: block;
              width: 100%;
              height: 38px;
              position: absolute;
              top: 0;
              left: 0;
              cursor: pointer; }
              .form_list_cnt_select .form_select_box_expand_label::after {
                position: absolute;
                top: 1.2em;
                right: 0.5em;
                width: 0;
                height: 0;
                padding: 0;
                content: '';
                pointer-events: none;
                border-top: 6px solid #bcbcbc;
                border-right: 6px solid transparent;
                border-left: 6px solid transparent;
                -webkit-transform: translate(-50%, -50%) rotate(0deg) scaleY(1.75);
                transform: translate(-50%, -50%) rotate(0deg) scaleY(1.75);
                -webkit-transition: all 250ms cubic-bezier(0.4, 0.25, 0.3, 1);
                transition: all 250ms cubic-bezier(0.4, 0.25, 0.3, 1);
                z-index: 2; }
              .form_list_cnt_select .form_select_box_expand_label:hover::after {
                opacity: 1; }
          .form_list_cnt_select .form_select_box_close {
            display: none; }
            .form_list_cnt_select .form_select_box_close_label {
              width: 100%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              display: none; }
          .form_list_cnt_select .form_select_box_items {
            width: 100%;
            position: absolute;
            top: 0;
            left: 0;
            border: 1px solid #bcbcbc;
            padding-top: 38px;
            z-index: 1; }
          .form_list_cnt_select .form_select_box_input {
            display: none; }
            .form_list_cnt_select .form_select_box_input:checked + .form_select_box_label {
              height: 38px;
              margin-top: -38px; }
          .form_list_cnt_select .form_select_box_label {
            -webkit-transition: all 250ms cubic-bezier(0.4, 0.25, 0.3, 1);
            transition: all 250ms cubic-bezier(0.4, 0.25, 0.3, 1);
            display: flex;
            justify-content: flex-start;
            align-items: center;
            flex-wrap: wrap;
            height: 0;
            overflow: hidden;
            background-color: #ffffff;
            cursor: pointer;
            padding: 0px 15px; }
            @media screen and (max-width: 1280px) {
              .form_list_cnt_select .form_select_box_label {
                padding: 0vw 1.171875vw; } }
          .form_list_cnt_select .form_select_box_placeholder {
            height: 38px;
            vertical-align: middle;
            position: absolute;
            top: 0;
            left: 0;
            background-color: transparent;
            color: #bcbcbc; }

.btn {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center; }
  .btn_app {
    width: 800px;
    margin: 73px auto 0px; }
    @media screen and (max-width: 1280px) {
      .btn_app {
        width: 62.5vw;
        margin: 5.703125vw auto 0vw; } }
    @media screen and (max-width: 768px) {
      .btn_app {
        width: 85.3333333333vw;
        margin-top: 12vw; } }
    .btn_app_txt {
      display: block;
      width: 100%;
      text-align: center;
      font-size: 1.8rem;
      color: #ffffff;
      background: #000000;
      font-weight: bold;
      position: relative;
      letter-spacing: .2em;
      height: 71px; }
      @media screen and (max-width: 1280px) {
        .btn_app_txt {
          height: 5.546875vw; } }
      .btn_app_txt:before {
        content: '';
        border-top: solid #ffffff;
        border-right: solid #ffffff;
        transform: rotate(45deg);
        position: absolute;
        top: 50%;
        width: 7px;
        height: 7px;
        right: 20px;
        border-width: 3px;
        margin-top: -5px; }
        @media screen and (max-width: 1280px) {
          .btn_app_txt:before {
            width: 0.546875vw;
            height: 0.546875vw;
            right: 1.5625vw;
            border-width: 0.234375vw;
            margin-top: -0.390625vw; } }
      .btn_app_txt_ipt {
        width: 100%;
        height: 100%;
        color: inherit;
        font-weight: inherit;
        font-size: inherit;
        background: none;
        border: none;
        letter-spacing: inherit;
        cursor: pointer;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: row;
        flex-direction: row;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-align-items: center;
        align-items: center;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap; }
        @media screen and (max-width: 768px) {
          .btn_app_txt_ipt {
            font-size: 1.6rem; } }
  .btn_main {
    width: 70%; }
    @media screen and (max-width: 768px) {
      .btn_main {
        width: 60%;
        margin-left: 0;
        margin-right: 0; } }
  .btn_sub {
    width: 20%; }
    @media screen and (max-width: 768px) {
      .btn_sub {
        width: 38%;
        margin-left: 0;
        margin-right: 0; } }
  .btn_back .btn_app_txt:before {
    transform: rotate(-135deg);
    right: auto;
    left: 20px; }
    @media screen and (max-width: 1280px) {
      .btn_back .btn_app_txt:before {
        left: 1.5625vw; } }

.error_message {
  color: #f06060;
  font-weight: bold;
  margin: 50px auto;
  margin: 50px auto; }
  @media screen and (max-width: 1280px) {
    .error_message {
      margin: 3.90625vw auto; } }
.error_field.form_list_cnt_ipt, .error_field.form_list_cnt_txtarea, .error_field.form_list_cnt_select .form_select_box_items,
.error_field .form_list_cnt_set_label::before {
  border: 2px solid #f06060; }
.error_field_msg {
  color: #f06060;
  font-weight: bold;
  padding-top: .2em; }

/* TODO:.errorのスタイルを指定 */
/* Scss Document */
body {
  width: 100%;
  overflow: hidden;
  position: relative;
  background-color: #faf8f5;
  font-size: 1.6rem;
  color: #581908;
  font-family: Noto Sans CJK JP, sans-serif;
  z-index: 0; }
  @media all and (-ms-high-contrast: none) {
    body {
      overflow: auto; } }
  @media screen and (max-width: 768px) {
    body {
      font-weight: 500; } }
  body img {
    width: 100%; }
  body .copyright {
    font-family: Noto Sans CJK JP, sans-serif;
    font-style: normal;
    margin: 0 auto;
    letter-spacing: 0; }
  body .sp_img, body .sp_br, body .sp-only {
    display: none; }
    @media screen and (max-width: 768px) {
      body .sp_img, body .sp_br, body .sp-only {
        display: block; } }
  @media screen and (max-width: 768px) {
    body .pc_img, body .pc_br, body .pc-only {
      display: none; } }
  body .body {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    position: relative;
    margin-bottom: 120px; }
    @media screen and (max-width: 768px) {
      body .body {
        padding: 0 20PX; } }
  body .header {
    background-color: #386150; }
    @media screen and (max-width: 768px) {
      body .header {
        padding: 0 16px;
        box-sizing: border-box; } }
    body .header .sp_header_nav {
      display: none; }
      @media screen and (max-width: 768px) {
        body .header .sp_header_nav {
          display: inline-block;
          position: relative;
          line-height: 1em; }
          body .header .sp_header_nav:before {
            content: "";
            width: 28px;
            height: 2px;
            display: inline-block;
            background-color: #fff;
            position: absolute;
            position: absolute;
            left: -34px;
            top: 3px; }
          body .header .sp_header_nav:after {
            content: "";
            width: 20px;
            height: 2px;
            display: inline-block;
            background-color: #fff;
            position: absolute;
            left: -26px;
            bottom: 0; }
          body .header .sp_header_nav.open:before {
            top: 9px; }
          body .header .sp_header_nav.open:after {
            display: none; } }
      body .header .sp_header_nav_img {
        display: none; }
        body .header .sp_header_nav_img.open {
          display: block; }
      body .header .sp_header_nav_txt {
        display: none; }
        @media screen and (max-width: 768px) {
          body .header .sp_header_nav_txt {
            display: block;
            padding: 0 12px 17px 2px;
            margin-bottom: 20px;
            border-bottom: 2px solid #fff;
            box-sizing: border-box;
            color: #fff; }
            body .header .sp_header_nav_txt#menu_product {
              background-image: url(../images/top/sp/arrow-bread.png);
              background-size: 10px; } }
        body .header .sp_header_nav_txt a {
          color: #fff; }
      body .header .sp_header_nav_img:first-of-type {
        margin: 24px 0 12px; }
    body .header .body {
      padding: 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin: 0 auto; }
    body .header_icon {
      display: inline-block;
      width: 240px; }
      @media screen and (max-width: 768px) {
        body .header_icon {
          display: block;
          width: 135px;
          padding: 8px 0;
          z-index: 10; } }
    body .header_nav {
      background-color: transparent;
      display: inline-block;
      padding: 53px 0;
      position: relative;
      width: auto; }
      @media screen and (max-width: 768px) {
        body .header_nav {
          padding: 0;
          color: #fff; } }
      body .header_nav_list {
        display: flex;
        color: #fff;
        float: right; }
        @media screen and (max-width: 768px) {
          body .header_nav_list {
            display: none;
            position: absolute;
            right: 0;
            float: none;
            width: 100vw;
            margin-right: -16px;
            padding: 32px 48px 40px;
            box-sizing: border-box;
            background-color: #386150; }
            body .header_nav_list.open {
              display: block; } }
        @media screen and (max-width: 768px) {
          body .header_nav_list li {
            background-image: url(../images/top/sp/arrow.png);
            background-repeat: no-repeat;
            background-position: right 6px bottom 23px;
            background-size: 6px;
            display: block;
            color: #fff; }
            body .header_nav_list li#menu_product.open {
              background-image: url(../images/top/sp/arrow-open.png);
              background-position: top 0.5em right 6px;
              background-size: 1rem; } }
        body .header_nav_list li.here:after {
          content: "";
          width: 27px;
          display: block;
          position: absolute;
          background-image: url("../images/top/menu_yellow.png");
          background-repeat: no-repeat;
          height: 6px;
          bottom: -16px;
          margin: auto;
          left: 0;
          right: 0;
          background-size: contain; }
          @media screen and (max-width: 768px) {
            body .header_nav_list li.here:after {
              display: none; } }
      body .header_nav_txt {
        position: relative;
        margin-left: 24px;
        width: 5em;
        text-align: center;
        color: #fff; }
        @media screen and (max-width: 768px) {
          body .header_nav_txt#pc_menu {
            display: none; } }
        @media screen and (max-width: 768px) {
          body .header_nav_txt {
            padding-bottom: 17px;
            margin-bottom: 20px;
            border-bottom: 2px solid #fff;
            box-sizing: border-box;
            MARGIN-LEFT: 0;
            WIDTH: auto;
            TEXT-ALIGN: LEFT;
            padding-right: 12px; } }
        body .header_nav_txt a {
          color: #fff; }
    body .header_breads {
      background-color: #e3dccc;
      padding: 24px 0;
      position: absolute;
      z-index: 1;
      width: 100vw; }
      @media screen and (max-width: 768px) {
        body .header_breads {
          display: none; } }
      body .header_breads_img {
        width: calc(100% / 2 - 24px);
        display: inline-block;
        transition: all .3s; }
        body .header_breads_img:first-child {
          margin-right: 24px; }
        body .header_breads_img:hover {
          opacity: 0.7; }
      body .header_breads .body {
        margin: 0 auto; }
  body .main.pc-only {
    height: calc(100vw / 3840 * 1600);
    width: 100%;
    padding: 0;
    background-size: cover;
    z-index: -1; }
  body .main.sp-only {
    height: 178px;
    background-position: top;
    background-repeat: no-repeat,repeat;
    overflow: initial;
    background-size: cover,auto; }
  body .main .body {
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      body .main .body {
        padding: 0 20px; } }
  body .main_cloud {
    width: 200px;
    top: 252px;
    left: 130px;
    position: absolute; }
    @media screen and (max-width: 768px) {
      body .main_cloud {
        max-width: 95px;
        top: 41px;
        left: 43px; } }
  body .main.body {
    position: relative; }
  body .newsandsale {
    margin-top: 44px;
    display: flex;
    flex-wrap: wrap;
    z-index: -3; }
    @media all and (-ms-high-contrast: none) {
      body .newsandsale {
        z-index: -3;
        justify-content: space-around; } }
    @supports (-ms-ime-align: auto) {
      body .newsandsale {
        z-index: -10; } }
    @media screen and (max-width: 768px) {
      body .newsandsale {
        display: block; } }
    body .newsandsale .mainttl {
      font-size: 4rem;
      line-height: calc(120 / 80);
      text-align: center;
      margin: auto;
      margin-bottom: 120px;
      font-family: tbchibirgothicplusk-pro, sans-serif; }
      @media screen and (max-width: 768px) {
        body .newsandsale .mainttl {
          font-size: 2rem;
          line-height: calc(60 / 40);
          margin-bottom: 68px; } }
    body .newsandsale.sp_img {
      display: none;
      position: absolute;
      bottom: 0;
      z-index: -1;
      bottom: -10%;
      z-index: -1;
      left: 0;
      width: 100%;
      background-image: none;
      padding: 0; }
      @media screen and (max-width: 768px) {
        body .newsandsale.sp_img {
          display: block; } }
    body .newsandsale_bg {
      position: absolute;
      z-index: -10;
      width: 100vw;
      left: 50%;
      right: 50%;
      margin-left: -50vw;
      margin-right: -50vw;
      top: -350px; }
    body .newsandsale .news_box {
      padding: 0;
      border: none;
      color: #581908;
      transition: all .3s; }
      body .newsandsale .news_box:hover {
        opacity: 0.7; }
    body .newsandsale .news {
      margin-top: 0;
      max-width: 408px;
      width: calc(100vw / 2840 * 816);
      display: inline-block;
      margin-right: 78px;
      position: relative;
      z-index: 100;
      text-align: left; }
      @media screen and (max-width: 768px) {
        body .newsandsale .news {
          width: 100%;
          margin: 0; } }
      body .newsandsale .news_box_date {
        margin-bottom: 34px; }
        @media screen and (max-width: 768px) {
          body .newsandsale .news_box_date {
            margin-bottom: 24px; } }
      body .newsandsale .news_box_ttl {
        font-size: 2rem;
        font-weight: bold;
        margin-bottom: 30px; }
        @media screen and (max-width: 768px) {
          body .newsandsale .news_box_ttl {
            margin-bottom: 17px; } }
      body .newsandsale .news_box_txt {
        font-weight: calc(52 / 32);
        margin-bottom: 30px; }
        @media screen and (max-width: 768px) {
          body .newsandsale .news_box_txt {
            margin-bottom: 32px; } }
      body .newsandsale .news_box_more {
        color: #386150;
        float: right;
        border-bottom: #386150 solid 1px;
        line-height: calc(52 / 32); }
    body .newsandsale .sale {
      max-width: 714px;
      width: calc(100% - calc(100vw / 2840 * 816));
      display: inline-block; }
      @media all and (-ms-high-contrast: none) {
        body .newsandsale .sale {
          width: calc(100vw / 2840 * 1584); } }
      @supports (-ms-ime-align: auto) {
        body .newsandsale .sale {
          width: calc(100vw / 2840 * 1584); } }
      @media screen and (max-width: 768px) {
        body .newsandsale .sale {
          margin-top: 68px;
          width: 100%; } }
      body .newsandsale .sale_box_line {
        display: flex;
        position: relative;
        align-items: baseline;
        margin-bottom: 16px;
        transition: all .3s; }
        body .newsandsale .sale_box_line:hover {
          opacity: 0.7; }
        body .newsandsale .sale_box_line a {
          display: contents;
          color: #581908; }
          @media all and (-ms-high-contrast: none) {
            body .newsandsale .sale_box_line a {
              display: flex;
              align-items: center;
              width: 100%; } }
          @supports (-ms-ime-align: auto) {
            body .newsandsale .sale_box_line a {
              display: flex;
              width: 100%;
              align-items: center; } }
        @media screen and (max-width: 768px) {
          body .newsandsale .sale_box_line {
            flex-wrap: wrap; } }
        body .newsandsale .sale_box_line:last-of-type {
          margin-bottom: 0; }
        body .newsandsale .sale_box_line_date {
          margin-right: 22px; }
          @media screen and (max-width: 768px) {
            body .newsandsale .sale_box_line_date {
              position: absolute;
              top: 10px;
              right: 30px;
              margin: 0;
              line-height: 1em; } }
          body .newsandsale .sale_box_line_date_yellow {
            background-color: #eee82c;
            text-align: center;
            max-width: 182px;
            width: calc(100vw / 2840 * 364);
            font-weight: bold;
            padding: 12px 0;
            margin-right: 22px;
            border-radius: 0.5em; }
            @media screen and (max-width: 768px) {
              body .newsandsale .sale_box_line_date_yellow {
                width: 100%;
                max-width: 200px;
                box-sizing: border-box;
                margin-right: 16px;
                padding: 10px 0;
                line-height: 1em; } }
        body .newsandsale .sale_box_line_txt {
          border-bottom: 2px solid #e3dccc;
          padding-bottom: 10px;
          width: calc(100% - calc(100vw / 3840 * 364) );
          max-width: 510px; }
          @media all and (-ms-high-contrast: none) {
            body .newsandsale .sale_box_line_txt {
              width: 100%; } }
          @media screen and (max-width: 768px) {
            body .newsandsale .sale_box_line_txt {
              width: 100%;
              margin-top: 24px;
              padding-bottom: 24px;
              background-image: url("../images/top/sp/arrow_news.png");
              background-repeat: no-repeat;
              background-size: 8px;
              background-position: right bottom 27px; } }
    body .newsandsale .ttl {
      font-size: 4rem;
      position: relative;
      padding-bottom: 16px;
      border-bottom: 2px #581908 solid;
      line-height: 1em;
      margin-bottom: 40px;
      text-align: inherit; }
      @media screen and (max-width: 768px) {
        body .newsandsale .ttl {
          font-size: 3.2rem;
          margin-bottom: 28px; } }
      body .newsandsale .ttl_small {
        margin: 0;
        margin-left: 16px;
        font-size: 2rem;
        vertical-align: text-bottom;
        position: absolute;
        bottom: 20px;
        line-height: 1em;
        display: inline-block;
        font-family: tbchibirgothicplusk-pro, sans-serif; }
        @media screen and (max-width: 768px) {
          body .newsandsale .ttl_small {
            font-size: 1.7rem;
            margin-left: 11px; } }
      body .newsandsale .ttl_btn {
        width: auto;
        font-size: 1.3rem;
        padding: 6px 32px;
        display: inline-block;
        position: absolute;
        right: 0;
        bottom: 16px;
        line-height: 1em; }
        @media screen and (max-width: 768px) {
          body .newsandsale .ttl_btn {
            padding: 10px 17px;
            max-width: 100px; } }
  body .ttl {
    font-size: 6rem;
    margin: 0 auto;
    text-align: center;
    line-height: 1em;
    font-family: 'Sriracha', cursive;
    color: #581908; }
    @media screen and (max-width: 768px) {
      body .ttl {
        font-size: 3.6rem; } }
    body .ttl_small {
      font-size: 2rem;
      margin: 22px auto 100px;
      text-align: center;
      display: block;
      color: #581908;
      font-family: tbchibirgothicplusk-pro, sans-serif; }
      @media screen and (max-width: 768px) {
        body .ttl_small {
          margin: 16px 0 40px; } }
  @media screen and (max-width: 768px) {
    body .products .ttl_small#prottl {
      margin-bottom: 62px; } }
  body .products_bg {
    position: absolute; }
    body .products_bg.top {
      width: 188px;
      top: -84px;
      right: -202px; }
      @media screen and (max-width: 768px) {
        body .products_bg.top {
          width: 80px;
          right: 20px; } }
    body .products_bg.bottom {
      width: 240px;
      bottom: -120px;
      left: -200px; }
      @media screen and (max-width: 768px) {
        body .products_bg.bottom {
          width: 100px;
          left: 20px;
          bottom: -90px; } }
  body .products .first, body .products .second, body .products .third, body .products .fourth {
    display: flex;
    margin-bottom: 120px; }
    @media screen and (max-width: 768px) {
      body .products .first, body .products .second, body .products .third, body .products .fourth {
        display: block;
        margin-bottom: 84px; } }
  body .products .third {
    margin-bottom: 100px; }
    @media screen and (max-width: 768px) {
      body .products .third {
        margin-bottom: 60px; } }
  body .products .bread {
    min-width: 510px;
    width: calc(100vw / 2840 * 1020);
    position: relative;
    display: inline-block; }
    @media screen and (max-width: 768px) {
      body .products .bread {
        width: 100%;
        min-width: inherit;
        margin-bottom: 45px; } }
    body .products .bread_cloud {
      position: absolute;
      z-index: 1; }
  body .products_box {
    width: calc(100% - calc(100vw / 2840 * 1020));
    padding-right: 104px;
    margin-left: 53px;
    position: relative;
    margin-top: 10px;
    display: flex; }
    @media screen and (max-width: 768px) {
      body .products_box {
        width: 100%;
        padding: 0;
        margin: 0;
        display: block; } }
    body .products_box_prize {
      max-width: 102px;
      display: inline-block;
      width: calc(100vw / 3840 * 203); }
      @media screen and (max-width: 768px) {
        body .products_box_prize {
          width: 68px;
          position: absolute;
          top: -20px;
          left: 0; } }
    body .products_box_txt {
      border-left: solid 2px #581908;
      padding-left: 24px;
      margin-left: 24px;
      margin-top: 30px;
      display: inline-block;
      float: right;
      width: 408px;
      padding-bottom: 10px;
      text-align: left; }
      @media screen and (max-width: 768px) {
        body .products_box_txt {
          border: none;
          width: 100%;
          padding: 0;
          margin: 0;
          float: none; } }
      @media screen and (max-width: 768px) {
        body .products_box_txt dd {
          font-weight: 500;
          line-height: calc(50 / 32); } }
      body .products_box_txt_large {
        font-size: 2.8rem;
        display: block;
        margin-bottom: 1em;
        font-weight: bold; }
        @media screen and (max-width: 768px) {
          body .products_box_txt_large {
            font-size: 2.4rem;
            padding-left: 83px;
            border-bottom: solid 2px #581908;
            padding-bottom: 20px;
            margin-bottom: 28px;
            line-height: 1.3em; } }
      body .products_box_txt .blankline {
        display: block;
        height: 1em; }
  body .products .first .bread_cloud {
    width: 207px;
    top: -35px;
    left: 78px; }
    @media screen and (max-width: 768px) {
      body .products .first .bread_cloud {
        width: 135PX;
        left: 50px;
        top: -22px; } }
  body .products .second {
    flex-flow: row-reverse; }
    body .products .second .products_box {
      padding-left: 77px;
      padding-right: 0;
      margin-right: 80px;
      margin-left: 0; }
      @media screen and (max-width: 768px) {
        body .products .second .products_box {
          padding: 0; } }
    body .products .second .bread_cloud {
      width: 188px;
      top: -15px;
      left: 14px; }
      @media screen and (max-width: 768px) {
        body .products .second .bread_cloud {
          width: 123px;
          top: -10px;
          left: 10px; } }
  body .products .third .bread_cloud {
    width: 172px;
    top: -47px;
    right: 10px; }
    @media screen and (max-width: 768px) {
      body .products .third .bread_cloud {
        width: 113PX;
        right: 6px;
        top: -30px; } }
  body .btn {
    background-color: #386150;
    color: #fff;
    border-radius: 2.5em;
    transition: all .3s; }
    body .btn:hover {
      opacity: 0.8; }
    body .btn.large {
      padding: 20px 0;
      /*width: calc(100vw / 3840 * 768);*/
      max-width: 390px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        body .btn.large {
          max-width: 280px; } }
    body .btn.small {
      padding: 20px 0;
      max-width: 330px;
      margin: 0 auto; }
    body .btn_txt {
      text-align: center;
      margin: 0 auto; }
  body .concept {
    position: relative; }
    body .concept .ttl_small {
      margin-bottom: 0; }
      @media screen and (max-width: 768px) {
        body .concept .ttl_small {
          margin-bottom: 40px; } }
    body .concept_bg {
      position: absolute;
      right: 0;
      top: 90px;
      width: calc(100vw / 3840 * 568);
      max-width: 284px;
      z-index: -1; }
      @media screen and (max-width: 768px) {
        body .concept_bg {
          width: 72px;
          top: -22px; } }
    body .concept_left {
      width: calc(100vw / 3840 * 2132);
      position: absolute;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        body .concept_left {
          display: none; } }
    body .concept .body {
      overflow: hidden; }
    body .concept_right {
      max-width: 528px;
      width: calc(100vw / 2840 * 1056);
      float: right; }
      @media screen and (max-width: 768px) {
        body .concept_right {
          float: none;
          width: 100%; } }
      body .concept_right_ttl {
        font-size: calc(100vw / 3840 * 96);
        margin: 100px 0 67px;
        line-height: calc(128 / 96);
        font-family: tbchibirgothicplusk-pro, sans-serif; }
        @media screen and (max-width: 768px) {
          body .concept_right_ttl {
            margin: 35px 0 40px;
            font-size: 2.8rem; } }
      body .concept_right_box {
        max-width: 330px;
        margin: 0 auto;
        margin-left: 113px; }
        @media screen and (max-width: 768px) {
          body .concept_right_box {
            margin: 0;
            max-width: inherit; } }
      body .concept_right_txt {
        border-bottom: 2px solid #e3dccc;
        padding-bottom: 7px;
        margin-top: 7px;
        display: block;
        font-feature-settings: "palt"; }
      body .concept_right_img {
        max-width: 160px;
        width: calc(100vw / 3840 * 320);
        margin: 48px auto; }
        @media screen and (max-width: 768px) {
          body .concept_right_img {
            width: 120px;
            margin: 32px auto; } }
  body .shop.body.top {
    background: transparent;
    padding: 0 20px;
    margin: 0 auto;
    margin-bottom: 147px; }
    @media screen and (max-width: 768px) {
      body .shop.body.top {
        margin-bottom: 120px; } }
  body .shop_illust_left {
    position: absolute;
    width: 47px;
    left: 0;
    top: -26px; }
  body .shop_illust_right {
    position: absolute;
    width: 55px;
    right: 0;
    bottom: -17px; }
  body .shop_box {
    display: flex;
    position: relative; }
  body .shop_bg {
    position: absolute; }
    body .shop_bg.left {
      width: 230px;
      top: -105px;
      left: -270px; }
      @media screen and (max-width: 768px) {
        body .shop_bg.left {
          width: 105px;
          top: -165px;
          left: 0; } }
    body .shop_bg.right {
      width: 220px;
      right: -260px;
      bottom: 263px; }
      @media screen and (max-width: 768px) {
        body .shop_bg.right {
          display: none; } }
  body .shop_sp {
    display: none; }
    @media screen and (max-width: 768px) {
      body .shop_sp {
        display: block;
        overflow: hidden; } }
  body .shop_left {
    display: inline-block;
    width: 510px;
    box-sizing: border-box;
    margin-right: 79px; }
    @media screen and (max-width: 768px) {
      body .shop_left {
        display: none; } }
    body .shop_left_link {
      margin-top: 20px; }
      @media screen and (max-width: 768px) {
        body .shop_left_link {
          text-align: center; } }
      body .shop_left_link a {
        color: #386150;
        position: relative; }
        body .shop_left_link a:after {
          position: absolute;
          bottom: -4px;
          left: 0;
          content: '';
          width: 100%;
          height: 2px;
          background: #386150;
          transform: scale(0, 1);
          transform-origin: left top;
          transition: transform .3s; }
        body .shop_left_link a:hover:after {
          transform: scale(1, 1); }
      body .shop_left_link:before {
        content: "";
        background-image: url("../images/top/map.png");
        display: inline-block;
        width: 15px;
        margin-right: 10px;
        height: 20px;
        background-size: contain;
        background-repeat: no-repeat; }
  body .shop_right {
    display: inline-block;
    max-width: 510px;
    padding-right: 102px; }
    @media screen and (max-width: 768px) {
      body .shop_right {
        padding: 0;
        width: 100%; } }
    body .shop_right_ttl {
      font-size: 3.2rem;
      margin-top: 28px;
      font-family: tbchibirgothicplusk-pro, sans-serif; }
      @media screen and (max-width: 768px) {
        body .shop_right_ttl {
          font-size: 2.3rem;
          margin-top: 0; } }
    body .shop_right_txt {
      margin-top: 40px; }
      @media screen and (max-width: 768px) {
        body .shop_right_txt {
          margin-top: 28px;
          margin-bottom: 40px; } }
    body .shop_right_box {
      margin-top: 35px;
      background-color: #fff;
      padding: 32px;
      margin-bottom: 40px; }
      @media screen and (max-width: 768px) {
        body .shop_right_box {
          margin: 44PX 0 32px;
          padding: 16px;
          position: relative; } }
      body .shop_right_box_list {
        display: flex;
        position: relative;
        line-height: calc(72 / 32); }
        body .shop_right_box_list dt {
          font-weight: bold;
          width: 6em;
          position: relative; }
          body .shop_right_box_list dt:after {
            content: "…";
            width: 1em;
            display: inline-block;
            position: absolute;
            right: 0.5em; }
          @media screen and (max-width: 768px) {
            body .shop_right_box_list dt {
              display: inline-block; } }
        body .shop_right_box_list dd {
          position: absolute;
          left: 6em; }
          @media screen and (max-width: 768px) {
            body .shop_right_box_list dd {
              position: relative;
              left: 0;
              width: 210px; } }
    body .shop_right_img {
      margin-top: 32px; }
  body .bottom {
    display: flex; }
    @media screen and (max-width: 768px) {
      body .bottom {
        display: block; } }
    body .bottom_left {
      width: 50%;
      background-image: url("../images/top/bottom_company.jpg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      box-sizing: border-box; }
      @media screen and (max-width: 768px) {
        body .bottom_left {
          width: 100%;
          background-image: url("../images/top/sp/bottom_company.jpg");
          padding: 12px; } }
    body .bottom_right {
      width: 50%;
      background-image: url("../images/top/bottom_recruit.jpg");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      box-sizing: border-box; }
      @media screen and (max-width: 768px) {
        body .bottom_right {
          width: 100%;
          background-image: url("../images/top/sp/bottom_recruit.jpg");
          padding: 12px; } }
    body .bottom_box {
      margin: 20px;
      padding: 95px 0 72px;
      text-align: center;
      color: #fff; }
      @media screen and (max-width: 768px) {
        body .bottom_box {
          margin: 0;
          padding: 40px 0 17px; } }
      body .bottom_box.green {
        background-color: rgba(36, 130, 50, 0.4);
        transition: all .3s; }
        body .bottom_box.green:hover {
          background-color: rgba(36, 130, 50, 0.7); }
      body .bottom_box.brown {
        background-color: rgba(88, 25, 8, 0.4);
        transition: all .3s; }
        body .bottom_box.brown:hover {
          background-color: rgba(88, 25, 8, 0.7); }
      body .bottom_box_ttl {
        font-size: 5rem;
        margin-bottom: 20px;
        font-family: 'Sriracha', cursive; }
        @media screen and (max-width: 768px) {
          body .bottom_box_ttl {
            font-size: 2.8rem;
            margin-bottom: 16px;
            line-height: 1em; } }
        body .bottom_box_ttl_small {
          font-size: 1.8rem;
          font-family: tbchibirgothicplusk-pro, sans-serif; }
          @media screen and (max-width: 768px) {
            body .bottom_box_ttl_small {
              font-size: 1.6rem; } }
          body .bottom_box_ttl_small:after {
            content: "";
            background-image: url("../images/top/bottom_yellow.png");
            background-repeat: no-repeat;
            background-size: contain;
            width: 27px;
            display: block;
            height: 10px;
            margin: 0 auto;
            margin-top: 16px; }
            @media screen and (max-width: 768px) {
              body .bottom_box_ttl_small:after {
                margin-top: 12px; } }
  body .footer {
    padding: 0;
    font-family: Noto Sans CJK JP, sans-serif; }
    body .footer a {
      color: #581908; }
    body .footer .body {
      max-width: 1200px;
      width: 100%;
      margin: 0 auto;
      box-sizing: border-box;
      position: relative; }
    body .footer .footer_list {
      position: relative;
      background-color: #e3dccc;
      padding: 60px 0; }
      @media screen and (max-width: 768px) {
        body .footer .footer_list {
          padding: 40px 0 112px; } }
      body .footer .footer_list .jump_img {
        position: fixed;
        bottom: 24px;
        right: 24px;
        width: 60px; }
        @media screen and (max-width: 768px) {
          body .footer .footer_list .jump_img {
            position: absolute;
            bottom: 20px;
            margin: auto;
            right: 0;
            left: 0; } }
      body .footer .footer_list .body {
        display: flex;
        flex-wrap: wrap; }
        @media screen and (max-width: 768px) {
          body .footer .footer_list .body {
            display: block; } }
      body .footer .footer_list_box {
        width: calc(100% / 3 - 24px);
        max-width: 384px;
        margin: 0 12px;
        margin-bottom: 24px;
        box-sizing: border-box;
        background-color: #fff;
        display: inline-block;
        padding: 32px;
        border-radius: 1em; }
        @media screen and (max-width: 768px) {
          body .footer .footer_list_box {
            width: 100%;
            margin: 0;
            margin-bottom: 12px;
            padding: 28px 16px;
            max-width: inherit; }
            body .footer .footer_list_box:last-child {
              margin-bottom: 0; } }
        body .footer .footer_list_box:nth-child(3n) {
          margin-right: 0; }
        body .footer .footer_list_box:nth-child(3n+1) {
          margin-left: 0; }
      body .footer .footer_list_name {
        font-weight: bold;
        margin-bottom: 24px; }
    body .footer .footer_nav {
      background-color: #386150;
      color: #fff;
      padding: 32px 0; }
      body .footer .footer_nav_left {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        width: calc(100% - 328px); }
        @media screen and (max-width: 768px) {
          body .footer .footer_nav_left {
            display: none; } }
      @media screen and (max-width: 768px) {
        body .footer .footer_nav_right {
          width: 100%; } }
      body .footer .footer_nav_right a:after {
        display: none; }
      body .footer .footer_nav .body {
        display: flex;
        align-items: center; }
      body .footer .footer_nav a {
        color: #fff;
        position: relative; }
        body .footer .footer_nav a:after {
          position: absolute;
          bottom: -4px;
          left: 0;
          content: '';
          width: 100%;
          height: 2px;
          background: #fff;
          transform: scale(0, 1);
          transform-origin: left top;
          transition: transform .3s; }
        body .footer .footer_nav a:hover:after {
          transform: scale(1, 1); }
        body .footer .footer_nav a#ranking {
          position: initial; }
          @media all and (-ms-high-contrast: none) {
            body .footer .footer_nav a#ranking {
              position: absolute;
              left: 0; } }
          body .footer .footer_nav a#ranking:after {
            bottom: -30px; }
      body .footer .footer_nav_logo {
        width: 240px; }
        @media screen and (max-width: 768px) {
          body .footer .footer_nav_logo {
            width: 200px;
            margin: 0 auto;
            display: block;
            margin-bottom: 28px; } }
        body .footer .footer_nav_logo a:after {
          display: none; }
      body .footer .footer_nav_menu {
        display: flex;
        padding: 12px 0;
        border-left: 2px solid #fff;
        padding-left: 60px;
        margin-left: 60px; }
        body .footer .footer_nav_menu_line {
          margin-right: 40px; }
        body .footer .footer_nav_menu_txt {
          position: relative;
          margin-bottom: 66px;
          width: 6em; }
          body .footer .footer_nav_menu_txt:last-child {
            margin: 0; }
          body .footer .footer_nav_menu_txt span {
            font-size: 1.4rem;
            position: absolute;
            left: 0;
            top: calc(1em + 15px); }
    body .footer .footer_btn {
      background-image: url("../images/top/mail.png");
      background-size: 24px;
      background-position: 32px center;
      background-repeat: no-repeat;
      background-color: #eee82c;
      color: #386150;
      padding: 20px 0;
      text-align: center;
      max-width: 328px;
      width: 100%;
      display: inline-block;
      margin-bottom: 30px; }
      @media screen and (max-width: 768px) {
        body .footer .footer_btn {
          display: none; } }
    @media screen and (max-width: 768px) {
      body .footer_img {
        width: 200px;
        margin: 0 auto;
        margin-bottom: 27px; } }

/* Scss Document */
body .mv {
  width: 100vw;
  margin: 0;
  text-align: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 96px 0; }
  @media screen and (max-width: 768px) {
    body .mv {
      padding: 33px 0; } }
  body .mv.bread {
    background-image: url("../images/bread/breads_mv.jpg"); }
    @media screen and (max-width: 768px) {
      body .mv.bread {
        background-image: url("../images/bread/sp/breads_mv.jpg"); } }
  body .mv_ttl {
    font-size: 4.8rem;
    margin-bottom: 20px;
    font-family: tbchibirgothicplusk-pro, sans-serif; }
    @media screen and (max-width: 768px) {
      body .mv_ttl {
        font-size: 2.8rem;
        margin-bottom: 12px; } }
    body .mv_ttl_small {
      font-size: 2.8rem;
      font-family: 'Sriracha', cursive; }
      @media screen and (max-width: 768px) {
        body .mv_ttl_small {
          font-size: 1.8rem; } }
body .breadcrumbs a {
  color: #581908; }
body .breadcrumbs.body {
  margin: 0 auto;
  padding-top: 20px; }
  @media screen and (max-width: 768px) {
    body .breadcrumbs.body {
      padding-top: 12px; } }
body .breadcrumbs span {
  font-size: 1.3rem; }
  @media screen and (max-width: 768px) {
    body .breadcrumbs span {
      font-size: 1.2rem; } }
  body .breadcrumbs span:after {
    content: "＞";
    width: 1em;
    display: inline-block;
    margin: 0 1em; }
  body .breadcrumbs span:last-child:after {
    display: none; }
body .bread_head {
  display: flex; }
  body .bread_head.body {
    margin: 0 auto;
    padding: 68px 0 62px; }
    @media screen and (max-width: 768px) {
      body .bread_head.body {
        margin: 36px 0 24px;
        padding: 0 20px;
        display: block; } }
  body .bread_head_left {
    background-color: #fff;
    border-radius: 1em;
    padding: 32px;
    width: 50%;
    max-width: 588px;
    box-sizing: border-box;
    margin-right: 22px; }
    @media screen and (max-width: 768px) {
      body .bread_head_left {
        width: 100%;
        margin: 0;
        margin-bottom: 24px;
        padding: 28px 16px; } }
    body .bread_head_left_list {
      display: flex;
      align-items: center;
      margin-bottom: 12px; }
      @media screen and (max-width: 768px) {
        body .bread_head_left_list {
          align-items: end; } }
      body .bread_head_left_list_icon {
        width: 52px;
        position: relative; }
        @media screen and (max-width: 768px) {
          body .bread_head_left_list_icon {
            width: 40px; } }
        body .bread_head_left_list_icon:after {
          content: "…";
          display: inline-block;
          width: 1em;
          margin: 0 12px;
          position: absolute;
          left: 52px; }
          @media screen and (max-width: 768px) {
            body .bread_head_left_list_icon:after {
              left: 36px; } }
        body .bread_head_left_list_icon img {
          vertical-align: middle; }
          @media screen and (max-width: 768px) {
            body .bread_head_left_list_icon img {
              width: 40px; } }
      body .bread_head_left_list_txt {
        margin-left: 30px;
        padding-left: 0.5em;
        font-feature-settings: "palt"; }
    body .bread_head_left_txt {
      margin-top: 12px;
      font-size: 1.3rem;
      font-feature-settings: "palt"; }
  body .bread_head_right {
    width: 50%;
    box-sizing: border-box;
    max-width: 588px;
    transition: all .3s; }
    @media screen and (max-width: 768px) {
      body .bread_head_right {
        width: 100%; } }
    body .bread_head_right:hover {
      opacity: 0.7; }
body .breads {
  text-align: center;
  position: relative; }
  body .breads_ttl {
    display: inline-block;
    font-size: 3.6rem;
    position: absolute;
    left: 0;
    line-height: 1em;
    font-family: 'Sriracha', cursive; }
    @media screen and (max-width: 768px) {
      body .breads_ttl {
        display: block;
        border-bottom: 2px solid #e3dccc;
        padding-bottom: 8px;
        margin: 0;
        font-size: 2rem;
        left: 20px;
        width: calc(100% - 40px);
        text-align: left; } }
  body .breads_menu {
    display: inline-block;
    padding-top: 12px; }
    @media screen and (max-width: 768px) {
      body .breads_menu {
        font-size: 0;
        width: 100%;
        margin-top: calc(2rem + 8px);
        padding-top: 25px;
        display: inline-flex; } }
    body .breads_menu a {
      color: #581908;
      width: inherit; }
    body .breads_menu_cat {
      display: inline-block;
      width: 140px;
      text-align: center;
      padding-bottom: 32px;
      position: relative; }
      @media screen and (max-width: 768px) {
        body .breads_menu_cat {
          font-size: 1.4REM;
          width: inherit;
          padding-bottom: 24px;
          vertical-align: bottom; }
          body .breads_menu_cat:nth-child(3) {
            padding-bottom: 16px; } }
      body .breads_menu_cat.selected:after {
        content: "";
        width: 100%;
        height: 4px;
        background-color: #386150;
        display: block;
        position: absolute;
        left: 0;
        bottom: 0; }
        @media screen and (max-width: 768px) {
          body .breads_menu_cat.selected:after {
            bottom: -4px; } }
  body .breads_all {
    border-top: 2px solid #e3dccc;
    padding-top: 52px;
    margin-top: -2px; }
    @media screen and (max-width: 768px) {
      body .breads_all {
        padding-top: 0; } }
    body .breads_all_list {
      display: flex;
      flex-wrap: wrap; }
      @media screen and (max-width: 768px) {
        body .breads_all_list {
          flex-wrap: wrap;
          margin-bottom: 0; }
          body .breads_all_list:first-of-type {
            margin-top: 0; } }
      body .breads_all_list_box {
        width: 25%;
        box-sizing: border-box;
        padding: 0 12px;
        text-align: center;
        line-height: 1em;
        margin-bottom: 60px;
        transition: all .3s; }
        body .breads_all_list_box:hover {
          opacity: 0.7; }
        @media screen and (max-width: 768px) {
          body .breads_all_list_box {
            width: calc(50% - 11px);
            padding: 0;
            margin: 0;
            margin-right: 11px;
            margin-bottom: 32px;
            margin-top: 32px; }
            body .breads_all_list_box:nth-child(2n) {
              margin-right: 0;
              margin-left: 11px; }
            body .breads_all_list_box:nth-child(n+3) {
              margin-top: 0; } }
        body .breads_all_list_box:nth-child(4n + 1) {
          padding-left: 0; }
        body .breads_all_list_box:nth-child(4n) {
          padding-right: 0; }
        body .breads_all_list_box_img {
          width: calc(100vw / 2840 * 564);
          max-width: 282px;
          margin: auto;
          margin-bottom: 20px;
          position: relative; }
          @media screen and (max-width: 768px) {
            body .breads_all_list_box_img {
              margin: 0;
              width: 100%; } }
          body .breads_all_list_box_img_icon {
            display: flex;
            position: absolute;
            top: 8px;
            left: 8px; }
            body .breads_all_list_box_img_icon.new .breads_all_list_box_img_new {
              display: inline-block; }
            body .breads_all_list_box_img_icon.best .breads_all_list_box_img_best {
              display: inline-block; }
          body .breads_all_list_box_img_new, body .breads_all_list_box_img .breads_all_list_box_img_best {
            width: 52px;
            display: none;
            margin-right: 8px; }
            @media screen and (max-width: 768px) {
              body .breads_all_list_box_img_new, body .breads_all_list_box_img .breads_all_list_box_img_best {
                width: 39px;
                margin-right: 4px; } }
          body .breads_all_list_box_img img {
            border-radius: .75em; }
        body .breads_all_list_box_ttl {
          font-size: 1.7rem;
          margin-bottom: 16px;
          font-weight: bold; }
          @media screen and (max-width: 768px) {
            body .breads_all_list_box_ttl {
              font-size: 1.6rem;
              margin: 20px 0 16px;
              line-height: 1.3em; } }
        body .breads_all_list_box_price {
          font-weight: bold;
          margin-bottom: 16px;
          color: #386150;
          line-height: 1em; }
          @media screen and (max-width: 768px) {
            body .breads_all_list_box_price {
              font-size: 1.4rem; } }
          body .breads_all_list_box_price span {
            font-weight: normal;
            font-size: 1.5rem; }
            @media screen and (max-width: 768px) {
              body .breads_all_list_box_price span {
                font-size: 1.3rem; } }
        body .breads_all_list_box_shop {
          font-size: 1.4rem;
          border-top: 1px solid #e3dccc;
          padding-top: 12px; }
          @media screen and (max-width: 768px) {
            body .breads_all_list_box_shop {
              font-size: 1.2rem; } }
          body .breads_all_list_box_shop span:after {
            content: "/";
            width: 1em;
            margin: 0 0.5em;
            display: inline-block;
            height: 1em; }
          body .breads_all_list_box_shop span:last-of-type:after {
            display: none; }
  body .breads_modal {
    position: absolute;
    top: 0;
    width: 100vw;
    height: 100vh;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    display: none; }
    body .breads_modal_back {
      background-color: rgba(33, 33, 33, 0.6);
      height: 100vh;
      position: fixed;
      width: 100vw;
      z-index: 10; }
    body .breads_modal_box {
      background-color: #fff;
      border-radius: 2em;
      width: calc(100vw / 2840 * 1272);
      max-width: 636px;
      height: fit-content;
      max-height: inherit;
      position: absolute;
      margin: auto;
      top: 0;
      bottom: 0;
      right: 0;
      left: 0;
      padding: 40px;
      box-sizing: border-box;
      text-align: center; }
      @media screen and (max-width: 768px) {
        body .breads_modal_box {
          margin: 20px;
          padding: 28px 16px;
          width: calc(100vw / 750 * 670);
          max-width: 335px;
          max-height: calc(100vh - 40px);
          height: calc(100vw / 750 * 1370);
          overflow: auto; } }
      body .breads_modal_box p {
        text-align: left; }
      body .breads_modal_box_img img {
        border-radius: .75em; }
      body .breads_modal_box_ttl {
        font-size: 2rem;
        margin-top: 24px;
        font-weight: bold; }
        @media screen and (max-width: 768px) {
          body .breads_modal_box_ttl {
            font-size: 1.8rem;
            margin-top: 24px; } }
      body .breads_modal_box_price {
        margin-top: 16px;
        border-bottom: 1px solid #e3dccc;
        padding-bottom: 24px;
        color: #386150;
        text-align: center !important; }
        @media screen and (max-width: 768px) {
          body .breads_modal_box_price {
            padding-bottom: 20px;
            font-size: 1.5rem; }
            body .breads_modal_box_price span {
              font-size: 1.4rem; } }
      body .breads_modal_box_txt {
        text-align: left;
        margin-top: 24px; }
      body .breads_modal_box .modal_btn {
        padding: 20px 0;
        background-image: url("../images/bread/btn_exit.png");
        background-position: 32px center;
        background-repeat: no-repeat;
        background-size: 16px;
        margin-top: 60px; }
        @media screen and (max-width: 768px) {
          body .breads_modal_box .modal_btn {
            margin-top: 32px; } }

/* Scss Document */
body .mv.company {
  background-image: url("../images/company/company_bg.jpg"); }
  @media screen and (max-width: 768px) {
    body .mv.company {
      background-image: url("../images/company/sp/company_bg.jpg"); } }
@media screen and (max-width: 768px) {
  body .sec.profile#profile {
    margin-bottom: 120px; } }
body .company_menu.body {
  margin: 0 auto; }
body .company_menu_list {
  background-color: #e3dccc;
  border-radius: 2em;
  padding: 32px 78px;
  margin: 68px 0 100px;
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 768px) {
    body .company_menu_list {
      display: block;
      margin: 36px 0 60px;
      padding: 16px;
      justify-content: end; } }
  body .company_menu_list_btn {
    max-width: 332px;
    width: calc(100% / 3);
    margin-right: 16px;
    padding: 17px 0;
    line-height: 1em; }
    body .company_menu_list_btn:last-of-type {
      margin-right: 0; }
    body .company_menu_list_btn li {
      margin: 0 auto; }
    @media screen and (max-width: 768px) {
      body .company_menu_list_btn {
        width: 100%;
        padding: 16px 0;
        margin-right: 12px;
        margin-bottom: 12px; }
        body .company_menu_list_btn:nth-child(2n) {
          margin-right: 0; }
        body .company_menu_list_btn:nth-child(n+3) {
          margin-bottom: 0; } }
    body .company_menu_list_btn p {
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        body .company_menu_list_btn p {
          font-size: 1.3REM; } }
body .sec {
  text-align: center; }
  body .sec_ttl {
    font-size: 5rem;
    margin-bottom: 20px;
    font-family: 'Sriracha', cursive; }
    @media screen and (max-width: 768px) {
      body .sec_ttl {
        font-size: 3.6REM;
        line-height: 1EM;
        margin-bottom: 16px; } }
    body .sec_ttl_small {
      font-size: 2rem; }
      @media screen and (max-width: 768px) {
        body .sec_ttl_small {
          font-size: 1.7rem;
          margin-bottom: 40px;
          display: block; } }
body .message_box {
  text-align: left;
  margin-top: 65px; }
  @media screen and (max-width: 768px) {
    body .message_box {
      margin-top: 0; } }
  body .message_box_ttl {
    padding-top: 35px;
    font-size: 3.2rem;
    line-height: calc(96 / 64);
    margin-bottom: 52px;
    font-family: tbchibirgothicplusk-pro, sans-serif; }
    @media screen and (max-width: 768px) {
      body .message_box_ttl {
        padding-top: 0;
        font-size: 2.3rem;
        line-height: calc(64 / 46);
        margin-bottom: 40px; } }
  body .message_box_txt {
    margin-bottom: 1em; }
  body .message_box_name {
    text-align: right;
    margin-top: 60px;
    font-size: 2rem; }
    @media screen and (max-width: 768px) {
      body .message_box_name {
        text-align: left;
        margin-top: 40px;
        font-size: 1.8rem; } }
    body .message_box_name img {
      width: 208px;
      margin-left: 17px; }
      @media screen and (max-width: 768px) {
        body .message_box_name img {
          width: 170px;
          margin-left: 1em; } }
  body .message_box_img {
    width: 100%;
    max-width: 496px;
    float: right;
    margin-left: 92px; }
    @media screen and (max-width: 768px) {
      body .message_box_img {
        margin: 0;
        float: none; } }
body .philosophy_box {
  margin: 0 102px;
  padding: 82px 180px 96px;
  margin-top: 14px;
  background-image: url("../images/company/philosophy.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center; }
  @media screen and (max-width: 768px) {
    body .philosophy_box {
      background-image: none;
      background-color: #e3dccc;
      margin: 0;
      padding: 28px 16px;
      border-radius: 1em; } }
  body .philosophy_box_bg {
    position: absolute; }
    body .philosophy_box_bg.left {
      width: 182px;
      top: 139px;
      left: 0; }
      @media screen and (max-width: 768px) {
        body .philosophy_box_bg.left {
          width: 86px;
          top: 45px;
          left: 16px; } }
    body .philosophy_box_bg.right {
      width: 242px;
      bottom: 50px;
      right: 0; }
      @media screen and (max-width: 768px) {
        body .philosophy_box_bg.right {
          width: 108px;
          bottom: -46px;
          right: 16px; } }
  body .philosophy_box_ttl {
    font-size: 2.8rem;
    padding-bottom: 24px;
    border-bottom: 2px solid #fff;
    font-family: tbchibirgothicplusk-pro, sans-serif; }
    @media screen and (max-width: 768px) {
      body .philosophy_box_ttl {
        font-size: 2rem;
        padding-bottom: 16px; } }
  body .philosophy_box_subttl {
    font-size: 3rem;
    position: relative;
    margin: 58px 0 44px;
    line-height: calc(96 / 60); }
    @media screen and (max-width: 768px) {
      body .philosophy_box_subttl {
        font-size: 2.3rem;
        margin: 44px auto 40px;
        padding: 0px 25px;
        text-align: left; } }
    body .philosophy_box_subttl:before {
      content: "“";
      display: inline-block;
      color: #fff;
      position: absolute;
      top: -16px;
      left: 0;
      width: 1em;
      font-size: 6.4rem;
      text-align: left;
      line-height: 1em; }
      @media screen and (max-width: 768px) {
        body .philosophy_box_subttl:before {
          font-size: 5.2rem; } }
    body .philosophy_box_subttl:after {
      content: "”";
      display: inline-block;
      color: #fff;
      position: absolute;
      bottom: -1em;
      right: 0;
      width: 1em;
      font-size: 6.4rem;
      height: 1em;
      text-align: right;
      line-height: 1em; }
      @media screen and (max-width: 768px) {
        body .philosophy_box_subttl:after {
          font-size: 5.2rem; } }
  body .philosophy_box_txt {
    text-align: left; }
body .profile_box {
  background-color: #fff;
  padding: 60px 78px;
  margin: 40px 0 160px;
  text-align: left;
  border-radius: 1em; }
  @media screen and (max-width: 768px) {
    body .profile_box {
      padding: 28px 16px;
      margin-bottom: 0; } }
  body .profile_box_bg {
    position: absolute;
    width: 172px;
    bottom: -125px;
    left: -172px; }
    @media screen and (max-width: 768px) {
      body .profile_box_bg {
        width: 75px;
        bottom: -72px;
        left: 20px; } }
  body .profile_box_list {
    display: flex;
    margin-top: 20px; }
    @media screen and (max-width: 768px) {
      body .profile_box_list {
        flex-wrap: wrap;
        margin: 0; } }
    body .profile_box_list_txt {
      border-bottom: 1px solid #e3dccc;
      display: flex;
      position: relative;
      width: 50%;
      box-sizing: border-box;
      margin-right: 24px;
      padding-bottom: 20px;
      align-items: baseline; }
      @media screen and (max-width: 768px) {
        body .profile_box_list_txt {
          display: block;
          width: 100%;
          margin: 0;
          padding-bottom: 28px;
          margin-top: 29px; }
          body .profile_box_list_txt#first {
            margin-top: 0; } }
      body .profile_box_list_txt:last-child {
        margin-right: 0; }
    body .profile_box_list_cat {
      width: 4em;
      margin-right: 24px; }
      @media screen and (max-width: 768px) {
        body .profile_box_list_cat {
          margin-bottom: 20px; } }
body .history {
  margin-bottom: 120px; }
  body .history .sec_ttl_small {
    margin-bottom: 80px;
    display: block; }
    @media screen and (max-width: 768px) {
      body .history .sec_ttl_small {
        margin-bottom: 40px; } }
  body .history_bg {
    position: absolute;
    width: 108px;
    top: -130px;
    right: -132px; }
    @media screen and (max-width: 768px) {
      body .history_bg {
        width: 48px;
        top: -80px;
        right: 20px; } }
  body .history_list {
    text-align: left;
    padding: 20px 0; }
    body .history_list:nth-child(2n+1) {
      background-color: #fff; }
    @media screen and (max-width: 768px) {
      body .history_list:last-child {
        padding-bottom: 80px; } }
    body .history_list .body {
      margin-bottom: 0;
      display: flex; }
    body .history_list_year {
      margin-right: 52px; }
      @media screen and (max-width: 768px) {
        body .history_list_year {
          margin-right: 40px; } }
      body .history_list_year:after {
        content: "";
        width: 2px;
        height: calc(100% + 40px);
        display: inline-block;
        position: absolute;
        background-color: #386150;
        left: 5em;
        top: 20px; }
      body .history_list_year.last:after {
        height: calc(100% - 20px); }
        @media screen and (max-width: 768px) {
          body .history_list_year.last:after {
            display: none; } }
    body .history_list_txt:before {
      content: "";
      background-image: url("../images/company/circle.png");
      width: 20px;
      background-size: contain;
      background-repeat: no-repeat;
      display: inline-block;
      position: absolute;
      height: 20px;
      left: 4.5em;
      top: 0.3em; }
      @media screen and (max-width: 768px) {
        body .history_list_txt:before {
          width: 16px;
          height: 16px;
          left: 4.58em; } }

/* Scss Document */
body .mv.concept {
  background-image: url("../images/concept/concept_mv.jpg"); }
  @media screen and (max-width: 768px) {
    body .mv.concept {
      background-image: url("../images/concept/sp/concept_mv.jpg"); } }
body .sec {
  margin-bottom: 120px; }
  @media screen and (max-width: 768px) {
    body .sec {
      margin-bottom: 68px; } }
  body .sec .sp_sec_img {
    display: none; }
    @media screen and (max-width: 768px) {
      body .sec .sp_sec_img {
        display: flex;
        margin-top: 36px;
        align-items: center;
        margin-bottom: 4px; } }
    body .sec .sp_sec_imgbox {
      width: 140px; }
      body .sec .sp_sec_imgbox_bg {
        width: calc(100% - 150px); }
  body .sec.safe {
    padding-top: 32px;
    margin-bottom: 152px; }
    @media screen and (max-width: 768px) {
      body .sec.safe {
        padding-top: 0;
        margin-bottom: 68px; } }
  body .sec.cook {
    margin-top: 88px;
    text-align: left;
    padding-top: 14px; }
    @media screen and (max-width: 768px) {
      body .sec.cook {
        margin-top: 32px;
        padding-top: 0; } }
    body .sec.cook .concept_ttl {
      margin-top: 14px;
      font-family: tbchibirgothicplusk-pro, sans-serif; }
  body .sec_imgbox {
    width: calc(100vw / 2840 * 612);
    max-width: 306px;
    position: absolute; }
    @media screen and (max-width: 768px) {
      body .sec_imgbox {
        display: none; } }
    body .sec_imgbox.left {
      margin-right: 77px; }
    body .sec_imgbox.right {
      right: 0;
      top: 0; }
    body .sec_imgbox_img {
      margin-bottom: 8px; }
  body .sec_bg {
    position: absolute; }
    @media screen and (max-width: 768px) {
      body .sec_bg {
        display: none; } }
    body .sec_bg.right {
      right: -214px;
      width: calc(100vw / 2840 * 1058);
      max-width: 529px;
      top: 200px; }
    body .sec_bg.left {
      left: -214px;
      width: calc(100vw / 2840 * 1040);
      max-width: 520px;
      z-index: -1;
      top: 87px; }
body .concept_ttl {
  margin: 0 auto;
  width: 84px;
  background-image: url("../images/concept/concept_circle.png");
  background-repeat: no-repeat;
  background-size: contain;
  text-align: center;
  padding-top: 7px;
  font-size: 4rem;
  font-family: tbchibirgothicplusk-pro, sans-serif; }
  @media screen and (max-width: 768px) {
    body .concept_ttl {
      padding-top: 16px;
      margin-top: 0;
      line-height: 1em;
      width: 78px;
      font-size: 3.7rem; } }
  body .concept_ttl_small {
    font-size: 1.3rem;
    display: block; }
    @media screen and (max-width: 768px) {
      body .concept_ttl_small {
        line-height: 1em;
        font-size: 1.2rem;
        margin-top: 7px; } }
body .concept_subttl {
  text-align: center;
  font-size: 2.4rem;
  margin: 24px auto;
  max-width: 432px;
  position: relative;
  padding-bottom: 17px;
  border-bottom: 2px solid #e3dccc;
  font-family: tbchibirgothicplusk-pro, sans-serif; }
  @media screen and (max-width: 768px) {
    body .concept_subttl {
      font-size: 2rem;
      margin: 29px auto 28px;
      padding-bottom: 23px; } }
  body .concept_subttl:before {
    content: "";
    width: 15px;
    height: 44px;
    background-repeat: no-repeat;
    background-image: url("../images/concept/concept_ttl_before.png");
    display: inherit;
    background-size: contain;
    position: absolute;
    background-position: center;
    margin: auto;
    top: 0;
    bottom: 17px;
    left: 0; }
    @media screen and (max-width: 768px) {
      body .concept_subttl:before {
        height: 40px;
        bottom: 23px; } }
  body .concept_subttl:after {
    content: "";
    width: 15px;
    height: 44px;
    background-repeat: no-repeat;
    background-image: url("../images/concept/concept_ttl_after.png");
    display: inherit;
    background-size: contain;
    position: absolute;
    background-position: center;
    margin: auto;
    top: 0;
    bottom: 17px;
    right: 0; }
    @media screen and (max-width: 768px) {
      body .concept_subttl:after {
        height: 40px;
        bottom: 23px; } }
body .concept_txt {
  text-align: center;
  line-height: calc(72 / 32);
  max-width: 432px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    body .concept_txt {
      text-align: left;
      line-height: calc(64 / 32); } }
body .taste_line {
  margin: 90px auto 96px;
  display: flex; }
  @media screen and (max-width: 768px) {
    body .taste_line {
      margin-top: 48px;
      display: block; } }
  body .taste_line_box {
    margin-right: 60px;
    position: relative;
    width: calc(50% - 60px); }
    @media screen and (max-width: 768px) {
      body .taste_line_box {
        margin: 0;
        margin-bottom: 54px;
        width: 100%; } }
    body .taste_line_box_txt {
      text-align: left; }
      @media screen and (max-width: 768px) {
        body .taste_line_box_txt {
          line-height: calc(48 / 32);
          font-weight: 500;
          font-size: calc(100vw / 750 * 30); } }
    body .taste_line_box.right {
      margin-right: 0;
      margin-left: 60px; }
      @media screen and (max-width: 768px) {
        body .taste_line_box.right {
          margin-left: 0; } }
    body .taste_line_box_cloud {
      background-image: url("../images/concept/taste_cloud.png");
      padding: 90px 40px 64px;
      background-size: contain;
      background-position: bottom;
      background-repeat: no-repeat;
      position: relative;
      margin-bottom: -10px; }
      body .taste_line_box_cloud#tubuan {
        padding-bottom: calc(90px + 1.5em); }
      body .taste_line_box_cloud#curry {
        padding-bottom: 80px; }
      @media screen and (max-width: 768px) {
        body .taste_line_box_cloud#tubuan {
          background-image: url("../images/concept/sp/taste_cloud_tubuan.png");
          padding: 40px 16px 30px;
          background-size: 100%; }
        body .taste_line_box_cloud#cream {
          background-image: url("../images/concept/sp/taste_cloud_cream.png");
          padding: 65px 16px 35px;
          background-size: 100%; }
        body .taste_line_box_cloud#potato {
          background-image: url("../images/concept/sp/taste_cloud_satsuma.png");
          padding: 60px 16px 40px;
          background-size: 100%; }
        body .taste_line_box_cloud#curry {
          background-image: url("../images/concept/sp/taste_cloud_curry.png");
          padding: 45px 16px 50px;
          background-size: 100%; } }
    body .taste_line_box_ttl {
      font-size: 3rem;
      text-align: left;
      position: absolute;
      top: 0;
      left: 0;
      font-family: Noto Sans CJK JP; }
      @media screen and (max-width: 768px) {
        body .taste_line_box_ttl {
          font-size: 2rem;
          top: -16px; } }
      body .taste_line_box_ttl_img {
        display: inline-block;
        margin-right: 16px; }
        @media screen and (max-width: 768px) {
          body .taste_line_box_ttl_img {
            margin-right: 0px; } }
        body .taste_line_box_ttl_img.tubuan {
          width: 80px; }
          @media screen and (max-width: 768px) {
            body .taste_line_box_ttl_img.tubuan {
              width: 48px; } }
        body .taste_line_box_ttl_img.curry {
          width: 86px; }
          @media screen and (max-width: 768px) {
            body .taste_line_box_ttl_img.curry {
              width: 52px; } }
      body .taste_line_box_ttl span {
        font-size: 2rem;
        position: relative;
        font-weight: 500; }
        @media screen and (max-width: 768px) {
          body .taste_line_box_ttl span {
            font-size: 1.7rem;
            font-size: calc(100vw / 750 * 34); } }
        body .taste_line_box_ttl span:after {
          content: "";
          width: 10px;
          height: 10px;
          display: inline-block;
          background-image: url("../images/concept/span_green.png");
          position: absolute;
          background-size: contain; }
      body .taste_line_box_ttl h4 {
        display: inline-block;
        line-height: calc(80 / 60);
        font-weight: bold;
        font-family: Noto Sans CJK JP, sans-serif; }
        @media screen and (max-width: 768px) {
          body .taste_line_box_ttl h4 {
            font-size: calc(100vw / 750 * 40); } }
    body .taste_line_box_photo {
      background-color: #F2F2F2;
      padding: 20px;
      border-right: 6px solid #aca199;
      border-bottom: 6px solid #aca199;
      z-index: -1;
      padding-bottom: 12px; }
      body .taste_line_box_photo_img {
        width: calc(100vw / 3840 * 1000);
        max-width: 500px;
        height: calc(100vw / 3840 * 578);
        max-height: 290px;
        display: contents; }
        @media all and (-ms-high-contrast: none) {
          body .taste_line_box_photo_img {
            display: ruby; } }
      body .taste_line_box_photo_txt {
        width: 100%;
        overflow: hidden;
        padding-top: 6px; }
        @media screen and (max-width: 768px) {
          body .taste_line_box_photo_txt {
            height: 1em;
            line-height: 1em;
            padding-top: 7px;
            font-size: 1.2rem; } }

.mv.contact {
  background-image: url("../images/contact/contact_bg.jpg"); }
  @media screen and (max-width: 768px) {
    .mv.contact {
      background-image: url("../images/contact/sp/contact_bg.jpg"); } }

.mv.entry {
  background-image: url("../images/recruit/entry_mv.jpg"); }
  @media screen and (max-width: 768px) {
    .mv.entry {
      background-image: url("../images/recruit/sp/entry_mv.jpg"); } }

.contact .error_message {
  margin: 0;
  margin-bottom: 8px;
  display: none;
  font-size: 1.3rem; }
  .contact .error_message.open {
    display: block;
    width: 100%; }
.contact_txt {
  text-align: center;
  margin: 68px 0 44px; }
  @media screen and (max-width: 768px) {
    .contact_txt {
      text-align: left;
      margin: 36px 0 32px; } }
.contact_tel {
  width: 600px;
  margin: 0 auto;
  box-sizing: border-box;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  border: 10px solid #f2f2f2;
  margin-top: 66px; }
  .contact_tel_ttl {
    width: 100%;
    text-align: center;
    padding-top: 52px;
    padding-bottom: 20px;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: .1em;
    position: relative; }
  .contact_tel_cnt {
    width: 100%;
    text-align: center;
    padding-top: 40px;
    padding-bottom: 52px; }
  .contact_tel_number {
    font-size: 3.2rem;
    font-family: "ltc-bodoni-175", "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN", serif, "Sawarabi Mincho";
    font-style: italic;
    font-weight: bold;
    letter-spacing: .1em;
    line-height: 1;
    display: block; }
.contact_open {
  font-size: 1.4rem;
  font-weight: bold;
  letter-spacing: .1em; }
  .contact_open > * {
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: .1em; }
  .contact_open .bodoni {
    font-size: 1.6rem;
    letter-spacing: .2em; }

.step {
  width: 100%;
  margin: 100px auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media screen and (max-width: 768px) {
    .step {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: row;
      flex-direction: row;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-align-items: stretch;
      align-items: stretch;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      width: 85.3333333333vw;
      margin: 9.0666666667vw auto; } }
  .step_list {
    width: 25%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative; }
    @media screen and (max-width: 768px) {
      .step_list {
        align-items: flex-start; } }
    .step_list:before {
      content: "";
      width: 100%;
      height: 1px;
      background: #bcbcbc;
      position: absolute;
      left: 50%;
      top: 40px; }
    .step_list.select:before {
      background: #000000; }
    .step_list:last-child:before {
      content: none; }
  .step_nm {
    width: 80px;
    height: 80px;
    background: #bcbcbc;
    border-radius: 50%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -webkit-align-content: center;
    align-content: center;
    flex-wrap: wrap;
    font-size: 1.8rem;
    font-family: "ltc-bodoni-175", "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN", serif, "Sawarabi Mincho";
    font-style: italic;
    font-weight: bold;
    letter-spacing: .1em;
    text-indent: .1em;
    color: #ffffff;
    text-align: center;
    margin-bottom: 20px; }
    @media screen and (max-width: 768px) {
      .step_nm {
        width: 18.6666666667vw;
        height: 18.6666666667vw;
        margin-bottom: 2.6666666667vw;
        font-size: 4.2666666667vw; } }
  .step_ttl {
    width: 100%;
    display: block;
    text-align: center;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: .1em;
    color: #bcbcbc; }
    @media screen and (max-width: 768px) {
      .step_ttl {
        font-size: 2.6666666667vw; } }

.select .step_nm {
  background: #000000; }
.select .step_ttl {
  color: #000000; }

.short {
  letter-spacing: 0; }

.form {
  width: 100%;
  margin-bottom: 52px;
  position: relative; }
  @media screen and (max-width: 768px) {
    .form {
      margin-bottom: 44px; } }
  .form:last-of-type {
    margin-bottom: 0; }
  .form#shop span.error {
    position: absolute;
    top: 0;
    left: 8em; }
  .form#worktype span.error {
    position: absolute;
    top: 0;
    left: 9em; }
  .form input::placeholder, .form textarea::placeholder {
    color: #85574b; }
  .form:-ms-input-placeholder {
    color: #85574b; }
  .form::-ms-input-placeholder {
    color: #85574b; }
  .form input, .form textarea, .form select {
    width: 100%;
    background-color: #f4f2ec;
    padding: 15px 16px;
    border-radius: .5em;
    border: 0;
    color: #581908;
    box-sizing: border-box;
    font-size: 1.6rem; }
    .form input.error, .form textarea.error, .form select.error {
      background-color: #f6dbd4;
      border: 1px solid #d23c14; }
    @media screen and (max-width: 768px) {
      .form input, .form textarea, .form select {
        padding: 15px 12px; } }
    .form input.shop_sel, .form textarea.shop_sel, .form select.shop_sel {
      background-image: url(../images/contact/form_bg.png);
      background-repeat: no-repeat;
      background-position: right 16px center;
      background-size: 8px;
      max-width: 180px; }
  @media screen and (max-width: 768px) {
    .form textarea {
      padding: 20px 16px; } }
  .form_check {
    margin-right: 24px; }
  .form_txt {
    font-size: 1.3rem;
    margin-top: 16px; }
  .form_box {
    background-color: #fff;
    padding: 80px 180px;
    margin-bottom: 120px;
    border-radius: 1em; }
    @media screen and (max-width: 768px) {
      .form_box {
        padding: 44px 16px; } }
  .form .small {
    display: flex;
    align-items: center;
    box-sizing: border-box; }
    .form .small#name1 span.error {
      position: absolute;
      top: 0;
      left: 9em; }
      @media screen and (max-width: 768px) {
        .form .small#name1 span.error {
          top: -1.5em;
          left: 0; } }
    .form .small#name2 span.error {
      position: absolute;
      top: 0;
      left: 16em; }
      @media screen and (max-width: 768px) {
        .form .small#name2 span.error {
          top: -1.5em;
          left: 0; } }
    .form .small.address {
      flex-wrap: wrap; }
      .form .small.address p {
        display: block;
        width: 100%; }
      .form .small.address input {
        max-width: 76px; }
        .form .small.address input#longaddress {
          display: block;
          margin-top: 12px;
          max-width: inherit;
          width: 100%; }
      .form .small.address span.error {
        position: absolute;
        top: 0;
        left: 8em; }
        @media screen and (max-width: 768px) {
          .form .small.address span.error {
            top: 0;
            left: 7em; } }
    .form .small.mail {
      max-width: 100%;
      flex-wrap: nowrap; }
      @media screen and (max-width: 768px) {
        .form .small.mail {
          display: block;
          font-size: 0;
          overflow: hidden; } }
      .form .small.mail select {
        max-width: 180px;
        background-image: url("../images/contact/form_bg.png");
        background-repeat: no-repeat;
        background-position: right 16px center;
        background-size: 8px; }
        @media screen and (max-width: 768px) {
          .form .small.mail select {
            max-width: calc(100% - 3.6em);
            float: right; } }
      @media screen and (max-width: 768px) {
        .form .small.mail input {
          margin-bottom: 16px; } }
      .form .small.mail span.error {
        position: absolute;
        top: 0;
        left: 14em; }
        @media screen and (max-width: 768px) {
          .form .small.mail span.error {
            top: -1.5em;
            left: 0; } }
      .form .small.mail .mail_hidden {
        display: none; }
    .form .small input {
      box-sizing: border-box;
      max-width: 408px; }
    .form .small.birth {
      flex-wrap: nowrap; }
      .form .small.birth select {
        max-width: 91px;
        background-image: url("../images/contact/form_bg.png");
        background-repeat: no-repeat;
        background-position: right 16px center;
        background-size: 8px; }
        @media screen and (max-width: 768px) {
          .form .small.birth select {
            background-image: none; } }
        .form .small.birth select:first-child {
          max-width: 112px; }
      .form .small.birth .form_acc {
        margin-right: 13px; }
        .form .small.birth .form_acc.first {
          margin-left: 0; }
      .form .small.birth span.error {
        position: absolute;
        top: 0;
        left: 10em;
        display: none; }
        .form .small.birth span.error:first-of-type {
          display: block; }
        @media screen and (max-width: 768px) {
          .form .small.birth span.error {
            top: -1.5em;
            left: 0; } }
    .form .small.sex {
      padding: 15px 0; }
      @media screen and (max-width: 768px) {
        .form .small.sex {
          padding: 0; } }
      .form .small.sex input {
        width: auto;
        padding: 0;
        display: none; }
      .form .small.sex span.error {
        position: absolute;
        top: 0;
        left: 7em; }
  .form_name {
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    margin-bottom: 13px;
    flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      .form_name {
        margin-bottom: 17px;
        font-size: 1.7rem; } }
    .form_name .must {
      color: #fff;
      background-color: #248232;
      font-size: 1.2rem;
      padding: 3px 10px;
      border-radius: .5em;
      margin-left: 1em; }
  .form_line {
    display: flex; }
    @media screen and (max-width: 768px) {
      .form_line {
        display: block;
        margin-bottom: 44px; } }
  .form .form {
    box-sizing: border-box;
    margin-right: 24px; }
    .form .form:last-child {
      margin-right: 0; }
    .form .form#address span.error {
      position: absolute;
      top: 0;
      left: 8em; }
      @media screen and (max-width: 768px) {
        .form .form#address span.error {
          top: -1.5em;
          left: 0; } }
  .form .tel input {
    max-width: 76px; }
  .form .tel span.error {
    position: absolute;
    top: 0;
    left: 10em; }
  .form_acc {
    margin: 0 0.5em; }
    @media screen and (max-width: 768px) {
      .form_acc {
        font-size: 1.6rem;
        margin: 14px 0.5em;
        display: inline-block;
        line-height: 1em; } }
  .form_l {
    max-height: 160px;
    height: calc(); }
  .form_privacy {
    border: 1px solid #f4f2ec;
    border-radius: .5em;
    padding: 24px;
    overflow: scroll;
    line-height: calc(52 / 32);
    max-height: 180px;
    overflow-x: hidden; }
    @media screen and (max-width: 768px) {
      .form_privacy {
        padding: 20px 16px;
        border: 2px solid #f4f2ec; } }
    .form_privacy h2 {
      font-size: 1.8rem;
      margin-bottom: 1em; }
    .form_privacy p {
      margin-bottom: 1em; }
  .form .list-1 {
    padding-left: 1em;
    margin-bottom: 1em; }
    .form .list-1 li {
      margin-bottom: .3em; }
  .form .list-2, .form .list-3 {
    padding-left: 1em;
    margin: .5em 0; }
  .form_send {
    border-radius: .5em; }
    .form_send .back {
      padding: 0;
      -webkit-appearance: none;
      border: none;
      background-color: transparent;
      margin-bottom: 33px;
      font-size: 1.6rem;
      border-bottom: solid 1px #386150;
      color: #386150;
      padding-bottom: .2em; }
    .form_send_check {
      margin: 24px 0;
      background-color: #e3dccc;
      padding: 24px;
      border-radius: .5em; }
      @media screen and (max-width: 768px) {
        .form_send_check {
          padding: 20px 16px;
          margin: 24px 0 32px; } }
      @media screen and (max-width: 768px) {
        .form_send_check.confirm {
          margin: 32px 0 24px; } }
      .form_send_check #privacy_txt {
        display: none; }
      .form_send_check_txt {
        position: relative;
        padding-left: 30px; }
        @media screen and (max-width: 768px) {
          .form_send_check_txt {
            padding-left: 0;
            display: flex; } }
        .form_send_check_txt:before {
          content: "";
          width: 20px;
          height: 20px;
          background-color: #fff;
          border-radius: .25em;
          display: inline-block;
          position: absolute;
          left: 0;
          top: 0;
          bottom: 0;
          margin: auto; }
          @media screen and (max-width: 768px) {
            .form_send_check_txt:before {
              margin: 0;
              position: relative;
              margin-right: 8px;
              top: 3px; } }
        .form_send_check_txt span {
          border-bottom: 3px solid #386150;
          border-left: 3px solid #386150;
          content: "";
          display: block;
          height: 4px;
          width: 10px;
          left: 0;
          opacity: 0;
          position: absolute;
          transform: translateY(-50%) rotate(-45deg);
          margin: auto;
          top: 1px;
          bottom: 0;
          left: 3px; }
          @media screen and (max-width: 768px) {
            .form_send_check_txt span {
              top: 10px;
              bottom: auto; } }
          .form_send_check_txt span.open {
            opacity: 1; }
        .form_send_check_txt.sex:before {
          background-color: #e3dccc;
          border-radius: 20px; }
        .form_send_check_txt.sex span#check-circle {
          display: block;
          width: 10px;
          height: 10px;
          transform: inherit;
          border: none;
          background-color: #386150;
          border-radius: 10px;
          left: 5px; }
          @media screen and (max-width: 768px) {
            .form_send_check_txt.sex span#check-circle {
              top: 8PX; } }
    .form_send .btn_form {
      margin: 0 auto;
      width: calc(100vw / 2840 * 768);
      max-width: 384px;
      padding: 20px 0;
      margin-top: 60px; }
      @media screen and (max-width: 768px) {
        .form_send .btn_form {
          margin-top: 0;
          max-width: 280px;
          width: auto; } }
      .form_send .btn_form.confirm {
        margin-top: 14px; }
        @media screen and (max-width: 768px) {
          .form_send .btn_form.confirm {
            margin-top: 34px; } }
      .form_send .btn_form_txt {
        border: 0;
        width: 100%;
        color: #fff;
        display: block;
        margin: 0 auto;
        font-size: 1.6rem; }
  .form_confirm {
    display: flex;
    align-items: baseline;
    border-bottom: 1px solid #e3dccc;
    padding-bottom: 44px;
    margin-top: 44px;
    position: relative; }
    @media screen and (max-width: 768px) {
      .form_confirm {
        display: block; }
        .form_confirm:first-child {
          margin-top: 0; } }
    .form_confirm_name {
      width: calc(100vw / 3840 * 456);
      max-width: 228px; }
      @media screen and (max-width: 768px) {
        .form_confirm_name {
          margin-bottom: 28px;
          width: 100%; } }
    .form_confirm_cont {
      width: 70%; }
      @media screen and (max-width: 768px) {
        .form_confirm_cont {
          width: 100%; } }
    .form_confirm_back {
      color: #386150; }

.body.thanks {
  margin-bottom: 0;
  padding: 70px 0 120px;
  background-image: url("../images/contact/thanks_left.png"), url("../images/contact/thanks_right.png");
  background-position: left bottom -3px,right bottom -3px;
  background-size: 316px;
  background-repeat: no-repeat; }
  @media screen and (max-width: 768px) {
    .body.thanks {
      padding: 0;
      margin: 36px 20px 0;
      padding-bottom: 120px;
      background-size: 111px;
      width: auto; } }
  .body.thanks h1 {
    font-size: 2.8rem;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .body.thanks h1 {
        font-size: 2.4rem;
        text-align: left; } }
  .body.thanks .contact_txt {
    margin-top: 48px; }
    @media screen and (max-width: 768px) {
      .body.thanks .contact_txt {
        margin: 40px 0 60px; } }

.mw_wp_form_input .mwform-radio-field {
  display: none; }
.mw_wp_form_input .input-only {
  display: inline-block;
  opacity: 1;
  border: none;
  transform: none;
  width: auto;
  position: relative; }
.mw_wp_form_input .confirm-only {
  display: none; }

.mw_wp_form_confirm {
  background-color: #fff;
  padding: 80px 180px;
  margin-bottom: 120px;
  border-radius: 1em; }
  @media screen and (max-width: 768px) {
    .mw_wp_form_confirm {
      padding: 44px 16px; } }
  .mw_wp_form_confirm .confirm-only {
    display: inline-block;
    opacity: 1;
    border: none;
    transform: none;
    width: auto;
    position: relative; }
  .mw_wp_form_confirm .input-only {
    display: none; }
  .mw_wp_form_confirm .form {
    display: flex;
    align-items: baseline;
    border-bottom: 1px solid #e3dccc;
    padding-bottom: 44px;
    margin-top: 44px;
    position: relative; }
    @media screen and (max-width: 768px) {
      .mw_wp_form_confirm .form {
        display: block; }
        .mw_wp_form_confirm .form:first-child {
          margin-top: 0; } }
    .mw_wp_form_confirm .form_line {
      display: block; }
    .mw_wp_form_confirm .form_name {
      width: calc(100vw / 2840 * 456);
      max-width: 228px;
      font-size: inherit;
      margin-bottom: 0; }
      @media screen and (max-width: 768px) {
        .mw_wp_form_confirm .form_name {
          margin-bottom: 32px;
          width: 100%; } }
    .mw_wp_form_confirm .form .must {
      display: none; }
    .mw_wp_form_confirm .form_txt {
      display: none; }
    .mw_wp_form_confirm .form_input {
      width: 70%; }
      @media screen and (max-width: 768px) {
        .mw_wp_form_confirm .form_input {
          width: 100%; } }
    .mw_wp_form_confirm .form#privacy {
      display: none; }

.mw_wp_form_input .confirm {
  display: block; }
.mw_wp_form_input .mail span.error {
  position: absolute;
  top: 0;
  left: 14em; }
  @media screen and (max-width: 768px) {
    .mw_wp_form_input .mail span.error {
      top: 0em;
      left: 13em; } }

.mw_wp_form_confirm .confirm {
  display: none; }
.mw_wp_form_confirm .input {
  display: none; }
.mw_wp_form_confirm .form_send_check_txt.sex {
  display: none; }
.mw_wp_form_confirm .form_send_check p {
  font-size: 0; }
.mw_wp_form_confirm .form_send_check_txt {
  font-size: initial; }
.mw_wp_form_confirm .form .small.mail {
  font-size: 100%; }
@media screen and (max-width: 768px) {
  .mw_wp_form_confirm .form .small.address {
    margin-top: 10px; } }
.mw_wp_form_confirm .form .small.sex p {
  position: absolute; }

.mv.ranking {
  background-image: url("../images/ranking/ranking_mv.jpg"); }
  @media screen and (max-width: 768px) {
    .mv.ranking {
      background-image: url("../images/ranking/sp/ranking_mv.jpg"); } }

.ranking.body {
  margin-top: 103px; }
  @media screen and (max-width: 768px) {
    .ranking.body {
      margin-top: 58px; } }

@media screen and (max-width: 768px) {
  .products.ranking .fourth {
    margin-bottom: 68px; } }
.products .first, .products .second, .products .third {
  display: flex;
  margin-bottom: 120px; }
.products .fourth {
  margin-bottom: 100px;
  flex-flow: row-reverse; }
  .products .fourth .products_box {
    padding-left: 77px;
    padding-right: 0;
    margin-right: 80px;
    margin-left: 0; }
    @media screen and (max-width: 768px) {
      .products .fourth .products_box {
        width: 100%;
        padding: 0;
        margin: 0;
        display: block; } }
  .products .fourth .bread_cloud {
    width: 193px;
    top: -32px;
    right: 0; }

.bread_line {
  display: flex;
  flex-wrap: nowrap;
  border-bottom: 2px solid #e3dccc;
  padding: 20px 0; }
  @media screen and (max-width: 768px) {
    .bread_line {
      display: block;
      border: none;
      padding: 0; } }
  .bread_line:last-child {
    border-bottom: none; }
  .bread_line_box {
    width: 50%;
    box-sizing: border-box;
    padding: 20px 0 16px;
    position: relative;
    display: flex; }
    @media screen and (max-width: 768px) {
      .bread_line_box {
        width: 100%;
        padding: 44px 15px;
        border: none;
        border-bottom: 2px solid #e3dccc;
        display: block; } }
    .bread_line_box:first-child {
      margin-right: 28px;
      padding-right: 28px;
      border-right: 2px solid #e3dccc; }
      @media screen and (max-width: 768px) {
        .bread_line_box:first-child {
          margin: 0;
          border: none;
          padding: 44px 15px;
          border-bottom: 2px solid #e3dccc; } }
    @media screen and (max-width: 768px) {
      .bread_line_box.fifth {
        border-top: 2px solid #e3dccc; } }
  .bread_line_img {
    max-width: 282px;
    width: calc(100vw / 3840 * 584 );
    display: inline-block; }
    @media screen and (max-width: 768px) {
      .bread_line_img {
        width: 100%;
        max-width: inherit; } }
  .bread_line_prize {
    position: absolute;
    top: 20px;
    left: 0;
    background-color: #faf8f5;
    border-bottom-right-radius: 1em;
    padding: 7px 0 0 7px;
    max-width: 72px;
    width: calc(100vw / 3840 * 144); }
    @media screen and (max-width: 768px) {
      .bread_line_prize {
        top: 44px;
        left: 15px;
        border-radius: 0em;
        padding: 0;
        width: 77px;
        border-bottom-right-radius: 1em; } }
    .bread_line_prize img {
      max-width: 64px;
      width: calc(100vw / 3840 * 128); }
      @media screen and (max-width: 768px) {
        .bread_line_prize img {
          width: inherit; } }
  .bread_line_txtbox {
    width: 50%;
    box-sizing: border-box;
    margin-left: 24px;
    max-width: 270px;
    padding-top: 12px; }
    @media screen and (max-width: 768px) {
      .bread_line_txtbox {
        margin: 0;
        padding: 0;
        width: 100%;
        max-width: inherit; } }
  .bread_line_ttl {
    font-size: 1.8rem;
    margin-bottom: 24px;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      .bread_line_ttl {
        margin: 16px 0;
        font-size: 1.7rem; } }
  .bread_line_txt {
    font-size: 1.5rem;
    line-height: calc(52 / 32); }
    @media screen and (max-width: 768px) {
      .bread_line_txt {
        font-weight: 500; } }

/* Scss Document */
body .mv.news {
  background-image: url("../images/news/news_mv.jpg");
  margin-top: 0; }
  @media screen and (max-width: 768px) {
    body .mv.news {
      background-image: url("../images/news/sp/news_mv.jpg"); } }
body .news {
  margin-top: 68px;
  text-align: center; }
  @media screen and (max-width: 768px) {
    body .news {
      margin-top: 36PX; } }
  body .news .breads_ttl {
    display: inline-block;
    font-size: 3.6rem;
    margin-right: 232px;
    font-family: 'Sriracha', cursive; }
    @media screen and (max-width: 768px) {
      body .news .breads_ttl {
        display: block;
        font-size: 2rem;
        margin: 0;
        position: relative;
        width: 100%;
        left: 0; } }
  body .news .breads_menu {
    display: inline-block; }
    @media screen and (max-width: 768px) {
      body .news .breads_menu {
        padding: 0;
        margin: 0; } }
    body .news .breads_menu_cat {
      display: inline-block;
      width: 140px;
      text-align: center;
      padding-bottom: 32px;
      margin-top: 0;
      /*&.selected{
        border-bottom: 4px solid $green;
      }*/ }
      @media screen and (max-width: 768px) {
        body .news .breads_menu_cat {
          width: calc(100% / 3);
          padding: 25px 0; } }
body .news_box {
  padding-top: 52px;
  border-top: 2px solid #e3dccc;
  margin-top: -2px; }
  @media screen and (max-width: 768px) {
    body .news_box {
      padding-top: 32px; } }
  body .news_box a:first-child {
    margin-top: -24px; }
  body .news_box_list {
    display: flex;
    padding-bottom: 20px;
    margin-top: 20px;
    border-bottom: 2px solid #e3dccc;
    position: relative;
    align-items: center;
    line-height: initial;
    transition: all .3s;
    color: #581908; }
    body .news_box_list:hover {
      opacity: .7; }
    @media screen and (max-width: 768px) {
      body .news_box_list {
        flex-wrap: wrap;
        margin-top: 24px;
        padding-bottom: 24px; } }
    @media screen and (max-width: 768px) {
      body .news_box_list_ttl {
        width: 100%;
        background-image: url("../images/detail/arrow.png");
        background-repeat: no-repeat;
        background-size: 8px;
        background-position: right center;
        text-align: left; } }
    @media screen and (max-width: 768px) {
      body .news_box_list_date {
        order: 3;
        display: block; } }
    body .news_box_list_box {
      display: flex;
      align-items: center; }
      @media screen and (max-width: 768px) {
        body .news_box_list_box {
          flex-wrap: wrap;
          margin-bottom: 13px; } }
    body .news_box_list_cat {
      margin: 0 24px;
      color: #fff;
      background-color: #386150;
      padding: 13px 0;
      text-align: center;
      max-width: 102px;
      width: calc(100vw / 3840 * 204);
      border-radius: 2em;
      font-size: 1.4rem; }
      @media screen and (max-width: 768px) {
        body .news_box_list_cat {
          order: 1;
          margin: 0;
          display: block;
          width: 84px;
          padding: 9px 0;
          margin-right: calc(100% - 84px);
          margin-bottom: 16px; } }
    body .news_box_list .sale_box_line_date_yellow {
      background-color: #eee82c;
      text-align: center;
      max-width: 182px;
      width: calc(100vw / 3840 * 364);
      font-weight: bold;
      padding: 12px 0;
      margin-right: 22px;
      border-radius: 0.5em;
      display: inline-block; }
      @media screen and (max-width: 768px) {
        body .news_box_list .sale_box_line_date_yellow {
          order: 2;
          padding: 10px 0;
          margin-right: 16px;
          width: 200px; } }
body .pagenation {
  display: table;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    body .pagenation {
      display: block;
      margin-top: 32px; } }
  body .pagenation_line {
    margin-top: 60px;
    display: flex; }
    @media screen and (max-width: 768px) {
      body .pagenation_line {
        margin: 0;
        justify-content: center; } }
    body .pagenation_line_sp {
      display: none; }
      @media screen and (max-width: 768px) {
        body .pagenation_line_sp {
          display: block;
          background-color: #FFF;
          margin: 0 -20px;
          margin-top: 16px;
          padding: 16px 20px;
          display: flex;
          justify-content: space-between; }
          body .pagenation_line_sp li {
            display: flex;
            align-items: center;
            color: #581908; }
            body .pagenation_line_sp li span {
              margin: 0 12px; } }
      body .pagenation_line_sp_circle {
        background-color: #e3dccc;
        text-align: center;
        padding: 0.5em 0;
        box-sizing: border-box;
        margin: 0;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        line-height: normal; }
        @media screen and (max-width: 768px) {
          body .pagenation_line_sp_circle {
            line-height: 3.2rem; } }
    body .pagenation_line_circle {
      background-color: #e3dccc;
      width: 4rem;
      height: 4rem;
      border-radius: 2rem;
      text-align: center;
      padding: 0.5em 0;
      box-sizing: border-box;
      margin: 0 16px;
      color: #581908; }
      body .pagenation_line_circle a {
        color: #581908; }
      body .pagenation_line_circle:hover {
        background-color: #386150;
        color: #fff; }
        body .pagenation_line_circle:hover a {
          color: #fff; }
      @media screen and (max-width: 768px) {
        body .pagenation_line_circle {
          margin: 0 8px;
          width: 48px;
          height: 48px;
          border-radius: 50%;
          line-height: 3.2rem; }
          body .pagenation_line_circle.number:first-of-type {
            display: none; }
          body .pagenation_line_circle.number:last-of-type {
            display: none; } }
      body .pagenation_line_circle:first-child {
        margin-left: 0; }
      body .pagenation_line_circle:last-child {
        margin-right: 0; }
      @media screen and (max-width: 768px) {
        body .pagenation_line_circle:nth-child(8) {
          margin-right: 0; } }
      @media screen and (max-width: 768px) {
        body .pagenation_line_circle.arrow {
          display: none; } }
      body .pagenation_line_circle.selected {
        background-color: #386150;
        color: #fff; }
      body .pagenation_line_circle.middle {
        background-color: transparent; }
        @media screen and (max-width: 768px) {
          body .pagenation_line_circle.middle {
            margin: 0 7px;
            width: 1em; } }

/* Scss Document */
body .detail {
  margin-top: 100px;
  background-color: #fff;
  padding: 80px 180px;
  margin-bottom: 60px;
  border-radius: 1em; }
  @media screen and (max-width: 768px) {
    body .detail {
      margin: 32px 20px;
      padding: 44px 15px;
      max-width: fit-content; }
      body .detail.salebox {
        margin-top: 52px; } }
  body .detail_yellow {
    background-color: #eee82c;
    font-size: 2.4rem;
    padding: 18px 28px;
    max-width: 284px;
    position: absolute;
    margin: auto;
    right: 0;
    left: 0;
    top: -32px;
    text-align: center;
    border-radius: .5em;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      body .detail_yellow {
        font-size: 1.6rem;
        padding: 10px 0;
        max-width: 200px;
        top: -16px; } }
  body .detail_ttl {
    text-align: center;
    font-size: 2.4rem;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      body .detail_ttl {
        text-align: left;
        font-size: 2REM; } }
    body .detail_ttl_date {
      font-size: 1.6rem;
      display: block;
      margin-bottom: 24px; }
    body .detail_ttl:after {
      content: "";
      background-color: #386150;
      display: block;
      height: 2px;
      width: 24px;
      margin: 32px auto 48px; }
      @media screen and (max-width: 768px) {
        body .detail_ttl:after {
          margin: 28px 0 36px;
          margin-left: 0; } }
  body .detail p {
    margin-bottom: 44px; }
    @media screen and (max-width: 768px) {
      body .detail p {
        margin-bottom: 40px; } }
  body .detail strong {
    font-weight: bold;
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      body .detail strong {
        background: linear-gradient(rgba(255, 255, 255, 0) 70%, #eee82c 30%); } }
    body .detail strong:before {
      content: "";
      display: inline-block;
      position: absolute;
      width: calc(100% - 0.5em);
      background-color: #eee82c;
      height: 0.5em;
      z-index: -1;
      bottom: 0; }
  body .detail a {
    color: #386150;
    border-bottom: solid #386150 1px;
    padding-bottom: 0.3em; }
  body .detail_nav {
    padding: 0 180px; }
    @media screen and (max-width: 768px) {
      body .detail_nav {
        padding: 0 20PX; } }
    body .detail_nav_line {
      display: flex;
      flex-wrap: nowrap;
      align-items: baseline; }
      @media screen and (max-width: 768px) {
        body .detail_nav_line {
          flex-wrap: wrap; } }
    body .detail_nav_list {
      color: #fff;
      background-color: #386150;
      padding: 22px 0;
      text-align: center;
      width: 204px;
      border-radius: 25em;
      transition: all .3s; }
      body .detail_nav_list:hover {
        opacity: .7; }
      body .detail_nav_list a {
        color: #fff; }
      body .detail_nav_list.back {
        background-image: url("../images/detail/arrow_back.png");
        background-size: 7px;
        background-repeat: no-repeat;
        background-position: 24px center; }
        @media screen and (max-width: 768px) {
          body .detail_nav_list.back {
            width: calc(50% - 16px);
            max-width: 160px;
            order: 2;
            padding: 20px 0;
            margin-right: 16PX; } }
      body .detail_nav_list.next {
        background-image: url("../images/detail/arrow_next.png");
        background-size: 7px;
        background-repeat: no-repeat;
        background-position: right 24px center; }
        @media screen and (max-width: 768px) {
          body .detail_nav_list.next {
            width: calc(50% - 16px);
            max-width: 160px;
            order: 3;
            padding: 20px 0;
            margin-left: 16px; } }
    body .detail_nav_all {
      background-color: #e3dccc;
      padding: 20px 0;
      width: 384px;
      border-radius: 25em;
      margin: 0 24px;
      text-align: center;
      transition: all .3s;
      color: #581908; }
      body .detail_nav_all:hover {
        opacity: .7; }
      @media screen and (max-width: 768px) {
        body .detail_nav_all {
          order: 1;
          width: 100%;
          margin: 0;
          margin-bottom: 16px; } }

/* Scss Document */
body div.mv.shop {
  background-image: url("../images/shop/shop_mv.jpg");
  margin: 0;
  padding: 96px 0;
  border-radius: 0; }
  @media screen and (max-width: 768px) {
    body div.mv.shop {
      background-image: url("../images/shop/sp/shop_mv.jpg");
      margin: 0;
      padding: 33px 0; } }
body .shop {
  background-color: #fff;
  margin-bottom: 60px;
  padding: 52px 78px 44px;
  border-radius: 1em; }
  @media screen and (max-width: 768px) {
    body .shop {
      margin: 0 20px;
      box-sizing: border-box;
      margin-bottom: 32px;
      padding: 28px 16px;
      overflow: hidden;
      width: auto; }
      body .shop:last-of-type {
        margin-bottom: 120px; } }
  body .shop_ttl {
    font-size: 3rem;
    background-image: url("../images/shop/mesaverte.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100px;
    text-align: center;
    line-height: 1em;
    padding-top: 43px;
    margin-bottom: 32px;
    font-weight: normal; }
    @media screen and (max-width: 768px) {
      body .shop_ttl {
        font-size: 2.4rem;
        background-size: 3.5em;
        padding-top: 30px; } }
    body .shop_ttl:before {
      content: "ー";
      width: 1em;
      display: inline-block;
      margin-right: 0.5em; }
    body .shop_ttl:after {
      content: "ー";
      width: 1em;
      display: inline-block;
      margin-left: 0.5em; }
  body .shop_menu.body {
    margin-top: 63px;
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      body .shop_menu.body {
        margin-top: 36px; } }
    body .shop_menu.body:last-child {
      margin-bottom: 120px; }
  body .shop_menu_ttl {
    font-size: 3.6rem;
    font-family: 'Sriracha', cursive; }
    @media screen and (max-width: 768px) {
      body .shop_menu_ttl {
        font-size: 2rem; } }
  body .shop_menu_list {
    background-color: #e3dccc;
    border-radius: 1em;
    padding: 32px 62px;
    margin: 32px 0 52px;
    display: flex; }
    @media screen and (max-width: 768px) {
      body .shop_menu_list {
        flex-wrap: wrap;
        margin: 8px 0 32px;
        padding: 16px; } }
    body .shop_menu_list a {
      display: contents; }
      @media all and (-ms-high-contrast: none) {
        body .shop_menu_list a {
          width: calc(100vw / 2840 * 280);
          margin-right: 16px; } }
      @supports (-ms-ime-align: auto) {
        body .shop_menu_list a {
          width: calc(100vw / 2840 * 280);
          margin-right: 16px; } }
    body .shop_menu_list_btn {
      max-width: 140px;
      margin-right: 16px;
      padding: 17px 0;
      line-height: 1em; }
      @media screen and (max-width: 768px) {
        body .shop_menu_list_btn {
          width: calc(100% / 3 - 12px);
          margin-right: 12px;
          margin-bottom: 12px;
          font-size: 1.3rem; }
          body .shop_menu_list_btn:nth-of-type(3) {
            margin-right: 0; }
          body .shop_menu_list_btn:nth-of-type(n + 4) {
            margin-bottom: 0; } }
      body .shop_menu_list_btn p {
        margin: 0 auto; }
  @media screen and (max-width: 768px) {
    body .shop_slider {
      margin: 0 -20PX;
      width: calc(100% + 40px); } }
  body .shop_slider_img {
    display: none;
    margin-bottom: 16px; }
    @media screen and (max-width: 768px) {
      body .shop_slider_img {
        margin-bottom: 12px; } }
    body .shop_slider_img:first-child {
      display: block; }
  body .shop_info {
    margin: 40px auto 80px;
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      body .shop_info {
        margin: 40px 0;
        display: block; } }
    body .shop_info_box {
      display: flex;
      width: calc(50% - 12px);
      box-sizing: border-box;
      border-bottom: 1px solid #e3dccc;
      padding: 20px 0;
      margin-right: 12px;
      position: relative;
      margin-bottom: 28PX; }
      @media screen and (max-width: 768px) {
        body .shop_info_box {
          width: 100%;
          display: block;
          padding: 0 0 28px; } }
      body .shop_info_box:nth-child(2n) {
        margin-right: 0;
        margin-left: 12px; }
        @media screen and (max-width: 768px) {
          body .shop_info_box:nth-child(2n) {
            margin-left: 0; } }
      body .shop_info_box_txt {
        position: absolute;
        left: 4em;
        margin-left: 24px; }
        @media screen and (max-width: 768px) {
          body .shop_info_box_txt {
            position: relative;
            margin: 0;
            left: auto;
            margin-top: 24px; } }
        body .shop_info_box_txt a {
          color: #581908; }
  body .shop_map {
    background-image: url("../images/shop/bg.jpg");
    display: flex;
    border-radius: 2em;
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      body .shop_map {
        display: block;
        border-radius: 1em; } }
    body .shop_map_google {
      max-width: 714px;
      height: 316px;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        body .shop_map_google {
          width: 100%;
          height: 200PX;
          overflow: hidden; } }
    body .shop_map_box {
      margin: 24px;
      padding: 32px;
      border-radius: 2em;
      background-color: #fff; }
      @media screen and (max-width: 768px) {
        body .shop_map_box {
          margin: 16px;
          padding: 28px 16px;
          border-radius: 1em; } }
    body .shop_map_access {
      font-size: 2rem;
      margin-bottom: 32px; }
      @media screen and (max-width: 768px) {
        body .shop_map_access {
          font-size: 1.8rem;
          margin-bottom: 28px; } }
      body .shop_map_access_txt {
        padding-bottom: 20px;
        border-bottom: 1px solid #e3dccc;
        margin-top: 20px; }
        body .shop_map_access_txt:first-of-type {
          margin-top: 0; }
    body .shop_map_txt {
      text-align: right;
      color: #386150;
      margin-top: 20px; }
      @media screen and (max-width: 768px) {
        body .shop_map_txt {
          text-align: center; } }
      body .shop_map_txt:before {
        content: "";
        background-image: url(../images/top/map.png);
        display: inline-block;
        width: 15px;
        margin-right: 10px;
        height: 20px;
        background-size: contain;
        background-repeat: no-repeat; }
  @media screen and (max-width: 768px) {
    body .shop .slick-dotted.slick-slider {
      margin: 0 -20px; }
    body .shop .slick-prev, body .shop .slick-next {
      background-color: #386150;
      z-index: 1;
      width: 32px;
      height: 32px; }
      body .shop .slick-prev:before, body .shop .slick-next:before {
        font-size: 1.6rem;
        font-family: Noto Sans CJK JP, sans-serif;
        font-weight: bold; }
    body .shop .slick-prev {
      left: 0;
      margin-left: 4px; }
    body .shop .slick-next {
      right: 0;
      margin-right: 4px; } }

.mv.recruit {
  background-image: url("../images/recruit/recruit_mv.jpg"); }
  @media screen and (max-width: 768px) {
    .mv.recruit {
      background-image: url("../images/recruit/sp/recruit_mv.jpg"); } }

.recruit {
  margin-top: 68px;
  background-image: url(../images/recruit/bg.jpg), url(../images/recruit/bg.jpg), url(../images/recruit/bg.jpg);
  background-repeat: repeat-x,repeat-x,repeat-x;
  background-position: center bottom,center bottom 75px,center bottom 150px; }
  @media screen and (max-width: 768px) {
    .recruit {
      background-image: NONE;
      margin-top: 36px; } }
  .recruit_head {
    display: flex;
    padding-bottom: 32px; }
    @media screen and (max-width: 768px) {
      .recruit_head {
        display: block; } }
    .recruit_head.body {
      margin-bottom: 127px; }
      @media screen and (max-width: 768px) {
        .recruit_head.body {
          margin-bottom: 68px; } }
    .recruit_head_left {
      margin-right: 102px;
      width: calc(100vw / 2840 * 1176);
      max-width: 588px; }
      @media screen and (max-width: 768px) {
        .recruit_head_left {
          margin: 0;
          width: 100%;
          max-width: inherit;
          margin-top: 28px; } }
    .recruit_head_right {
      width: 510px; }
      @media screen and (max-width: 768px) {
        .recruit_head_right {
          display: none; } }
    .recruit_head_ttl {
      font-size: 3.2rem;
      margin-bottom: 40px;
      font-family: tbchibirgothicplusk-pro, sans-serif; }
      @media screen and (max-width: 768px) {
        .recruit_head_ttl {
          font-size: 2.3REM; } }
    .recruit_head_txt {
      margin-bottom: 64px; }
      @media screen and (max-width: 768px) {
        .recruit_head_txt {
          margin-bottom: 32px; } }
    .recruit_head_img {
      max-width: 180px;
      width: calc(100% / 3); }
      @media screen and (max-width: 768px) {
        .recruit_head_img {
          width: 100%;
          max-width: inherit;
          display: flex;
          align-items: center; } }
      .recruit_head_img:nth-child(2) {
        margin: 0 24px; }
        @media screen and (max-width: 768px) {
          .recruit_head_img:nth-child(2) {
            margin: 4PX 0; } }
      .recruit_head_img_box {
        display: flex; }
        @media screen and (max-width: 768px) {
          .recruit_head_img_box {
            display: block;
            margin: 0 -20px;
            padding: 32px 20px;
            background-image: url(../images/recruit/bg.jpg);
            background-repeat: repeat; } }
      .recruit_head_img_txt {
        text-align: center;
        margin-top: 13px; }
      @media screen and (max-width: 768px) {
        .recruit_head_img img {
          width: calc(100vw / 750 * 280);
          max-width: 140px;
          margin-right: 20px; } }
  .recruit_ttl {
    font-size: 5rem;
    margin-bottom: 20px;
    font-family: 'Sriracha', cursive; }
    @media screen and (max-width: 768px) {
      .recruit_ttl {
        line-height: 1em;
        font-size: 3.6rem;
        margin-bottom: 15px; } }
    .recruit_ttl_small {
      font-size: 2rem; }
      @media screen and (max-width: 768px) {
        .recruit_ttl_small {
          font-size: 1.7rem; } }
  .recruit_voice {
    text-align: center; }
    @media screen and (max-width: 768px) {
      .recruit_voice.body {
        margin-bottom: 68px; } }

.voice_box {
  text-align: left;
  margin: 64px 0 60px;
  display: flex;
  position: relative;
  line-height: 1em; }
  @media screen and (max-width: 768px) {
    .voice_box {
      margin: 60px 0 48px;
      display: block; } }
  .voice_box_right {
    max-width: 690px;
    width: calc(100vw / 2840 * 1380);
    padding: 16px 0 24px; }
    @media screen and (max-width: 768px) {
      .voice_box_right {
        padding: 0;
        width: 100%; } }
  .voice_box_txt {
    padding: 24px;
    background-color: #fff;
    border-radius: .5em;
    position: absolute;
    width: 100%;
    right: 0;
    box-sizing: border-box;
    z-index: -1;
    padding-left: 486px;
    bottom: 0; }
    @media all and (-ms-high-contrast: none) {
      .voice_box_txt {
        bottom: -16px; } }
    @media screen and (max-width: 768px) {
      .voice_box_txt {
        position: relative;
        padding: 28px 16px;
        bottom: auto; } }
    .voice_box_txt span {
      height: 4.5em;
      overflow: hidden;
      display: block;
      line-height: calc(52 / 32); }
      @media all and (-ms-high-contrast: none) {
        .voice_box_txt span {
          overflow: visible; } }
      @media screen and (max-width: 768px) {
        .voice_box_txt span {
          height: auto;
          overflow: inherit; } }
  .voice_box_ttl {
    font-size: 3rem;
    line-height: calc( 88 / 60 );
    margin-top: 12px; }
    @media all and (-ms-high-contrast: none) {
      .voice_box_ttl {
        line-height: 1.46; } }
    @media screen and (max-width: 768px) {
      .voice_box_ttl {
        font-size: 2.4rem;
        margin: 20px 0 24px; } }
    .voice_box_ttl_small {
      background-image: url("../images/recruit/line.png");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: bottom;
      padding-bottom: 20px;
      font-size: 2rem;
      display: block;
      width: fit-content; }
      @media all and (-ms-high-contrast: none) {
        .voice_box_ttl_small {
          display: inline-block; } }
      @media screen and (max-width: 768px) {
        .voice_box_ttl_small {
          font-size: 1.5rem;
          padding-bottom: 14px; } }
.voice_img {
  max-width: 408px;
  width: calc(100vw / 2840 * 816);
  padding-left: 24px;
  margin-right: 54px; }
  @media screen and (max-width: 768px) {
    .voice_img {
      width: 100%;
      margin: 0;
      margin-bottom: 24px;
      padding: 0; } }

.job.body {
  margin-bottom: 67px; }
.job_ttl {
  font-size: 3.6rem;
  border-bottom: 2px solid #e3dccc;
  padding-bottom: 30px;
  line-height: 1em;
  font-family: 'Sriracha', cursive; }
  @media screen and (max-width: 768px) {
    .job_ttl {
      font-size: 2rem;
      padding-bottom: 8px; } }
.job_menu {
  display: flex;
  position: absolute;
  top: 16px;
  margin: 0 auto;
  right: 0;
  left: 0;
  justify-content: center;
  margin-top: 2px; }
  @media screen and (max-width: 768px) {
    .job_menu {
      position: relative;
      padding: 0;
      align-items: center;
      top: auto; } }
  .job_menu_list {
    padding: 0 48px 22px; }
    @media screen and (max-width: 768px) {
      .job_menu_list {
        width: 50%;
        padding: 0;
        text-align: center; }
        .job_menu_list:first-child {
          padding: 25px 0; }
        .job_menu_list:last-child {
          padding: 16px 0;
          line-height: calc(36 / 28); } }
    .job_menu_list.selected {
      border-bottom: 4px solid #386150; }
.job_box {
  padding-top: 52px;
  display: none; }
  .job_box.selected {
    display: block; }
  @media screen and (max-width: 768px) {
    .job_box {
      border-top: 2px solid #e3dccc;
      padding-top: 32px;
      margin-top: -2px; } }
  .job_box_ttl {
    background-color: #581908;
    color: #fff;
    font-size: 2.4rem;
    padding: 12px 0;
    display: flex;
    position: relative;
    border-radius: .25em;
    line-height: 1em; }
    @media screen and (max-width: 768px) {
      .job_box_ttl {
        font-size: 2rem;
        align-items: center; } }
    .job_box_ttl:before {
      content: "";
      width: 4px;
      height: 28px;
      background-color: #eee82c;
      display: inline-block;
      margin: 0 16px; }
      @media screen and (max-width: 768px) {
        .job_box_ttl:before {
          height: 26px; } }
  .job_box_list {
    padding-bottom: 44px;
    margin-top: 44px;
    border-bottom: solid 2px #e3dccc;
    position: relative;
    display: flex; }
    @media screen and (max-width: 768px) {
      .job_box_list {
        display: block; } }
    .job_box_list_name {
      width: 180px;
      margin-right: 24px; }
      @media screen and (max-width: 768px) {
        .job_box_list_name {
          width: 100%;
          margin: 0;
          margin-bottom: 32px; } }
    .job_box_list_txt {
      width: calc(100% - 204px); }
      @media screen and (max-width: 768px) {
        .job_box_list_txt {
          width: 100%; } }
      .job_box_list_txt p {
        margin-bottom: 1em; }
.job_shop {
  background-color: #eee82c;
  padding: 40px 0;
  border-radius: 1em;
  text-align: center;
  width: calc(100vw / 3840 * 1680);
  max-width: 840px;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 768px) {
    .job_shop {
      padding: 32px 28px;
      width: 100%;
      box-sizing: border-box; } }
  .job_shop:before {
    content: "↓";
    width: 1em;
    display: inline-block;
    position: absolute;
    top: -24px;
    font-size: 3rem;
    right: 0;
    left: 0;
    margin: auto;
    color: #386150; }
    @media screen and (max-width: 768px) {
      .job_shop:before {
        top: -12px;
        font-size: 2rem;
        line-height: 1em;
        font-weight: bold; } }
  .job_shop_txt {
    font-size: 2.8rem; }
    @media screen and (max-width: 768px) {
      .job_shop_txt {
        font-size: 2.2rem; } }
.job_txt {
  font-size: 2.4rem;
  text-align: center;
  margin: 60px auto 36px; }
  @media screen and (max-width: 768px) {
    .job_txt {
      font-size: 2rem;
      margin: 44px 0 28px; } }

.recruit_btn {
  margin: 0 auto;
  margin-top: 24px;
  color: #fff;
  text-align: center;
  padding: 20px 0;
  max-width: 384px; }
  @media screen and (max-width: 768px) {
    .recruit_btn {
      margin-top: 20px;
      max-width: 280px; } }
  .recruit_btn a {
    color: #fff;
    margin: 0 auto; }

.bottom_right.concept {
  background-image: url("../images/recruit/bottom_concept.jpg"); }
  @media screen and (max-width: 768px) {
    .bottom_right.concept {
      background-image: url("../images/recruit/sp/bottom_concept.jpg"); } }
