@charset "UTF-8";
/*//////////////////////////////

Sassインポート

//////////////////////////////*/
/* 変数ファイルインポート */
/* モジュール */
/* ブレイクポイント 設定 */
/* モーション */
/* シャドウ */
/* フォントサイズ */
/* フォントファミリー */
@font-face {
  font-family: 'EnFont';
  src: url("../font/din1451alt.ttf"); }
@font-face {
  font-family: 'EnFontB';
  src: url("../font/D-DIN-Bold.ttf"); }
/*////////////////////////////////////////

  モジュール
 
////////////////////////////////////////*/
/* 余白 */
/*//////////////////////////////

共通スタイル

//////////////////////////////*/
html {
  font-size: 62.5%; }
  @media only screen and (max-width: 768px) {
    html {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: clamp(6.25px, 2.5vw, 10px); } }

body {
  font-family: YakuHanJP, Yu Gothic Pr6N M , sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #514549;
  overflow-x: hidden;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  background-color: #ffffff; }

.header_bg {
  background-image: url("../img/common/main_bg.jpg");
  background-size: cover;
  background-position: top center;
  overflow: hidden; }

section {
  position: relative; }

h1, h2, h3, h4, h5, h6 {
  font-family: YakuHanJP, Yu Gothic Pr6N B , sans-serif; }

a {
  color: #53474b;
  text-decoration: none;
  transition: all 0.3s ease; }
  a:link {
    color: #53474b;
    opacity: 1; }
  a:visited {
    color: #53474b; }
  a:hover {
    color: #53474b;
    opacity: 0.8; }
  a:active {
    color: #53474b; }

::placeholder {
  color: #aaa; }

.link_area {
  opacity: 1;
  transition: all 0.3s ease; }
  .link_area:link {
    opacity: 1; }
  .link_area:visited {
    opacity: 1; }
  .link_area:hover {
    opacity: 0.8; }
  .link_area:active {
    opacity: 0.8; }
  .link_area a {
    opacity: 1; }

.center {
  text-align: center !important; }

.justify {
  text-align: justify !important; }

.left {
  text-align: left !important; }

.right {
  text-align: right !important; }

@media only screen and (max-width: 1080px) {
  .br_pc {
    /*　画面サイズ $tbWitdh まではここを読み込む　*/
    display: none; } }
@media only screen and (max-width: 768px) {
  .br_pc {
    /*　画面サイズ $spWidth まではここを読み込む　*/
    display: none; } }

@media only screen and (max-width: 768px) {
  .br_pc_tb {
    /*　画面サイズ $spWidth まではここを読み込む　*/
    display: none; } }

@media print, screen and (min-width: 1081px) {
  .br_tb {
    /*　画面サイズ $pcWidth からはここを読み込む　*/
    display: none; } }

.br_sp {
  display: none; }
  @media only screen and (max-width: 768px) {
    .br_sp {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      display: initial; } }

@media only screen and (max-width: 1080px) {
  .pc_disp {
    /*　画面サイズ $tbWitdh まではここを読み込む　*/
    display: none; } }
@media only screen and (max-width: 768px) {
  .pc_disp {
    /*　画面サイズ $spWidth まではここを読み込む　*/
    display: none; } }

@media print, screen and (min-width: 1081px) {
  .tb_disp {
    /*　画面サイズ $pcWidth からはここを読み込む　*/
    display: none; } }

.sp_disp {
  display: none; }
  @media only screen and (max-width: 768px) {
    .sp_disp {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      display: unset; } }

#loading {
  height: 100vh;
  width: 100vw;
  top: 0;
  left: 0;
  background-color: #ffffff;
  z-index: 9999999;
  position: fixed; }

.onload {
  animation-name: loading;
  animation-duration: 1.5s;
  animation-delay: 1s;
  animation-timing-function: ease;
  animation-iteration-count: 1;
  animation-fill-mode: forwards; }

@keyframes loading {
  0% {
    opacity: 1;
    z-index: 9999999; }
  99% {
    opacity: 0;
    display: none;
    z-index: -1; }
  100% {
    opacity: 0;
    display: none;
    z-index: -1; } }
.loader {
  position: absolute;
  top: calc(50% - 35px);
  left: calc(50% - 35px);
  width: 70px;
  height: 70px; }

.loader div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  box-sizing: border-box;
  opacity: .8; }

.one {
  border-top: 1px solid #8FB259;
  animation: rotate-left 1s linear infinite; }

.two {
  border-right: 1px solid #CCCC52;
  animation: rotate-right 1s linear infinite; }

.three {
  border-bottom: 1px solid #FFD933;
  animation: rotate-right 1s linear infinite; }

.four {
  border-left: 1px solid #FF7F00;
  animation: rotate-right 1s linear infinite; }

@keyframes rotate-left {
  0% {
    transform: rotate(360deg); }
  100% {
    transform: rotate(0deg); } }
@keyframes rotate-right {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
/* 変数ファイルインポート */
/* モジュール */
/* ブレイクポイント 設定 */
/* モーション */
/* シャドウ */
/* フォントサイズ */
/* フォントファミリー */
@font-face {
  font-family: 'EnFont';
  src: url("../font/din1451alt.ttf"); }
@font-face {
  font-family: 'EnFontB';
  src: url("../font/D-DIN-Bold.ttf"); }
/*////////////////////////////////////////

  モジュール
 
////////////////////////////////////////*/
/* 余白 */
/*//////////////////////////////

グリッドシステム

//////////////////////////////*/
/* プリントクエリ */
@media print {
  body {
    zoom: 50%;
    width: 100% !important; }

  #pagetop {
    display: none !important; } }
/* 共通 */
.container,
.container-fluid {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
  padding-left: 50px;
  padding-right: 50px;
  padding-top: 80px;
  padding-bottom: 80px; }

.container {
  max-width: 1300px; }

.container-fluid {
  max-width: 1620px; }

.container.inner-width {
  max-width: 1080px; }

.inner-width {
  max-width: 980px; }

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: auto;
  margin: -25px;
  margin-bottom: -50px; }

.row + .row {
  margin-top: 100px; }

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
  position: relative;
  box-sizing: border-box;
  padding: 25px;
  padding-bottom: 50px; }

.col-1 {
  -ms-flex: 0 0 8.333333%;
  flex: 0 0 8.333333%;
  max-width: 8.333333%; }

.col-2 {
  -ms-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
  max-width: 16.666667%; }

.col-3 {
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%; }

.col-4 {
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%; }

.col-5 {
  -ms-flex: 0 0 41.666667%;
  flex: 0 0 41.666667%;
  max-width: 41.666667%; }

.col-6 {
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%; }

.col-7 {
  -ms-flex: 0 0 58.333333%;
  flex: 0 0 58.333333%;
  max-width: 58.333333%; }

.col-8 {
  -ms-flex: 0 0 66.666667%;
  flex: 0 0 66.666667%;
  max-width: 66.666667%; }

.col-9 {
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%; }

.col-10 {
  -ms-flex: 0 0 83.333333%;
  flex: 0 0 83.333333%;
  max-width: 83.333333%; }

.col-11 {
  -ms-flex: 0 0 91.666667%;
  flex: 0 0 91.666667%;
  max-width: 91.666667%; }

.col-12 {
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%; }

.order-first {
  -ms-flex-order: -1;
  order: -1; }

.order-last {
  -ms-flex-order: 13;
  order: 13; }

.order-0 {
  -ms-flex-order: 0;
  order: 0; }

.order-1 {
  -ms-flex-order: 1;
  order: 1; }

.order-2 {
  -ms-flex-order: 2;
  order: 2; }

.order-3 {
  -ms-flex-order: 3;
  order: 3; }

.order-4 {
  -ms-flex-order: 4;
  order: 4; }

.order-5 {
  -ms-flex-order: 5;
  order: 5; }

.order-6 {
  -ms-flex-order: 6;
  order: 6; }

.order-7 {
  -ms-flex-order: 7;
  order: 7; }

.order-8 {
  -ms-flex-order: 8;
  order: 8; }

.order-9 {
  -ms-flex-order: 9;
  order: 9; }

.order-10 {
  -ms-flex-order: 10;
  order: 10; }

.order-11 {
  -ms-flex-order: 11;
  order: 11; }

.order-12 {
  -ms-flex-order: 12;
  order: 12; }

.offset-1 {
  margin-left: 8.3333333333%; }

.offset-2 {
  margin-left: 16.6666666667%; }

.offset-3 {
  margin-left: 25%; }

.offset-4 {
  margin-left: 33.3333333333%; }

.offset-5 {
  margin-left: 41.6666666667%; }

.offset-6 {
  margin-left: 50%; }

.offset-7 {
  margin-left: 58.3333333333%; }

.offset-8 {
  margin-left: 66.6666666667%; }

.offset-9 {
  margin-left: 75%; }

.offset-10 {
  margin-left: 83.3333333333%; }

.offset-11 {
  margin-left: 91.6666666667%; }

.m-0 {
  margin: 0px !important; }

.mt-0 {
  margin-top: 0px !important; }

.mb-0 {
  margin-bottom: 0px !important; }

.mr-0 {
  margin-right: 0px !important; }

.ml-0 {
  margin-left: 0px !important; }

.p-0 {
  padding: 0px !important; }

.pt-0 {
  padding-top: 0px !important; }

.pb-0 {
  padding-bottom: 0px !important; }

.pr-0 {
  padding-right: 0px !important; }

.pl-0 {
  padding-left: 0px !important; }

.m-1 {
  margin: 10px !important; }

.mt-1 {
  margin-top: 10px !important; }

.mb-1 {
  margin-bottom: 10px !important; }

.mr-1 {
  margin-right: 10px !important; }

.ml-1 {
  margin-left: 10px !important; }

.p-1 {
  padding: 10px !important; }

.pt-1 {
  padding-top: 10px !important; }

.pb-1 {
  padding-bottom: 10px !important; }

.pr-1 {
  padding-right: 10px !important; }

.pl-1 {
  padding-left: 10px !important; }

.m-2 {
  margin: 20px !important; }

.mt-2 {
  margin-top: 20px !important; }

.mb-2 {
  margin-bottom: 20px !important; }

.mr-2 {
  margin-right: 20px !important; }

.ml-2 {
  margin-left: 20px !important; }

.p-2 {
  padding: 20px !important; }

.pt-2 {
  padding-top: 20px !important; }

.pb-2 {
  padding-bottom: 20px !important; }

.pr-2 {
  padding-right: 20px !important; }

.pl-2 {
  padding-left: 20px !important; }

.m-3 {
  margin: 30px !important; }

.mt-3 {
  margin-top: 30px !important; }

.mb-3 {
  margin-bottom: 30px !important; }

.mr-3 {
  margin-right: 30px !important; }

.ml-3 {
  margin-left: 30px !important; }

.p-3 {
  padding: 30px !important; }

.pt-3 {
  padding-top: 30px !important; }

.pb-3 {
  padding-bottom: 30px !important; }

.pr-3 {
  padding-right: 30px !important; }

.pl-3 {
  padding-left: 30px !important; }

.m-4 {
  margin: 40px !important; }

.mt-4 {
  margin-top: 40px !important; }

.mb-4 {
  margin-bottom: 40px !important; }

.mr-4 {
  margin-right: 40px !important; }

.ml-4 {
  margin-left: 40px !important; }

.p-4 {
  padding: 40px !important; }

.pt-4 {
  padding-top: 40px !important; }

.pb-4 {
  padding-bottom: 40px !important; }

.pr-4 {
  padding-right: 40px !important; }

.pl-4 {
  padding-left: 40px !important; }

.m-5 {
  margin: 50px !important; }

.mt-5 {
  margin-top: 50px !important; }

.mb-5 {
  margin-bottom: 50px !important; }

.mr-5 {
  margin-right: 50px !important; }

.ml-5 {
  margin-left: 50px !important; }

.p-5 {
  padding: 50px !important; }

.pt-5 {
  padding-top: 50px !important; }

.pb-5 {
  padding-bottom: 50px !important; }

.pr-5 {
  padding-right: 50px !important; }

.pl-5 {
  padding-left: 50px !important; }

.m-6 {
  margin: 60px !important; }

.mt-6 {
  margin-top: 60px !important; }

.mb-6 {
  margin-bottom: 60px !important; }

.mr-6 {
  margin-right: 60px !important; }

.ml-6 {
  margin-left: 60px !important; }

.p-6 {
  padding: 60px !important; }

.pt-6 {
  padding-top: 60px !important; }

.pb-6 {
  padding-bottom: 60px !important; }

.pr-6 {
  padding-right: 60px !important; }

.pl-6 {
  padding-left: 60px !important; }

.m-7 {
  margin: 70px !important; }

.mt-7 {
  margin-top: 70px !important; }

.mb-7 {
  margin-bottom: 70px !important; }

.mr-7 {
  margin-right: 70px !important; }

.ml-7 {
  margin-left: 70px !important; }

.p-7 {
  padding: 70px !important; }

.pt-7 {
  padding-top: 70px !important; }

.pb-7 {
  padding-bottom: 70px !important; }

.pr-7 {
  padding-right: 70px !important; }

.pl-7 {
  padding-left: 70px !important; }

.m-8 {
  margin: 80px !important; }

.mt-8 {
  margin-top: 80px !important; }

.mb-8 {
  margin-bottom: 80px !important; }

.mr-8 {
  margin-right: 80px !important; }

.ml-8 {
  margin-left: 80px !important; }

.p-8 {
  padding: 80px !important; }

.pt-8 {
  padding-top: 80px !important; }

.pb-8 {
  padding-bottom: 80px !important; }

.pr-8 {
  padding-right: 80px !important; }

.pl-8 {
  padding-left: 80px !important; }

.m-9 {
  margin: 90px !important; }

.mt-9 {
  margin-top: 90px !important; }

.mb-9 {
  margin-bottom: 90px !important; }

.mr-9 {
  margin-right: 90px !important; }

.ml-9 {
  margin-left: 90px !important; }

.p-9 {
  padding: 90px !important; }

.pt-9 {
  padding-top: 90px !important; }

.pb-9 {
  padding-bottom: 90px !important; }

.pr-9 {
  padding-right: 90px !important; }

.pl-9 {
  padding-left: 90px !important; }

.m-10 {
  margin: 100px !important; }

.mt-10 {
  margin-top: 100px !important; }

.mb-10 {
  margin-bottom: 100px !important; }

.mr-10 {
  margin-right: 100px !important; }

.ml-10 {
  margin-left: 100px !important; }

.p-10 {
  padding: 100px !important; }

.pt-10 {
  padding-top: 100px !important; }

.pb-10 {
  padding-bottom: 100px !important; }

.pr-10 {
  padding-right: 100px !important; }

.pl-10 {
  padding-left: 100px !important; }

@media print, screen and (min-width: 1081px) {
  /*　画面サイズ $pcWidth からはここを読み込む　*/
  .offset-pc-1 {
    margin-left: 8.3333333333%; }

  .offset-pc-2 {
    margin-left: 16.6666666667%; }

  .offset-pc-3 {
    margin-left: 25%; }

  .offset-pc-4 {
    margin-left: 33.3333333333%; }

  .offset-pc-5 {
    margin-left: 41.6666666667%; }

  .offset-pc-6 {
    margin-left: 50%; }

  .offset-pc-7 {
    margin-left: 58.3333333333%; }

  .offset-pc-8 {
    margin-left: 66.6666666667%; }

  .offset-pc-9 {
    margin-left: 75%; }

  .offset-pc-10 {
    margin-left: 83.3333333333%; }

  .offset-pc-1 {
    margin-left: 91.6666666667%; }

  .m-pc-0 {
    margin: 0px !important; }

  .mt-pc-0 {
    margin-top: 0px !important; }

  .mb-pc-0 {
    margin-bottom: 0px !important; }

  .mr-pc-0 {
    margin-right: 0px !important; }

  .ml-pc-0 {
    margin-left: 0px !important; }

  .p-pc-0 {
    padding: 0px !important; }

  .pt-pc-0 {
    padding-top: 0px !important; }

  .pb-pc-0 {
    padding-bottom: 0px !important; }

  .pr-pc-0 {
    padding-right: 0px !important; }

  .pl-pc-0 {
    padding-left: 0px !important; }

  .m-pc-1 {
    margin: 10px !important; }

  .mt-pc-1 {
    margin-top: 10px !important; }

  .mb-pc-1 {
    margin-bottom: 10px !important; }

  .mr-pc-1 {
    margin-right: 10px !important; }

  .ml-pc-1 {
    margin-left: 10px !important; }

  .p-pc-1 {
    padding: 10px !important; }

  .pt-pc-1 {
    padding-top: 10px !important; }

  .pb-pc-1 {
    padding-bottom: 10px !important; }

  .pr-pc-1 {
    padding-right: 10px !important; }

  .pl-pc-1 {
    padding-left: 10px !important; }

  .m-pc-2 {
    margin: 20px !important; }

  .mt-pc-2 {
    margin-top: 20px !important; }

  .mb-pc-2 {
    margin-bottom: 20px !important; }

  .mr-pc-2 {
    margin-right: 20px !important; }

  .ml-pc-2 {
    margin-left: 20px !important; }

  .p-pc-2 {
    padding: 20px !important; }

  .pt-pc-2 {
    padding-top: 20px !important; }

  .pb-pc-2 {
    padding-bottom: 20px !important; }

  .pr-pc-2 {
    padding-right: 20px !important; }

  .pl-pc-2 {
    padding-left: 20px !important; }

  .m-pc-3 {
    margin: 30px !important; }

  .mt-pc-3 {
    margin-top: 30px !important; }

  .mb-pc-3 {
    margin-bottom: 30px !important; }

  .mr-pc-3 {
    margin-right: 30px !important; }

  .ml-pc-3 {
    margin-left: 30px !important; }

  .p-pc-3 {
    padding: 30px !important; }

  .pt-pc-3 {
    padding-top: 30px !important; }

  .pb-pc-3 {
    padding-bottom: 30px !important; }

  .pr-pc-3 {
    padding-right: 30px !important; }

  .pl-pc-3 {
    padding-left: 30px !important; }

  .m-pc-4 {
    margin: 40px !important; }

  .mt-pc-4 {
    margin-top: 40px !important; }

  .mb-pc-4 {
    margin-bottom: 40px !important; }

  .mr-pc-4 {
    margin-right: 40px !important; }

  .ml-pc-4 {
    margin-left: 40px !important; }

  .p-pc-4 {
    padding: 40px !important; }

  .pt-pc-4 {
    padding-top: 40px !important; }

  .pb-pc-4 {
    padding-bottom: 40px !important; }

  .pr-pc-4 {
    padding-right: 40px !important; }

  .pl-pc-4 {
    padding-left: 40px !important; }

  .m-pc-5 {
    margin: 50px !important; }

  .mt-pc-5 {
    margin-top: 50px !important; }

  .mb-pc-5 {
    margin-bottom: 50px !important; }

  .mr-pc-5 {
    margin-right: 50px !important; }

  .ml-pc-5 {
    margin-left: 50px !important; }

  .p-pc-5 {
    padding: 50px !important; }

  .pt-pc-5 {
    padding-top: 50px !important; }

  .pb-pc-5 {
    padding-bottom: 50px !important; }

  .pr-pc-5 {
    padding-right: 50px !important; }

  .pl-pc-5 {
    padding-left: 50px !important; }

  .m-pc-6 {
    margin: 60px !important; }

  .mt-pc-6 {
    margin-top: 60px !important; }

  .mb-pc-6 {
    margin-bottom: 60px !important; }

  .mr-pc-6 {
    margin-right: 60px !important; }

  .ml-pc-6 {
    margin-left: 60px !important; }

  .p-pc-6 {
    padding: 60px !important; }

  .pt-pc-6 {
    padding-top: 60px !important; }

  .pb-pc-6 {
    padding-bottom: 60px !important; }

  .pr-pc-6 {
    padding-right: 60px !important; }

  .pl-pc-6 {
    padding-left: 60px !important; }

  .m-pc-7 {
    margin: 70px !important; }

  .mt-pc-7 {
    margin-top: 70px !important; }

  .mb-pc-7 {
    margin-bottom: 70px !important; }

  .mr-pc-7 {
    margin-right: 70px !important; }

  .ml-pc-7 {
    margin-left: 70px !important; }

  .p-pc-7 {
    padding: 70px !important; }

  .pt-pc-7 {
    padding-top: 70px !important; }

  .pb-pc-7 {
    padding-bottom: 70px !important; }

  .pr-pc-7 {
    padding-right: 70px !important; }

  .pl-pc-7 {
    padding-left: 70px !important; }

  .m-pc-8 {
    margin: 80px !important; }

  .mt-pc-8 {
    margin-top: 80px !important; }

  .mb-pc-8 {
    margin-bottom: 80px !important; }

  .mr-pc-8 {
    margin-right: 80px !important; }

  .ml-pc-8 {
    margin-left: 80px !important; }

  .p-pc-8 {
    padding: 80px !important; }

  .pt-pc-8 {
    padding-top: 80px !important; }

  .pb-pc-8 {
    padding-bottom: 80px !important; }

  .pr-pc-8 {
    padding-right: 80px !important; }

  .pl-pc-8 {
    padding-left: 80px !important; }

  .m-pc-9 {
    margin: 90px !important; }

  .mt-pc-9 {
    margin-top: 90px !important; }

  .mb-pc-9 {
    margin-bottom: 90px !important; }

  .mr-pc-9 {
    margin-right: 90px !important; }

  .ml-pc-9 {
    margin-left: 90px !important; }

  .p-pc-9 {
    padding: 90px !important; }

  .pt-pc-9 {
    padding-top: 90px !important; }

  .pb-pc-9 {
    padding-bottom: 90px !important; }

  .pr-pc-9 {
    padding-right: 90px !important; }

  .pl-pc-9 {
    padding-left: 90px !important; }

  .m-pc-10 {
    margin: 100px !important; }

  .mt-pc-10 {
    margin-top: 100px !important; }

  .mb-pc-10 {
    margin-bottom: 100px !important; }

  .mr-pc-10 {
    margin-right: 100px !important; }

  .ml-pc-10 {
    margin-left: 100px !important; }

  .p-pc-10 {
    padding: 100px !important; }

  .pt-pc-10 {
    padding-top: 100px !important; }

  .pb-pc-10 {
    padding-bottom: 100px !important; }

  .pr-pc-10 {
    padding-right: 100px !important; }

  .pl-pc-10 {
    padding-left: 100px !important; } }
/* タブレット グリッドシステム */
@media only screen and (max-width: 1080px) {
  .col-tb-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%; }

  .col-tb-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%; }

  .col-tb-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%; }

  .col-tb-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%; }

  .col-tb-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%; }

  .col-tb-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%; }

  .col-tb-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%; }

  .col-tb-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%; }

  .col-tb-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%; }

  .col-tb-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%; }

  .col-tb-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%; }

  .col-tb-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; }

  .order-tb-first {
    -ms-flex-order: -1;
    order: -1; }

  .order-tb-last {
    -ms-flex-order: 13;
    order: 13; }

  .order-tb-0 {
    -ms-flex-order: 0;
    order: 0; }

  .order-tb-1 {
    -ms-flex-order: 1;
    order: 1; }

  .order-tb-2 {
    -ms-flex-order: 2;
    order: 2; }

  .order-tb-3 {
    -ms-flex-order: 3;
    order: 3; }

  .order-tb-4 {
    -ms-flex-order: 4;
    order: 4; }

  .order-tb-5 {
    -ms-flex-order: 5;
    order: 5; }

  .order-tb-6 {
    -ms-flex-order: 6;
    order: 6; }

  .order-tb-7 {
    -ms-flex-order: 7;
    order: 7; }

  .order-tb-8 {
    -ms-flex-order: 8;
    order: 8; }

  .order-tb-9 {
    -ms-flex-order: 9;
    order: 9; }

  .order-tb-10 {
    -ms-flex-order: 10;
    order: 10; }

  .order-tb-11 {
    -ms-flex-order: 11;
    order: 11; }

  .order-tb-12 {
    -ms-flex-order: 12;
    order: 12; }

  .offset-tb-0 {
    margin-left: 0; }

  .offset-tb-1 {
    margin-left: 8.3333333333%; }

  .offset-tb-2 {
    margin-left: 16.6666666667%; }

  .offset-tb-3 {
    margin-left: 25%; }

  .offset-tb-4 {
    margin-left: 33.3333333333%; }

  .offset-tb-5 {
    margin-left: 41.6666666667%; }

  .offset-tb-6 {
    margin-left: 50%; }

  .offset-tb-7 {
    margin-left: 58.3333333333%; }

  .offset-tb-8 {
    margin-left: 66.6666666667%; }

  .offset-tb-9 {
    margin-left: 75%; }

  .offset-tb-10 {
    margin-left: 83.3333333333%; }

  .offset-tb-11 {
    margin-left: 91.6666666667%; }

  .m-tb-0 {
    margin: 0px !important; }

  .mt-tb-0 {
    margin-top: 0px !important; }

  .mb-tb-0 {
    margin-bottom: 0px !important; }

  .mr-tb-0 {
    margin-right: 0px !important; }

  .ml-tb-0 {
    margin-left: 0px !important; }

  .p-tb-0 {
    padding: 0px !important; }

  .pt-tb-0 {
    padding-top: 0px !important; }

  .pb-tb-0 {
    padding-bottom: 0px !important; }

  .pr-tb-0 {
    padding-right: 0px !important; }

  .pl-tb-0 {
    padding-left: 0px !important; }

  .m-tb-1 {
    margin: 10px !important; }

  .mt-tb-1 {
    margin-top: 10px !important; }

  .mb-tb-1 {
    margin-bottom: 10px !important; }

  .mr-tb-1 {
    margin-right: 10px !important; }

  .ml-tb-1 {
    margin-left: 10px !important; }

  .p-tb-1 {
    padding: 10px !important; }

  .pt-tb-1 {
    padding-top: 10px !important; }

  .pb-tb-1 {
    padding-bottom: 10px !important; }

  .pr-tb-1 {
    padding-right: 10px !important; }

  .pl-tb-1 {
    padding-left: 10px !important; }

  .m-tb-2 {
    margin: 20px !important; }

  .mt-tb-2 {
    margin-top: 20px !important; }

  .mb-tb-2 {
    margin-bottom: 20px !important; }

  .mr-tb-2 {
    margin-right: 20px !important; }

  .ml-tb-2 {
    margin-left: 20px !important; }

  .p-tb-2 {
    padding: 20px !important; }

  .pt-tb-2 {
    padding-top: 20px !important; }

  .pb-tb-2 {
    padding-bottom: 20px !important; }

  .pr-tb-2 {
    padding-right: 20px !important; }

  .pl-tb-2 {
    padding-left: 20px !important; }

  .m-tb-3 {
    margin: 30px !important; }

  .mt-tb-3 {
    margin-top: 30px !important; }

  .mb-tb-3 {
    margin-bottom: 30px !important; }

  .mr-tb-3 {
    margin-right: 30px !important; }

  .ml-tb-3 {
    margin-left: 30px !important; }

  .p-tb-3 {
    padding: 30px !important; }

  .pt-tb-3 {
    padding-top: 30px !important; }

  .pb-tb-3 {
    padding-bottom: 30px !important; }

  .pr-tb-3 {
    padding-right: 30px !important; }

  .pl-tb-3 {
    padding-left: 30px !important; }

  .m-tb-4 {
    margin: 40px !important; }

  .mt-tb-4 {
    margin-top: 40px !important; }

  .mb-tb-4 {
    margin-bottom: 40px !important; }

  .mr-tb-4 {
    margin-right: 40px !important; }

  .ml-tb-4 {
    margin-left: 40px !important; }

  .p-tb-4 {
    padding: 40px !important; }

  .pt-tb-4 {
    padding-top: 40px !important; }

  .pb-tb-4 {
    padding-bottom: 40px !important; }

  .pr-tb-4 {
    padding-right: 40px !important; }

  .pl-tb-4 {
    padding-left: 40px !important; }

  .m-tb-5 {
    margin: 50px !important; }

  .mt-tb-5 {
    margin-top: 50px !important; }

  .mb-tb-5 {
    margin-bottom: 50px !important; }

  .mr-tb-5 {
    margin-right: 50px !important; }

  .ml-tb-5 {
    margin-left: 50px !important; }

  .p-tb-5 {
    padding: 50px !important; }

  .pt-tb-5 {
    padding-top: 50px !important; }

  .pb-tb-5 {
    padding-bottom: 50px !important; }

  .pr-tb-5 {
    padding-right: 50px !important; }

  .pl-tb-5 {
    padding-left: 50px !important; }

  .m-tb-6 {
    margin: 60px !important; }

  .mt-tb-6 {
    margin-top: 60px !important; }

  .mb-tb-6 {
    margin-bottom: 60px !important; }

  .mr-tb-6 {
    margin-right: 60px !important; }

  .ml-tb-6 {
    margin-left: 60px !important; }

  .p-tb-6 {
    padding: 60px !important; }

  .pt-tb-6 {
    padding-top: 60px !important; }

  .pb-tb-6 {
    padding-bottom: 60px !important; }

  .pr-tb-6 {
    padding-right: 60px !important; }

  .pl-tb-6 {
    padding-left: 60px !important; }

  .m-tb-7 {
    margin: 70px !important; }

  .mt-tb-7 {
    margin-top: 70px !important; }

  .mb-tb-7 {
    margin-bottom: 70px !important; }

  .mr-tb-7 {
    margin-right: 70px !important; }

  .ml-tb-7 {
    margin-left: 70px !important; }

  .p-tb-7 {
    padding: 70px !important; }

  .pt-tb-7 {
    padding-top: 70px !important; }

  .pb-tb-7 {
    padding-bottom: 70px !important; }

  .pr-tb-7 {
    padding-right: 70px !important; }

  .pl-tb-7 {
    padding-left: 70px !important; }

  .m-tb-8 {
    margin: 80px !important; }

  .mt-tb-8 {
    margin-top: 80px !important; }

  .mb-tb-8 {
    margin-bottom: 80px !important; }

  .mr-tb-8 {
    margin-right: 80px !important; }

  .ml-tb-8 {
    margin-left: 80px !important; }

  .p-tb-8 {
    padding: 80px !important; }

  .pt-tb-8 {
    padding-top: 80px !important; }

  .pb-tb-8 {
    padding-bottom: 80px !important; }

  .pr-tb-8 {
    padding-right: 80px !important; }

  .pl-tb-8 {
    padding-left: 80px !important; }

  .m-tb-9 {
    margin: 90px !important; }

  .mt-tb-9 {
    margin-top: 90px !important; }

  .mb-tb-9 {
    margin-bottom: 90px !important; }

  .mr-tb-9 {
    margin-right: 90px !important; }

  .ml-tb-9 {
    margin-left: 90px !important; }

  .p-tb-9 {
    padding: 90px !important; }

  .pt-tb-9 {
    padding-top: 90px !important; }

  .pb-tb-9 {
    padding-bottom: 90px !important; }

  .pr-tb-9 {
    padding-right: 90px !important; }

  .pl-tb-9 {
    padding-left: 90px !important; }

  .m-tb-10 {
    margin: 100px !important; }

  .mt-tb-10 {
    margin-top: 100px !important; }

  .mb-tb-10 {
    margin-bottom: 100px !important; }

  .mr-tb-10 {
    margin-right: 100px !important; }

  .ml-tb-10 {
    margin-left: 100px !important; }

  .p-tb-10 {
    padding: 100px !important; }

  .pt-tb-10 {
    padding-top: 100px !important; }

  .pb-tb-10 {
    padding-bottom: 100px !important; }

  .pr-tb-10 {
    padding-right: 100px !important; }

  .pl-tb-10 {
    padding-left: 100px !important; } }
@media only screen and (max-width: 768px) {
  .row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -25px;
    margin-bottom: -50px; }

  .container,
  .container-fluid {
    padding-left: clamp(25px, 5vw, 50px);
    padding-right: clamp(25px, 5vw, 50px);
    padding-top: clamp(40px, 8vw, 80px);
    padding-bottom: clamp(40px, 8vw, 80px); }

  .row {
    margin: -2.5vw;
    margin-bottom: -5vw; }

  .row + .row {
    margin-top: 5vw; }

  .col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
  .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
    padding: 2.5vw;
    padding-bottom: 5vw; }

  .col-sp-1, .col-sp-2, .col-sp-3, .col-sp-4, .col-sp-5, .col-sp-6,
  .col-sp-7, .col-sp-8, .col-sp-9, .col-sp-10, .col-sp-11, .col-sp-12 {
    padding: 2.5vw;
    padding-bottom: 5vw; }

  .col-sp-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%; }

  .col-sp-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%; }

  .col-sp-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%; }

  .col-sp-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%; }

  .col-sp-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%; }

  .col-sp-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%; }

  .col-sp-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%; }

  .col-sp-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%; }

  .col-sp-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%; }

  .col-sp-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%; }

  .col-sp-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%; }

  .col-sp-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%; }

  .order-sp-first {
    -ms-flex-order: -1;
    order: -1; }

  .order-sp-last {
    -ms-flex-order: 13;
    order: 13; }

  .order-sp-0 {
    -ms-flex-order: 0;
    order: 0; }

  .order-sp-1 {
    -ms-flex-order: 1;
    order: 1; }

  .order-sp-2 {
    -ms-flex-order: 2;
    order: 2; }

  .order-sp-3 {
    -ms-flex-order: 3;
    order: 3; }

  .order-sp-4 {
    -ms-flex-order: 4;
    order: 4; }

  .order-sp-5 {
    -ms-flex-order: 5;
    order: 5; }

  .order-sp-6 {
    -ms-flex-order: 6;
    order: 6; }

  .order-sp-7 {
    -ms-flex-order: 7;
    order: 7; }

  .order-sp-8 {
    -ms-flex-order: 8;
    order: 8; }

  .order-sp-9 {
    -ms-flex-order: 9;
    order: 9; }

  .order-sp-10 {
    -ms-flex-order: 10;
    order: 10; }

  .order-sp-11 {
    -ms-flex-order: 11;
    order: 11; }

  .order-sp-12 {
    -ms-flex-order: 12;
    order: 12; }

  .offset-sp-0 {
    margin-left: 0; }

  .offset-sp-1 {
    margin-left: 8.3333333333%; }

  .offset-sp-2 {
    margin-left: 16.6666666667%; }

  .offset-sp-3 {
    margin-left: 25%; }

  .offset-sp-4 {
    margin-left: 33.3333333333%; }

  .offset-sp-5 {
    margin-left: 41.6666666667%; }

  .offset-sp-6 {
    margin-left: 50%; }

  .offset-sp-7 {
    margin-left: 58.3333333333%; }

  .offset-sp-8 {
    margin-left: 66.6666666667%; }

  .offset-sp-9 {
    margin-left: 75%; }

  .offset-sp-10 {
    margin-left: 83.3333333333%; }

  .offset-sp-11 {
    margin-left: 91.6666666667%; }

  .m-sp-0 {
    margin: 0px !important; }

  .mt-sp-0 {
    margin-top: 0px !important; }

  .mb-sp-0 {
    margin-bottom: 0px !important; }

  .mr-sp-0 {
    margin-right: 0px !important; }

  .ml-sp-0 {
    margin-left: 0px !important; }

  .p-sp-0 {
    padding: 0px !important; }

  .pt-sp-0 {
    padding-top: 0px !important; }

  .pb-sp-0 {
    padding-bottom: 0px !important; }

  .pr-sp-0 {
    padding-right: 0px !important; }

  .pl-sp-0 {
    padding-left: 0px !important; }

  .m-sp-1 {
    margin: 10px !important; }

  .mt-sp-1 {
    margin-top: 10px !important; }

  .mb-sp-1 {
    margin-bottom: 10px !important; }

  .mr-sp-1 {
    margin-right: 10px !important; }

  .ml-sp-1 {
    margin-left: 10px !important; }

  .p-sp-1 {
    padding: 10px !important; }

  .pt-sp-1 {
    padding-top: 10px !important; }

  .pb-sp-1 {
    padding-bottom: 10px !important; }

  .pr-sp-1 {
    padding-right: 10px !important; }

  .pl-sp-1 {
    padding-left: 10px !important; }

  .m-sp-2 {
    margin: 20px !important; }

  .mt-sp-2 {
    margin-top: 20px !important; }

  .mb-sp-2 {
    margin-bottom: 20px !important; }

  .mr-sp-2 {
    margin-right: 20px !important; }

  .ml-sp-2 {
    margin-left: 20px !important; }

  .p-sp-2 {
    padding: 20px !important; }

  .pt-sp-2 {
    padding-top: 20px !important; }

  .pb-sp-2 {
    padding-bottom: 20px !important; }

  .pr-sp-2 {
    padding-right: 20px !important; }

  .pl-sp-2 {
    padding-left: 20px !important; }

  .m-sp-3 {
    margin: 30px !important; }

  .mt-sp-3 {
    margin-top: 30px !important; }

  .mb-sp-3 {
    margin-bottom: 30px !important; }

  .mr-sp-3 {
    margin-right: 30px !important; }

  .ml-sp-3 {
    margin-left: 30px !important; }

  .p-sp-3 {
    padding: 30px !important; }

  .pt-sp-3 {
    padding-top: 30px !important; }

  .pb-sp-3 {
    padding-bottom: 30px !important; }

  .pr-sp-3 {
    padding-right: 30px !important; }

  .pl-sp-3 {
    padding-left: 30px !important; }

  .m-sp-4 {
    margin: 40px !important; }

  .mt-sp-4 {
    margin-top: 40px !important; }

  .mb-sp-4 {
    margin-bottom: 40px !important; }

  .mr-sp-4 {
    margin-right: 40px !important; }

  .ml-sp-4 {
    margin-left: 40px !important; }

  .p-sp-4 {
    padding: 40px !important; }

  .pt-sp-4 {
    padding-top: 40px !important; }

  .pb-sp-4 {
    padding-bottom: 40px !important; }

  .pr-sp-4 {
    padding-right: 40px !important; }

  .pl-sp-4 {
    padding-left: 40px !important; }

  .m-sp-5 {
    margin: 50px !important; }

  .mt-sp-5 {
    margin-top: 50px !important; }

  .mb-sp-5 {
    margin-bottom: 50px !important; }

  .mr-sp-5 {
    margin-right: 50px !important; }

  .ml-sp-5 {
    margin-left: 50px !important; }

  .p-sp-5 {
    padding: 50px !important; }

  .pt-sp-5 {
    padding-top: 50px !important; }

  .pb-sp-5 {
    padding-bottom: 50px !important; }

  .pr-sp-5 {
    padding-right: 50px !important; }

  .pl-sp-5 {
    padding-left: 50px !important; }

  .m-sp-6 {
    margin: 60px !important; }

  .mt-sp-6 {
    margin-top: 60px !important; }

  .mb-sp-6 {
    margin-bottom: 60px !important; }

  .mr-sp-6 {
    margin-right: 60px !important; }

  .ml-sp-6 {
    margin-left: 60px !important; }

  .p-sp-6 {
    padding: 60px !important; }

  .pt-sp-6 {
    padding-top: 60px !important; }

  .pb-sp-6 {
    padding-bottom: 60px !important; }

  .pr-sp-6 {
    padding-right: 60px !important; }

  .pl-sp-6 {
    padding-left: 60px !important; }

  .m-sp-7 {
    margin: 70px !important; }

  .mt-sp-7 {
    margin-top: 70px !important; }

  .mb-sp-7 {
    margin-bottom: 70px !important; }

  .mr-sp-7 {
    margin-right: 70px !important; }

  .ml-sp-7 {
    margin-left: 70px !important; }

  .p-sp-7 {
    padding: 70px !important; }

  .pt-sp-7 {
    padding-top: 70px !important; }

  .pb-sp-7 {
    padding-bottom: 70px !important; }

  .pr-sp-7 {
    padding-right: 70px !important; }

  .pl-sp-7 {
    padding-left: 70px !important; }

  .m-sp-8 {
    margin: 80px !important; }

  .mt-sp-8 {
    margin-top: 80px !important; }

  .mb-sp-8 {
    margin-bottom: 80px !important; }

  .mr-sp-8 {
    margin-right: 80px !important; }

  .ml-sp-8 {
    margin-left: 80px !important; }

  .p-sp-8 {
    padding: 80px !important; }

  .pt-sp-8 {
    padding-top: 80px !important; }

  .pb-sp-8 {
    padding-bottom: 80px !important; }

  .pr-sp-8 {
    padding-right: 80px !important; }

  .pl-sp-8 {
    padding-left: 80px !important; }

  .m-sp-9 {
    margin: 90px !important; }

  .mt-sp-9 {
    margin-top: 90px !important; }

  .mb-sp-9 {
    margin-bottom: 90px !important; }

  .mr-sp-9 {
    margin-right: 90px !important; }

  .ml-sp-9 {
    margin-left: 90px !important; }

  .p-sp-9 {
    padding: 90px !important; }

  .pt-sp-9 {
    padding-top: 90px !important; }

  .pb-sp-9 {
    padding-bottom: 90px !important; }

  .pr-sp-9 {
    padding-right: 90px !important; }

  .pl-sp-9 {
    padding-left: 90px !important; }

  .m-sp-10 {
    margin: 100px !important; }

  .mt-sp-10 {
    margin-top: 100px !important; }

  .mb-sp-10 {
    margin-bottom: 100px !important; }

  .mr-sp-10 {
    margin-right: 100px !important; }

  .ml-sp-10 {
    margin-left: 100px !important; }

  .p-sp-10 {
    padding: 100px !important; }

  .pt-sp-10 {
    padding-top: 100px !important; }

  .pb-sp-10 {
    padding-bottom: 100px !important; }

  .pr-sp-10 {
    padding-right: 100px !important; }

  .pl-sp-10 {
    padding-left: 100px !important; } }
/* 変数ファイルインポート */
/* モジュール */
/* ブレイクポイント 設定 */
/* モーション */
/* シャドウ */
/* フォントサイズ */
/* フォントファミリー */
@font-face {
  font-family: 'EnFont';
  src: url("../font/din1451alt.ttf"); }
@font-face {
  font-family: 'EnFontB';
  src: url("../font/D-DIN-Bold.ttf"); }
/*////////////////////////////////////////

  モジュール
 
////////////////////////////////////////*/
/* 余白 */
/*//////////////////////////////

レイアウトスタイル

//////////////////////////////*/
header {
  font-family: Yu Mincho Pr6N R;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 99999; }

body:not(#page_home) header {
  margin-top: 50px;
  position: relative; }
  @media only screen and (max-width: 1080px) {
    body:not(#page_home) header {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      margin: auto;
      min-width: 100px;
      width: 33%;
      height: 100px;
      left: 0;
      right: 0;
      align-items: center; } }
  body:not(#page_home) header #logo {
    display: flex;
    margin: auto;
    position: absolute;
    top: 0px;
    left: 0;
    right: 0;
    justify-content: center; }
    @media only screen and (max-width: 1080px) {
      body:not(#page_home) header #logo {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        bottom: 0;
        align-items: center; } }
  body:not(#page_home) header #gnav {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    flex-direction: row-reverse;
    margin-left: 200px;
    margin-right: 200px; }
    @media only screen and (max-width: 1080px) {
      body:not(#page_home) header #gnav {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        display: none; } }
    body:not(#page_home) header #gnav ul {
      display: flex;
      flex-wrap: nowrap;
      flex-direction: row-reverse; }
    body:not(#page_home) header #gnav li {
      line-height: 1; }
    body:not(#page_home) header #gnav a {
      padding: 0 1.25vw;
      writing-mode: vertical-rl;
      color: #3a2420; }
      body:not(#page_home) header #gnav a:link, body:not(#page_home) header #gnav a:visited, body:not(#page_home) header #gnav a:hover, body:not(#page_home) header #gnav a:active {
        color: #3a2420; }
  body:not(#page_home) header #snav ul {
    position: absolute;
    top: 0px;
    left: 50px;
    display: inline-flex;
    flex-wrap: nowrap;
    justify-content: center;
    gap: 10px;
    align-items: center;
    z-index: 99999; }
    @media only screen and (max-width: 1080px) {
      body:not(#page_home) header #snav ul {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        position: fixed;
        top: 30px;
        left: 30px; } }
    @media only screen and (max-width: 768px) {
      body:not(#page_home) header #snav ul {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        top: 15px;
        left: 15px;
        gap: 6px; } }
  body:not(#page_home) header #snav li a {
    width: 40px;
    height: 40px;
    border-radius: 100%;
    padding: 0;
    margin-top: 0;
    background-position: center; }
    @media only screen and (max-width: 768px) {
      body:not(#page_home) header #snav li a {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        width: 30px;
        height: 30px;
        background-size: 18px auto; } }
  body:not(#page_home) header #snav li span {
    display: none; }

/* トグルメニュー */
#navToggle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  text-align: center;
  transition: all 0.3s ease;
  padding-right: 25px;
  padding-top: 16px;
  position: fixed;
  width: 200px;
  height: 200px;
  border-radius: 100px;
  right: -50px;
  top: -50px;
  z-index: 999999; }
  #navToggle svg {
    width: auto;
    height: 100%; }
  @media only screen and (max-width: 768px) {
    #navToggle {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      width: 115px;
      height: 115px;
      border-radius: 55px;
      right: -26px;
      top: -26px; } }
  @media only screen and (max-width: 768px) {
    #navToggle {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding-right: 15px;
      padding-top: 10px; } }
  #navToggle b::before {
    content: 'MENU';
    font-family: '小琴 京かな', KokinKyokana;
    display: block;
    position: relative;
    color: #ffffff;
    line-height: 1.25;
    font-size: 15px;
    font-size: 1.5rem;
    text-align: center; }
    @media only screen and (max-width: 768px) {
      #navToggle b::before {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1; } }
  #navToggle.menu-active b::before {
    content: 'CLOSE' !important;
    font-family: '小琴 京かな', KokinKyokana; }
  #navToggle span {
    width: 50px;
    height: 4px;
    border-radius: 2px;
    background-color: #514549;
    transition: all 0.2s ease-in-out;
    animation-timing-function: ease-in-out;
    right: 0px;
    left: 0;
    margin-top: 8px; }
    @media only screen and (max-width: 768px) {
      #navToggle span {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        width: 35px;
        margin-top: 6px; } }

.circle-bg {
  position: fixed;
  width: 200px;
  height: 200px;
  border-radius: 100px;
  right: -50px;
  top: -50px;
  z-index: 999992;
  transform: scale(1);
  transition: all 0.3s ease; }
  .circle-bg svg {
    width: auto;
    height: 100%; }
  @media only screen and (max-width: 768px) {
    .circle-bg {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      width: 115px;
      height: 115px;
      border-radius: 55px;
      right: -26px;
      top: -26px; } }

.circle-bg.menu-open {
  transform: scale(10); }
  @media only screen and (max-width: 1080px) {
    .circle-bg.menu-open {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      transform: scale(20); } }

@keyframes tnavAnime {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
#tnav.menu-open {
  display: flex; }

#tnav {
  opacity: 0;
  animation-name: tnavAnime;
  animation-duration: 0.5s;
  animation-delay: .1s;
  /*0.2 秒遅らせて出現*/
  animation-fill-mode: forwards;
  z-index: 999993;
  transition: all .6s;
  position: fixed;
  top: min(4.5vh, 40px);
  right: 150px;
  width: auto;
  padding: 15px;
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  overflow-y: auto; }
  @media only screen and (max-width: 768px) {
    #tnav {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      right: 0;
      left: 0;
      align-items: center; } }
  #tnav ul {
    max-width: 100%;
    width: 280px;
    z-index: 999999; }
  #tnav ul.main-menu li {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    font-family: Yu Mincho Pr6N M; }
    #tnav ul.main-menu li:last-child {
      border-bottom: none; }
  #tnav ul.main-menu a {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1;
    padding: min(2.5vh, 25px) 0;
    position: relative; }
    #tnav ul.main-menu a:link, #tnav ul.main-menu a:visited {
      color: #222;
      padding-left: 10px; }
    #tnav ul.main-menu a:hover, #tnav ul.main-menu a:active {
      color: #3a2420;
      padding-left: 20px; }
  #tnav ul.sub-menu li {
    display: flex;
    flex-direction: column; }
  #tnav ul.sub-menu a {
    max-width: 100% !important; }
    #tnav ul.sub-menu a:hover, #tnav ul.sub-menu a:active {
      background-color: #514549; }

main::before {
  content: "";
  position: fixed;
  margin: auto;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index: -1;
  background-color: rgba(0, 0, 0, 0.75);
  display: block;
  opacity: 0;
  transition: all 0.3s ease; }

main.menu-open::before {
  visibility: visible;
  left: 0;
  opacity: unset;
  z-index: 999990; }

#first_view:before {
  content: "";
  position: absolute;
  width: 10%;
  max-width: 80px;
  height: 100%;
  right: 0;
  top: 0;
  background-image: url("../img/common/rice_bg_top01.png");
  background-size: contain;
  background-position: right -20px top 15%;
  background-repeat: no-repeat;
  z-index: 0; }
  @media only screen and (max-width: 1080px) {
    #first_view:before {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      background-position: right -20px top 80px; } }
#first_view:after {
  content: "";
  position: absolute;
  width: 10%;
  max-width: 80px;
  height: 100%;
  left: 0;
  top: 0;
  background-image: url("../img/common/rice_bg_top02.png");
  background-size: contain;
  background-position: left -15px bottom 70%;
  background-repeat: no-repeat;
  z-index: 0; }
  @media only screen and (max-width: 1080px) {
    #first_view:after {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      background-position: left -15px top 150px; } }

main {
  overflow: hidden;
  position: relative;
  background-color: #fff; }
  main::after {
    content: '';
    display: block;
    height: 5vw;
    margin-bottom: -1px;
    background-image: url("../img/common/footer_wave.svg");
    background-repeat: no-repeat;
    background-size: 105%;
    background-position: center bottom;
    position: relative;
    z-index: 100; }

footer {
  color: #222;
  background-color: #dfc7a0;
  z-index: 1;
  position: relative; }
  footer a:link {
    color: #222; }
  footer a:visited {
    color: #222; }
  footer a:hover {
    color: #3a2420; }
  footer a:active {
    color: #3a2420; }
  footer .footer_container {
    display: flex;
    position: relative; }
    @media only screen and (max-width: 1080px) {
      footer .footer_container {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        flex-direction: column; } }
  @media print, screen and (min-width: 1081px) {
    footer .footer_info {
      /*　画面サイズ $pcWidth からはここを読み込む　*/
      border-right: 1px solid #514549;
      padding-right: 50px; } }
  @media only screen and (min-width: 1081px) and (max-width: 768px) {
    footer .footer_info {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding-right: clamp(25px, 5vw, 50px); } }

  @media only screen and (max-width: 1080px) {
    footer .footer_info {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      text-align: center;
      margin-bottom: 10px; } }
  footer .footer_info .info_txt {
    margin-top: 30px;
    margin-bottom: 30px;
    font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif; }
    @media only screen and (max-width: 768px) {
      footer .footer_info .info_txt {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        margin-top: 15px; } }
    @media only screen and (max-width: 768px) {
      footer .footer_info .info_txt {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        margin-bottom: 15px; } }
    @media only screen and (max-width: 768px) {
      footer .footer_info .info_txt {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        margin-top: 30px; } }
  @media only screen and (max-width: 768px) and (max-width: 768px) {
    footer .footer_info .info_txt {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-top: 15px; } }

  @media only screen and (max-width: 1080px) {
    footer .footer_info .info_logo {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/ }
      footer .footer_info .info_logo img {
        max-width: 50%; } }
  footer #fnav {
    flex: 1 1 0; }
    @media print, screen and (min-width: 1081px) {
      footer #fnav {
        /*　画面サイズ $pcWidth からはここを読み込む　*/
        padding-left: 40px; } }
    @media only screen and (max-width: 1080px) {
      footer #fnav {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        padding-top: 50px; } }
  @media only screen and (max-width: 1080px) and (max-width: 768px) {
    footer #fnav {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding-top: clamp(25px, 5vw, 50px); } }

    footer #fnav ul.fnav_parent {
      display: flex;
      justify-content: space-between;
      gap: 25px 1%; }
      @media only screen and (max-width: 1080px) {
        footer #fnav ul.fnav_parent {
          /*　画面サイズ $tbWitdh まではここを読み込む　*/
          flex-direction: column; } }
      footer #fnav ul.fnav_parent > li {
        font-family: Yu Mincho Pr6N D; }
    footer #fnav ul.fnav_child {
      padding-top: 5px; }
      footer #fnav ul.fnav_child li {
        font-family: YakuHanJP, Yu Gothic Pr6N M , sans-serif;
        font-size: 13px;
        font-size: 1.3rem;
        position: relative;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-left: 15px; }
      footer #fnav ul.fnav_child li::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 7px;
        height: 2px;
        background: #f89650; }
    footer #fnav a {
      display: block; }
  footer .footer_bottom {
    background-color: #514549;
    color: #fff;
    display: flex;
    justify-content: space-between;
    gap: 25px;
    flex-wrap: wrap;
    text-align: center;
    padding: 25px 25px; }
    @media only screen and (max-width: 768px) {
      footer .footer_bottom {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding: clamp(12.5px, 2.5vw, 25px) clamp(12.5px, 2.5vw, 25px); } }
    @media only screen and (max-width: 1080px) {
      footer .footer_bottom {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        justify-content: center;
        flex-direction: column; } }
  footer .copyright {
    font-size: 14px;
    font-size: 1.4rem; }
  footer .privacy_link {
    font-size: 13px;
    font-size: 1.3rem;
    opacity: 0.8;
    margin: 0 20px; }
    footer .privacy_link:link {
      color: #ffffff; }
    footer .privacy_link:visited {
      color: #ffffff; }
    footer .privacy_link:hover {
      color: #ffffff; }
    footer .privacy_link:active {
      color: #ffffff; }
    @media only screen and (max-width: 1080px) {
      footer .privacy_link {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        display: block;
        margin-top: 10px;
        margin-bottom: 10px; } }
  footer .image_attention {
    font-size: 12px;
    font-size: 1.2rem;
    padding: 20px 0;
    opacity: 0.7; }
  footer .attention {
    font-size: 12px;
    font-size: 1.2rem;
    opacity: 0.7;
    padding: 0 25px;
    line-height: 1.5; }

#fix_btn_store {
  position: fixed;
  top: 180px;
  background-image: url("../img/common/cart_bg_bg_ico.svg");
  background-repeat: no-repeat;
  background-position: top 20px center;
  line-height: 50px;
  padding-top: 50px;
  padding-bottom: 20px;
  border-radius: 25px;
  background-color: #514549;
  writing-mode: vertical-rl;
  z-index: -1;
  right: 5px;
  opacity: 0; }
  #fix_btn_store:link {
    color: #ffffff; }
  #fix_btn_store:visited {
    color: #ffffff; }
  #fix_btn_store:hover {
    color: #ffffff; }
  #fix_btn_store:active {
    color: #ffffff; }

#fix_btn_store.disp {
  display: inline-block;
  right: 28px;
  opacity: 1;
  z-index: 99999; }
  @media only screen and (max-width: 1080px) {
    #fix_btn_store.disp {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      display: none; } }

#pagetop.disp {
  opacity: 1; }

#pagetop:hover {
  color: #f89650; }
  #pagetop:hover:before {
    background: #f89650; }

#pagetop {
  opacity: 0;
  line-height: 2;
  writing-mode: vertical-rl;
  text-orientation: sideways;
  font-size: 12px;
  font-size: 1.2rem;
  font-family: Yu Mincho Pr6N R;
  font-family: YakuHanJP, Yu Gothic Pr6N R , sans-serif;
  color: #000;
  position: fixed;
  display: inline-block;
  bottom: 30px;
  right: 15px;
  z-index: 99997;
  cursor: pointer;
  padding-top: 60px; }
  @media only screen and (max-width: 768px) {
    #pagetop {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 10px;
      font-size: 1rem;
      right: 10px;
      bottom: 20px;
      padding-top: 40px; } }
  #pagetop:before {
    transition: all 0.3s ease;
    content: "";
    height: 50px;
    width: 1px;
    background: #000;
    position: absolute;
    left: 0;
    right: 0;
    display: block;
    top: 0;
    margin: auto; }
    @media only screen and (max-width: 768px) {
      #pagetop:before {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        height: 30px; } }

/* 変数ファイルインポート */
/* モジュール */
/* ブレイクポイント 設定 */
/* モーション */
/* シャドウ */
/* フォントサイズ */
/* フォントファミリー */
@font-face {
  font-family: 'EnFont';
  src: url("../font/din1451alt.ttf"); }
@font-face {
  font-family: 'EnFontB';
  src: url("../font/D-DIN-Bold.ttf"); }
/*////////////////////////////////////////

  モジュール
 
////////////////////////////////////////*/
/* 余白 */
/*//////////////////////////////

アニメーションスタイル

//////////////////////////////*/
/* アニメーション遅延  PCのみ */
@media print, screen and (min-width: 1081px) {
  /*　画面サイズ $pcWidth からはここを読み込む　*/
  .delay-1 {
    animation-delay: 0.25s; }

  .delay-2 {
    animation-delay: 0.5s; }

  .delay-3 {
    animation-delay: 0.75s; }

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

  .delay-5 {
    animation-delay: 1.25s; } }
/* ふわふわするアニメーション */
@keyframes float-anime {
  0%, 100% {
    transform: translateY(10px); }
  50% {
    transform: translateY(-10px); } }
/* このクラスをつけると回転を無限に繰り返します */
.animation-float {
  animation: 4s float-anime infinite; }

.fadeIn {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 2s;
  -ms-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  visibility: visible !important; }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.fadeInLeft {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.25s;
  -ms-animation-duration: 1.25s;
  animation-duration: 1.25s;
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
  visibility: visible !important; }

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(40px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(40px);
    -ms-transform: translateX(40px);
    transform: translateX(30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
.fadeInRight {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.25s;
  -ms-animation-duration: 1.25s;
  animation-duration: 1.25s;
  animation-timing-function: ease;
  -webkit-animation-timing-function: ease;
  -o-animation-timing-function: ease;
  -ms-animation-timing-function: ease;
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
  visibility: visible !important; }

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-40px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }
@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-40px);
    -ms-transform: translateX(-40px);
    transform: translateX(-30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
.fadeInTop {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.25s;
  -ms-animation-duration: 1.25s;
  animation-duration: 1.25s;
  animation-timing-function: ease;
  -webkit-animation-timing-function: ease;
  -o-animation-timing-function: ease;
  -ms-animation-timing-function: ease;
  -webkit-animation-name: fadeInTop;
  animation-name: fadeInTop;
  visibility: visible !important; }

@-webkit-keyframes fadeInTop {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }
@keyframes fadeInTop {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }
.fadeInBottom {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1.25s;
  -ms-animation-duration: 1.25s;
  animation-duration: 1.25s;
  animation-timing-function: ease;
  -webkit-animation-timing-function: ease;
  -o-animation-timing-function: ease;
  -ms-animation-timing-function: ease;
  -webkit-animation-name: fadeInBottom;
  animation-name: fadeInBottom;
  visibility: visible !important; }

@-webkit-keyframes fadeInBottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }
@keyframes fadeInBottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }
.animationBar {
  display: inline-block;
  position: relative;
  overflow: hidden; }

.animationBar span {
  animation: 0s fadeIn 0.5s ease forwards;
  opacity: 0;
  visibility: visible !important; }

.animationBar:before {
  content: "";
  width: 0%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: black;
  visibility: visible !important;
  animation: 1.25s animationBar 0s cubic-bezier(0.83, 0, 0.17, 1) forwards; }

@keyframes animationBar {
  0% {
    width: 0%; }
  40% {
    width: 100%; }
  60% {
    width: 100%; }
  100% {
    width: 0%; } }
.animationBar-wh {
  display: inline-block;
  position: relative;
  overflow: hidden; }

.animationBar-wh span {
  animation: 0s fadeIn 0.5s ease forwards;
  opacity: 0;
  visibility: visible !important; }

.animationBar-wh:before {
  content: "";
  width: 0%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: white;
  visibility: visible !important;
  animation: 1.25s animationBar-wh 0s cubic-bezier(0.83, 0, 0.17, 1) forwards; }

@keyframes animationBar-wh {
  0% {
    width: 0%; }
  40% {
    width: 100%; }
  60% {
    width: 100%; }
  100% {
    width: 0%; } }
.fadeInScale {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -ms-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-name: fadeInScale;
  animation-name: fadeInScale;
  visibility: visible !important;
  z-index: 1; }

@keyframes fadeInScale {
  0% {
    opacity: 0;
    transform: scale(1.2); }
  100% {
    opacity: 1;
    transform: scale(1); } }
.fadeInZoom {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -ms-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-name: fadeInZoom;
  animation-name: fadeInZoom;
  visibility: visible !important;
  z-index: 1; }

@keyframes fadeInZoom {
  0% {
    opacity: 0;
    transform: scale(0); }
  100% {
    opacity: 1;
    transform: scale(1); } }
.animation-grad-left {
  overflow: hidden;
  position: relative;
  visibility: visible !important; }

.animation-grad-left:before {
  background: #000;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  opacity: 0.9; }

.fadeInGradLeft:before {
  animation: fadeInGradLeft 0.8s cubic-bezier(0.87, 0, 0.13, 1) forwards; }

@keyframes fadeInGradLeft {
  100% {
    transform: translateX(100%); } }
.animation-grad-right {
  overflow: hidden;
  position: relative;
  visibility: visible !important; }

.animation-grad-right:before {
  background: #000;
  content: '';
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
  opacity: 0.9; }

.fadeInGradRight:before {
  animation: fadeInGradRight 0.8s cubic-bezier(0.87, 0, 0.13, 1) forwards; }

@keyframes fadeInGradRight {
  100% {
    transform: translateX(-100%); } }
.fadeInSlant {
  animation: fadeInSlant 2s ease forwards;
  animation-delay: 0.3s;
  transform-origin: 50% 0% 0px;
  transform: matrix3d(0.996195, 0, 0.0871557, -0.000217889, 0.00759612, 0.996195, -0.0868241, 0.00021706, -0.0868241, 0.0871557, 0.992404, -0.00248101, 0, 90, 0, 1);
  opacity: 0;
  visibility: visible !important; }

@-webkit-keyframes fadeInSlant {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); } }
@keyframes fadeInSlant {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); } }
/* 変数ファイルインポート */
/* モジュール */
/* ブレイクポイント 設定 */
/* モーション */
/* シャドウ */
/* フォントサイズ */
/* フォントファミリー */
@font-face {
  font-family: 'EnFont';
  src: url("../font/din1451alt.ttf"); }
@font-face {
  font-family: 'EnFontB';
  src: url("../font/D-DIN-Bold.ttf"); }
/*////////////////////////////////////////

  モジュール
 
////////////////////////////////////////*/
/* 余白 */
/*
.page_image{
		clip-path:url("#mask-header");
		-webkit-clip-path:url("#mask-header");
}
*/
/*//////////////////////////////

コンポーネントスタイル

//////////////////////////////*/
.page_header_bg {
  background-image: url("../img/common/tateyama_bg.svg");
  background-position: bottom -1px center;
  background-size: 100% auto;
  background-repeat: no-repeat; }

#page_header {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  flex-direction: row-reverse;
  margin: auto;
  margin-top: 20px;
  padding-bottom: 50px;
  max-width: 1700px;
  min-height: 460px; }
  @media only screen and (max-width: 768px) {
    #page_header {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding-bottom: clamp(25px, 5vw, 50px); } }
  @media only screen and (max-width: 1080px) {
    #page_header {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      min-height: unset;
      flex-direction: column;
      margin-top: 0; } }
  #page_header > * {
    width: 180px; }
    @media only screen and (max-width: 1080px) {
      #page_header > * {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        width: 100%; } }
  #page_header > .page_image {
    width: calc(100% - 180px*2);
    object-fit: cover;
    clip-path: url("#mask-header");
    -webkit-clip-path: url("#mask-header"); }
    @media only screen and (max-width: 1080px) {
      #page_header > .page_image {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        width: calc(100% - 40px);
        margin: auto; } }
  #page_header .page_ttl {
    font-size: 50px;
    font-size: 5rem;
    font-family: '小琴 京かな', KokinKyokana;
    color: #3a2420;
    display: flex;
    align-items: center;
    padding-top: 15px;
    padding-right: 10px;
    text-align: left; }
    @media print, screen and (min-width: 1081px) {
      #page_header .page_ttl {
        /*　画面サイズ $pcWidth からはここを読み込む　*/
        writing-mode: vertical-rl; } }
    @media only screen and (max-width: 1080px) {
      #page_header .page_ttl {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        padding-right: 5px;
        padding-top: 2px;
        padding-bottom: 15px;
        justify-content: center;
        height: auto;
        white-space: nowrap; } }
    @media only screen and (max-width: 768px) {
      #page_header .page_ttl {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 33px;
        font-size: 3.3rem; } }

#page_common .page_header_bg,
#page_products .page_header_bg,
#page_privacy .page_header_bg,
#page_contact .page_header_bg {
  background-position: bottom -4vw center;
  background-position: top center; }
  @media only screen and (max-width: 1080px) {
    #page_common .page_header_bg,
    #page_products .page_header_bg,
    #page_privacy .page_header_bg,
    #page_contact .page_header_bg {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      background-position: top center;
      background-size: cover; } }
#page_common #page_header,
#page_products #page_header,
#page_privacy #page_header,
#page_contact #page_header {
  min-height: inherit;
  padding-bottom: 0px;
  height: 12vw; }
  @media only screen and (max-width: 1080px) {
    #page_common #page_header,
    #page_products #page_header,
    #page_privacy #page_header,
    #page_contact #page_header {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      height: auto; } }
  #page_common #page_header > *,
  #page_products #page_header > *,
  #page_privacy #page_header > *,
  #page_contact #page_header > * {
    width: auto; }
#page_common .detail_header img,
#page_products .detail_header img,
#page_privacy .detail_header img,
#page_contact .detail_header img {
  width: 100%; }
#page_common .page_ttl,
#page_products .page_ttl,
#page_privacy .page_ttl,
#page_contact .page_ttl {
  padding-right: 0px;
  writing-mode: horizontal-tb; }

#page_link {
  position: relative;
  display: flex;
  padding: 50px 50px; }
  @media only screen and (max-width: 768px) {
    #page_link {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding: clamp(25px, 5vw, 50px) clamp(25px, 5vw, 50px); } }
  @media only screen and (max-width: 1080px) {
    #page_link {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      padding: 0;
      justify-content: center; } }
  #page_link ul {
    position: absolute;
    min-width: 280px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    z-index: 100; }
    @media print, screen and (min-width: 1081px) {
      #page_link ul {
        /*　画面サイズ $pcWidth からはここを読み込む　*/
        left: 75px;
        bottom: 50px; } }
    @media only screen and (max-width: 1080px) {
      #page_link ul {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        min-width: 50%;
        gap: 10px;
        margin-top: 25px;
        position: relative; } }
    @media only screen and (max-width: 768px) {
      #page_link ul {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 13px;
        font-size: 1.3rem; } }
  #page_link a {
    position: relative;
    top: 0;
    left: 0;
    padding: 0 48px;
    display: block;
    line-height: 56px;
    text-align: center;
    border-radius: 30px;
    white-space: nowrap;
    background-color: #514549;
    background-image: url("../img/common/pagelink.svg");
    background-repeat: no-repeat;
    background-position: right 25px top 50%; }
    #page_link a:link {
      color: #ffffff; }
    #page_link a:visited {
      color: #ffffff; }
    #page_link a:hover {
      color: #ffffff; }
    #page_link a:active {
      color: #ffffff; }
    @media only screen and (max-width: 768px) {
      #page_link a {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        line-height: 40px;
        padding: 0 32px;
        border-radius: 20px;
        background-position: right 15px top 50%;
        background-size: 10px auto; } }
    @media print, screen and (min-width: 1081px) {
      #page_link a {
        /*　画面サイズ $pcWidth からはここを読み込む　*/ }
        #page_link a:hover {
          left: 10px; } }

.outbound_link {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 5px; }
  @media only screen and (max-width: 768px) {
    .outbound_link {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 15px;
      font-size: 1.5rem;
      line-height: 1.4; } }

.main_ttl {
  display: table;
  margin: auto;
  font-size: 42px;
  font-size: 4.2rem;
  font-family: '小琴 京かな', KokinKyokana;
  margin-bottom: 50px;
  color: #3a2420;
  position: relative;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .main_ttl {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: 25px; } }
  @media only screen and (max-width: 768px) {
    .main_ttl {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 26px;
      font-size: 2.6rem;
      line-height: 1.3; } }

body:not(#page_home) .main_ttl {
  color: #222;
  padding: 0 20px; }
  @media only screen and (max-width: 1080px) {
    body:not(#page_home) .main_ttl {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      padding: 0 10px; } }
  body:not(#page_home) .main_ttl:before, body:not(#page_home) .main_ttl:after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 120px;
    height: 1px;
    background: #222;
    top: 0;
    bottom: 0;
    margin: auto; }
    @media only screen and (max-width: 1080px) {
      body:not(#page_home) .main_ttl:before, body:not(#page_home) .main_ttl:after {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        width: 20px; } }
  body:not(#page_home) .main_ttl:before {
    right: 100%; }
  body:not(#page_home) .main_ttl:after {
    left: 100%; }

.vertical_ttl {
  padding-top: 12px;
  writing-mode: vertical-rl;
  color: #3a2420;
  font-family: '小琴 京かな', KokinKyokana;
  font-size: 42px;
  font-size: 4.2rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  margin: auto;
  white-space: nowrap; }
  @media only screen and (max-width: 768px) {
    .vertical_ttl {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 31px;
      font-size: 3.1rem; }
      .vertical_ttl img {
        width: 150px; } }

.round_ttl {
  padding-top: 16px; }

.sub_ttl {
  display: table;
  margin: auto;
  font-size: 36px;
  font-size: 3.6rem;
  color: #3a2420;
  font-family: '小琴 京かな', KokinKyokana;
  margin-bottom: 40px;
  position: relative;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .sub_ttl {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: clamp(20px, 4vw, 40px); } }
  @media only screen and (max-width: 768px) {
    .sub_ttl {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 26px;
      font-size: 2.6rem;
      line-height: 1.3; } }

.btn {
  display: block;
  text-align: center;
  padding: 0px 15px;
  background-color: #f89650;
  line-height: 3.75;
  position: relative;
  overflow: hidden;
  width: 305px;
  max-width: 100%;
  margin: 5px auto;
  background-repeat: no-repeat;
  background-position: center right 23px;
  font-size: 19px;
  font-size: 1.9rem;
  font-family: YakuHanJP, Yu Gothic Pr6N M , sans-serif;
  transition: all 0.3s ease; }
  @media only screen and (max-width: 768px) {
    .btn {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 18px;
      font-size: 1.8rem; } }

.min-btn {
  font-size: 15px;
  font-size: 1.5rem;
  display: flex;
  margin: auto;
  max-width: 300px;
  width: 100%;
  background-color: #514549;
  background-size: auto;
  background-position: left 7.5% center;
  background-repeat: no-repeat;
  line-height: 1;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  padding-left: 30px;
  text-align: center;
  height: 48px;
  border-radius: 24px;
  margin-top: 15px;
  font-family: YakuHanJP, Yu Gothic Pr6N M , sans-serif; }
  @media only screen and (max-width: 768px) {
    .min-btn {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 14px;
      font-size: 1.4rem;
      height: 44px;
      border-radius: 22px;
      background-position: left 15px center;
      max-width: 240px;
      margin-top: 13px; } }
  .min-btn:hover {
    background-color: #f89650; }

.btn_store {
  background-image: url("../img/common/bg_ico_cart.svg");
  background-position: left 7% center; }
  @media only screen and (max-width: 1080px) {
    .btn_store {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      background-position: left 13px center; } }

.btn_recruit {
  background-image: url("../img/common/bg_ico_recruit.svg"); }

.btn_insta {
  background-image: url("../img/common/bg_ico_insta.svg"); }

.bg-color {
  background-color: #f6f0e6; }

/* 変数ファイルインポート */
/* モジュール */
/* ブレイクポイント 設定 */
/* モーション */
/* シャドウ */
/* フォントサイズ */
/* フォントファミリー */
@font-face {
  font-family: 'EnFont';
  src: url("../font/din1451alt.ttf"); }
@font-face {
  font-family: 'EnFontB';
  src: url("../font/D-DIN-Bold.ttf"); }
/*////////////////////////////////////////

  モジュール
 
////////////////////////////////////////*/
/* 余白 */
/*//////////////////////////////

トップページ スタイル

//////////////////////////////*/
#page_home header {
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: space-evenly; }
  @media print, screen and (min-width: 1081px) {
    #page_home header {
      /*　画面サイズ $pcWidth からはここを読み込む　*/
      flex-direction: column;
      width: 330px;
      height: 100%;
      padding: 0px 20px;
      padding-left: 40px;
      padding-bottom: 160px;
      padding-top: 0; }
      #page_home header #logo {
        padding-top: 5vh;
        padding-left: 30px;
        padding-right: 30px; } }
  @media only screen and (max-width: 1080px) {
    #page_home header {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      margin: auto;
      min-width: 100px;
      width: 33%;
      height: 100px;
      left: 0;
      right: 0; } }
  @media only screen and (max-width: 1080px) {
    #page_home header #gnav {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      display: none; } }
  #page_home header #gnav li {
    line-height: 1; }
  #page_home header #gnav a {
    color: #3a2420;
    display: block;
    padding: 1.7vh 0; }
    #page_home header #gnav a:hover, #page_home header #gnav a:active {
      color: #3a2420; }
  @media print, screen and (min-width: 1081px) {
    #page_home header {
      /*　画面サイズ $pcWidth からはここを読み込む　*/ }
      #page_home header #snav {
        width: calc(100% - 40px); }
        #page_home header #snav ul {
          z-index: 99999; }
          #page_home header #snav ul li:first-child a {
            margin-top: 0; } }
  @media only screen and (max-width: 1080px) {
    #page_home header {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/ }
      #page_home header #snav ul {
        display: inline-flex;
        flex-wrap: nowrap;
        justify-content: center;
        gap: 10px;
        align-items: center;
        z-index: 99999;
        position: fixed;
        top: 30px;
        left: 30px; } }
    @media only screen and (max-width: 1080px) and (max-width: 768px) {
      #page_home header #snav ul {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        top: 15px;
        left: 15px;
        gap: 6px; } }
  @media only screen and (max-width: 1080px) {
      #page_home header #snav li a {
        width: 40px;
        height: 40px;
        border-radius: 100%;
        padding: 0;
        margin-top: 0;
        background-position: center; } }
    @media only screen and (max-width: 1080px) and (max-width: 768px) {
      #page_home header #snav li a {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        width: 30px;
        height: 30px;
        background-size: 18px auto; } }
  @media only screen and (max-width: 1080px) {
      #page_home header #snav li span {
        display: none; } }
#page_home #first_view {
  position: relative; }
  @media print, screen and (min-width: 1081px) {
    #page_home #first_view {
      /*　画面サイズ $pcWidth からはここを読み込む　*/
      height: 100vh;
      min-height: 720px; } }
  #page_home #first_view:before {
    content: "";
    position: absolute;
    width: 10%;
    max-width: 80px;
    height: 100%;
    right: 0;
    top: 120px;
    margin: auto;
    background-image: url("../img/common/rice_bg_top01.png");
    background-size: contain;
    background-position: right -15px top 0;
    background-repeat: no-repeat;
    z-index: 1; }
    @media only screen and (max-width: 1080px) {
      #page_home #first_view:before {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        top: 60px; } }
  #page_home #first_view:after {
    content: "";
    position: absolute;
    width: 10%;
    max-width: 85px;
    height: 100%;
    left: 240px;
    top: 0;
    margin: auto;
    background-image: url("../img/common/rice_bg_top02.png");
    background-size: contain;
    background-position: left 0 bottom 30%;
    background-repeat: no-repeat;
    z-index: 1; }
    @media only screen and (max-width: 1080px) {
      #page_home #first_view:after {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        left: 0px; } }
#page_home #hero {
  top: 0;
  left: 0px;
  margin-left: 330px;
  margin-right: 5%;
  display: flex;
  flex-wrap: wrap;
  padding-top: 6vw;
  padding-bottom: 6vw;
  width: calc(100% - 330px - 5%); }
  @media print, screen and (min-width: 1081px) {
    #page_home #hero {
      /*　画面サイズ $pcWidth からはここを読み込む　*/
      position: absolute;
      height: 100vh;
      min-height: 720px; } }
  @media only screen and (max-width: 1080px) {
    #page_home #hero {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      position: relative;
      padding-top: 120px;
      width: calc(100% - 10%);
      margin-left: 5%;
      margin-right: 5%;
      height: auto; } }
  #page_home #hero #hero_image {
    width: 100%;
    height: 100%;
    clip-path: url(#hero-clip);
    -webkit-clip-path: url(#hero-clip);
    z-index: 2; }
    #page_home #hero #hero_image * {
      width: 100%;
      height: 100%; }
    #page_home #hero #hero_image img {
      height: 100% !important;
      object-fit: cover; }
    @media only screen and (max-width: 1080px) {
      #page_home #hero #hero_image .pc_img {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        display: none; } }
    @media print, screen and (min-width: 1081px) {
      #page_home #hero #hero_image .tb_img {
        /*　画面サイズ $pcWidth からはここを読み込む　*/
        display: none; } }
  #page_home #hero .slick-slide img {
    display: unset; }
  #page_home #hero .hero_ttl {
    position: absolute;
    margin-right: 0px;
    z-index: 100;
    min-width: 200px;
    width: 12vw;
    top: 8vh;
    right: 14%; }
    #page_home #hero .hero_ttl img {
      width: 100%; }
    @media only screen and (max-width: 1080px) {
      #page_home #hero .hero_ttl {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        width: 22vw;
        min-width: unset;
        top: 95px; } }
  #page_home #hero .hero_tateyama {
    position: absolute;
    top: 4.5%;
    left: -30px;
    max-width: 48vw;
    z-index: 100; }
    @media only screen and (max-width: 1080px) {
      #page_home #hero .hero_tateyama {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        top: 100px;
        left: 0px; } }
  #page_home #hero .hero_matsu {
    position: absolute;
    bottom: 4%;
    right: -50px;
    max-width: 28vw;
    z-index: 100; }
    @media only screen and (max-width: 1080px) {
      #page_home #hero .hero_matsu {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        bottom: 5px;
        right: 0px; } }
#page_home #news_topic {
  position: absolute;
  bottom: 0;
  margin-top: 0px;
  background-color: #ffffff;
  border-radius: 10px;
  min-width: 430px;
  max-width: 500px;
  left: 40px;
  margin-bottom: 40px;
  display: flex;
  z-index: 100000;
  overflow: hidden; }
  #page_home #news_topic:hover img, #page_home #news_topic:active img {
    transform: scale(1.1); }
  @media only screen and (max-width: 1080px) {
    #page_home #news_topic {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      position: relative;
      width: auto;
      min-width: auto;
      max-width: unset;
      left: 0px;
      border-radius: 5px;
      margin: 50px;
      margin-top: 25px; } }
  @media only screen and (max-width: 1080px) and (max-width: 768px) {
    #page_home #news_topic {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin: clamp(25px, 5vw, 50px); } }
  @media only screen and (max-width: 1080px) and (max-width: 768px) {
    #page_home #news_topic {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-top: clamp(12.5px, 2.5vw, 25px); } }

  #page_home #news_topic .topic_img {
    max-width: 130px;
    height: 100%;
    margin: 12px;
    margin-right: 0px;
    border-radius: 2px;
    overflow: hidden; }
    #page_home #news_topic .topic_img img {
      transition: all 0.5s ease-in-out;
      width: 100%;
      height: 100%;
      object-fit: cover;
      aspect-ratio: 4/3; }
    @media only screen and (max-width: 768px) {
      #page_home #news_topic .topic_img {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        max-width: 25vw;
        max-height: 25vw;
        margin: 7px;
        margin-right: 0px; } }
  #page_home #news_topic .topic_txt {
    display: flex;
    flex-direction: column;
    gap: 2px;
    justify-content: center;
    padding: 10px 23px;
    font-size: 15px;
    font-size: 1.5rem; }
    @media only screen and (max-width: 768px) {
      #page_home #news_topic .topic_txt {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 13px;
        font-size: 1.3rem;
        padding: 0px 13px; } }
  #page_home #news_topic .topic_h {
    line-height: 1.5;
    font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif; }
  #page_home #news_topic time {
    color: #f89650; }
#page_home #special {
  position: relative; }
  #page_home #special .bg01, #page_home #special .bg02, #page_home #special .bg03 {
    position: absolute;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat; }
  #page_home #special .bg01 {
    width: 10%;
    max-width: 120px;
    right: 0;
    bottom: 0;
    background-image: url("../img/common/rice_bg_top04.png");
    background-position: right 0px bottom 35%; }
  #page_home #special .bg02 {
    width: 10%;
    max-width: 130px;
    right: 40%;
    left: 60%;
    top: 0;
    background-image: url("../img/common/rice_bg_top05.png");
    background-position: center top; }
  #page_home #special .bg03 {
    width: 10%;
    max-width: 110px;
    left: 0;
    top: 0;
    background-image: url("../img/common/rice_bg_top06.png");
    background-position: right 0px top 20%; }
  #page_home #special::after {
    content: "";
    display: block;
    background-image: url("../img/common/tateyama_bg.svg");
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat;
    height: 12vw;
    width: 100%; }
  #page_home #special .special_container {
    position: relative; }
    @media only screen and (max-width: 1080px) {
      #page_home #special .special_container {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        padding-top: 0; } }
  #page_home #special .special_banner {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    z-index: 100;
    position: relative;
    gap: 4%; }
    @media only screen and (max-width: 1080px) {
      #page_home #special .special_banner {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        flex-wrap: wrap;
        gap: 4vw; } }
    @media print, screen and (min-width: 1081px) {
      #page_home #special .special_banner .special_h {
        /*　画面サイズ $pcWidth からはここを読み込む　*/
        margin-top: -25px;
        max-width: 60px;
        width: 25%; } }
    @media only screen and (max-width: 1080px) {
      #page_home #special .special_banner .special_h {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        display: none;
        text-align: center;
        width: 100%; }
        #page_home #special .special_banner .special_h img {
          width: 20%;
          max-width: 90px; } }
    #page_home #special .special_banner a {
      width: 100%; }
      @media only screen and (max-width: 1080px) {
        #page_home #special .special_banner a {
          /*　画面サイズ $tbWitdh まではここを読み込む　*/
          width: 30%; } }
    #page_home #special .special_banner a img {
      border-radius: 5%; }
  #page_home #special .special_mura {
    position: absolute;
    bottom: 0;
    left: -20%;
    max-width: 380px;
    width: 40%; }
    @media only screen and (max-width: 1080px) {
      #page_home #special .special_mura {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        width: 32%;
        left: -2%;
        bottom: 10px; } }
#page_home #intro {
  background-color: #ffffff; }
  #page_home #intro .intro_container {
    display: flex;
    align-items: center;
    margin-bottom: -7.5rem;
    grid-gap: 50px;
    gap: 50px; }
    @media only screen and (max-width: 768px) {
      #page_home #intro .intro_container {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        grid-gap: clamp(25px, 5vw, 50px);
        gap: clamp(25px, 5vw, 50px); } }
    @media only screen and (max-width: 1080px) {
      #page_home #intro .intro_container {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        flex-wrap: wrap; } }
    #page_home #intro .intro_container > * {
      flex: 1 1 0; }
      @media only screen and (max-width: 1080px) {
        #page_home #intro .intro_container > * {
          /*　画面サイズ $tbWitdh まではここを読み込む　*/
          flex: 100%; } }
  #page_home #intro .intro_txt {
    background-image: url("../img/home/intro_wave.svg");
    background-repeat: no-repeat;
    background-position: top 40% right 0; }
    @media only screen and (max-width: 1080px) {
      #page_home #intro .intro_txt {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        background-position: top 10% right 0; } }
  #page_home #intro .intro_h {
    font-size: 45px;
    font-size: 4.5rem;
    font-family: '小琴 京かな', KokinKyokana;
    line-height: 1.5; }
    @media only screen and (max-width: 768px) {
      #page_home #intro .intro_h {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 30px;
        font-size: 3rem; } }
  #page_home #intro .intro_p {
    font-family: Yu Mincho Pr6N R;
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 2.5;
    margin-top: 25px; }
    @media only screen and (max-width: 768px) {
      #page_home #intro .intro_p {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 16px;
        font-size: 1.6rem; } }
  #page_home #intro .intro_image {
    position: relative; }
  #page_home #intro .intro_image01 {
    width: 100%;
    height: auto;
    margin: auto;
    margin-bottom: -25%; }
  #page_home #intro .intro_image02 {
    position: relative;
    width: 50%;
    height: auto;
    margin-right: -15%;
    margin-bottom: 25px;
    float: right;
    z-index: 100; }
  #page_home #intro .mura_shillette {
    position: absolute;
    right: 0;
    bottom: 10rem;
    z-index: 200;
    max-width: 331px;
    width: 40%; }
    @media only screen and (max-width: 1080px) {
      #page_home #intro .mura_shillette {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        bottom: 7.5rem; } }
  #page_home #intro::after {
    content: '';
    display: block;
    height: 15rem;
    margin-top: 15rem;
    background-color: #473020;
    clip-path: url(#wave-clip);
    -webkit-clip-path: url(#wave-clip);
    margin-bottom: -2px; }
    @media only screen and (max-width: 1080px) {
      #page_home #intro::after {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        height: 9.99rem;
        margin-top: 9.99rem; } }
#page_home #philosophy {
  background-color: #473020;
  margin-top: -7.5rem;
  background-image: url("../img/home/ine_bg.png");
  background-position: bottom -100px right;
  background-repeat: no-repeat;
  position: relative; }
  #page_home #philosophy .philosophy_container {
    display: flex;
    align-items: center;
    grid-gap: 25px; }
    @media only screen and (max-width: 768px) {
      #page_home #philosophy .philosophy_container {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        grid-gap: clamp(12.5px, 2.5vw, 25px); } }
    @media only screen and (max-width: 1080px) {
      #page_home #philosophy .philosophy_container {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        flex-wrap: wrap; } }
  #page_home #philosophy .philosophy_image {
    z-index: 500;
    flex: 48%; }
    @media only screen and (max-width: 1080px) {
      #page_home #philosophy .philosophy_image {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        flex: 100%; } }
    #page_home #philosophy .philosophy_image img {
      transform: scale(1.5);
      transform-origin: right bottom;
      margin-bottom: -15%; }
      @media only screen and (max-width: 1080px) {
        #page_home #philosophy .philosophy_image img {
          /*　画面サイズ $tbWitdh まではここを読み込む　*/
          margin-bottom: 0;
          margin-top: 9.99rem; } }
  #page_home #philosophy .philosophy_txt {
    color: #fff;
    flex: 52%; }
    @media only screen and (max-width: 1080px) {
      #page_home #philosophy .philosophy_txt {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        flex: 100%; } }
  #page_home #philosophy .philosophy_h {
    font-size: 45px;
    font-size: 4.5rem;
    font-family: '小琴 京かな', KokinKyokana;
    line-height: 1.5; }
    @media only screen and (max-width: 1080px) {
      #page_home #philosophy .philosophy_h {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        font-size: 26px;
        font-size: 2.6rem; } }
  #page_home #philosophy .philosophy_p {
    font-family: Yu Mincho Pr6N R;
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 2.5;
    margin-top: 25px; }
    @media only screen and (max-width: 768px) {
      #page_home #philosophy .philosophy_p {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 16px;
        font-size: 1.6rem; } }
  #page_home #philosophy::after {
    content: "";
    display: table;
    margin: auto;
    margin-top: 2.5rem;
    height: 5rem;
    width: 100%;
    background-image: url("../img/common/wave_ttl_orange.svg");
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: center;
    margin-bottom: -1px; }
    @media only screen and (max-width: 1080px) {
      #page_home #philosophy::after {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        margin-top: 1.25rem;
        height: 2.5rem; } }
#page_home #quality {
  background-color: #f89650;
  background-image: url("../img/home/yellow_rice_bg_top.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top center; }
  #page_home #quality .quality_ttl_wrap {
    background-image: url("../img/home/yellow_rice_bg_bottom.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom 7.5rem center;
    display: flex;
    flex-direction: column; }
    #page_home #quality .quality_ttl_wrap:after {
      content: '';
      display: block;
      height: 15rem;
      background-color: #ebc321;
      clip-path: url(#wave-clip);
      -webkit-clip-path: url(#wave-clip);
      margin-bottom: -2px; }
      @media only screen and (max-width: 1080px) {
        #page_home #quality .quality_ttl_wrap:after {
          /*　画面サイズ $tbWitdh まではここを読み込む　*/
          height: 9.99rem; } }
  #page_home #quality .quality_ttl {
    margin-bottom: 15rem; }
    @media only screen and (max-width: 1080px) {
      #page_home #quality .quality_ttl {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        margin-bottom: 9.99rem; } }
    #page_home #quality .quality_ttl span {
      position: relative; }
      #page_home #quality .quality_ttl span:before, #page_home #quality .quality_ttl span:after {
        position: absolute; }
        @media only screen and (max-width: 768px) {
          #page_home #quality .quality_ttl span:before, #page_home #quality .quality_ttl span:after {
            /*　画面サイズ $spWidth まではここを読み込む　*/
            transform: scale(0.6); } }
      #page_home #quality .quality_ttl span:before {
        content: url("../img/home/quality_ttl_right.png");
        left: 115%;
        top: -10%; }
        @media only screen and (max-width: 768px) {
          #page_home #quality .quality_ttl span:before {
            /*　画面サイズ $spWidth まではここを読み込む　*/
            transform-origin: left; } }
      #page_home #quality .quality_ttl span:after {
        content: url("../img/home/quality_ttl_left.png");
        right: 115%;
        bottom: -10%; }
        @media only screen and (max-width: 768px) {
          #page_home #quality .quality_ttl span:after {
            /*　画面サイズ $spWidth まではここを読み込む　*/
            transform-origin: right; } }
  #page_home #quality .quality_wrap {
    background-color: #ebc321; }
    #page_home #quality .quality_wrap::after {
      content: "";
      display: table;
      margin: auto;
      margin-top: 2.5rem;
      height: 5rem;
      width: 100%;
      background-image: url("../img/common/wave_ttl_beige.svg");
      background-size: auto 100%;
      background-repeat: no-repeat;
      background-position: center;
      margin-bottom: -1px; }
      @media only screen and (max-width: 1080px) {
        #page_home #quality .quality_wrap::after {
          /*　画面サイズ $tbWitdh まではここを読み込む　*/
          margin-top: 1.25rem;
          height: 2.5rem; } }
  #page_home #quality .quality_container {
    padding-top: 50px;
    padding-bottom: 25px; }
    @media only screen and (max-width: 768px) {
      #page_home #quality .quality_container {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding-top: clamp(25px, 5vw, 50px); } }
    @media only screen and (max-width: 768px) {
      #page_home #quality .quality_container {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding-bottom: clamp(12.5px, 2.5vw, 25px); } }
  #page_home #quality .quality_list {
    position: relative;
    z-index: 100;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    grid-gap: 50px;
    gap: 50px; }
    @media only screen and (max-width: 768px) {
      #page_home #quality .quality_list {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        grid-gap: clamp(25px, 5vw, 50px);
        gap: clamp(25px, 5vw, 50px); } }
    @media print, screen and (min-width: 1081px) {
      #page_home #quality .quality_list {
        /*　画面サイズ $pcWidth からはここを読み込む　*/
        margin-top: -30rem; } }
    @media only screen and (max-width: 1080px) {
      #page_home #quality .quality_list {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        margin-top: -18.75rem; } }
    #page_home #quality .quality_list li {
      flex: 1 1 0;
      text-align: center; }
      @media only screen and (max-width: 1080px) {
        #page_home #quality .quality_list li {
          /*　画面サイズ $tbWitdh まではここを読み込む　*/
          flex: 100%; } }
    @media print, screen and (min-width: 1081px) {
      #page_home #quality .quality_list {
        /*　画面サイズ $pcWidth からはここを読み込む　*/ } }
    #page_home #quality .quality_list figure {
      display: flex;
      justify-content: center; }
  #page_home #quality .quality_h {
    font-family: '小琴 京かな', KokinKyokana;
    text-align: center;
    font-size: 32px;
    font-size: 3.2rem;
    color: #3a2420;
    padding: 15px 0;
    display: flex;
    justify-content: center;
    flex-direction: column; }
    @media only screen and (max-width: 768px) {
      #page_home #quality .quality_h {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 26px;
        font-size: 2.6rem; } }
    #page_home #quality .quality_h small {
      display: block;
      position: relative;
      font-size: 70%;
      line-height: 1.5;
      width: fit-content;
      margin: auto;
      /*
      &:before,&:after{
          content: "";
          display: block;
          position: absolute;
          margin: auto;
          width:20px;
          height: 1px;
          background:#000;
      }
      &:before{
      top:0;
      bottom: 0;
      right:100%;
      }
      &:after{
      top:0;
      bottom: 0;
      left:100%;
      }
      */ }
  #page_home #quality .quality_p {
    font-size: 15px;
    font-size: 1.5rem;
    text-align: justify;
    background-color: #fff;
    display: block;
    border: 2px #ebc321 solid;
    outline: 10px solid #fff;
    margin: 10px;
    padding: 25px 25px; }
  @media only screen and (max-width: 768px) {
    #page_home #quality .quality_image {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      max-width: 85%; } }
  #page_home #quality .quality_link {
    font-family: '小琴 京かな', KokinKyokana;
    font-size: 16px;
    font-size: 1.6rem;
    display: flex;
    justify-content: flex-end;
    line-height: 2.5;
    color: #3a2420;
    text-align: right; }
    #page_home #quality .quality_link span {
      display: flex;
      align-items: center; }
    #page_home #quality .quality_link span::before {
      content: "";
      display: inline-block;
      position: relative;
      width: 25px;
      margin-right: 10px;
      height: 1px;
      background-color: #3a2420; }
#page_home #products {
  background-color: #f6f0e6; }
  #page_home #products .products_ttl_wrap {
    display: flex; }
  #page_home #products .products_ttl span {
    position: relative; }
    #page_home #products .products_ttl span:before, #page_home #products .products_ttl span:after {
      position: absolute; }
      @media only screen and (max-width: 768px) {
        #page_home #products .products_ttl span:before, #page_home #products .products_ttl span:after {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          transform: scale(0.6); } }
    #page_home #products .products_ttl span:before {
      content: url("../img/home/products_ttl_right.png");
      left: 115%;
      bottom: -15%; }
      @media only screen and (max-width: 768px) {
        #page_home #products .products_ttl span:before {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          transform-origin: left; } }
    #page_home #products .products_ttl span:after {
      content: url("../img/home/products_ttl_left.png");
      right: 120%;
      top: -5%; }
      @media only screen and (max-width: 768px) {
        #page_home #products .products_ttl span:after {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          transform-origin: right; } }
  #page_home #products .products_container {
    max-width: 1520px;
    padding-top: 50px; }
    @media only screen and (max-width: 768px) {
      #page_home #products .products_container {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding-top: clamp(25px, 5vw, 50px); } }
  #page_home #products .products_list {
    display: flex;
    justify-content: center;
    gap: 50px 75px;
    text-align: center;
    flex-wrap: wrap; }
    @media only screen and (max-width: 1080px) {
      #page_home #products .products_list {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        justify-content: space-between;
        gap: 25px; } }
    #page_home #products .products_list li {
      width: calc(25% - 50px*1.5); }
      @media only screen and (max-width: 1080px) {
        #page_home #products .products_list li {
          /*　画面サイズ $tbWitdh まではここを読み込む　*/
          width: 48%; } }
      @media only screen and (max-width: 768px) {
        #page_home #products .products_list li {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          width: 100%; } }
      #page_home #products .products_list li:hover {
        margin-top: -10px; }
    #page_home #products .products_list figure {
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center; }
      @media only screen and (max-width: 1080px) {
        #page_home #products .products_list figure {
          /*　画面サイズ $tbWitdh まではここを読み込む　*/
          max-width: 70%;
          margin: auto; } }
    #page_home #products .products_list li:nth-child(1) figure {
      background-image: url("../img/home/p_bg07.png"); }
    #page_home #products .products_list li:nth-child(2) figure {
      background-image: url("../img/home/p_bg06.png"); }
    #page_home #products .products_list li:nth-child(3) figure {
      background-image: url("../img/home/p_bg05.png"); }
    #page_home #products .products_list li:nth-child(4) figure {
      background-image: url("../img/home/p_bg04.png"); }
    #page_home #products .products_list li:nth-child(5) figure {
      background-image: url("../img/home/p_bg03.png"); }
    #page_home #products .products_list li:nth-child(6) figure {
      background-image: url("../img/home/p_bg02.png"); }
    #page_home #products .products_list li:nth-child(7) figure {
      background-image: url("../img/home/p_bg01.png"); }
    #page_home #products .products_list li:nth-child(8) figure {
      background-image: url("../img/home/p_bg07.png"); }
    #page_home #products .products_list .products_h {
      width: 100%;
      max-width: 280px;
      margin: auto;
      font-family: '小琴 京かな', KokinKyokana;
      font-size: 22px;
      font-size: 2.2rem;
      background-image: url("../img/home/p_h_bg.jpg");
      background-size: cover;
      padding: 9px 15px;
      padding-bottom: 13px;
      margin-top: 20px;
      margin-bottom: 15px;
      position: relative;
      left: 5px; }
      #page_home #products .products_list .products_h:before {
        content: "";
        display: block;
        position: absolute;
        height: calc(100% - 2px);
        width: calc(100% - 2px);
        border: 2px solid #514549;
        left: -7px;
        top: -7px; }
      #page_home #products .products_list .products_h a {
        color: #fff !important; }
  #page_home #products .products_wrap {
    display: flex;
    align-items: center;
    gap: 1rem; }
    @media only screen and (max-width: 1080px) {
      #page_home #products .products_wrap {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        flex-direction: column; } }
  #page_home #products .products_image_wrap {
    width: 65%; }
    @media only screen and (max-width: 1080px) {
      #page_home #products .products_image_wrap {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        width: 100%; } }
  #page_home #products .products_image {
    text-align: center; }
  #page_home #products .products_cta_wrap {
    width: 35%; }
    @media only screen and (max-width: 1080px) {
      #page_home #products .products_cta_wrap {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        width: 100%; } }
  #page_home #products .products_cta {
    color: #fff;
    background-color: #f89650;
    padding: 2rem;
    text-align: center;
    width: 100%;
    max-width: 380px;
    margin: auto;
    border-radius: 1rem;
    display: block;
    font-size: 110%; }
#page_home #company_recruit {
  color: #fff;
  text-align: center; }
  #page_home #company_recruit a {
    color: #fff !important; }
  #page_home #company_recruit ul {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap; }
  #page_home #company_recruit li {
    flex: 1 1 0;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 20px; }
    @media only screen and (max-width: 1080px) {
      #page_home #company_recruit li {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        flex: 100%; } }
  #page_home #company_recruit .company_link {
    background-image: url("../img/home/company_bg.jpg"); }
  #page_home #company_recruit .recruit_link {
    background-image: url("../img/home/recruit_bg.jpg"); }
  #page_home #company_recruit .cr_h {
    font-family: '小琴 京かな', KokinKyokana;
    font-size: 42px;
    font-size: 4.2rem;
    letter-spacing: 0.1em; }
    @media only screen and (max-width: 768px) {
      #page_home #company_recruit .cr_h {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 28px;
        font-size: 2.8rem; } }
    #page_home #company_recruit .cr_h::after {
      content: "";
      display: table;
      width: 100px;
      border-top: 2px solid #fff;
      margin: auto;
      margin-top: 10px;
      margin-bottom: 25px; }
      @media only screen and (max-width: 768px) {
        #page_home #company_recruit .cr_h::after {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          margin-bottom: clamp(12.5px, 2.5vw, 25px); } }
  #page_home #company_recruit .cr_p {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.8;
    padding-left: 50px;
    padding-right: 50px; }
    @media only screen and (max-width: 768px) {
      #page_home #company_recruit .cr_p {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding-left: clamp(25px, 5vw, 50px); } }
    @media only screen and (max-width: 768px) {
      #page_home #company_recruit .cr_p {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding-right: clamp(25px, 5vw, 50px); } }
    @media only screen and (max-width: 768px) {
      #page_home #company_recruit .cr_p {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 16px;
        font-size: 1.6rem; } }
  #page_home #company_recruit .top_bg, #page_home #company_recruit .bottom_bg {
    height: 100px;
    display: flex;
    flex-wrap: nowrap; }
    @media only screen and (max-width: 1080px) {
      #page_home #company_recruit .top_bg, #page_home #company_recruit .bottom_bg {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        height: 30px; } }
    #page_home #company_recruit .top_bg span, #page_home #company_recruit .bottom_bg span {
      background-repeat: no-repeat; }
    #page_home #company_recruit .top_bg span:nth-child(1), #page_home #company_recruit .bottom_bg span:nth-child(1) {
      width: 100px; }
    #page_home #company_recruit .top_bg span:nth-child(2), #page_home #company_recruit .bottom_bg span:nth-child(2) {
      width: 100%; }
    #page_home #company_recruit .top_bg span:nth-child(3), #page_home #company_recruit .bottom_bg span:nth-child(3) {
      width: 100px; }
  #page_home #company_recruit .top_bg span:nth-child(1) {
    background-image: url("../img/home/b_tl.svg");
    background-position: left top; }
  #page_home #company_recruit .top_bg span:nth-child(2) {
    background-image: url("../img/home/b_t.svg");
    background-repeat: repeat-x;
    background-position: top; }
  #page_home #company_recruit .top_bg span:nth-child(3) {
    background-image: url("../img/home/b_tr.svg");
    background-position: right top; }
  #page_home #company_recruit .bottom_bg span:nth-child(1) {
    background-image: url("../img/home/b_bl.svg");
    background-position: left bottom; }
  #page_home #company_recruit .bottom_bg span:nth-child(2) {
    background-image: url("../img/home/b_b.svg");
    background-repeat: repeat-x;
    background-position: bottom; }
  #page_home #company_recruit .bottom_bg span:nth-child(3) {
    background-image: url("../img/home/b_br.svg");
    background-position: right bottom; }
  #page_home #company_recruit .mid_bg {
    background-image: url("../img/home/b_l.svg"), url("../img/home/b_r.svg");
    background-position: left center, right center;
    background-repeat: repeat-y; }
#page_home #news {
  background-image: url("../img/home/news_bg.jpg"); }
  #page_home #news .news_container {
    position: relative; }
  #page_home #news .news_ttl {
    margin-bottom: 30px; }
    @media only screen and (max-width: 768px) {
      #page_home #news .news_ttl {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        margin-bottom: 15px; } }
  #page_home #news .news_list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 25px; }
    @media only screen and (max-width: 768px) {
      #page_home #news .news_list {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        grid-gap: clamp(12.5px, 2.5vw, 25px); } }
    @media only screen and (max-width: 768px) {
      #page_home #news .news_list {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        grid-template-columns: 1fr; } }
    #page_home #news .news_list li {
      padding: 10px;
      flex: 1 1 0;
      background-color: #fff;
      border-radius: 5px; }
      @media only screen and (max-width: 768px) {
        #page_home #news .news_list li {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          display: flex;
          align-items: center; } }
      #page_home #news .news_list li .news_img {
        overflow: hidden;
        border-radius: 2px;
        width: 100%;
        aspect-ratio: 3.5/2.4; }
        @media only screen and (max-width: 768px) {
          #page_home #news .news_list li .news_img {
            /*　画面サイズ $spWidth まではここを読み込む　*/
            width: 30%; } }
        #page_home #news .news_list li .news_img img {
          transition: all 0.5s ease-in-out;
          object-fit: cover;
          width: 100%;
          height: 100%;
          transform-origin: center; }
      @media only screen and (max-width: 768px) {
        #page_home #news .news_list li .news_txt {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          width: 70%;
          font-size: 12px;
          font-size: 1.2rem;
          line-height: normal; } }
      #page_home #news .news_list li:hover, #page_home #news .news_list li:active {
        box-shadow: 0px 0px 5px 3px rgba(226, 83, 0, 0.1);
        box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1); }
        @media only screen and (max-width: 768px) {
          #page_home #news .news_list li:hover, #page_home #news .news_list li:active {
            /*　画面サイズ $spWidth まではここを読み込む　*/
            box-shadow: 0px 0px 5px 3px rgba(226, 83, 0, 0.1);
            box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1); } }
        #page_home #news .news_list li:hover img, #page_home #news .news_list li:active img {
          transform: scale(1.1); }
      #page_home #news .news_list li .news_h {
        font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif;
        padding: 15px;
        padding-bottom: 2px; }
        @media only screen and (max-width: 768px) {
          #page_home #news .news_list li .news_h {
            /*　画面サイズ $spWidth まではここを読み込む　*/
            padding-top: 0px; } }
      #page_home #news .news_list li time {
        display: block;
        padding: 15px;
        padding-top: 0px;
        padding-bottom: 7px;
        color: #f89650; }
        @media only screen and (max-width: 768px) {
          #page_home #news .news_list li time {
            /*　画面サイズ $spWidth まではここを読み込む　*/
            padding-bottom: 0px; } }
  #page_home #news .all-btn {
    display: table;
    width: 220px;
    text-align: center;
    margin: auto;
    line-height: 2.75;
    background-color: #3a2420;
    border: 1px solid rgba(255, 255, 255, 0.3);
    outline: 3px solid #3a2420;
    padding: 0 20px;
    color: #fff !important;
    margin-top: 50px; }
    @media only screen and (max-width: 768px) {
      #page_home #news .all-btn {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        margin-top: clamp(25px, 5vw, 50px); } }
  #page_home #news::after {
    content: "";
    display: table;
    margin: auto;
    margin-top: 2.5rem;
    height: 5rem;
    width: 100%;
    background-image: url("../img/common/wave_ttl_wh.svg");
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: center;
    margin-bottom: -1px; }
    @media only screen and (max-width: 1080px) {
      #page_home #news::after {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        margin-top: 1.25rem;
        height: 2.5rem; } }
#page_home #instagram {
  background-color: #fff; }
  #page_home #instagram .instagram_container {
    padding-top: 25px;
    z-index: 100;
    position: relative;
    padding-bottom: 15vw; }
    @media only screen and (max-width: 768px) {
      #page_home #instagram .instagram_container {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding-top: clamp(12.5px, 2.5vw, 25px); } }
  #page_home #instagram .instagram_ttl {
    max-width: 195px; }
    @media only screen and (max-width: 768px) {
      #page_home #instagram .instagram_ttl {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        width: 40%; } }
  #page_home #instagram .instagram_link {
    font-size: 20px;
    font-size: 2rem; }
  #page_home #instagram .instagram_list {
    display: flex;
    gap: 15px;
    flex-wrap: nowrap;
    position: relative;
    z-index: 100; }
    #page_home #instagram .instagram_list li {
      width: 100%; }
    #page_home #instagram .instagram_list img {
      width: 100%;
      height: 100%;
      aspect-ratio: 1/1;
      object-fit: cover; }
  #page_home #instagram #footer_image {
    position: absolute;
    height: 35vw;
    width: 100%;
    margin-top: -30vw;
    z-index: 1; }
    #page_home #instagram #footer_image li {
      height: 40vw; }
    #page_home #instagram #footer_image .sankyo01 {
      background-size: cover;
      background-position: bottom center;
      background-repeat: no-repeat;
      background-image: url("../img/home/sankyo_bg01.jpg"); }
    #page_home #instagram #footer_image .sankyo02 {
      background-size: cover;
      background-position: bottom center;
      background-repeat: no-repeat;
      background-image: url("../img/home/sankyo_bg02.jpg"); }
    #page_home #instagram #footer_image .sankyo03 {
      background-size: cover;
      background-position: bottom center;
      background-repeat: no-repeat;
      background-image: url("../img/home/sankyo_bg03.jpg"); }

/* 変数ファイルインポート */
/* モジュール */
/* ブレイクポイント 設定 */
/* モーション */
/* シャドウ */
/* フォントサイズ */
/* フォントファミリー */
@font-face {
  font-family: 'EnFont';
  src: url("../font/din1451alt.ttf"); }
@font-face {
  font-family: 'EnFontB';
  src: url("../font/D-DIN-Bold.ttf"); }
/*////////////////////////////////////////

  モジュール
 
////////////////////////////////////////*/
/* 余白 */
/*//////////////////////////////

スタイル

//////////////////////////////*/
#page_quality #omoi {
  position: relative;
  max-width: 1600px;
  margin: auto; }
  #page_quality #omoi .omoi_bg {
    position: absolute;
    margin: auto;
    z-index: 100; }
    @media only screen and (max-width: 1080px) {
      #page_quality #omoi .omoi_bg {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        display: none; } }
  #page_quality #omoi .l_1 {
    top: 30%;
    left: 10%;
    max-width: 18vw; }
  #page_quality #omoi .l_2 {
    top: 50%;
    left: -2%;
    max-width: 20vw; }
  #page_quality #omoi .l_3 {
    bottom: -5%;
    left: 5%;
    max-width: 20vw; }
  #page_quality #omoi .r_1 {
    top: 5%;
    right: -3%;
    max-width: 20vw; }
  #page_quality #omoi .r_2 {
    top: 30%;
    right: 5%;
    max-width: 20vw; }
  #page_quality #omoi .r_3 {
    bottom: -9%;
    right: 3%;
    max-width: 20vw; }
  #page_quality #omoi .r_4 {
    top: 104%;
    right: 0%;
    max-width: 17vw; }
  #page_quality #omoi .omoi_container {
    text-align: center;
    position: relative;
    z-index: 9999; }
  #page_quality #omoi .omoi_txt {
    margin-top: 25px;
    line-height: 2.4; }
    @media only screen and (max-width: 768px) {
      #page_quality #omoi .omoi_txt {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        margin-top: clamp(12.5px, 2.5vw, 25px); } }
    @media only screen and (max-width: 1080px) {
      #page_quality #omoi .omoi_txt {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        line-height: 2;
        text-align: justify; } }
  #page_quality #omoi::after {
    content: "";
    display: table;
    margin: auto;
    margin-top: 2.5rem;
    height: 5rem;
    width: 100%;
    background-image: url("../img/common/wave_ttl_beige.svg");
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: center;
    margin-bottom: -1px; }
    @media only screen and (max-width: 1080px) {
      #page_quality #omoi::after {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        margin-top: 1.25rem;
        height: 2.5rem; } }
#page_quality #sozai::after {
  content: "";
  display: table;
  margin: auto;
  margin-top: 2.5rem;
  height: 5rem;
  width: 100%;
  background-image: url("../img/common/wave_ttl_wh.svg");
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center;
  margin-bottom: -1px; }
  @media only screen and (max-width: 1080px) {
    #page_quality #sozai::after {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      margin-top: 1.25rem;
      height: 2.5rem; } }
#page_quality #sozai .sozai_h {
  font-size: 36px;
  font-size: 3.6rem;
  font-family: '小琴 京かな', KokinKyokana;
  color: #3a2420;
  display: table;
  margin: auto;
  text-align: center;
  background-image: url("../img/common/ttl_border.png");
  background-repeat: no-repeat;
  background-size: 100% 15%;
  background-position: bottom;
  padding-bottom: 10px;
  margin-bottom: 25px; }
  @media only screen and (max-width: 768px) {
    #page_quality #sozai .sozai_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: clamp(12.5px, 2.5vw, 25px); } }
  @media print, screen and (min-width: 1081px) {
    #page_quality #sozai .sozai_h {
      /*　画面サイズ $pcWidth からはここを読み込む　*/
      margin-top: 15px; } }
  @media only screen and (max-width: 768px) {
    #page_quality #sozai .sozai_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 24px;
      font-size: 2.4rem; } }
  #page_quality #sozai .sozai_h small {
    display: block;
    line-height: 1; }
#page_quality #sozai .sozai_txt {
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 2.2;
  text-align: justify; }
  @media only screen and (max-width: 768px) {
    #page_quality #sozai .sozai_txt {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 16px;
      font-size: 1.6rem; } }
#page_quality #sozai .sozai_image {
  position: relative; }
#page_quality #sozai .sozai_image01,
#page_quality #sozai .sozai_image03 {
  width: 90%;
  height: auto;
  margin: auto;
  margin-bottom: -25%; }
#page_quality #sozai .sozai_image03 {
  float: right; }
#page_quality #sozai .sozai_image02,
#page_quality #sozai .sozai_image04 {
  position: relative;
  width: 50%;
  height: auto;
  z-index: 100; }
#page_quality #sozai .sozai_image02 {
  margin-right: -15%;
  float: right; }
#page_quality #sozai .sozai_image04 {
  margin-left: -15%;
  float: left; }
#page_quality #sozai .sozai_list {
  background: #fff;
  border-radius: 15px;
  padding: 50px 50px;
  margin-top: 50px; }
  @media only screen and (max-width: 768px) {
    #page_quality #sozai .sozai_list {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding: clamp(25px, 5vw, 50px) clamp(25px, 5vw, 50px); } }
  @media only screen and (max-width: 768px) {
    #page_quality #sozai .sozai_list {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-top: clamp(25px, 5vw, 50px); } }
#page_quality #sozai .sozai_list_h {
  font-size: 32px;
  font-size: 3.2rem;
  font-family: '小琴 京かな', KokinKyokana;
  text-align: center;
  margin-top: 10px; }
  @media only screen and (max-width: 768px) {
    #page_quality #sozai .sozai_list_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 22px;
      font-size: 2.2rem; } }
  #page_quality #sozai .sozai_list_h.shiroebi {
    color: #cf1f12; }
  #page_quality #sozai .sozai_list_h.tamanegi {
    color: #c97a00; }
  #page_quality #sozai .sozai_list_h.konbu {
    color: #286446; }
  #page_quality #sozai .sozai_list_h.kuromame {
    color: #000000; }
  #page_quality #sozai .sozai_list_h.kokuto {
    color: #5a300a; }
  #page_quality #sozai .sozai_list_h.gobou {
    color: #8e4e21; }
#page_quality #sozai .sozai_row {
  position: relative; }
#page_quality #sozai .sozai_row:before {
  position: absolute; }
#page_quality #sozai .sozai_row:nth-child(1):before {
  content: url("../img/quality/sozai_bg_ine.png");
  left: 95%;
  top: 0;
  margin-top: -5%; }
  @media only screen and (max-width: 768px) {
    #page_quality #sozai .sozai_row:nth-child(1):before {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      left: 30%;
      height: auto; } }
#page_quality #sozai .sozai_row:nth-child(2):before {
  content: url("../img/quality/sozai_bg_nami.png");
  right: 95%;
  top: 0;
  margin-top: -5%; }
  @media only screen and (max-width: 768px) {
    #page_quality #sozai .sozai_row:nth-child(2):before {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      right: 30%;
      height: auto; } }
#page_quality #sozai .sozai_list {
  position: relative; }
#page_quality #sozai .sozai_list:before {
  position: absolute;
  content: url("../img/quality/sozai_bg_ebi.png");
  left: 88%;
  top: 0;
  margin-top: -18%;
  z-index: -1; }
#page_quality #sozai .sozai_list:after {
  position: absolute;
  content: url("../img/quality/sozai_bg_konbu.png");
  right: 95%;
  bottom: 25%;
  z-index: -1; }
#page_quality #seihou .seihou_row {
  border-top: 1px solid #222;
  padding-top: 50px; }
  @media only screen and (max-width: 768px) {
    #page_quality #seihou .seihou_row {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding-top: clamp(25px, 5vw, 50px); } }
#page_quality #seihou .seihou_row + .seihou_row {
  margin-top: 120px; }
  @media only screen and (max-width: 1080px) {
    #page_quality #seihou .seihou_row + .seihou_row {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      margin-top: 60px; } }
#page_quality #seihou .seihou_image_wrap {
  display: flex;
  flex-wrap: nowrap;
  grid-gap: 50px;
  gap: 50px; }
  @media only screen and (max-width: 768px) {
    #page_quality #seihou .seihou_image_wrap {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      grid-gap: clamp(25px, 5vw, 50px);
      gap: clamp(25px, 5vw, 50px); } }
  #page_quality #seihou .seihou_image_wrap img {
    max-width: 100%;
    vertical-align: middle; }
  #page_quality #seihou .seihou_image_wrap .seihou_ttl {
    flex: 1; }
    @media print, screen and (min-width: 1081px) {
      #page_quality #seihou .seihou_image_wrap .seihou_ttl {
        /*　画面サイズ $pcWidth からはここを読み込む　*/ }
        #page_quality #seihou .seihou_image_wrap .seihou_ttl img {
          margin-top: -120px;
          margin-left: -25px;
          outline: 50px solid #fff;
          background: #fff; } }
  #page_quality #seihou .seihou_image_wrap .seihou_image {
    flex: 4; }
    #page_quality #seihou .seihou_image_wrap .seihou_image img {
      margin-bottom: 25px; }
      @media only screen and (max-width: 768px) {
        #page_quality #seihou .seihou_image_wrap .seihou_image img {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          margin-bottom: clamp(12.5px, 2.5vw, 25px); } }
#page_quality #seihou .seihou_txt_wrap .seihou_txt {
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 2;
  text-align: justify; }
  @media only screen and (max-width: 768px) {
    #page_quality #seihou .seihou_txt_wrap .seihou_txt {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 16px;
      font-size: 1.6rem; } }
#page_quality #seihou .seihou_txt_wrap .seihou_point {
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
  grid-gap: 50px;
  gap: 50px; }
  @media only screen and (max-width: 768px) {
    #page_quality #seihou .seihou_txt_wrap .seihou_point {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-top: clamp(25px, 5vw, 50px); } }
  @media only screen and (max-width: 768px) {
    #page_quality #seihou .seihou_txt_wrap .seihou_point {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      grid-gap: clamp(25px, 5vw, 50px);
      gap: clamp(25px, 5vw, 50px); } }
  #page_quality #seihou .seihou_txt_wrap .seihou_point li {
    width: 100%;
    border-radius: 20px;
    margin-left: 30px;
    background: #f6f0e6;
    font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif;
    position: relative;
    display: flex;
    align-items: flex-start;
    padding: 30px;
    padding-left: 13%;
    gap: 20px; }
    @media only screen and (max-width: 1080px) {
      #page_quality #seihou .seihou_txt_wrap .seihou_point li {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        padding: 20px;
        padding-left: 40px; } }
    @media only screen and (max-width: 768px) {
      #page_quality #seihou .seihou_txt_wrap .seihou_point li {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 15px;
        font-size: 1.5rem;
        flex-direction: column;
        gap: 15px; } }
    #page_quality #seihou .seihou_txt_wrap .seihou_point li b {
      display: block;
      color: #3a2420;
      font-family: YakuHanJP, Yu Gothic Pr6N B , sans-serif;
      font-size: 18px;
      font-size: 1.8rem;
      margin-bottom: 4px; }
  #page_quality #seihou .seihou_txt_wrap .seihou_point li:before {
    content: "";
    position: absolute;
    display: inline-block;
    top: -15px;
    left: -30px;
    width: 17%;
    min-width: 60px;
    height: 100%;
    aspect-ratio: 1 / 1;
    background-size: contain;
    background-repeat: no-repeat; }
    @media only screen and (max-width: 1080px) {
      #page_quality #seihou .seihou_txt_wrap .seihou_point li:before {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        width: 40px; } }
  #page_quality #seihou .seihou_txt_wrap .seihou_point li:nth-child(1):before {
    background-image: url("../img/quality/point1.png"); }
  #page_quality #seihou .seihou_txt_wrap .seihou_point li:nth-child(2):before {
    background-image: url("../img/quality/point2.png"); }
  #page_quality #seihou .seihou_txt_wrap .seihou_point li:nth-child(3):before {
    background-image: url("../img/quality/point3.png"); }

/* 変数ファイルインポート */
/* モジュール */
/* ブレイクポイント 設定 */
/* モーション */
/* シャドウ */
/* フォントサイズ */
/* フォントファミリー */
@font-face {
  font-family: 'EnFont';
  src: url("../font/din1451alt.ttf"); }
@font-face {
  font-family: 'EnFontB';
  src: url("../font/D-DIN-Bold.ttf"); }
/*////////////////////////////////////////

  モジュール
 
////////////////////////////////////////*/
/* 余白 */
/*//////////////////////////////

スタイル

//////////////////////////////*/
@media print, screen and (min-width: 1081px) {
  #page_beika p {
    /*　画面サイズ $pcWidth からはここを読み込む　*/
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 2; } }
#page_beika .yurai_wrap {
  border-radius: 30px;
  padding: 80px; }
  #page_beika .yurai_wrap figure {
    display: flex;
    justify-content: center;
    align-items: center; }
  @media only screen and (max-width: 1080px) {
    #page_beika .yurai_wrap {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      border-radius: 20px;
      padding: 25px; } }
#page_beika .yurai_h {
  display: table;
  margin: auto;
  color: #3a2420;
  font-size: 28px;
  font-size: 2.8rem;
  font-family: Yu Mincho Pr6N M;
  padding-top: 20px;
  padding-bottom: 10px;
  margin-bottom: 20px;
  background-image: url("../img/common/ttl_border.png");
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 100% 15%; }
  @media only screen and (max-width: 768px) {
    #page_beika .yurai_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 23px;
      font-size: 2.3rem; } }
#page_beika .yurai_txt {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: inherit; }
#page_beika .warm {
  color: #f89650;
  font-family: YakuHanJP, Yu Gothic Pr6N B , sans-serif; }
#page_beika .cold {
  color: #6c926d;
  font-family: YakuHanJP, Yu Gothic Pr6N B , sans-serif; }
#page_beika blockquote {
  font-size: 14px;
  font-size: 1.4rem;
  margin-top: 15px;
  text-align: right; }
#page_beika .flow_okaki_wrap,
#page_beika .flow_senbei_wrap {
  position: relative; }
#page_beika .okaki_illust,
#page_beika .senbei_illust {
  position: absolute;
  bottom: 75%;
  max-width: 15vw; }
#page_beika .okaki_illust {
  left: 85%; }
#page_beika .senbei_illust {
  right: 85%; }

/* 変数ファイルインポート */
/* モジュール */
/* ブレイクポイント 設定 */
/* モーション */
/* シャドウ */
/* フォントサイズ */
/* フォントファミリー */
@font-face {
  font-family: 'EnFont';
  src: url("../font/din1451alt.ttf"); }
@font-face {
  font-family: 'EnFontB';
  src: url("../font/D-DIN-Bold.ttf"); }
/*////////////////////////////////////////

  モジュール
 
////////////////////////////////////////*/
/* 余白 */
/*//////////////////////////////

スタイル

//////////////////////////////*/
#page_safe #making .making_h {
  font-family: Yu Mincho Pr6N M;
  font-size: 30px;
  font-size: 3rem;
  color: #3a2420;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    #page_safe #making .making_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 20px;
      font-size: 2rem; } }
#page_safe #making .making_jfsm {
  padding: 50px 50px; }
  @media only screen and (max-width: 768px) {
    #page_safe #making .making_jfsm {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding: clamp(25px, 5vw, 50px) clamp(25px, 5vw, 50px); } }
#page_safe #making .making_txt {
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 2;
  margin: auto; }
  @media only screen and (max-width: 768px) {
    #page_safe #making .making_txt {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 16px;
      font-size: 1.6rem; } }
#page_safe #attempt .attempt_list {
  display: grid;
  gap: 50px;
  grid-template-columns: 1fr 1fr; }
  @media only screen and (max-width: 768px) {
    #page_safe #attempt .attempt_list {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      grid-template-columns: 1fr; } }
  #page_safe #attempt .attempt_list li {
    background-color: #fff;
    border-radius: 15px;
    overflow: hidden; }
#page_safe #attempt .attempt_txt_wrap {
  padding: 50px 50px;
  padding-top: 25px; }
  @media only screen and (max-width: 768px) {
    #page_safe #attempt .attempt_txt_wrap {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding: clamp(25px, 5vw, 50px) clamp(25px, 5vw, 50px); } }
  @media only screen and (max-width: 768px) {
    #page_safe #attempt .attempt_txt_wrap {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding-top: clamp(12.5px, 2.5vw, 25px); } }
#page_safe #attempt .attempt_h {
  font-size: 29px;
  font-size: 2.9rem;
  font-family: Yu Mincho Pr6N D;
  color: #3a2420;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    #page_safe #attempt .attempt_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 23px;
      font-size: 2.3rem; } }
  #page_safe #attempt .attempt_h:after {
    content: "";
    display: block;
    height: 7px;
    margin-top: 8px;
    background-image: url("../img/safe/attempt_border.jpg");
    background-repeat: no-repeat;
    background-size: 100% 7px;
    background-position: bottom; }
#page_safe #attempt .attempt_txt {
  padding-top: 20px; }
#page_safe main::after {
  background-color: #f6f0e6; }

/* 変数ファイルインポート */
/* モジュール */
/* ブレイクポイント 設定 */
/* モーション */
/* シャドウ */
/* フォントサイズ */
/* フォントファミリー */
@font-face {
  font-family: 'EnFont';
  src: url("../font/din1451alt.ttf"); }
@font-face {
  font-family: 'EnFontB';
  src: url("../font/D-DIN-Bold.ttf"); }
/*////////////////////////////////////////

  モジュール
 
////////////////////////////////////////*/
/* 余白 */
/*//////////////////////////////

 スタイル

//////////////////////////////*/
#page_company #philosophy .philosophy_h {
  font-size: 30px;
  font-size: 3rem;
  font-family: Yu Mincho Pr6N R;
  line-height: 1.6;
  margin-top: 50px; }
  @media only screen and (max-width: 768px) {
    #page_company #philosophy .philosophy_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-top: clamp(25px, 5vw, 50px); } }
  @media only screen and (max-width: 768px) {
    #page_company #philosophy .philosophy_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 20px;
      font-size: 2rem; } }
#page_company #philosophy .philosophy_image {
  max-width: 60%; }
#page_company #philosophy .greeting_bg {
  background-image: url("../img/company/greeting_bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }
#page_company #philosophy .greeting_wrap {
  font-family: Yu Gothic Pr6N M , sans-serif;
  background-color: #fff;
  margin: auto;
  padding: 50px 50px; }
  @media only screen and (max-width: 768px) {
    #page_company #philosophy .greeting_wrap {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding: clamp(25px, 5vw, 50px) clamp(25px, 5vw, 50px); } }
  @media print, screen and (min-width: 1081px) {
    #page_company #philosophy .greeting_wrap {
      /*　画面サイズ $pcWidth からはここを読み込む　*/
      max-width: 1050px;
      line-height: 2.4; } }
#page_company #philosophy .greeting_h {
  font-size: 40px;
  font-size: 4rem;
  font-family: '小琴 京かな', KokinKyokana;
  line-height: 1.5;
  display: inline-block;
  letter-spacing: 0.1em;
  padding-bottom: 2px;
  border-bottom: 3px solid #f89650;
  text-align: center;
  display: block;
  margin: auto;
  width: fit-content;
  margin-bottom: 25px; }
  @media only screen and (max-width: 768px) {
    #page_company #philosophy .greeting_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 24px;
      font-size: 2.4rem; } }
#page_company #philosophy .greeting_from {
  font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif;
  display: flex;
  justify-content: flex-end;
  align-items: center; }
  @media print, screen and (min-width: 1081px) {
    #page_company #philosophy .greeting_from {
      /*　画面サイズ $pcWidth からはここを読み込む　*/
      margin-top: 5px; } }
  @media only screen and (max-width: 1080px) {
    #page_company #philosophy .greeting_from {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      margin-top: 15px; } }
  #page_company #philosophy .greeting_from b {
    font-size: 28px;
    font-size: 2.8rem;
    font-family: '小琴 京かな', KokinKyokana; }
    @media only screen and (max-width: 768px) {
      #page_company #philosophy .greeting_from b {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 22px;
        font-size: 2.2rem; } }
#page_company #profile .profile_list {
  display: grid;
  grid-template-columns: auto auto; }
  #page_company #profile .profile_list dt, #page_company #profile .profile_list dd {
    border-bottom: 1px solid #a8a2a4;
    padding: 25px 25px; }
    @media only screen and (max-width: 768px) {
      #page_company #profile .profile_list dt, #page_company #profile .profile_list dd {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding: clamp(12.5px, 2.5vw, 25px) clamp(12.5px, 2.5vw, 25px); } }
  #page_company #profile .profile_list dt {
    font-family: YakuHanJP, Yu Gothic Pr6N B , sans-serif; }
#page_company #profile .order_ttl {
  color: #3a2420;
  display: block;
  margin: auto;
  width: 30%;
  min-width: 180px;
  text-align: center;
  font-size: 27px;
  font-size: 2.7rem;
  font-family: YakuHanJP, Yu Gothic Pr6N B , sans-serif;
  background-image: url("../img/company/order_bg.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  padding-top: 35px;
  padding-bottom: 0px;
  line-height: 1; }
  @media only screen and (max-width: 768px) {
    #page_company #profile .order_ttl {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 21px;
      font-size: 2.1rem; } }
#page_company #profile .order_wrap {
  background: #e5dfd8;
  padding: 30px;
  display: flex;
  text-align: center;
  border-radius: 15px;
  gap: 25px; }
  @media only screen and (max-width: 768px) {
    #page_company #profile .order_wrap {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      flex-direction: column;
      gap: 20px;
      padding: 20px; } }
  #page_company #profile .order_wrap li {
    background: #fff;
    flex: 1;
    padding: 30px; }
    @media only screen and (max-width: 768px) {
      #page_company #profile .order_wrap li {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding: 20px; } }
#page_company #profile .order_h {
  font-size: 24px;
  font-size: 2.4rem;
  margin-bottom: 5px; }
  @media only screen and (max-width: 768px) {
    #page_company #profile .order_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 19px;
      font-size: 1.9rem; } }
#page_company #history .history_list {
  position: relative;
  height: 100%; }
  #page_company #history .history_list:before {
    content: "";
    display: block;
    background-color: #a8a2a4;
    height: calc(100% - 20px);
    width: 1px;
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    z-index: 99; }
    @media only screen and (max-width: 768px) {
      #page_company #history .history_list:before {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        right: unset; } }
  #page_company #history .history_list li {
    position: relative; }
  @media print, screen and (min-width: 768px) {
    #page_company #history .history_list li:last-child {
      /*　$spWidth 以上はここを読み込む　*/
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0; } }
  #page_company #history .history_list li:last-child .history_txt {
    padding-bottom: 0; }
  #page_company #history .history_list .history_txt {
    width: 50%;
    float: right;
    clear: right;
    position: relative;
    display: flex;
    padding-bottom: 25px; }
    @media only screen and (max-width: 768px) {
      #page_company #history .history_list .history_txt {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding-bottom: clamp(12.5px, 2.5vw, 25px); } }
    @media only screen and (max-width: 1080px) {
      #page_company #history .history_list .history_txt {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        flex-direction: column; } }
    @media only screen and (max-width: 768px) {
      #page_company #history .history_list .history_txt {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        width: 100%; } }
    #page_company #history .history_list .history_txt .history_h {
      min-width: 200px;
      color: #3a2420;
      padding-left: 30px; }
      @media only screen and (max-width: 768px) {
        #page_company #history .history_list .history_txt .history_h {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          font-size: 18px;
          font-size: 1.8rem; } }
      #page_company #history .history_list .history_txt .history_h:before {
        content: "";
        display: inline-block;
        background-color: #f89650;
        height: 12px;
        width: 12px;
        border-radius: 8px;
        top: 0;
        position: relative;
        z-index: 100;
        margin-left: -36.5px;
        margin-right: 24px; }
        @media only screen and (max-width: 768px) {
          #page_company #history .history_list .history_txt .history_h:before {
            /*　画面サイズ $spWidth まではここを読み込む　*/
            margin-right: 15px; } }
    @media only screen and (max-width: 1080px) {
      #page_company #history .history_list .history_txt p {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        padding-left: 30px; } }
    @media only screen and (max-width: 768px) {
      #page_company #history .history_list .history_txt p {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding-left: 20px; } }
    #page_company #history .history_list .history_txt p img {
      margin-top: 15px;
      margin-bottom: 15px; }
  #page_company #history .history_list .history_photo {
    position: relative;
    background-color: #fff;
    overflow: hidden;
    border-radius: 6px;
    box-shadow: 0px 0px 5px 3px rgba(226, 83, 0, 0.1);
    box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1);
    width: 21%; }
    @media only screen and (max-width: 768px) {
      #page_company #history .history_list .history_photo {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        box-shadow: 0px 0px 5px 3px rgba(226, 83, 0, 0.1);
        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1); } }
    @media only screen and (max-width: 1080px) {
      #page_company #history .history_list .history_photo {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        width: calc(50% - 25px);
        margin-bottom: 50px; } }
    @media only screen and (max-width: 768px) {
      #page_company #history .history_list .history_photo {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        width: calc(100% - 25px);
        margin-left: 25px;
        margin-bottom: 80px;
        float: left !important; } }
  @media only screen and (max-width: 768px) and (max-width: 768px) {
    #page_company #history .history_list .history_photo {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: clamp(40px, 8vw, 50px); } }

    #page_company #history .history_list .history_photo img {
      width: 100%;
      height: auto;
      object-fit: cover; }
    #page_company #history .history_list .history_photo p {
      padding: 20px 30px;
      font-size: 15.5px;
      font-size: 1.55rem;
      line-height: 1.6; }
    #page_company #history .history_list .history_photo b {
      font-size: 17px;
      font-size: 1.7rem;
      font-family: YakuHanJP, Yu Gothic Pr6N B , sans-serif;
      margin-bottom: 4px;
      color: #f89650;
      display: block; }
  #page_company #history .history_list .photo_left {
    float: left; }
  #page_company #history .history_list .photo_right {
    float: right;
    margin-right: 4%; }
    @media only screen and (max-width: 1080px) {
      #page_company #history .history_list .photo_right {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        clear: right;
        margin-right: 0; } }
#page_company #attempt .attempt_h {
  color: #fff;
  font-size: 31px;
  font-size: 3.1rem;
  text-align: center;
  padding: 3px;
  font-family: YakuHanJP, Yu Gothic Pr6N B , sans-serif;
  margin-bottom: 50px; }
  @media only screen and (max-width: 768px) {
    #page_company #attempt .attempt_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: clamp(25px, 5vw, 50px); } }
  @media only screen and (max-width: 768px) {
    #page_company #attempt .attempt_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 21px;
      font-size: 2.1rem; } }
#page_company #attempt .sdgs_ttl {
  background: #0098d8; }
#page_company #attempt .ikuboss_ttl {
  background: #1b1464; }
#page_company #attempt ul {
  max-width: 980px;
  margin: auto; }
#page_company #attempt .sdgs_list {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  margin-top: 80px; }
  @media only screen and (max-width: 768px) {
    #page_company #attempt .sdgs_list {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-top: clamp(40px, 8vw, 50px); } }
  #page_company #attempt .sdgs_list li {
    width: 100%;
    padding: 50px 50px;
    background-color: #f6f0e6;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px 50px; }
    @media only screen and (max-width: 768px) {
      #page_company #attempt .sdgs_list li {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding: clamp(25px, 5vw, 50px) clamp(25px, 5vw, 50px); } }
  #page_company #attempt .sdgs_list figure {
    flex: 1;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center; }
    @media only screen and (max-width: 1080px) {
      #page_company #attempt .sdgs_list figure {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        flex-wrap: nowrap; }
        #page_company #attempt .sdgs_list figure > img {
          width: 30%; } }
  #page_company #attempt .sdgs_list .sdgs_txt {
    flex: 5; }
    @media only screen and (max-width: 1080px) {
      #page_company #attempt .sdgs_list .sdgs_txt {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        flex: unset;
        width: 100%; } }
  #page_company #attempt .sdgs_list .sdgs_h {
    font-size: 26px;
    font-size: 2.6rem;
    color: #3a2420;
    margin-bottom: 10px; }
    @media only screen and (max-width: 768px) {
      #page_company #attempt .sdgs_list .sdgs_h {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        margin-bottom: 5px; } }
    @media only screen and (max-width: 768px) {
      #page_company #attempt .sdgs_list .sdgs_h {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.5; } }
#page_company #attempt .attempt_txt {
  font-size: 17px;
  font-size: 1.7rem; }
#page_company #attempt .ikuboss_list {
  margin-top: 40px; }
  @media only screen and (max-width: 768px) {
    #page_company #attempt .ikuboss_list {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-top: clamp(20px, 4vw, 40px); } }
  #page_company #attempt .ikuboss_list li {
    margin-bottom: 25px;
    font-size: 26px;
    font-size: 2.6rem;
    width: 100%;
    color: #fff;
    display: flex;
    align-items: center;
    position: relative;
    justify-content: center;
    min-height: 242px;
    text-align: center;
    font-family: YakuHanJP, Yu Gothic Pr6N B , sans-serif;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 50px 50px; }
    @media only screen and (max-width: 768px) {
      #page_company #attempt .ikuboss_list li {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        margin-bottom: clamp(12.5px, 2.5vw, 25px); } }
    @media only screen and (max-width: 768px) {
      #page_company #attempt .ikuboss_list li {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding: clamp(25px, 5vw, 50px) clamp(25px, 5vw, 50px); } }
    @media only screen and (max-width: 768px) {
      #page_company #attempt .ikuboss_list li {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 20px;
        font-size: 2rem; } }
    #page_company #attempt .ikuboss_list li > span {
      display: inline-block;
      position: absolute;
      left: 0;
      top: 0;
      background-image: url("../img/company/triangle_bg.svg");
      background-position: left top;
      background-repeat: no-repeat;
      background-size: 100%;
      height: 100%;
      width: 100px;
      padding: 20px;
      line-height: 1;
      text-align: left;
      font-family: YakuHanJP, Yu Gothic Pr6N M , sans-serif;
      font-size: 50px;
      font-size: 5rem; }
      @media only screen and (max-width: 768px) {
        #page_company #attempt .ikuboss_list li > span {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          width: 60px;
          font-size: 38px;
          font-size: 3.8rem;
          padding: 10px;
          padding-right: 0px; } }
    #page_company #attempt .ikuboss_list li:nth-child(1) {
      background-image: url("../img/company/ikuboss_01.jpg"); }
      @media only screen and (max-width: 768px) {
        #page_company #attempt .ikuboss_list li:nth-child(1) {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          background-position: left 10% center; } }
    #page_company #attempt .ikuboss_list li:nth-child(2) {
      background-image: url("../img/company/ikuboss_02.jpg"); }
      @media only screen and (max-width: 768px) {
        #page_company #attempt .ikuboss_list li:nth-child(2) {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          background-position: right center; } }
    #page_company #attempt .ikuboss_list li:nth-child(3) {
      background-image: url("../img/company/ikuboss_03.jpg"); }
      @media only screen and (max-width: 768px) {
        #page_company #attempt .ikuboss_list li:nth-child(3) {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          background-position: left 10% center; } }
#page_company #attempt .ikuboss_how {
  position: relative;
  padding: 50px 50px;
  background: #f6f0e6; }
  @media only screen and (max-width: 768px) {
    #page_company #attempt .ikuboss_how {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding: clamp(25px, 5vw, 50px) clamp(25px, 5vw, 50px); } }
  @media only screen and (max-width: 768px) {
    #page_company #attempt .ikuboss_how {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-top: 20px; } }
#page_company #attempt .how_h {
  font-size: 18px;
  font-size: 1.8rem;
  position: absolute;
  left: -10px;
  top: -25px;
  background: #1b1464;
  padding: 8px 20px;
  display: inline-block;
  color: #fff; }
  @media only screen and (max-width: 768px) {
    #page_company #attempt .how_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 17px;
      font-size: 1.7rem;
      padding: 5px 15px;
      top: -30px; } }

/* 変数ファイルインポート */
/* モジュール */
/* ブレイクポイント 設定 */
/* モーション */
/* シャドウ */
/* フォントサイズ */
/* フォントファミリー */
@font-face {
  font-family: 'EnFont';
  src: url("../font/din1451alt.ttf"); }
@font-face {
  font-family: 'EnFontB';
  src: url("../font/D-DIN-Bold.ttf"); }
/*////////////////////////////////////////

  モジュール
 
////////////////////////////////////////*/
/* 余白 */
/*//////////////////////////////

スタイル


//////////////////////////////*/
#page_products .page_header_bg {
  background-position: bottom -4vw center;
  background-position: top center; }
#page_products #page_header {
  min-height: inherit;
  padding-bottom: 0px;
  height: 12vw; }
  #page_products #page_header > * {
    width: auto; }
#page_products .detail_header img {
  width: 100%; }
#page_products .page_ttl {
  padding-right: 0px;
  writing-mode: horizontal-tb; }
#page_products #products .container {
  padding-top: 25px; }
  @media only screen and (max-width: 768px) {
    #page_products #products .container {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding-top: clamp(12.5px, 2.5vw, 25px); } }
#page_products #products .pagelink {
  display: flex; }
  @media only screen and (max-width: 1080px) {
    #page_products #products .pagelink {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      flex-wrap: wrap; } }
  #page_products #products .pagelink .pagelink_list {
    width: 100%;
    padding: 15px;
    border-top: 1px solid #f89650;
    border-bottom: 1px solid #f89650;
    border-right: 1px solid #f89650;
    text-align: center; }
    #page_products #products .pagelink .pagelink_list:first-child {
      border-left: 1px solid #f89650; }
    @media only screen and (max-width: 1080px) {
      #page_products #products .pagelink .pagelink_list {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        width: 50%;
        border-top: none; }
        #page_products #products .pagelink .pagelink_list:nth-child(1) {
          border-top: 1px solid #f89650; }
        #page_products #products .pagelink .pagelink_list:nth-child(2) {
          border-top: 1px solid #f89650; }
        #page_products #products .pagelink .pagelink_list:nth-child(2n+1) {
          border-left: 1px solid #f89650; } }
#page_products #products .products_list {
  display: grid;
  gap: 35px;
  grid-template-columns: 1fr 1fr 1fr 1fr; }
  @media only screen and (max-width: 1080px) {
    #page_products #products .products_list {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      grid-template-columns: 1fr 1fr;
      gap: 15px; } }
  @media only screen and (max-width: 768px) {
    #page_products #products .products_list {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      grid-template-columns: 1fr; } }
  #page_products #products .products_list li {
    background-color: #f6f0e6;
    border-radius: 15px;
    overflow: hidden;
    text-align: center; }
  #page_products #products .products_list .products_h {
    font-size: 21px;
    font-size: 2.1rem;
    font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif;
    background: #f89650;
    color: #ffffff;
    padding: 12px 10px; }
    @media only screen and (max-width: 1080px) {
      #page_products #products .products_list .products_h {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        font-size: 20px;
        font-size: 2rem;
        padding: 8px; } }
  #page_products #products .products_list .products_txt {
    line-height: 1.6;
    padding: 35px 15px;
    padding-bottom: 35px;
    padding-top: 0px; }
    @media only screen and (max-width: 1080px) {
      #page_products #products .products_list .products_txt {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        padding-bottom: 25px; } }
  #page_products #products .products_list figure {
    margin: auto;
    padding: 8px; }
    @media only screen and (max-width: 1080px) {
      #page_products #products .products_list figure {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        width: 70%;
        padding: 0px; } }
#page_products #products .category_ttl {
  background-color: #f89650;
  font-size: 28px;
  font-size: 2.8rem;
  font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif;
  padding: 15px 40px;
  color: #fff;
  border-radius: 15px;
  margin-bottom: 40px; }
  @media only screen and (max-width: 768px) {
    #page_products #products .category_ttl {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: clamp(20px, 4vw, 40px); } }
  @media only screen and (max-width: 1080px) {
    #page_products #products .category_ttl {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      border-radius: 10px;
      padding: 10px 15px;
      border-radius: 10px; } }
  @media only screen and (max-width: 768px) {
    #page_products #products .category_ttl {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 21px;
      font-size: 2.1rem; } }
#page_products #products .category_list {
  display: grid;
  gap: 80px 40px;
  grid-template-columns: 1fr 1fr 1fr 1fr; }
  @media only screen and (max-width: 1080px) {
    #page_products #products .category_list {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      grid-template-columns: 1fr 1fr;
      gap: 25px 16.6666666667px; } }
  #page_products #products .category_list li {
    line-height: 1.6; }
  #page_products #products .category_list figure {
    border: 5px #f6f0e6 solid;
    border-radius: 15px;
    aspect-ratio: 1/1; }
    @media only screen and (max-width: 1080px) {
      #page_products #products .category_list figure {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        border-radius: 10px;
        border: 3px #f6f0e6 solid; } }
    #page_products #products .category_list figure img {
      height: 100%;
      width: 100%;
      aspect-ratio: 1/1;
      object-fit: contain;
      border: 15px solid transparent; }
  #page_products #products .category_list .category_h {
    text-align: center;
    font-size: 22px;
    font-size: 2.2rem;
    margin-top: 15px;
    margin-bottom: 10px;
    color: #222; }
    @media only screen and (max-width: 768px) {
      #page_products #products .category_list .category_h {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 18px;
        font-size: 1.8rem; } }
    #page_products #products .category_list .category_h small {
      font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif;
      display: block;
      font-size: 18px;
      font-size: 1.8rem; }
      @media only screen and (max-width: 768px) {
        #page_products #products .category_list .category_h small {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          font-size: 17px;
          font-size: 1.7rem; } }
  #page_products #products .category_list .category_txt {
    text-align: justify; }
    @media only screen and (max-width: 768px) {
      #page_products #products .category_list .category_txt {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 14px;
        font-size: 1.4rem; } }
#page_products #products .detail_wrap {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 50px;
  gap: 50px; }
  @media only screen and (max-width: 768px) {
    #page_products #products .detail_wrap {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      grid-gap: clamp(25px, 5vw, 50px);
      gap: clamp(25px, 5vw, 50px); } }
  #page_products #products .detail_wrap .detail_image {
    flex: 1;
    aspect-ratio: 1/1;
    border: 5px #f6f0e6 solid;
    border-radius: 12.5px; }
    @media only screen and (max-width: 768px) {
      #page_products #products .detail_wrap .detail_image {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        flex-basis: 100%; } }
    #page_products #products .detail_wrap .detail_image img {
      width: 100%;
      height: auto;
      aspect-ratio: 1/1;
      object-fit: contain;
      border: 50px solid transparent; }
      @media only screen and (max-width: 768px) {
        #page_products #products .detail_wrap .detail_image img {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          border: 5vw solid transparent; } }
  #page_products #products .detail_wrap .detail_spec {
    flex: 1; }
    @media only screen and (max-width: 768px) {
      #page_products #products .detail_wrap .detail_spec {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        flex-basis: 100%; } }
  #page_products #products .detail_wrap .detail_name {
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 1.6;
    color: #222;
    margin-bottom: 40px; }
    @media only screen and (max-width: 768px) {
      #page_products #products .detail_wrap .detail_name {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        margin-bottom: clamp(20px, 4vw, 40px); } }
    @media only screen and (max-width: 768px) {
      #page_products #products .detail_wrap .detail_name {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 28px;
        font-size: 2.8rem; } }
    #page_products #products .detail_wrap .detail_name small {
      font-size: 21px;
      font-size: 2.1rem;
      font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif;
      display: block;
      margin-top: 5px; }
      @media only screen and (max-width: 768px) {
        #page_products #products .detail_wrap .detail_name small {
          /*　画面サイズ $spWidth まではここを読み込む　*/
          font-size: 19px;
          font-size: 1.9rem; } }
  #page_products #products .detail_wrap .detail_txt {
    font-size: 17px;
    font-size: 1.7rem; }
  #page_products #products .detail_wrap .detail_info {
    flex-basis: 100%; }
    @media only screen and (max-width: 1080px) {
      #page_products #products .detail_wrap .detail_info {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        overflow-x: scroll; } }
  #page_products #products .detail_wrap .detail_list {
    display: grid;
    grid-template-columns: 1fr 3fr;
    margin-top: 40px; }
    @media only screen and (max-width: 768px) {
      #page_products #products .detail_wrap .detail_list {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        margin-top: clamp(20px, 4vw, 40px); } }
    @media only screen and (max-width: 1080px) {
      #page_products #products .detail_wrap .detail_list {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        grid-template-columns: 2fr 3fr; } }
    #page_products #products .detail_wrap .detail_list > * {
      padding: 10px 20px; }
    #page_products #products .detail_wrap .detail_list > *:nth-child(4n+1),
    #page_products #products .detail_wrap .detail_list > *:nth-child(4n+2) {
      background: #fae9e2; }
    #page_products #products .detail_wrap .detail_list dt {
      color: #222;
      font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif; }
  #page_products #products .detail_wrap .info_h {
    font-size: 20px;
    font-size: 2rem;
    color: #222;
    font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif; }
    #page_products #products .detail_wrap .info_h:before {
      content: "●";
      position: relative;
      color: #f89650;
      margin-right: 6px; }
  #page_products #products .detail_wrap .nutrition_wrap .info_table {
    float: left; }
  #page_products #products .detail_wrap .nutrition_wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 15px 25px; }
  #page_products #products .detail_wrap .info_table {
    margin-top: 10px; }
    #page_products #products .detail_wrap .info_table th, #page_products #products .detail_wrap .info_table td {
      padding: 10px 20px; }
      #page_products #products .detail_wrap .info_table th span, #page_products #products .detail_wrap .info_table td span {
        display: inline-block; }
      @media only screen and (max-width: 1080px) {
        #page_products #products .detail_wrap .info_table th, #page_products #products .detail_wrap .info_table td {
          /*　画面サイズ $tbWitdh まではここを読み込む　*/
          font-size: 14px;
          font-size: 1.4rem;
          min-width: 100px;
          padding: 5px 10px; } }
    #page_products #products .detail_wrap .info_table th.nowrap {
      white-space: nowrap; }
    #page_products #products .detail_wrap .info_table th {
      background: #fae9e2;
      color: #222;
      font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif; }
    #page_products #products .detail_wrap .info_table th, #page_products #products .detail_wrap .info_table td {
      border: 1px solid #f89650; }
  #page_products #products .detail_wrap .table_full {
    width: 100%; }
  #page_products #products .detail_wrap .allergen_list:not(:first-child)::before {
    content: " ・ "; }
  #page_products #products .detail_wrap .allergen_txt {
    font-size: 14px;
    font-size: 1.4rem;
    margin-top: 10px; }
    #page_products #products .detail_wrap .allergen_txt b {
      padding-left: 5px;
      padding-right: 5px;
      color: #f89650;
      font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif; }
  #page_products #products .detail_wrap .attention_wrap {
    font-size: 14px;
    font-size: 1.4rem; }
  #page_products #products .detail_wrap .attention_h {
    font-family: YakuHanJP, Yu Gothic Pr6N M , sans-serif;
    background: #f89650;
    color: #fff;
    padding: 2px 12px;
    display: inline-block;
    margin-bottom: 10px; }
#page_products .products_link {
  font-size: 17px;
  font-size: 1.7rem;
  background-color: #514549;
  color: #fff !important;
  text-align: center;
  border-radius: 5px;
  padding: 10px;
  width: 80%;
  margin: auto;
  display: block;
  margin-top: 15px; }
  @media only screen and (max-width: 768px) {
    #page_products .products_link {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-top: 7.5px; } }
  @media only screen and (max-width: 1080px) {
    #page_products .products_link {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      margin-top: 30px;
      width: 100%;
      max-width: 220px; } }
  @media only screen and (max-width: 1080px) and (max-width: 768px) {
    #page_products .products_link {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-top: 15px; } }

#page_products .return_link {
  display: table;
  font-size: 14px;
  font-size: 1.4rem;
  margin-bottom: 15px;
  margin-left: auto;
  margin-top: -25px;
  height: 25px; }
  @media only screen and (max-width: 768px) {
    #page_products .return_link {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: 7.5px; } }
  @media only screen and (max-width: 768px) {
    #page_products .return_link {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 13px;
      font-size: 1.3rem;
      margin-top: 0px; } }

/* 変数ファイルインポート */
/* モジュール */
/* ブレイクポイント 設定 */
/* モーション */
/* シャドウ */
/* フォントサイズ */
/* フォントファミリー */
@font-face {
  font-family: 'EnFont';
  src: url("../font/din1451alt.ttf"); }
@font-face {
  font-family: 'EnFontB';
  src: url("../font/D-DIN-Bold.ttf"); }
/*////////////////////////////////////////

  モジュール
 
////////////////////////////////////////*/
/* 余白 */
/*//////////////////////////////

スタイル

//////////////////////////////*/
#page_customer #faq .faq_list li {
  margin-top: 40px; }
  @media only screen and (max-width: 768px) {
    #page_customer #faq .faq_list li {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-top: clamp(20px, 4vw, 40px); } }
#page_customer #faq .faq_list .question, #page_customer #faq .faq_list .answer {
  padding: 25px 25px;
  padding-left: 0;
  display: flex; }
  @media only screen and (max-width: 768px) {
    #page_customer #faq .faq_list .question, #page_customer #faq .faq_list .answer {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding: clamp(12.5px, 2.5vw, 25px) clamp(12.5px, 2.5vw, 25px); } }
#page_customer #faq .faq_list .question {
  font-size: 22px;
  font-size: 2.2rem;
  background-color: #f6f0e6;
  border-radius: 5px; }
  @media only screen and (max-width: 768px) {
    #page_customer #faq .faq_list .question {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 19px;
      font-size: 1.9rem; } }
  #page_customer #faq .faq_list .question:before {
    font-size: 40px;
    font-size: 4rem;
    font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif;
    line-height: 1;
    text-align: center;
    min-width: 90px;
    display: flex;
    justify-content: center;
    content: "Q";
    color: #f89650;
    margin-top: -3px; }
    @media only screen and (max-width: 1080px) {
      #page_customer #faq .faq_list .question:before {
        /*　画面サイズ $tbWitdh まではここを読み込む　*/
        min-width: 40px;
        margin-top: 5px; } }
    @media only screen and (max-width: 768px) {
      #page_customer #faq .faq_list .question:before {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        font-size: 26px;
        font-size: 2.6rem; } }
#page_customer #faq .faq_list .answer:before {
  font-size: 40px;
  font-size: 4rem;
  font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif;
  line-height: 1;
  text-align: center;
  min-width: 90px;
  display: flex;
  justify-content: center;
  content: "A";
  color: #6c926d;
  margin-top: -5px; }
  @media only screen and (max-width: 1080px) {
    #page_customer #faq .faq_list .answer:before {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      min-width: 40px;
      margin-top: 5px; } }
  @media only screen and (max-width: 768px) {
    #page_customer #faq .faq_list .answer:before {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 26px;
      font-size: 2.6rem; } }
#page_customer #faq .faq_list .answer img {
  margin-top: 15px; }
#page_customer #contact .contact_h {
  background-color: #f89650;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  color: #fff;
  text-align: center;
  font-size: 24px;
  font-size: 2.4rem;
  font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif;
  padding: 15px;
  background-size: auto;
  background-position: center left 25px;
  background-repeat: no-repeat; }
  @media only screen and (max-width: 1080px) {
    #page_customer #contact .contact_h {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      padding: 8px;
      padding-left: 15px;
      background-position: center left 15px;
      background-size: 23px auto; } }
  @media only screen and (max-width: 768px) {
    #page_customer #contact .contact_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 19px;
      font-size: 1.9rem;
      border-top-left-radius: 10px;
      border-top-right-radius: 10px; } }
  #page_customer #contact .contact_h.tel {
    background-image: url("../img/customer/ico_tel.svg"); }
  #page_customer #contact .contact_h.mail {
    background-image: url("../img/customer/ico_mail.svg"); }
  #page_customer #contact .contact_h.zip {
    background-image: url("../img/customer/ico_zipcode.svg"); }
#page_customer #contact .contact_wrap {
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  background-color: #fff;
  padding: 50px 50px; }
  @media only screen and (max-width: 768px) {
    #page_customer #contact .contact_wrap {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding: clamp(25px, 5vw, 50px) clamp(25px, 5vw, 50px); } }
#page_customer #contact .contact-btn {
  line-height: 70px;
  display: flex;
  max-width: 420px;
  margin: auto;
  justify-content: center;
  background-color: #6c926d;
  font-size: 18px;
  font-size: 1.8rem;
  color: #fff !important;
  border-radius: 35px; }
#page_customer #contact .contact_info {
  border-bottom: 1px solid #f89650;
  color: #000;
  line-height: 1.6;
  font-size: 22px;
  font-size: 2.2rem;
  font-family: YakuHanJP, Yu Gothic Pr6N B , sans-serif;
  padding-bottom: 25px;
  margin-bottom: 25px; }
  @media only screen and (max-width: 768px) {
    #page_customer #contact .contact_info {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding-bottom: clamp(12.5px, 2.5vw, 25px); } }
  @media only screen and (max-width: 768px) {
    #page_customer #contact .contact_info {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: clamp(12.5px, 2.5vw, 25px); } }
  @media only screen and (max-width: 768px) {
    #page_customer #contact .contact_info {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 19px;
      font-size: 1.9rem; } }
#page_customer #contact .fuguai_h {
  font-size: 20px;
  font-size: 2rem;
  margin-bottom: 5px; }
  @media only screen and (max-width: 768px) {
    #page_customer #contact .fuguai_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 17px;
      font-size: 1.7rem; } }
#page_customer main::after {
  background-color: #f6f0e6; }

/* 変数ファイルインポート */
/* モジュール */
/* ブレイクポイント 設定 */
/* モーション */
/* シャドウ */
/* フォントサイズ */
/* フォントファミリー */
@font-face {
  font-family: 'EnFont';
  src: url("../font/din1451alt.ttf"); }
@font-face {
  font-family: 'EnFontB';
  src: url("../font/D-DIN-Bold.ttf"); }
/*////////////////////////////////////////

  モジュール
 
////////////////////////////////////////*/
/* 余白 */
/*//////////////////////////////

スタイル


//////////////////////////////*/
#page_contact input {
  line-height: 2;
  padding-left: 3px;
  padding-right: 3px;
  font-size: 16px;
  font-size: 1.6rem;
  max-width: 100%; }
#page_contact select {
  padding: 5px;
  font-size: 16px;
  font-size: 1.6rem; }
#page_contact .contact_table {
  margin: auto;
  margin-bottom: 40px;
  border: 1px solid #ddd;
  width: 100%;
  max-width: 980px; }
  @media only screen and (max-width: 768px) {
    #page_contact .contact_table {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: clamp(20px, 4vw, 40px); } }
  #page_contact .contact_table tr td:first-child {
    font-family: YakuHanJP, Yu Gothic Pr6N B , sans-serif;
    background: #f6f0e6;
    vertical-align: top;
    min-width: 100px; }
  #page_contact .contact_table tr td {
    border: 1px solid #ddd;
    padding: 25px 25px; }
    @media only screen and (max-width: 768px) {
      #page_contact .contact_table tr td {
        /*　画面サイズ $spWidth まではここを読み込む　*/
        padding: clamp(12.5px, 2.5vw, 25px) clamp(12.5px, 2.5vw, 25px); } }
  #page_contact .contact_table tr .require {
    color: red;
    font-family: YakuHanJP, Yu Gothic Pr6N M , sans-serif;
    font-size: 12px;
    font-size: 1.2rem; }
  #page_contact .contact_table tr > .require {
    display: block; }
#page_contact .add_table {
  border: none; }
  @media only screen and (max-width: 1080px) {
    #page_contact .add_table tr {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      display: flex;
      flex-direction: column; } }
  #page_contact .add_table tr td:first-child {
    background: none;
    width: auto; }
  #page_contact .add_table tr td {
    border: none;
    padding: 10px;
    padding-left: 0px; }
#page_contact .error {
  color: red;
  padding: 25px 25px;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    #page_contact .error {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding: clamp(12.5px, 2.5vw, 25px) clamp(12.5px, 2.5vw, 25px); } }
#page_contact .btn {
  line-height: 4.25;
  border-radius: 4px;
  width: 380px; }
  #page_contact .btn:hover {
    opacity: 0.8; }
#page_contact pre {
  font-family: YakuHanJP, Yu Gothic Pr6N M , sans-serif; }
#page_contact input[type="text"], #page_contact textarea {
  max-width: 100%; }
  @media only screen and (max-width: 1080px) {
    #page_contact input[type="text"], #page_contact textarea {
      /*　画面サイズ $tbWitdh まではここを読み込む　*/
      width: 100%; } }
#page_contact textarea {
  width: 100%; }

/* 変数ファイルインポート */
/* モジュール */
/* ブレイクポイント 設定 */
/* モーション */
/* シャドウ */
/* フォントサイズ */
/* フォントファミリー */
@font-face {
  font-family: 'EnFont';
  src: url("../font/din1451alt.ttf"); }
@font-face {
  font-family: 'EnFontB';
  src: url("../font/D-DIN-Bold.ttf"); }
/*////////////////////////////////////////

  モジュール
 
////////////////////////////////////////*/
/* 余白 */
/*//////////////////////////////

スタイル

//////////////////////////////*/
#page_privacy .privacy_ttl {
  font-size: 24px;
  font-size: 2.4rem;
  padding-bottom: 25px;
  color: #3a2420;
  border-bottom: 1px solid #f89650; }
  @media only screen and (max-width: 768px) {
    #page_privacy .privacy_ttl {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding-bottom: clamp(12.5px, 2.5vw, 25px); } }
  @media only screen and (max-width: 768px) {
    #page_privacy .privacy_ttl {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 20px;
      font-size: 2rem; } }
#page_privacy .privacy_h {
  font-size: 20px;
  font-size: 2rem;
  margin-bottom: 15px; }
  @media only screen and (max-width: 768px) {
    #page_privacy .privacy_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: 7.5px; } }
  @media only screen and (max-width: 768px) {
    #page_privacy .privacy_h {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 18px;
      font-size: 1.8rem; } }

/* 変数ファイルインポート */
/* モジュール */
/* ブレイクポイント 設定 */
/* モーション */
/* シャドウ */
/* フォントサイズ */
/* フォントファミリー */
@font-face {
  font-family: 'EnFont';
  src: url("../font/din1451alt.ttf"); }
@font-face {
  font-family: 'EnFontB';
  src: url("../font/D-DIN-Bold.ttf"); }
/*////////////////////////////////////////

  モジュール
 
////////////////////////////////////////*/
/* 余白 */
/*//////////////////////////////

 スタイル

//////////////////////////////*/
#news_archive img {
  aspect-ratio: 3.5/2.4;
  object-fit: cover;
  width: 100%;
  border-radius: 5px; }
#news_archive .archive_ttl {
  font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif;
  margin-top: 12px;
  padding-bottom: 2px; }
#news_archive time {
  display: block;
  color: #f89650; }

#news_single .news_ttl {
  font-size: 32px;
  font-size: 3.2rem;
  font-family: YakuHanJP, Yu Gothic Pr6N D , sans-serif;
  margin-bottom: 15px; }
  @media only screen and (max-width: 768px) {
    #news_single .news_ttl {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: 7.5px; } }
  @media only screen and (max-width: 768px) {
    #news_single .news_ttl {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 24px;
      font-size: 2.4rem;
      line-height: 1.4; } }
#news_single time {
  color: #f89650;
  display: block;
  font-size: 18px;
  font-size: 1.8rem;
  margin-bottom: 50px; }
  @media only screen and (max-width: 768px) {
    #news_single time {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: clamp(25px, 5vw, 50px); } }
  @media only screen and (max-width: 768px) {
    #news_single time {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      font-size: 17px;
      font-size: 1.7rem; } }
#news_single .news_content {
  border-bottom: 1px solid #ddd;
  padding-bottom: 50px;
  margin-top: 50px;
  margin-bottom: 25px; }
  @media only screen and (max-width: 768px) {
    #news_single .news_content {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding-bottom: clamp(25px, 5vw, 50px); } }
  @media only screen and (max-width: 768px) {
    #news_single .news_content {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-top: clamp(25px, 5vw, 50px); } }
  @media only screen and (max-width: 768px) {
    #news_single .news_content {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      margin-bottom: clamp(12.5px, 2.5vw, 25px); } }
#news_single .news_container {
  padding-top: 50px; }
  @media only screen and (max-width: 768px) {
    #news_single .news_container {
      /*　画面サイズ $spWidth まではここを読み込む　*/
      padding-top: clamp(25px, 5vw, 50px); } }
#news_single .pager {
  display: flex;
  justify-content: space-between; }
#news_single .all_link {
  padding: 0; }
