@charset "UTF-8";
/* Scss Document */
/* =========================================================
// reset
========================================================= */
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;700&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video, main {
  margin: 0;
  padding: 0;
  border: 0;
  /* outline: 0;アクセシビリティ対応の為　focusを表示	*/
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle; }

sub, sup {
  font-size: 75%; }

ul, ol {
  list-style: none; }

a {
  margin: 0;
  padding: 0;
  border: 0;
  /*outline: 0;アクセシビリティ対応の為　focusを表示	*/
  text-decoration: none; }

table, th, td {
  border-collapse: collapse;
  border-spacing: 0; }

/* 画像の下にできる隙間をなくす */
img {
  vertical-align: bottom; }

span, em, strong {
  /* 上記リセットのspan,em,strong用カスタマイズ */
  vertical-align: baseline;
  /* spanのvertical-alignをデフォルトに(ずれ防止) */
  font-weight: inherit;
  /* spanのfont-weightを伝承に */
  opacity: inherit; }

/* box-sizing */
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

/* =========================================================
// Font
========================================================= */
/* =========================================================
// Variables
========================================================= */
:root {
  --primary-font: "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --sub-font: "Shippori Mincho","游明朝体", "Yu Mincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  --text-color: #1b1b1b;
  --brand-main-color: #b17234;
  --brand-sub-color: #fff2d8;
  --title-color: #8f5925;
  --hover-color: #e0c29f;
  --spmenu-color: #7d5d40;
  --bg-color: #fff8e6;
  --footer-color: #f5edd8;
  --border-color: #b17234;
  --gray-color: #e0e7ea;
  --line-color:#b17234;
  --red: #fd6e70;
  interpolate-size: allow-keywords; }

/* =========================================================
//メディアクエリ
========================================================= */
/* =========================================================
 display
========================================================= */
@media screen and (width < 768px) {
  .sp-none {
    display: none !important; } }

@media print, screen and (768px <= width) {
  .pc-none {
    display: none !important; } }

/* =========================================================
 Structure Module
========================================================= */
html {
  font-size: 62.5%;
  /*
  scroll-behavior: smooth;	
  @include sp-screen() {
  	scroll-padding-top: 50px;
  }
  */ }
  @media screen and (width < 768px) {
    html {
      scroll-padding-top: 100px; } }
  @media print, screen and (768px <= width) {
    html {
      scroll-padding-top: 150px; } }

body {
  line-height: 1.6;
  font-family: var(--primary-font);
  width: 100%;
  -webkit-text-size-adjust: 100%;
  /*iPhone や Android のブラウザの、縦向きと横向きの文字サイズを自動調整する機能をOFFにする*/
  background-color: var(--bg-color);
  color: var(--text-color);
  font-weight: 400; }
  @media screen and (width < 768px) {
    body {
      padding-top: 50px;
      font-size: 1.6rem; } }
  @media print, screen and (768px <= width) {
    body {
      padding-top: 70px;
      font-size: 1.6rem; } }
  body .fax a {
    text-decoration: none; }

@media screen and (768px <= width < 1200px) {
  /*幅768px～1200pxの間はスクロールを出す*/
  body {
    min-width: 1200px;
    overflow: scroll; } }
@media print, screen and (768px <= width) {
  body {
    min-width: 1200px; } }
/* =========================================================
 Text Module
========================================================= */
p.indent {
  margin-left: 1em !important;
  /* ブロック全体を 1em 右に */
  text-indent: -1em;
  /* 先頭の1文字のみ 1em 左に */ }

p.indent2 {
  margin-left: 2em !important;
  /* ブロック全体を 1em 右に */
  text-indent: -2em;
  /* 先頭の1文字のみ 1em 左に */ }

/* =========================================================
 Text Color
========================================================= */
.red {
  color: var(--red); }

.blue {
  color: #00a0e9; }

.orange {
  color: #f98b03; }

/* =========================================================
 Link Module
========================================================= */
a:link, a:visited {
  text-decoration: underline;
  color: var(--text-color);
  text-underline-position: under;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(var(--text-color), 0.3); }

a:active, a:focus, a:hover, a.hover {
  text-decoration: none;
  color: var(--text-color); }

/* =========================================================
 Font
========================================================= */
@media screen and (width < 768px) {
  .font-small {
    font-size: 1.2rem; } }
@media print, screen and (768px <= width) {
  .font-small {
    font-size: 1.4rem; } }

@media screen and (width < 768px) {
  .font-big {
    font-size: 1.6rem; } }
@media print, screen and (768px <= width) {
  .font-big {
    font-size: 1.8rem; } }
@media screen and (width < 768px) {
  .font-big--lg {
    font-size: 1.8rem; } }
@media print, screen and (768px <= width) {
  .font-big--lg {
    font-size: 2.0rem; } }

.font-bold {
  font-weight: bold; }

.font-black {
  font-weight: 900; }

/* =========================================================
 Width
========================================================= */
.w-3em {
  width: 3em; }

.w-4em {
  width: 4em; }

.w-5em {
  width: 5em; }

.w-6em {
  width: 6em; }

.w-7em {
  width: 7em; }

.w-8em {
  width: 8em; }

.w-9em {
  width: 9em; }

.w-10em {
  width: 10em; }

.w-11em {
  width: 11em; }

.w-12em {
  width: 12em; }

.w-13em {
  width: 13em; }

.w-14em {
  width: 14em; }

.w-10p {
  width: 10%; }

.w-15p {
  width: 15%; }

.w-20p {
  width: 20%; }

.w-25p {
  width: 25%; }

.w-30p {
  width: 30%; }

.w-35p {
  width: 35%; }

.w-40p {
  width: 40%; }

.w-45p {
  width: 45%; }

.w-50p {
  width: 50%; }

.w-60p {
  width: 60%; }

.w-65p {
  width: 65%; }

.w-70p {
  width: 70%; }

.w-75p {
  width: 75%; }

.w-80p {
  width: 80%; }

.w-90p {
  width: 90%; }

.w-100p {
  width: 100%; }

.w-auto {
  width: auto !important; }

@media screen and (width < 768px) {
  .sp-w-10p {
    width: 10%; }

  .sp-w-20p {
    width: 20%; }

  .sp-w-30p {
    width: 30%; }

  .sp-w-30p {
    width: 30%; }

  .sp-w-40p {
    width: 40%; }

  .sp-w-50p {
    width: 50%; }

  .sp-w-60p {
    width: 60%; }

  .sp-w-70p {
    width: 70%; }

  .sp-w-80p {
    width: 80%; }

  .sp-w-90p {
    width: 90%; }

  .sp-w-100p {
    width: 100%; }

  .sp-maxw-100p {
    max-width: 100%; }

  .sp-w-auto {
    width: auto; } }
@media print, screen and (768px <= width) {
  .pc-w-3em {
    width: 3em; }

  .pc-w-4em {
    width: 4em; }

  .pc-w-5em {
    width: 5em; }

  .pc-w-6em {
    width: 6em; }

  .pc-w-7em {
    width: 7em; }

  .pc-w-8em {
    width: 8em; }

  .pc-w-9em {
    width: 9em; }

  .pc-w-10em {
    width: 10em; }

  .pc-w-11em {
    width: 11em; }

  .pc-w-12em {
    width: 12em; }

  .pc-w-13em {
    width: 13em; }

  .pc-w-14em {
    width: 14em; }

  .pc-w-20em {
    width: 20em; }

  .pc-w-10p {
    width: 10%; }

  .pc-w-15p {
    width: 15%; }

  .pc-w-20p {
    width: 20%; }

  .pc-w-25p {
    width: 25%; }

  .pc-w-30p {
    width: 30%; }

  .pc-w-35p {
    width: 35%; }

  .pc-w-40p {
    width: 40%; }

  .pc-w-45p {
    width: 45%; }

  .pc-w-50p {
    width: 50%; }

  .pc-w-60p {
    width: 60%; }

  .pc-w-65p {
    width: 65%; }

  .pc-w-70p {
    width: 70%; }

  .pc-w-75p {
    width: 75%; }

  .pc-w-80p {
    width: 80%; }

  .pc-w-90p {
    width: 90%; }

  .pc-w-100p {
    width: 100%; }

  .pc-w-auto {
    width: auto; }

  .pc-w-160 {
    width: 160px; }

  .pc-w-550 {
    width: 550px; }

  .pc-w-220 {
    width: 220px; }

  .pc-w-490 {
    width: 490px; }

  .pc-w-220 {
    width: 400px; }

  .pc-w-490 {
    width: 310px; } }
.marginTop-0 {
  margin-top: 0 !important; }

.marginTop-xxs {
  margin-top: .2em !important; }

.marginTop-xs {
  margin-top: .5em !important; }

.marginTop-sm {
  margin-top: .8em !important; }

.marginTop-md {
  margin-top: 1em !important; }

.marginTop-lg {
  margin-top: 2em !important; }

.marginTop-xl {
  margin-top: 4em !important; }

.marginTop-xxl {
  margin-top: 6em !important; }

.marginTop-3xl {
  margin-top: 8em !important; }

.marginTop-4xl {
  margin-top: 12em !important; }

.marginBottom-0 {
  margin-bottom: 0 !important; }

.marginBottom-md {
  margin-bottom: 1em !important; }

.marginBottom-xl {
  margin-bottom: 4em; }

.marginLRauto {
  margin-left: auto;
  margin-right: auto; }

/* =========================================================
 white-space
========================================================= */
.nowrap {
  white-space: nowrap; }

@media screen and (width < 768px) {
  .sp-nowrap {
    white-space: nowrap; } }
@media print, screen and (768px <= width) {
  .pc-nowrap {
    white-space: nowrap; } }
/* =========================================================
 input
========================================================= */
input[type="text" disabled] {
  background: #ccc; }

textarea[disabled] {
  background: #ccc; }

/* =========================================================
 img
========================================================= */
img.img-switch {
  /* smp-img-switch.js(PC・SPで画像切り替え) で仕様 */
  visibility: hidden; }

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

/* =========================================================
 opacity
========================================================= */
.opacity:active, .opacity:focus, .opacity:hover, .opacity.hover {
  opacity: 0.7; }

/* =========================================================
 screenreader　スクリーンリーダー
========================================================= */
[class^="screenreader"] {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  overflow: hidden; }

/* =========================================================
 Font Awesomeのアイコンを設定する
$content:FontAwesomeのUnicode
$f-weight:font-weight
$par:padding-right    設定しない場合はnullを渡す
$pal:padding-left    設定しない場合はnullを渡す
========================================================= */
/* =========================================================
 sup 上付き文字
==================================================
======= */
sup {
  font-size: 60%;
  line-height: 0;
  position: relative;
  top: -0.5em; }

#wrap {
  position: relative;
  /* jquery.pagetop.jsで、.gotopを下部に固定するため */ }
  @media screen and (width < 768px) {
    #wrap {
      overflow: hidden;
      /* モバイル観覧での余白対策 */ } }

/* pageTop
=================================*/
/* pageTop
=================================*/
#pagetop {
  position: absolute;
  z-index: 900;
  bottom: 100%;
  right: 0; }
  @media screen and (width < 768px) {
    #pagetop {
      margin-top: 15px; } }

a.pageTop {
  display: block;
  text-decoration: none; }
  @media screen and (width < 768px) {
    a.pageTop {
      width: 142px;
      height: 24px; } }
  @media print, screen and (768px <= width) {
    a.pageTop {
      width: 190px;
      height: 32px; } }
  a.pageTop img {
    width: 100%;
    height: auto; }
  a.pageTop:active, a.pageTop:focus, a.pageTop:hover, a.pageTop.hover {
    opacity: 0.7; }

/* siteHeader
=================================*/
.preload {
  transition: none !important; }

.siteHeader {
  width: 100%;
  background-color: transparent;
  transition: 0.5s ease-in-out;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999; }
  .siteHeader.hide {
    transform: translateY(-100px); }
  .siteHeader.bg-color, .siteHeader.show {
    background-color: var(--bg-color); }
  @media screen and (width < 768px) {
    .siteHeader {
      height: 50px;
      border-bottom: none; }
      .siteHeader.bg-color {
        box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.2); } }
  @media print, screen and (768px <= width) {
    .siteHeader {
      min-height: 70px;
      display: flex;
      align-items: center; } }
  @media print, screen and (768px <= width) {
    .siteHeader__inner {
      min-width: 1240px;
      margin: 0 auto;
      padding-top: 18px; } }
  .siteHeader__nav {
    width: 100%; }
    @media screen and (width < 768px) {
      .siteHeader__nav {
        height: 50px; } }
    @media print, screen and (768px <= width) {
      .siteHeader__nav {
        display: flex;
        align-items: center; } }
  .siteHeader__logo {
    flex-grow: 0;
    flex-shrink: 0; }
    @media screen and (width < 768px) {
      .siteHeader__logo {
        width: 270px;
        height: 50px;
        padding: 11px 15px; } }
    @media print, screen and (768px <= width) {
      .siteHeader__logo {
        width: 370px;
        height: 43px;
        margin-right: 30px; } }
    .siteHeader__logoLink {
      display: block; }
      .siteHeader__logoLink:active, .siteHeader__logoLink:focus, .siteHeader__logoLink:hover, .siteHeader__logoLink.hover {
        opacity: 0.7; }
      .siteHeader__logoLink img {
        width: 100%;
        height: auto; }
  .siteHeader__navToggler {
    background-color: transparent; }
    @media screen and (width < 768px) {
      .siteHeader__navToggler {
        position: absolute;
        top: 0;
        right: 0;
        width: 50px;
        height: 50px;
        padding: 0px;
        border: none; } }
    @media print, screen and (768px <= width) {
      .siteHeader__navToggler {
        display: none; } }
  *[aria-expanded="false"] .siteHeader__navTogglerIcon {
    background-image: url(../images/btn-hamburger-open.png); }
  *[aria-expanded="true"] .siteHeader__navTogglerIcon {
    background-image: url(../images/btn-hamburger-close.png); }
  @media screen and (width < 768px) {
    .siteHeader__navTogglerIcon {
      display: block;
      background-size: 50px 50px;
      height: 50px;
      width: 50px; } }
  @media print, screen and (768px <= width) {
    .siteHeader__navTogglerIcon {
      display: none; } }
  @media screen and (width < 768px) {
    .siteHeader__navList {
      width: 100%;
      padding: 19px 15px;
      background-color: var(--spmenu-color);
      height: 100%;
      overflow: scroll; } }
  @media print, screen and (768px <= width) {
    .siteHeader__navList {
      display: flex;
      justify-content: flex-end;
      column-gap: 6px; } }
  @media screen and (width < 768px) {
    .siteHeader__navItem:not(:last-child) {
      border-bottom: 1px solid #fff; } }
  .siteHeader__navLink {
    display: block;
    text-decoration: none !important; }
    @media screen and (width < 768px) {
      .siteHeader__navLink {
        color: #fff !important;
        padding: 18px 0 17px;
        text-align: center; } }
    @media print, screen and (768px <= width) {
      .siteHeader__navLink {
        font-size: 1.4rem;
        padding: 0 10px;
        overflow: hidden;
        color: transparent !important;
        text-shadow: 0 -1.5em 0 #1b1b1b, 0 0 0 #1b1b1b;
        transition: text-shadow 0.3s; } }
    @media print, screen and (768px <= width) {
      .siteHeader__navLink:hover, .siteHeader__navLink:focus, .siteHeader__navLink:active {
        text-shadow: 0 0 0 #1b1b1b, 0 1.5em 0 #1b1b1b; }
        .siteHeader__navLink:hover::after, .siteHeader__navLink:focus::after, .siteHeader__navLink:active::after {
          text-shadow: 0 0 0 var(--brand-main-color), 0 1.5em 0 var(--brand-main-color); } }
  @media screen and (width < 768px) {
    .siteHeader__assist {
      background-color: var(--spmenu-color);
      display: flex;
      gap: 9px;
      justify-content: center;
      padding: 0 0 56px; } }
  @media print, screen and (768px <= width) {
    .siteHeader__assist {
      display: flex;
      gap: 7px;
      margin-left: 13px;
      margin-right: 3px; } }
  .siteHeader__assist a:active, .siteHeader__assist a:focus, .siteHeader__assist a:hover, .siteHeader__assist a.hover {
    opacity: 0.7; }
  @media screen and (width < 768px) {
    .siteHeader__assist i {
      color: #fff !important;
      font-size: 2.8rem; } }
  @media print, screen and (768px <= width) {
    .siteHeader__assist i {
      font-size: 2.8rem; } }

.header-shadow {
  background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0)); }

.menu-container {
  width: 100%;
  margin: 0 auto; }

@media screen and (width < 768px) {
  .menu {
    display: none;
    overflow: scroll;
    max-height: calc(100svh - 50px);
    position: relative;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.2);
    		/*
    		::-webkit-full-page-media, :future, :root{
        		max-height: calc(100vh - 175px); 
    		}
    		*/ }
    .menu.show {
      display: block;
      z-index: 9999; } }
@media print, screen and (768px <= width) {
  .menu {
    display: flex;
    justify-content: flex-end;
    align-items: center; } }

.megaMenu {
  display: none; }
  @media screen and (width < 768px) {
    .megaMenu {
      width: 100%;
      background-color: rgba(255, 255, 255, 0.15);
      border-top: 1px solid #fff; } }
  @media print, screen and (768px <= width) {
    .megaMenu {
      position: absolute;
      width: 100%;
      top: 95px;
      left: 0;
      z-index: 99;
      background-color: rgba(247, 247, 247, 0.96);
      padding: 30px 0 60px; } }
  @media print, screen and (768px <= width) {
    .megaMenu__inner {
      width: 1200px;
      padding: 0 45px;
      margin-inline: auto; } }
  @media screen and (width < 768px) {
    .megaMenu__index {
      border-bottom: 1px solid #fff; } }
  .megaMenu__index a {
    display: block;
    width: 100%;
    text-decoration: none !important; }
    .megaMenu__index a::before {
      font-family: "Font Awesome 7 Free";
      content: "";
      font-weight: 900;
      padding-left: 0;
      padding-right: 0.5em;
      color: var(--brand-main-color);
      display: inline-block;
      font-size: 1em; }
    .megaMenu__index a:hover, .megaMenu__index a:focus, .megaMenu__index a:active {
      color: var(--brand-text-color) !important;
      text-decoration: underline !important;
      text-underline-position: under;
      text-decoration-thickness: 1px;
      text-decoration-color: var(--brand-text-color); }
    @media screen and (width < 768px) {
      .megaMenu__index a {
        padding: 15px 15px;
        color: #fff !important; } }
    @media print, screen and (768px <= width) {
      .megaMenu__index a {
        font-size: 2.4rem;
        font-weight: bold;
        margin-bottom: 0.8em; } }
  @media screen and (width < 768px) {
    .megaMenu__subMenu {
      display: flex;
      padding: 15px 15px; } }
  .megaMenu__subIndex {
    font-weight: bold; }
    @media screen and (width < 768px) {
      .megaMenu__subIndex {
        color: var(--brand-main-color);
        font-size: 1.3rem;
        padding: 10px 0;
        flex-shrink: 0;
        width: 65px; } }
    @media print, screen and (768px <= width) {
      .megaMenu__subIndex {
        color: var(--brand-text-color);
        font-size: 2.0rem;
        margin: 0.8em 0 0.3em; } }
  @media screen and (width < 768px) {
    .megaMenu__subBody {
      flex-shrink: 1; } }
  @media screen and (width < 768px) {
    .megaMenu__subList {
      padding-left: 1em; } }
  @media print, screen and (768px <= width) {
    .megaMenu__subList {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 15px 30px; } }
  @media screen and (width < 768px) {
    .megaMenu__subItem {
      display: block; } }
  .megaMenu__subLink {
    display: block;
    width: 100%;
    text-decoration: none !important; }
    @media screen and (width < 768px) {
      .megaMenu__subLink {
        padding: 10px 5px 10px 28px;
        text-indent: -8px;
        color: #fff !important;
        font-size: 1.4rem; } }

/* パンくず
=================================*/
@media screen and (width < 768px) {
  .topicpath {
    display: none; } }
@media print, screen and (768px <= width) {
  .topicpath {
    width: 100%;
    margin-top: 25px; } }
@media print, screen and (768px <= width) {
  .topicpath__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; } }
@media print, screen and (768px <= width) {
  .topicpath__item {
    display: flex;
    align-items: center;
    font-size: 1.4rem; }
    .topicpath__item a {
      padding: 5px 16px;
      display: flex;
      align-items: center;
      color: var(--brand-main-color);
      text-decoration: none !important; }
      .topicpath__item a:hover, .topicpath__item a:focus, .topicpath__item a:active {
        text-decoration: underline !important; }
    .topicpath__item:first-child a {
      padding-left: 0; } }
.topicpath__item.active {
  color: var(--text-color) !important; }
.topicpath__item::after {
  content: "-";
  display: block;
  color: #a6a6a6; }
.topicpath__item:last-child {
  padding-left: 16px; }
  .topicpath__item:last-child::after {
    display: none; }

/* siteMain
=================================*/
@media print, screen and (768px <= width) {
  .siteMain {
    font-size: 1.6rem; } }
.siteMain__main > *:first-child, .siteMain__main > article > *:first-child {
  margin-top: 0 !important; }

/* siteContents
=================================*/
@media screen and (width < 768px) {
  .siteContents {
    padding: 0 15px; } }
.siteHeader + .siteContents {
  margin-top: 0;
  padding-top: 0; }
@media screen and (width < 768px) {
  .siteContents__inner {
    padding: 50px 0 80px; } }
@media print, screen and (768px <= width) {
  .siteContents__inner {
    width: 1200px;
    padding: 55px 45px 160px;
    margin: 0 auto; } }
.siteContents__inner > *:first-child, .siteContents__inner > article > *:first-child {
  margin-top: 0 !important; }
@media screen and (width < 768px) {
  .siteContents__innerMeat {
    padding: 0 15px 80px;
    margin-left: -15px;
    margin-right: -15px;
    border-radius: 50px; } }
@media print, screen and (768px <= width) {
  .siteContents__innerMeat {
    width: 1200px;
    padding: 0 45px 150px;
    margin: 0 auto; } }

/* siteContents2col (2col)
=================================*/
@media screen and (width < 768px) {
  .siteContents2col {
    padding: 0 15px 60px;
    margin-top: 24px; } }
@media print, screen and (768px <= width) {
  .siteContents2col {
    width: 1200px;
    padding: 0 45px 180px;
    margin: 80px auto 0;
    display: flex; } }
@media screen and (width < 768px) {
  .siteContents2col__main {
    margin-bottom: 70px; } }
@media print, screen and (768px <= width) {
  .siteContents2col__main {
    width: 825px; } }
.siteContents2col__main > *:first-child, .siteContents2col__main > article > *:first-child {
  margin-top: 0 !important; }
@media print, screen and (768px <= width) {
  .siteContents2col__side {
    width: 230px;
    margin-left: auto; }
    .siteContents2col__side > *:first-child {
      margin-top: 0 !important; } }
@media screen and (width < 768px) {
  .siteContents2col__side > * + * {
    margin-top: 10px; } }
@media print, screen and (768px <= width) {
  .siteContents2col__side > * + * {
    margin-top: 20px; } }

/* sideMenu
=================================*/
.sideMenu__menu > dt {
  font-weight: bold;
  background-color: var(--brand-main-color);
  color: #fff; }
  @media screen and (width < 768px) {
    .sideMenu__menu > dt {
      padding: 10px;
      font-size: 1.6rem; } }
  @media print, screen and (768px <= width) {
    .sideMenu__menu > dt {
      padding: 15px;
      font-size: 1.8rem; } }
@media screen and (width < 768px) {
  .sideMenu__menu > dd a {
    padding: 15px 15px 15px 45px; } }
@media print, screen and (768px <= width) {
  .sideMenu__menu > dd a {
    padding: 20px 15px 20px 4.5rem; } }
.sideMenu__menu > dd a::before {
  font-family: "Font Awesome 7 Free";
  content: "";
  font-weight: 900;
  padding-left: 0;
  padding-right: 0;
  font-weight: 900; }
  @media screen and (width < 768px) {
    .sideMenu__menu > dd a::before {
      font-size: 0.8em;
      left: 23px;
      top: 18px; } }
  @media print, screen and (768px <= width) {
    .sideMenu__menu > dd a::before {
      font-size: 0.8em;
      left: 23px;
      top: 24px; } }
.sideMenu__menu a {
  position: relative;
  display: block;
  text-decoration: none;
  transition: 0.3s ease-out; }
  .sideMenu__menu a::before {
    position: absolute;
    color: var(--brand-main-color); }
  .sideMenu__menu a:active, .sideMenu__menu a:focus, .sideMenu__menu a:hover, .sideMenu__menu a.hover, .sideMenu__menu a.active {
    background-color: #e5ebf6; }
  .sideMenu__menu a[href$=".pdf"]::after {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0.5rem;
    padding-right: 0; }
  .sideMenu__menu a[href*=".doc"]::after {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0.5rem;
    padding-right: 0; }
  .sideMenu__menu a[href*=".xls"]::after {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0.5rem;
    padding-right: 0; }
  .sideMenu__menu a[href^="http"]::after {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0.5rem;
    padding-right: 0; }
  .sideMenu__menu a[href^="mailto"]::after {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0.5rem;
    padding-right: 0; }

/* siteFooter
=================================*/
.siteFooter {
  background-color: var(--footer-color); }
  .siteFooter__inner {
    position: relative; }
    @media screen and (width < 768px) {
      .siteFooter__inner {
        padding: 40px 20px; } }
    @media print, screen and (768px <= width) {
      .siteFooter__inner {
        width: 1200px;
        padding: 46px 45px;
        margin-inline: auto; } }
  .siteFooter__sitemap {
    display: flex;
    justify-content: center;
    font-size: 1.4rem; }
    @media screen and (width < 768px) {
      .siteFooter__sitemap {
        flex-wrap: wrap;
        column-gap: 22px;
        row-gap: 8px; } }
    @media print, screen and (768px <= width) {
      .siteFooter__sitemap {
        justify-content: space-evenly; } }
    .siteFooter__sitemap a {
      display: block;
      text-decoration: none !important; }
      @media print, screen and (768px <= width) {
        .siteFooter__sitemap a {
          padding: 0 10px;
          overflow: hidden;
          color: transparent !important;
          text-shadow: 0 -1.5em 0 #1b1b1b, 0 0 0 #1b1b1b;
          transition: text-shadow 0.3s; } }
      @media print, screen and (768px <= width) {
        .siteFooter__sitemap a:hover, .siteFooter__sitemap a:focus, .siteFooter__sitemap a:active {
          text-shadow: 0 0 0 #1b1b1b, 0 1.5em 0 #1b1b1b; }
          .siteFooter__sitemap a:hover::after, .siteFooter__sitemap a:focus::after, .siteFooter__sitemap a:active::after {
            text-shadow: 0 0 0 var(--brand-main-color), 0 1.5em 0 var(--brand-main-color); } }
  @media screen and (width < 768px) {
    .siteFooter__layout {
      margin-top: 35px; } }
  @media print, screen and (768px <= width) {
    .siteFooter__layout {
      display: grid;
      grid-template-areas: ". address sns";
      grid-template-columns: 100px 1fr 100px;
      margin-top: 44px; } }
  @media print, screen and (768px <= width) {
    .siteFooter__address {
      grid-area: address;
      margin-inline: auto; } }
  .siteFooter__character {
    margin-inline: auto; }
    @media screen and (width < 768px) {
      .siteFooter__character {
        width: 140px;
        height: 68px; } }
    @media print, screen and (768px <= width) {
      .siteFooter__character {
        width: 157px;
        height: 77px; } }
    .siteFooter__character img {
      width: 100%;
      height: auto; }
  .siteFooter__logo {
    margin-inline: auto; }
    @media screen and (width < 768px) {
      .siteFooter__logo {
        width: 240px;
        height: 28px;
        margin-top: 12px; } }
    @media print, screen and (768px <= width) {
      .siteFooter__logo {
        width: 370px;
        height: 50px;
        margin-top: 14px; } }
    .siteFooter__logo img {
      width: 100%;
      height: auto; }
  .siteFooter__sns {
    display: flex; }
    @media screen and (width < 768px) {
      .siteFooter__sns {
        margin-top: 35px;
        justify-content: center;
        gap: 7px; } }
    @media print, screen and (768px <= width) {
      .siteFooter__sns {
        grid-area: sns;
        gap: 7px;
        align-self: end; } }
    .siteFooter__sns a:active, .siteFooter__sns a:focus, .siteFooter__sns a:hover, .siteFooter__sns a.hover {
      opacity: 0.7; }
    @media screen and (width < 768px) {
      .siteFooter__sns i {
        font-size: 3.0rem; } }
    @media print, screen and (768px <= width) {
      .siteFooter__sns i {
        font-size: 4.4rem; } }
  .siteFooter__copyright {
    text-align: center; }
    @media screen and (width < 768px) {
      .siteFooter__copyright {
        font-size: 1.1rem;
        margin-top: 15px; } }
    @media print, screen and (768px <= width) {
      .siteFooter__copyright {
        font-size: 1.2rem;
        margin-top: 9px; } }

/* Scss Document */
/*
body#home{
    padding-top: 0;
}
*/
 /* =========================================================
 topImg　slick　スライダーのレイアウト
========================================================= */
.topImg__inner {
  position: relative; }
  @media print, screen and (768px <= width) {
    .topImg__inner {
      width: 1240px;
      margin-inline: auto; } }
.topImg a.topImg__link {
  display: block;
  text-decoration: none; }
  .topImg a.topImg__link:active, .topImg a.topImg__link:focus, .topImg a.topImg__link:hover, .topImg a.topImg__link.hover {
    opacity: 0.8; }
.topImg__image {
  width: 100%;
  height: auto; }
  @media screen and (width < 768px) {
    .topImg__image {
      height: auto;
      border-radius: 20px; } }
  @media print, screen and (768px <= width) {
    .topImg__image {
      border-radius: 20px;
      object-fit: cover; } }
.topImg__textWrap {
  background-color: transparent;
  z-index: 1;
  position: absolute; }
  @media screen and (width < 768px) {
    .topImg__textWrap {
      left: 20px;
      bottom: 46px; } }
  @media print, screen and (768px <= width) {
    .topImg__textWrap {
      left: 59px;
      bottom: 93px; } }
.topImg__catch {
  color: #fff;
  font-family: var(--sub-font);
  font-weight: 700;
  letter-spacing: 0.09em; }
  @media screen and (width < 768px) {
    .topImg__catch {
      font-size: 3.2rem;
      line-height: 1.3; } }
  @media print, screen and (768px <= width) {
    .topImg__catch {
      font-size: 5.4rem;
      line-height: 1.6; } }

.swiperTopImg .swiper-slide {
  overflow: hidden;
  border-radius: 20px; }
.swiperTopImg .swiper-slide-active .topImg__image,
.swiperTopImg .swiper-slide-duplicate-active .topImg__image,
.swiperTopImg .swiper-slide-prev .topImg__image {
  animation: zoomUp 7s linear 0s normal both; }

@keyframes zoomUp {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.15); } }
/* =========================================================
homeTitle 見出し
========================================================= */
.homeTitle {
  font-family: var(--sub-font);
  font-weight: 700; }
  @media screen and (width < 768px) {
    .homeTitle {
      font-size: 2.8rem;
      margin-bottom: 20px; } }
  @media print, screen and (768px <= width) {
    .homeTitle {
      font-size: 3.2rem;
      margin-bottom: 35px; } }

 /* =========================================================
ボタン 
========================================================= */
.homeButtonLayout {
  margin-inline: auto; }
  @media screen and (width < 768px) {
    .homeButtonLayout {
      margin-top: 30px;
      width: 280px; } }
  @media print, screen and (768px <= width) {
    .homeButtonLayout {
      margin-top: 16px;
      width: 350px; } }
  .homeButtonLayout--left {
    margin-left: 0;
    margin-right: auto; }
  @media print, screen and (768px <= width) {
    .homeButtonLayout--right {
      margin-left: auto;
      margin-right: 0; } }
  @media print, screen and (768px <= width) {
    .homeButtonLayout--sm {
      width: 280px; } }

.homeButton {
  display: grid;
  align-items: center;
  width: 100%;
  background-color: #fff;
  border: 2px solid var(--brand-main-color);
  font-weight: 700;
  text-align: center;
  text-decoration: none !important;
  transition: background 0.3s ease-out; }
  @media screen and (width < 768px) {
    .homeButton {
      font-size: 1.6rem;
      border-radius: 15px;
      padding: 15px;
      grid-template-columns: 25px 1fr 25px; } }
  @media print, screen and (768px <= width) {
    .homeButton {
      font-size: 1.8rem;
      border-radius: 20px;
      padding: 17px;
      grid-template-columns: 50px 1fr 50px; } }
  .homeButton .arrow {
    overflow: hidden;
    position: relative;
    aspect-ratio: 1;
    margin-left: auto; }
    @media screen and (width < 768px) {
      .homeButton .arrow {
        width: 3rem; } }
    @media print, screen and (768px <= width) {
      .homeButton .arrow {
        width: 4rem; } }
    .homeButton .arrow::before, .homeButton .arrow::after {
      content: "";
      display: block;
      color: var(--brand-main-color);
      font-family: "Font Awesome 7 Free";
      content: "";
      font-weight: 900;
      padding-left: 0;
      padding-right: 1rem;
      position: absolute;
      top: 0;
      right: 0;
      animation-fill-mode: forwards;
      animation-duration: 0.6s;
      line-height: 1.5; }
      @media screen and (width < 768px) {
        .homeButton .arrow::before, .homeButton .arrow::after {
          font-size: 2.0rem; } }
      @media print, screen and (768px <= width) {
        .homeButton .arrow::before, .homeButton .arrow::after {
          font-size: 3.0rem; } }
    .homeButton .arrow::after {
      transform: translateX(-100%); }
  .homeButton::after {
    margin-bottom: auto;
    padding: 0 !important; }
  .homeButton:hover, .homeButton:focus, .homeButton:active {
    background-color: var(--hover-color); }
    .homeButton:hover .arrow::before, .homeButton:focus .arrow::before, .homeButton:active .arrow::before {
      animation-name: transformRightLeft;
      animation-delay: 0s; }
    .homeButton:hover .arrow::after, .homeButton:focus .arrow::after, .homeButton:active .arrow::after {
      animation-name: transformLeftRight;
      animation-delay: 0.2s; }

@media screen and (width < 768px) {
  .homeBrand {
    margin-top: 40px; } }
@media print, screen and (768px <= width) {
  .homeBrand {
    margin-top: 60px; } }
@media print, screen and (768px <= width) {
  .homeBrand__inner {
    width: 1200px;
    padding: 0 45px;
    margin-inline: auto; } }
.homeBrand__character {
  margin-inline: auto; }
  @media screen and (width < 768px) {
    .homeBrand__character {
      width: 160px;
      height: 78px; } }
  @media print, screen and (768px <= width) {
    .homeBrand__character {
      width: 210px;
      height: 102px; } }
  .homeBrand__character img {
    width: 100%;
    height: auto; }
.homeBrand__catch {
  font-family: var(--sub-font);
  font-weight: 700;
  text-align: center; }
  @media screen and (width < 768px) {
    .homeBrand__catch {
      font-size: 3.0rem;
      margin: 20px 0; } }
  @media print, screen and (768px <= width) {
    .homeBrand__catch {
      font-size: 3.2rem;
      margin: 18px 0 25px; } }
.homeBrand__text {
  margin-inline: auto; }
  @media print, screen and (768px <= width) {
    .homeBrand__text {
      width: 675px;
      text-align: center; } }
@media screen and (width < 768px) {
  .homeBrand__layout {
    display: grid;
    grid-row-gap: 59px;
    margin-top: 38px; } }
@media print, screen and (768px <= width) {
  .homeBrand__layout {
    display: flex;
    gap: 30px;
    margin-top: 70px; } }

@keyframes transformLeftRight {
  0% {
    transform: translateX(-100%); }
  100% {
    transform: translateX(0); } }
@keyframes transformRightLeft {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(100%); } }
a.brandItem {
  text-decoration: none; }
  a.brandItem:hover .brandItem__image img, a.brandItem:focus .brandItem__image img, a.brandItem:active .brandItem__image img {
    transform: scale(1.05); }
  a.brandItem:hover .brandItem__button .arrow::before, a.brandItem:focus .brandItem__button .arrow::before, a.brandItem:active .brandItem__button .arrow::before {
    animation-name: transformRightLeft;
    animation-delay: 0s; }
  a.brandItem:hover .brandItem__button .arrow::after, a.brandItem:focus .brandItem__button .arrow::after, a.brandItem:active .brandItem__button .arrow::after {
    animation-name: transformLeftRight;
    animation-delay: 0.2s; }

.brandItem {
  width: 100%;
  position: relative; }
  @media screen and (width < 768px) {
    .brandItem {
      display: block; } }
  @media print, screen and (768px <= width) {
    .brandItem {
      display: flex;
      flex-direction: column; } }
  .brandItem__title {
    position: absolute;
    z-index: 10;
    top: 0;
    color: var(--brand-main-color);
    background-image: url(../images/home/bg-wood.jpg);
    writing-mode: vertical-rl;
    font-family: var(--sub-font);
    font-weight: 700;
    letter-spacing: 0.1em; }
    @media screen and (width < 768px) {
      .brandItem__title {
        font-size: 2.0rem;
        padding: 10px 3px;
        right: 19px;
        top: 98px; } }
    @media print, screen and (768px <= width) {
      .brandItem__title {
        font-size: 2.8rem;
        padding: 27px 8px;
        right: 33px;
        top: 152px; } }
  .brandItem__image {
    overflow: hidden; }
    @media screen and (width < 768px) {
      .brandItem__image {
        border-radius: 15px; } }
    @media print, screen and (768px <= width) {
      .brandItem__image {
        border-radius: 20px; } }
    .brandItem__image img {
      transition: 0.3s ease-out;
      width: 100%;
      height: auto; }
  @media screen and (width < 768px) {
    .brandItem__text {
      padding: 10px 5px 10px; } }
  @media print, screen and (768px <= width) {
    .brandItem__text {
      padding: 33px 20px 13px; } }
  @media screen and (width < 768px) {
    .brandItem__brand {
      padding-top: 10px; } }
  @media print, screen and (768px <= width) {
    .brandItem__brand {
      padding: 33px 20px 19px;
      flex-grow: 1; } }
  .brandItem__brand li {
    display: inline-block;
    border: 1px solid var(--brand-main-color);
    border-radius: calc( 1px / 0);
    color: var(--brand-main-color);
    line-height: 1.4; }
    @media screen and (width < 768px) {
      .brandItem__brand li {
        padding: 0 10px; } }
    @media print, screen and (768px <= width) {
      .brandItem__brand li {
        font-size: 1.4rem;
        margin-right: 2px;
        margin-bottom: 2px;
        padding: 0 16px; } }
  .brandItem__button {
    display: flex;
    font-weight: 700;
    text-align: right;
    margin-right: 20px;
    margin-left: auto;
    width: fit-content;
    position: relative; }
    @media screen and (width < 768px) {
      .brandItem__button {
        margin-top: 20px;
        padding: 0 20px 13px; } }
    @media print, screen and (768px <= width) {
      .brandItem__button {
        margin-top: auto;
        padding: 0 20px 14px; } }
    .brandItem__button::after {
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 2px;
      background-color: var(--brand-main-color);
      bottom: 0;
      left: 0; }
    .brandItem__button .arrow {
      overflow: hidden;
      position: relative;
      width: 1.5em;
      aspect-ratio: 1; }
      .brandItem__button .arrow::before, .brandItem__button .arrow::after {
        content: "";
        display: block;
        color: var(--brand-main-color);
        font-family: "Font Awesome 7 Free";
        content: "";
        font-weight: 900;
        padding-left: 0;
        padding-right: 1rem;
        position: absolute;
        top: 0;
        right: 0;
        animation-fill-mode: forwards;
        animation-duration: 0.6s; }
      .brandItem__button .arrow::after {
        transform: translateX(-100%); }

@media screen and (width < 768px) {
  .homeMenu {
    margin-top: 76px; } }
@media print, screen and (768px <= width) {
  .homeMenu {
    margin-top: 115px; } }
@media print, screen and (768px <= width) {
  .homeMenu__inner {
    width: 1200px;
    padding: 0 45px;
    margin-inline: auto; } }
.homeMenu__list {
  display: grid; }
  @media screen and (width < 768px) {
    .homeMenu__list {
      grid-row-gap: 10px; } }
  @media print, screen and (768px <= width) {
    .homeMenu__list {
      grid-template-columns: repeat(2, 1fr);
      column-gap: 10px; } }

a.buttonMenu {
  text-decoration: none;
  transition: background 0.3s ease-out; }
  a.buttonMenu:hover, a.buttonMenu:focus, a.buttonMenu:active {
    background-color: var(--hover-color); }
    a.buttonMenu:hover .arrow::before, a.buttonMenu:focus .arrow::before, a.buttonMenu:active .arrow::before {
      animation-name: transformRightLeft;
      animation-delay: 0s; }
    a.buttonMenu:hover .arrow::after, a.buttonMenu:focus .arrow::after, a.buttonMenu:active .arrow::after {
      animation-name: transformLeftRight;
      animation-delay: 0.2s; }

.buttonMenu {
  display: grid;
  align-items: center;
  width: 100%;
  background-color: #fff;
  border: 2px solid var(--brand-main-color);
  font-weight: 700; }
  @media screen and (width < 768px) {
    .buttonMenu {
      font-size: 1.8rem;
      border-radius: 15px;
      min-height: 118px;
      grid-template-columns: 57px 1fr 50px 30px; } }
  @media print, screen and (768px <= width) {
    .buttonMenu {
      font-size: 2rem;
      border-radius: 20px;
      min-height: 135px;
      grid-template-columns: 100px 1fr 93px 35px; } }
  @media screen and (width < 768px) {
    .buttonMenu__image {
      width: 60px;
      height: 60px; } }
  @media print, screen and (768px <= width) {
    .buttonMenu__image {
      width: 90px;
      height: 90px; } }
  .buttonMenu__image img {
    width: 100%;
    height: auto; }
  .buttonMenu .arrow {
    overflow: hidden;
    position: relative;
    aspect-ratio: 1;
    margin-inline: auto; }
    @media screen and (width < 768px) {
      .buttonMenu .arrow {
        width: 3rem; } }
    @media print, screen and (768px <= width) {
      .buttonMenu .arrow {
        width: 6rem; } }
    .buttonMenu .arrow::before, .buttonMenu .arrow::after {
      content: "";
      display: block;
      color: var(--brand-main-color);
      font-family: "Font Awesome 7 Free";
      content: "";
      font-weight: 900;
      padding-left: 0;
      padding-right: 1rem;
      position: absolute;
      top: 0;
      right: 0;
      animation-fill-mode: forwards;
      animation-duration: 0.6s; }
      @media screen and (width < 768px) {
        .buttonMenu .arrow::before, .buttonMenu .arrow::after {
          font-size: 2 .0rem; } }
      @media print, screen and (768px <= width) {
        .buttonMenu .arrow::before, .buttonMenu .arrow::after {
          font-size: 4.0rem; } }
    .buttonMenu .arrow::after {
      transform: translateX(-100%); }
  .buttonMenu::after {
    margin-bottom: auto;
    padding: 0 !important; }

.homeAbout {
  position: relative; }
  @media screen and (width < 768px) {
    .homeAbout {
      padding: 167px 0 190px; } }
  @media print, screen and (768px <= width) {
    .homeAbout {
      margin: 157px 0 190px; } }
  .homeAbout::before {
    content: "";
    display: block;
    background-color: var(--brand-sub-color);
    margin-inline: auto;
    position: absolute;
    left: 0;
    right: 0;
    z-index: -2; }
    @media screen and (width < 768px) {
      .homeAbout::before {
        width: 100%;
        height: 720px;
        border-radius: 15px;
        top: 185px; } }
    @media print, screen and (768px <= width) {
      .homeAbout::before {
        width: 1240px;
        height: 600px;
        border-radius: 20px;
        top: 90px; } }
  .homeAbout__inner {
    position: relative; }
    @media print, screen and (768px <= width) {
      .homeAbout__inner {
        width: 1200px;
        padding: 0 45px;
        margin-inline: auto; } }
  @media print, screen and (768px <= width) {
    .homeAbout__layout {
      display: grid;
      grid-template-columns: 335px 1fr;
      column-gap: 95px; } }
  .homeAbout__contents {
    display: flex;
    flex-direction: row-reverse; }
    @media screen and (width < 768px) {
      .homeAbout__contents {
        justify-content: center; } }
    @media print, screen and (768px <= width) {
      .homeAbout__contents {
        gap: 38px; } }
  .homeAbout__title {
    color: var(--title-color);
    font-family: var(--sub-font);
    font-weight: 700;
    writing-mode: vertical-rl;
    text-orientation: upright;
    white-space: pre; }
    @media screen and (width < 768px) {
      .homeAbout__title {
        font-size: 3.4rem; } }
    @media print, screen and (768px <= width) {
      .homeAbout__title {
        font-size: 4.8rem; } }
  .homeAbout__text {
    writing-mode: vertical-rl;
    text-orientation: upright; }
    @media screen and (width < 768px) {
      .homeAbout__text {
        margin-top: 76px;
        height: 270px; } }
    @media print, screen and (768px <= width) {
      .homeAbout__text {
        margin-top: 195px;
        height: 350px; } }
  @media screen and (width < 768px) {
    .homeAbout__image {
      margin: 40px 0 35px 30px;
      position: relative; } }
  @media print, screen and (768px <= width) {
    .homeAbout__image {
      margin-top: 170px;
      display: flex; } }
  @media screen and (width < 768px) {
    .homeAbout__image .image01 {
      width: 222px;
      height: 195px; } }
  @media print, screen and (768px <= width) {
    .homeAbout__image .image01 {
      width: 520px;
      height: 390px; } }
  @media screen and (width < 768px) {
    .homeAbout__image .image02 {
      width: 148px;
      height: 111px;
      position: absolute;
      right: -15px;
      bottom: 0; } }
  @media print, screen and (768px <= width) {
    .homeAbout__image .image02 {
      width: 343px;
      height: 258px;
      margin-top: 205px;
      margin-left: -88px; } }
  .homeAbout__image img {
    width: 100%;
    height: auto; }
  .homeAbout__illust01 {
    position: absolute; }
    @media screen and (width < 768px) {
      .homeAbout__illust01 {
        width: 186px;
        height: 140px;
        top: -133px;
        right: -31px; } }
    @media print, screen and (768px <= width) {
      .homeAbout__illust01 {
        width: 252px;
        top: -6px;
        right: 40px; } }
    .homeAbout__illust01 img {
      width: 100%;
      height: auto; }
  .homeAbout__illust02 {
    position: absolute; }
    @media screen and (width < 768px) {
      .homeAbout__illust02 {
        width: 240px;
        height: 140px;
        bottom: -130px;
        left: -40px;
        z-index: -1; } }
    @media print, screen and (768px <= width) {
      .homeAbout__illust02 {
        width: 335px;
        bottom: -50px;
        left: 20px; } }
    .homeAbout__illust02 img {
      width: 100%;
      height: auto; }

.homeBusiness {
  background-color: var(--bg-color); }
  @media screen and (width < 768px) {
    .homeBusiness {
      padding: 70px 0; } }
  @media print, screen and (768px <= width) {
    .homeBusiness {
      padding: 60px 0 120px; } }
  @media print, screen and (768px <= width) {
    .homeBusiness__inner {
      width: 1200px;
      padding: 0 45px;
      margin-inline: auto; } }
  .homeBusiness__list {
    display: grid; }
    @media screen and (width < 768px) {
      .homeBusiness__list {
        row-gap: 30px; } }
    @media print, screen and (768px <= width) {
      .homeBusiness__list {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px 30px; } }

.bgImage {
  background-color: var(--bg-color);
  position: relative; }
  @media screen and (width < 768px) {
    .bgImage {
      margin-left: -15px;
      margin-right: -15px;
      height: 180px; } }
  @media print, screen and (768px <= width) {
    .bgImage {
      width: 100%;
      height: 460px; } }
  .bgImage__clip {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    margin-inline: auto; }
    @media screen and (width < 768px) {
      .bgImage__clip {
        width: 90%;
        clip-path: inset(0 round 10px); } }
    @media print, screen and (768px <= width) {
      .bgImage__clip {
        width: 90%;
        clip-path: inset(0 round 20px); } }
  .bgImage__image {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center; }
    @media screen and (width < 768px) {
      .bgImage__image {
        background-image: url("../images/home/img-background_sp.png"); } }
    @media print, screen and (768px <= width) {
      .bgImage__image {
        background-image: url("../images/home/img-background_pc.png"); } }

 /* =========================================================
 homeInfo 最新情報
========================================================= */
@media screen and (width < 768px) {
  .homeInfo {
    padding: 52px 0 57px; } }
@media print, screen and (768px <= width) {
  .homeInfo {
    padding: 172px 0 100px; } }
@media print, screen and (768px <= width) {
  .homeInfo__inner {
    width: 1200px;
    padding: 0 45px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 380px 1fr;
    column-gap: 65px; } }
@media print, screen and (768px <= width) {
  .homeInfo__title {
    position: relative; } }
.homeInfo__menu {
  display: grid;
  grid-row-gap: 14px; }
  @media print, screen and (768px <= width) {
    .homeInfo__menu {
      margin-top: 10px; } }

.buttonSns {
  display: grid;
  align-items: center;
  width: 100%;
  background-color: #fff;
  border: 2px solid var(--brand-main-color);
  font-weight: 500;
  text-decoration: none !important;
  transition: background 0.3s ease-out; }
  @media screen and (width < 768px) {
    .buttonSns {
      grid-template-columns: 72px 1fr 40px;
      min-height: 80px;
      border-radius: 15px; } }
  @media print, screen and (768px <= width) {
    .buttonSns {
      grid-template-columns: 112px 1fr 45px;
      border-radius: 20px;
      font-size: 2.0rem;
      min-height: 100px; } }
  .buttonSns i {
    color: var(--brand-main-color);
    margin-inline: auto; }
    @media screen and (width < 768px) {
      .buttonSns i {
        font-size: 3rem; } }
    @media print, screen and (768px <= width) {
      .buttonSns i {
        font-size: 5rem; } }
  .buttonSns::after {
    margin-bottom: auto;
    padding: 0 !important;
    text-align: center; }
  .buttonSns:hover, .buttonSns:focus, .buttonSns:active {
    background-color: var(--hover-color); }

/* =========================================================
 homeLink 関連リンク
========================================================= */
@media screen and (width < 768px) {
  .homeLink {
    margin-left: -15px;
    margin-right: -15px;
    padding: 0 15px 200px;
    background-image: url(../images/home/bg-link_sp.png);
    background-size: contain;
    background-repeat: repeat-x;
    background-position: center bottom; } }
@media print, screen and (768px <= width) {
  .homeLink {
    padding-bottom: 320px;
    background-image: url(../images/home/bg-link_pc.png);
    background-position: center top; } }
.homeLink__inner {
  position: relative;
  z-index: 10; }
  @media print, screen and (768px <= width) {
    .homeLink__inner {
      width: 1200px;
      padding: 0 45px;
      margin-inline: auto; } }
  .homeLink__inner::after {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    background-size: contain; }
    @media screen and (width < 768px) {
      .homeLink__inner::after {
        width: 222px;
        height: 210px;
        background-image: url(../images/home/img-map_sp.png);
        right: 0;
        bottom: -180px; } }
    @media print, screen and (768px <= width) {
      .homeLink__inner::after {
        width: 582px;
        height: 549px;
        background-image: url(../images/home/img-map_pc.png);
        right: 0;
        top: 20px; } }
@media print, screen and (768px <= width) {
  .homeLink__title {
    position: relative; } }
.homeLink__menu {
  display: grid;
  grid-row-gap: 15px; }
  @media print, screen and (768px <= width) {
    .homeLink__menu {
      margin-top: 10px; } }

.buttonLink {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  background-color: #fff;
  border: 2px solid var(--brand-main-color);
  font-weight: 500;
  text-align: center;
  text-decoration: none !important;
  position: relative;
  transition: background 0.3s ease-out;
  padding: 5px; }
  @media screen and (width < 768px) {
    .buttonLink {
      min-height: 90px;
      border-radius: 15px;
      font-size: 1.5rem;
      line-height: 1.1; } }
  @media print, screen and (768px <= width) {
    .buttonLink {
      border-radius: 20px;
      font-size: 2.2rem;
      min-height: 100px; } }
  .buttonLink::after {
    position: absolute;
    right: 15px;
    top: 10px;
    padding: 0 !important;
    text-align: center; }
  .buttonLink:hover, .buttonLink:focus, .buttonLink:active {
    background-color: var(--hover-color); }

/* Scss Document */
/*
$category01-color: #efedc8;
$category02-color: #c1e0ea;
$category03-color: #d6e7d2;
$category04-color: var(--brand-main-color);
$category05-color: var(--brand-sub-color);
*/
.layoutNews {
  display: grid; }
  @media screen and (width < 768px) {
    .layoutNews {
      margin-bottom: 15px; } }
  @media print, screen and (768px <= width) {
    .layoutNews {
      grid-template-columns: 140px 120px 1fr;
      padding: unset;
      list-style-type: ''; } }
  .layoutNews > li {
    display: grid;
    align-items: flex-start; }
    @media screen and (width < 768px) {
      .layoutNews > li {
        grid-template-columns: 120px 1fr;
        border-bottom: 1px solid #e5e5e5;
        padding-block: 0.5lh; } }
    @media print, screen and (768px <= width) {
      .layoutNews > li {
        grid-template-columns: subgrid;
        grid-column: span 3;
        column-gap: 30px;
        padding-block: 0.3lh; } }
    .layoutNews > li.new > .layoutNews__text::after {
      color: #ff6571;
      content: "NEW";
      display: inline-block;
      margin-left: 5px; }
  .layoutNews__cat {
    line-height: 1.3;
    text-align: center;
    border: 1px solid var(--text-color);
    		/*
            &--01 {
    			background-color: $category01-color;
            }
            &--02 {
    			background-color: $category02-color;
            }
            &--03 {
    			background-color: $category03-color;
            }
    		&--04 {
    			background-color: $category04-color;
            }
            &--05 {
    			background-color: $category05-color;
            }
    		*/ }
    @media screen and (width < 768px) {
      .layoutNews__cat {
        font-size: 1.2rem;
        width: 80px;
        padding: 2px;
        grid-column: 2; } }
    @media print, screen and (768px <= width) {
      .layoutNews__cat {
        font-size: 1.4rem;
        padding: 3px;
        width: 120px; } }
  @media screen and (width < 768px) {
    .layoutNews__text {
      grid-column: span 2; } }
  @media print, screen and (768px <= width) {
    .layoutNews__text {
      margin-left: 25px; } }

.newsSets {
  display: flex;
  align-items: center; }
  @media print, screen and (768px <= width) {
    .newsSets {
      align-content: center; } }
  .newsSets__date {
    letter-spacing: 0; }
    @media screen and (width < 768px) {
      .newsSets__date {
        width: 8em; } }
    @media print, screen and (768px <= width) {
      .newsSets__date {
        width: 7.5em;
        margin-right: 3px; } }
  .newsSets__cat {
    line-height: 1.3;
    text-align: center;
    border-radius: 12px;
    margin-right: 5px;
    		/*
            &--01 {
    			background-color: $category01-color;
            }
            &--02 {
    			background-color: $category02-color;
            }
            &--03 {
    			background-color: $category03-color;
            }
    		&--04 {
    			background-color: $category04-color;
            }
            &--05 {
    			background-color: $category05-color;
            }
    		*/ }
    @media screen and (width < 768px) {
      .newsSets__cat {
        font-size: 1.2rem;
        width: 80px;
        padding: 2px;
        grid-column: 2; } }
    @media print, screen and (768px <= width) {
      .newsSets__cat {
        font-size: 1.4rem;
        padding: 3px;
        width: 120px; } }
  .newsSets--flexEnd {
    justify-content: flex-end; }
    @media print, screen and (768px <= width) {
      .newsSets--flexEnd .newsSets__date {
        margin-right: 10px; } }

.newsCard {
  display: block;
  height: 100%;
  position: relative; }
  .newsCard__inner {
    display: flex;
    flex-wrap: wrap; }
  .newsCard__title {
    width: 100%;
    order: 3;
    line-height: 1.4; }
    @media screen and (width < 768px) {
      .newsCard__title {
        padding: 2px 0 10px 0; } }
    @media print, screen and (768px <= width) {
      .newsCard__title {
        padding: 5px 10px 20px 0px; } }
  .newsCard__sets {
    width: 100%;
    order: 2;
    border-radius: 50px;
    display: flex; }
    @media screen and (width < 768px) {
      .newsCard__sets {
        padding-top: 5px; } }
    @media print, screen and (768px <= width) {
      .newsCard__sets {
        padding: 5px 5px 0 0px; } }
  .newsCard__image {
    order: 1;
    overflow: hidden;
    width: 100%;
    border: 1px solid var(--gray-color); }
    @media screen and (width < 768px) {
      .newsCard__image {
        height: calc((100vw - 30px) * 0.571); } }
    @media print, screen and (768px <= width) {
      .newsCard__image {
        height: 200px;
        width: 100%; } }
    .newsCard__image img {
      object-fit: cover;
      object-position: 50% 50%;
      width: 100%;
      height: 100%; }
  .newsCard--aspect .newsCard__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    background-color: #fff; }
    .newsCard--aspect .newsCard__image img {
      object-fit: contain;
      object-position: center center; }
  .newsCard.new .newsCard__sets::after {
    content: "new";
    display: inline-block;
    text-align: center;
    color: #fd6e70;
    margin-left: 1em; }
  .newsCard.fix::before {
    position: absolute;
    top: 6px;
    right: 11px;
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0;
    padding-right: 0;
    color: #fff;
    transform: rotate(45deg);
    z-index: 10; }
  .newsCard.fix::after {
    content: "";
    width: 34px;
    height: 34px;
    background-color: var(--brand-main-color);
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0.8; }

a.newsCard {
  text-decoration: none; }
  a.newsCard .newsCard__title {
    text-decoration: underline;
    text-decoration-color: rgba(var(--text-color), 0.8);
    text-underline-position: under;
    text-decoration-thickness: 1px; }
  a.newsCard:hover .newsCard__title, a.newsCard:focus .newsCard__title, a.newsCard:active .newsCard__title {
    text-decoration: none; }
  a.newsCard[href$=".pdf"] .newsCard__title::after {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }
  a.newsCard[href*=".doc"] .newsCard__title::after {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }
  a.newsCard[href*=".xls"] .newsCard__title::after {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }
  a.newsCard[href^="http"] .newsCard__title::after {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }

.newsList__item {
  border-bottom: 1px solid #ccc; }
  .newsList__item:last-child {
    border-bottom: none; }

a.newsIndexCard {
  text-decoration: none; }
  a.newsIndexCard:hover .newsIndexCard__text, a.newsIndexCard:focus .newsIndexCard__text, a.newsIndexCard:active .newsIndexCard__text {
    text-decoration: underline; }
  a.newsIndexCard[href$=".pdf"] .newsIndexCard__text::after {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }
  a.newsIndexCard[href*=".doc"] .newsIndexCard__text::after {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }
  a.newsIndexCard[href*=".xls"] .newsIndexCard__text::after {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }
  a.newsIndexCard[href^="http"] .newsIndexCard__text::after {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }
  a.newsIndexCard[href^="mailto"] .newsIndexCard__text::after {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }

.newsIndexCard {
  display: grid;
  width: 100%; }
  @media screen and (width < 768px) {
    .newsIndexCard {
      grid-template-columns: 120px calc(100% - 120px);
      grid-template-rows: auto;
      padding: 1.0em 0; } }
  @media print, screen and (768px <= width) {
    .newsIndexCard {
      grid-template-columns: 280px auto;
      grid-template-rows: auto;
      padding: 1.8em 0; } }
  .newsIndexCard__image {
    grid-row: 1 / 3;
    grid-column: 1 / 2;
    position: relative; }
    @media screen and (width < 768px) {
      .newsIndexCard__image {
        height: 80px; } }
    @media print, screen and (768px <= width) {
      .newsIndexCard__image {
        height: 160px; } }
    .newsIndexCard__image img {
      object-fit: cover;
      object-position: 50% 50%;
      width: 100%;
      height: 100%; }
  .newsIndexCard__set {
    grid-row: 1 / 2;
    grid-column: 2 / 3; }
    @media screen and (width < 768px) {
      .newsIndexCard__set {
        padding-left: 1em; } }
    @media print, screen and (768px <= width) {
      .newsIndexCard__set {
        padding-left: 2em;
        margin-top: 8px; } }
  .newsIndexCard__text {
    grid-row: 1 / 3;
    grid-column: 2 / 3;
    text-decoration: underline;
    text-decoration-color: #eee; }
    @media screen and (width < 768px) {
      .newsIndexCard__text {
        padding-left: 1em;
        margin-top: 26px; } }
    @media print, screen and (768px <= width) {
      .newsIndexCard__text {
        padding-left: 2em;
        margin-top: 42px; } }
  .newsIndexCard--aspect .newsIndexCard__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    background-color: #fff; }
    .newsIndexCard--aspect .newsIndexCard__image img {
      object-fit: contain;
      object-position: center center; }
  .newsIndexCard.new .newsIndexCard__text::before {
    content: "new";
    display: inline-block;
    text-align: center;
    color: #fd6e70;
    margin-right: 0.8em; }
  .newsIndexCard.fix .newsIndexCard__image::before {
    position: absolute;
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0;
    padding-right: 0;
    color: #fff;
    transform: rotate(45deg);
    z-index: 10; }
    @media screen and (width < 768px) {
      .newsIndexCard.fix .newsIndexCard__image::before {
        font-size: 0.8em;
        top: 3px;
        right: 7px; } }
    @media print, screen and (768px <= width) {
      .newsIndexCard.fix .newsIndexCard__image::before {
        top: 6px;
        right: 11px; } }
  .newsIndexCard.fix .newsIndexCard__image::after {
    content: "";
    background-color: var(--brand-main-color);
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0.8; }
    @media screen and (width < 768px) {
      .newsIndexCard.fix .newsIndexCard__image::after {
        width: 24px;
        height: 24px; } }
    @media print, screen and (768px <= width) {
      .newsIndexCard.fix .newsIndexCard__image::after {
        width: 34px;
        height: 34px; } }

/* Scss Document */
@media screen and (width < 768px) {
  body#pork, body#beef {
    background-image: linear-gradient(to bottom, #f1e0c6 0%, #f1e0c6 275px, #fff8e6 250px, #fff8e6 100%); } }
@media print, screen and (768px <= width) {
  body#pork, body#beef {
    background-image: linear-gradient(to bottom, #f1e0c6 0%, #f1e0c6 500px, #fff8e6 500px, #fff8e6 100%); } }

@media screen and (width < 768px) {
  body:not(#home, #pork, #beef) {
    background-image: linear-gradient(to bottom, #f1e0c6 0%, #f1e0c6 200px, #fff8e6 200px, #fff8e6 100%); } }
@media print, screen and (768px <= width) {
  body:not(#home, #pork, #beef) {
    background-image: linear-gradient(to bottom, #f1e0c6 0%, #f1e0c6 420px, #fff8e6 420px, #fff8e6 100%); } }

/* =========================================================
 textLink icon
========================================================= */
main a:not([class*="button"]):link, main a:not([class*="button"]):visited, main a:not([class*="Button"]):link, main a:not([class*="Button"]):visited {
  color: var(--text-color); }
main a:not([class*="button"]):hover, main a:not([class*="button"]):active, main a:not([class*="button"]):focus, main a:not([class*="button"]).hover, main a:not([class*="Button"]):hover, main a:not([class*="Button"]):active, main a:not([class*="Button"]):focus, main a:not([class*="Button"]).hover {
  color: var(--text-color); }
main a:not([class])[href$=".pdf"]:after, main a[class^="button"][href$=".pdf"]:after {
  font-family: "Font Awesome 7 Free";
  content: "";
  font-weight: 400;
  padding-left: 0.5rem;
  padding-right: 0;
  color: var(--brand-main-color); }
main a:not([class])[href*=".doc"]:after, main a[class^="button"][href*=".doc"]:after {
  font-family: "Font Awesome 7 Free";
  content: "";
  font-weight: 400;
  padding-left: 0.5rem;
  padding-right: 0;
  color: var(--brand-main-color); }
main a:not([class])[href*=".xls"]:after, main a[class^="button"][href*=".xls"]:after {
  font-family: "Font Awesome 7 Free";
  content: "";
  font-weight: 400;
  padding-left: 0.5rem;
  padding-right: 0;
  color: var(--brand-main-color); }
main a:not([class])[href^="http"]:after, main a[class^="button"][href^="http"]:after, main a.http:after {
  font-family: "Font Awesome 7 Free";
  content: "";
  font-weight: 400;
  padding-left: 0.5rem;
  padding-right: 0;
  color: var(--brand-main-color); }
main a:not([class])[href^="mailto"]:after, main a[class^="button"][href^="mailto"]:after {
  font-family: "Font Awesome 7 Free";
  content: "";
  font-weight: 400;
  padding-left: 0.5rem;
  padding-right: 0;
  color: var(--brand-main-color); }

/* =========================================================
 text-a
========================================================= */
.text-center {
  text-align: center !important; }

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

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

/* =========================================================
 p
========================================================= */
main p:not([class]) {
  margin-bottom: 0.8em;
  margin-top: 0.8em; }

main p:not([class]):empty {
  height: 1em; }

/* =========================================================
 strong
========================================================= */
main strong:not([class]) {
  font-weight: bold; }

/* a opacity
--------------------------------------------------------- */
/* =========================================================
 aspectContainer aspect-ratio
========================================================= */
.aspectWrap16-9 {
  width: 100%;
  aspect-ratio: 16 / 9; }
  .aspectWrap16-9 iframe {
    width: 100%;
    height: 100%; }
  .aspectWrap16-9 img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.aspectWrap4-3 {
  width: 100%;
  aspect-ratio: 4 / 3; }
  .aspectWrap4-3 iframe {
    width: 100%;
    height: 100%; }
  .aspectWrap4-3 img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.aspectWrap3-2 {
  width: 100%;
  aspect-ratio: 3 / 2; }
  .aspectWrap3-2 iframe {
    width: 100%;
    height: 100%; }
  .aspectWrap3-2 img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.aspectWrap1-1 {
  width: 100%;
  aspect-ratio: 1 / 1; }
  .aspectWrap1-1 iframe {
    width: 100%;
    height: 100%; }
  .aspectWrap1-1 img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

/* =========================================================
 spectImageBox アスペクト比固定画像
========================================================= */
.aspectImageBox {
  width: 100%;
  display: block;
  border: 1px solid #eee;
  aspect-ratio: 4 / 3; }
  .aspectImageBox--0322 {
    aspect-ratio: 3 / 2; }
  .aspectImageBox--1609 {
    aspect-ratio: 16 / 9; }
  .aspectImageBox img {
    width: 100%;
    height: 100%;
    object-fit: scale-down; }

/* =========================================================
 Ul
========================================================= */
.baseUl {
  --_icon-size: 0.6em;
  --_icon-offset: 1.6em;
  margin-bottom: 0.8em;
  margin-top: 0.8em; }
  .baseUl li {
    padding-left: var(--_icon-offset);
    padding-right: 0.8em; }
    .baseUl li + li {
      padding-right: 0.8em; }
    .baseUl li::before {
      content: "";
      display: block;
      aspect-ratio: 1;
      border-radius: 50%;
      background-color: var(--brand-main-color);
      position: absolute; }
  .baseUl > li {
    position: relative; }
    .baseUl > li ol, .baseUl > li ul {
      padding-left: 1.0em; }
    .baseUl > li > ul > li {
      position: relative; }
      .baseUl > li > ul > li:before {
        block-size: calc(var(--_icon-size) * 0.8);
        top: calc((1lh - var(--_icon-size)) / 2);
        left: calc((var(--_icon-offset) - var(--_icon-size)) / 2); }
  .baseUl > li:before {
    block-size: var(--_icon-size);
    top: calc((1lh - var(--_icon-size)) / 2);
    left: calc((var(--_icon-offset) - var(--_icon-size)) / 2); }
  .baseUl--inline li {
    display: inline-block; }
  .baseUl--0201col {
    display: grid;
    margin: 0.8em 0; }
    @media screen and (width < 768px) {
      .baseUl--0201col {
        row-gap: 10px; } }
    @media print, screen and (768px <= width) {
      .baseUl--0201col {
        width: 100%;
        grid-template-columns: repeat(2, 1fr);
        gap: 5px 30px; } }
  .baseUl--0301col {
    display: grid;
    margin: 0.8em 0; }
    @media screen and (width < 768px) {
      .baseUl--0301col {
        row-gap: 10px; } }
    @media print, screen and (768px <= width) {
      .baseUl--0301col {
        width: 100%;
        grid-template-columns: repeat(3, 1fr);
        gap: 5px 25px; } }

/* =========================================================
 数字リスト
========================================================= */
.baseOl {
  --_icon-offset: 1.6em;
  margin-bottom: 0.8em;
  margin-top: 0.8em;
  list-style: none;
  counter-reset: section; }
  .baseOl li + li {
    margin-top: 0.2em; }
  .baseOl > li ol, .baseOl > li ul {
    margin-top: 0.2em; }
  .baseOl > li {
    position: relative;
    padding-right: 0.8em;
    padding-left: var(--_icon-offset); }
    .baseOl > li::before {
      counter-increment: section;
      content: counter(section);
      color: var(--brand-main-color);
      position: absolute;
      left: calc((var(--_icon-offset) - 1em ) / 2);
      top: 0;
      font-weight: 700; }

/* =========================================================
 numberUl 順序が関係ない数字リスト
========================================================= */
.numberUl {
  --_icon-offset: 50px;
  margin-top: 0.8em;
  list-style: none;
  counter-reset: section; }
  @media screen and (width < 768px) {
    .numberUl {
      font-size: 1.8rem; } }
  @media print, screen and (768px <= width) {
    .numberUl {
      font-size: 2.0rem; } }
  .numberUl li + li {
    margin-top: 0.8em; }
  .numberUl > li ol, .numberUl > li ul {
    margin-top: 0.2em; }
  .numberUl > li {
    position: relative;
    padding-right: 0.8em;
    padding-left: var(--_icon-offset); }
    .numberUl > li::before {
      counter-increment: section;
      content: counter(section) " .";
      color: var(--brand-sub-color);
      font-style: italic;
      position: absolute;
      left: 0;
      line-height: 1.0;
      font-weight: 700; }
      @media screen and (width < 768px) {
        .numberUl > li::before {
          font-size: 3.0rem; } }
      @media print, screen and (768px <= width) {
        .numberUl > li::before {
          font-size: 3.0rem; } }

/* =========================================================
 Ul　注釈
========================================================= */
.asteriskUl {
  --_icon-offset: 1.6em;
  list-style: none;
  margin-left: var(--_icon-offset);
  margin-bottom: 0.8em;
  margin-top: 0.8em; }
  .asteriskUl > li:before {
    display: inline-block;
    width: 1.2em;
    margin-left: -1.2em;
    content: "※"; }
  .asteriskUl li + li {
    margin-top: 0.2em; }
  .asteriskUl--sm {
    font-size: 80%; }

/* =========================================================
 anchorUl
==================================b======================= */
.anchorUl {
  margin-bottom: 0.8em;
  background-color: var(--gray-color);
  border-radius: 10px; }
  @media screen and (width < 768px) {
    .anchorUl {
      margin: 0 0 40px;
      padding: 2px 5px 7px 16px; } }
  @media print, screen and (768px <= width) {
    .anchorUl {
      margin: 40px 0 40px;
      padding: 7px 50px 13px; } }
  .anchorUl li {
    display: inline-block; }
    @media screen and (width < 768px) {
      .anchorUl li {
        margin-top: 0.4em;
        margin-right: 20px; } }
    @media print, screen and (768px <= width) {
      .anchorUl li {
        margin-top: 0.5em;
        margin-right: 45px; } }
  .anchorUl > li {
    position: relative; }
    .anchorUl > li ol, .anchorUl > li ul {
      margin-top: 0.2em; }
  .anchorUl > li:before {
    content: "";
    display: inline-block;
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0em;
    padding-right: 0.5em;
    color: var(--brand-main-color);
    font-size: 1.2em; }
  .anchorUl > li > a {
    text-decoration: none; }
    .anchorUl > li > a:hover, .anchorUl > li > a:focus, .anchorUl > li > a:active {
      text-decoration: underline; }

/* =========================================================
 Ol　注釈数字
========================================================= */
.asteriskOl {
  counter-reset: number;
  list-style: none;
  margin-left: 2.2em;
  margin-bottom: 0.8em;
  margin-top: 0.8em; }
  .asteriskOl--sm {
    font-size: 80%; }
  .asteriskOl > li:before {
    display: inline-block;
    width: 2.2em;
    margin-left: -2.2em;
    counter-increment: number;
    content: "※" counter(number) " "; }
  .asteriskOl li + li {
    margin-top: 0.2em; }

/* =========================================================
 linkUl
========================================================= */
.linkUl {
  margin-bottom: 0.8em;
  margin-top: 0.8em; }
  .linkUl li + li {
    margin-top: 0.5em; }
  .linkUl li a {
    display: block;
    position: relative; }
    @media screen and (width < 768px) {
      .linkUl li a {
        padding-left: 22px; } }
    @media print, screen and (768px <= width) {
      .linkUl li a {
        padding-left: 26px; } }
    .linkUl li a::before {
      content: "";
      display: inline-block;
      font-family: "Font Awesome 7 Free";
      content: "";
      font-weight: 900;
      padding-left: 0;
      padding-right: 0;
      position: absolute;
      top: 0;
      left: 0;
      color: var(--brand-text-color); }
    .linkUl li a:hover, .linkUl li a:active, .linkUl li a:focus {
      text-decoration: none; }

/* =========================================================
 Dl
========================================================= */
.baseDl {
  --_icon-size: 0.6em;
  --_icon-offset: 1.6em;
  margin-bottom: 0.8em; }
  .baseDl dt {
    padding-left: var(--_icon-offset);
    position: relative; }
    .baseDl dt::before {
      content: "";
      display: block;
      aspect-ratio: 1;
      border-radius: 50%;
      background-color: var(--text-color);
      position: absolute;
      block-size: var(--_icon-size);
      top: calc((1lh - var(--_icon-size)) / 2);
      left: calc((var(--_icon-offset) - var(--_icon-size)) / 2); }
  .baseDl dd {
    padding-left: var(--_icon-offset); }
  .baseDl dd + dt {
    margin-top: 0.8em; }
  .baseDl * {
    margin-top: 0;
    margin-bottom: 0; }

/* =========================================================
 inlineDl
========================================================= */
.inlineDl {
  margin-bottom: 0.6em;
  margin-top: 0.6em;
  display: flex; }
  .inlineDl dt {
    width: 8em;
    text-align: left; }
  .inlineDl--sm {
    margin-bottom: 0.4em;
    margin-top: 0.4em; }
    .inlineDl--sm dt {
      width: 7em; }
  .inlineDl * {
    margin-top: 0;
    margin-bottom: 0; }

/* =========================================================
 Table
========================================================= */
/*------- table用スクロール-------------- */
.scroll {
  overflow-x: auto !important;
  overflow-y: hidden;
  margin-bottom: 1.5em; }
  .scroll::-webkit-scrollbar {
    /* スクロールバー本体 */
    width: 15px;
    height: 15px;
    background: #ccc; }
  .scroll::-webkit-scrollbar:horizontal {
    /* 横方向のスクロールバー本体 */
    width: 12px;
    height: 12px;
    background: #ccc; }
  .scroll::-webkit-scrollbar-thumb {
    /* スクロールバーの動く部分 */
    background: #999;
    border: #666 solid 1px;
    border-radius: 0; }
  .scroll::-webkit-scrollbar-thumb:horizontal {
    /* 横方向のスクロールバーの動く部分 */
    background: #999;
    border: #666 solid 1px;
    border-radius: 0; }
  .scroll::-webkit-scrollbar-track-piece:start {
    /* スクロールバーの動く部分の前 */
    background: #ccc; }
  .scroll::-webkit-scrollbar-track-piece:end {
    /* スクロールバーの動く部分の後ろ */
    background: #ccc; }
  .scroll::-webkit-scrollbar-corner {
    /* スクロールバー角 */
    background: transparent; }
  .scroll > * {
    margin: 0 !important; }

/* table.baseTable(tableタグのみ)
--------------------------------------------------------- */
table.baseTable {
  margin-bottom: 0.8em;
  margin-top: 0.8em;
  border-bottom: 1px solid #c1c1c1;
  border-right: 1px solid #c1c1c1;
  white-space: nowrap; }
  table.baseTable--fluid {
    width: 100%; }
  table.baseTable--min100 {
    min-width: 100%; }
  table.baseTable--fixed {
    width: 0px;
    table-layout: fixed; }
  @media screen and (width < 768px) {
    table.baseTable--sp100 {
      white-space: normal;
      width: 100%; } }
  table.baseTable caption {
    caption-side: top;
    text-align: left;
    font-weight: bold;
    margin-bottom: 5px;
    color: var(--text-color); }
  table.baseTable thead {
    background-color: #f1f1f1; }
  table.baseTable thead tr + tr th {
    border-left: 1px solid #c1c1c1 !important;
    border-top: 1px solid #c1c1c1; }
  table.baseTable th, table.baseTable td {
    border-top: 1px solid #c1c1c1;
    border-left: 1px solid #c1c1c1; }
    @media screen and (width < 768px) {
      table.baseTable th, table.baseTable td {
        padding: 0.5em; } }
    @media print, screen and (768px <= width) {
      table.baseTable th, table.baseTable td {
        padding: 0.8em; } }
    table.baseTable th.txal-l, table.baseTable td.txal-l {
      text-align: left !important; }
    table.baseTable th.txal-c, table.baseTable td.txal-c {
      text-align: center !important; }
    table.baseTable th.txal-r, table.baseTable td.txal-r {
      text-align: right !important; }
    @media screen and (width < 768px) {
      table.baseTable th.w-2em, table.baseTable td.w-2em {
        width: calc( 0.6em + 1px + 2em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-2em, table.baseTable td.w-2em {
        width: calc( 40px + 1px + 2em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-3em, table.baseTable td.w-3em {
        width: calc( 0.6em + 1px + 3em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-3em, table.baseTable td.w-3em {
        width: calc( 40px + 1px + 3em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-4em, table.baseTable td.w-4em {
        width: calc( 0.6em + 1px + 4em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-4em, table.baseTable td.w-4em {
        width: calc( 40px + 1px + 4em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-5em, table.baseTable td.w-5em {
        width: calc( 0.6em + 1px + 5em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-5em, table.baseTable td.w-5em {
        width: calc( 40px + 1px + 5em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-6em, table.baseTable td.w-6em {
        width: calc( 0.6em + 1px + 6em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-6em, table.baseTable td.w-6em {
        width: calc( 40px + 1px + 6em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-7em, table.baseTable td.w-7em {
        width: calc( 0.6em + 1px + 7em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-7em, table.baseTable td.w-7em {
        width: calc( 40px + 1px + 7em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-8em, table.baseTable td.w-8em {
        width: calc( 0.6em + 1px + 8em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-8em, table.baseTable td.w-8em {
        width: calc( 40px + 1px + 8em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-9em, table.baseTable td.w-9em {
        width: calc( 0.6em + 1px + 9em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-9em, table.baseTable td.w-9em {
        width: calc( 40px + 1px + 9em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-10em, table.baseTable td.w-10em {
        width: calc( 0.6em + 1px + 10em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-10em, table.baseTable td.w-10em {
        width: calc( 40px + 1px + 10em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-11em, table.baseTable td.w-11em {
        width: calc( 0.6em + 1px + 11em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-11em, table.baseTable td.w-11em {
        width: calc( 40px + 1px + 11em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-12em, table.baseTable td.w-12em {
        width: calc( 0.6em + 1px + 12em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-12em, table.baseTable td.w-12em {
        width: calc( 40px + 1px + 12em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-13em, table.baseTable td.w-13em {
        width: calc( 0.6em + 1px + 13em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-13em, table.baseTable td.w-13em {
        width: calc( 40px + 1px + 13em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-14em, table.baseTable td.w-14em {
        width: calc( 0.6em + 1px + 14em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-14em, table.baseTable td.w-14em {
        width: calc( 40px + 1px + 14em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-15em, table.baseTable td.w-15em {
        width: calc( 0.6em + 1px + 15em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-15em, table.baseTable td.w-15em {
        width: calc( 40px + 1px + 15em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-16em, table.baseTable td.w-16em {
        width: calc( 0.6em + 1px + 16em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-16em, table.baseTable td.w-16em {
        width: calc( 40px + 1px + 16em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-17em, table.baseTable td.w-17em {
        width: calc( 0.6em + 1px + 17em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-17em, table.baseTable td.w-17em {
        width: calc( 40px + 1px + 17em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-18em, table.baseTable td.w-18em {
        width: calc( 0.6em + 1px + 18em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-18em, table.baseTable td.w-18em {
        width: calc( 40px + 1px + 18em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-19em, table.baseTable td.w-19em {
        width: calc( 0.6em + 1px + 19em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-19em, table.baseTable td.w-19em {
        width: calc( 40px + 1px + 19em); } }
    @media screen and (width < 768px) {
      table.baseTable th.w-20em, table.baseTable td.w-20em {
        width: calc( 0.6em + 1px + 20em); } }
    @media print, screen and (768px <= width) {
      table.baseTable th.w-20em, table.baseTable td.w-20em {
        width: calc( 40px + 1px + 20em); } }
  table.baseTable th {
    border-left: 1px solid #c1c1c1;
    border-top: 1px solid #c1c1c1;
    background-color: #f1f1f1; }
  table.baseTable th[scope="row"] {
    text-align: left; }
  table.baseTable th[scope="col"] {
    text-align: center !important; }
  table.baseTable td {
    background-color: transparent; }
  table.baseTable .nowrap {
    white-space: nowrap; }
  @media screen and (width < 768px) {
    table.baseTable--narrow th, table.baseTable--narrow td {
      padding: 0.3em; } }
  @media print, screen and (768px <= width) {
    table.baseTable--narrow th, table.baseTable--narrow td {
      padding: 0.4em; } }

.tableLayout01 {
  display: block;
  width: 100%;
  margin: 0.8em 0; }
  .tableLayout01 .item {
    display: flex;
    gap: 1rem;
    border-bottom: 1px solid var(--border-color); }
    @media screen and (width < 768px) {
      .tableLayout01 .item {
        padding-block: 15px; } }
    @media print, screen and (768px <= width) {
      .tableLayout01 .item {
        padding-block: 22px; } }
    .tableLayout01 .item.pat0 {
      padding-block-start: 0; }
  .tableLayout01 .title {
    flex-shrink: 0;
    flex-grow: 0; }
    @media screen and (width < 768px) {
      .tableLayout01 .title {
        width: 25%;
        font-weight: 500; } }
    @media print, screen and (768px <= width) {
      .tableLayout01 .title {
        width: 12em; }
        .tableLayout01 .title--xs {
          width: 8em; }
        .tableLayout01 .title--sm {
          width: 10em; }
        .tableLayout01 .title--md {
          width: 14em; }
        .tableLayout01 .title--lg {
          width: 16em; }
        .tableLayout01 .title--xl {
          width: 18em; }
        .tableLayout01 .title--xxl {
          width: 20em; } }
  .tableLayout01 .text {
    flex-grow: 1; }
  @media screen and (width < 768px) {
    .tableLayout01--sm .item {
      padding-block: 8px; } }
  @media print, screen and (768px <= width) {
    .tableLayout01--sm .item {
      padding-block: 15px; } }
  .tableLayout01--dot .item {
    border: none;
    background-image: url(../images/bg_dot.png);
    background-position: bottom;
    background-repeat: repeat-x; }
    @media screen and (width < 768px) {
      .tableLayout01--dot .item {
        padding: 15px 0 16px; } }
    @media print, screen and (768px <= width) {
      .tableLayout01--dot .item {
        padding: 30px 0 31px; } }

.tableLayout02 {
  display: block;
  width: 100%;
  margin: 0.8em 0; }
  @media print, screen and (768px <= width) {
    .tableLayout02 .item {
      display: flex;
      gap: 1rem;
      border-bottom: 1px solid var(--border-color);
      padding-block: 30px; } }
  .tableLayout02 .item.pat0 {
    padding-block-start: 0; }
  @media screen and (width < 768px) {
    .tableLayout02 .title, .tableLayout02 .text {
      padding-inline: 5px; } }
  @media screen and (width < 768px) {
    .tableLayout02 .title {
      padding-top: 10px;
      font-weight: 700; } }
  @media print, screen and (768px <= width) {
    .tableLayout02 .title {
      flex-shrink: 0;
      flex-grow: 0;
      width: 12em; }
      .tableLayout02 .title--xs {
        width: 8em; }
      .tableLayout02 .title--sm {
        width: 10em; }
      .tableLayout02 .title--md {
        width: 14em; }
      .tableLayout02 .title--lg {
        width: 16em; }
      .tableLayout02 .title--xl {
        width: 18em; }
      .tableLayout02 .title--xxl {
        width: 20em; } }
  @media screen and (width < 768px) {
    .tableLayout02 .text {
      padding-bottom: 10px; } }
  @media print, screen and (768px <= width) {
    .tableLayout02 .text {
      flex-grow: 1; } }
  @media screen and (width < 768px) {
    .tableLayout02--sm .item {
      padding-block: 8px; } }
  @media print, screen and (768px <= width) {
    .tableLayout02--sm .item {
      padding-block: 15px; } }
  @media print, screen and (768px <= width) {
    .tableLayout02--dot .item {
      border: none;
      background-image: url(../images/bg_dot.png);
      background-position: bottom;
      background-repeat: repeat-x;
      padding: 30px 0 31px; } }

/* =========================================================
 テキストレイアウト　textLayout
========================================================= */
/* 画像左
--------------------------------------------------------- */
.textLayout {
  --_gap: 30px;
  margin-bottom: 1.5em;
  margin-top: 1.5em; }
  @media screen and (width < 768px) {
    .textLayout {
      display: block; } }
  @media print, screen and (768px <= width) {
    .textLayout {
      display: flex;
      gap: 30px; } }
  @media screen and (width < 768px) {
    .textLayout__image {
      margin-bottom: 0.8em; } }
  @media print, screen and (768px <= width) {
    .textLayout__image {
      width: 475px;
      flex-grow: 0;
      flex-shrink: 0; }
      .textLayout__image--sm {
        width: 35%; } }
  .textLayout__image img {
    width: 100%;
    height: auto; }
  .textLayout__figcaption {
    text-align: center;
    margin-bottom: 0.3em;
    margin-top: 0.3em; }
  @media print, screen and (768px <= width) {
    .textLayout__text {
      flex-grow: 1; }
      .textLayout__text > *:first-child {
        margin-top: 0 !important; } }
  @media print, screen and (768px <= width) {
    .textLayout--reverse {
      flex-direction: row-reverse; } }

/* =========================================================
 テキストレイアウト　textLayoutAround　テキスト回り込み
========================================================= */
/* 画像左
--------------------------------------------------------- */
.textLayoutAround {
  display: block;
  margin-bottom: 1.5em;
  margin-top: 1.5em; }
  .textLayoutAround::after {
    content: "";
    display: block;
    clear: both; }
  @media print, screen and (768px <= width) {
    .textLayoutAround__imageArea {
      margin-right: 30px;
      margin-bottom: 0.8em;
      width: 50%;
      float: left; }
      .textLayoutAround__imageArea--xxs {
        width: 20%; }
      .textLayoutAround__imageArea--xs {
        width: 30%; }
      .textLayoutAround__imageArea--sm {
        width: 40%; } }
  .textLayoutAround__imageArea > img {
    width: 100%;
    height: auto; }
  @media print, screen and (768px <= width) {
    .textLayoutAround__textArea > *:first-child {
      margin-top: 0 !important; } }
  .textLayoutAround__figcaption {
    text-align: center;
    margin-bottom: 0.3em;
    margin-top: 0.3em; }

/* 画像右
--------------------------------------------------------- */
.textLayoutAroundRight {
  display: block;
  margin-bottom: 1.5em;
  margin-top: 1.5em; }
  .textLayoutAroundRight::after {
    content: "";
    display: block;
    clear: both; }
  @media print, screen and (768px <= width) {
    .textLayoutAroundRight__imageArea {
      margin-left: 30px;
      margin-bottom: 0.8em;
      width: 50%;
      float: right; }
      .textLayoutAroundRight__imageArea--xxs {
        width: 20%; }
      .textLayoutAroundRight__imageArea--xs {
        width: 30%; }
      .textLayoutAroundRight__imageArea--sm {
        width: 40%; } }
  .textLayoutAroundRight__imageArea > img {
    width: 100%;
    height: auto; }
  @media print, screen and (768px <= width) {
    .textLayoutAroundRight__textArea > *:first-child {
      margin-top: 0 !important; } }
  .textLayoutAroundRight__figcaption {
    text-align: center;
    margin-bottom: 0.3em;
    margin-top: 0.3em; }

/* =========================================================
 ボタンレイアウト　buttonLayout　ボタン一個　センター寄せ
========================================================= */
.buttonLayout {
  display: block;
  margin-bottom: 0.8em;
  margin-top: 0.8em; }
  .buttonLayout__inner {
    margin: 0.8em auto; }
    @media screen and (width < 768px) {
      .buttonLayout__inner {
        max-width: 280px; } }
    @media print, screen and (768px <= width) {
      .buttonLayout__inner {
        width: calc(1140px/12*4);
        padding-left: 15px;
        padding-right: 15px; } }
    @media print, screen and (768px <= width) {
      .buttonLayout__inner--lg {
        width: calc(1140px/12*5); } }
    @media screen and (width < 768px) {
      .buttonLayout__inner--sm {
        width: calc(280px/12*8); } }
    @media print, screen and (768px <= width) {
      .buttonLayout__inner--sm {
        width: calc(1140px/12*3); } }
    @media screen and (width < 768px) {
      .buttonLayout__inner--xs {
        width: calc(280px/12*6); } }
    @media print, screen and (768px <= width) {
      .buttonLayout__inner--xs {
        width: calc(1140px/12*2); } }
  @media screen and (width < 768px) {
    .buttonLayout__innerLeft {
      margin: 0.8em auto;
      width: 100%; } }
  @media print, screen and (768px <= width) {
    .buttonLayout__innerLeft {
      width: calc(1140px/12*4);
      padding-left: 15px;
      padding-right: 15px;
      margin: 0.8em auto 0.8em -15px; } }
  @media print, screen and (768px <= width) {
    .buttonLayout__innerLeft--lg {
      width: calc(1140px/12*5); } }
  @media screen and (width < 768px) {
    .buttonLayout__innerLeft--sm {
      width: calc(280px/12*8); } }
  @media print, screen and (768px <= width) {
    .buttonLayout__innerLeft--sm {
      width: calc(1140px/12*3); } }
  @media screen and (width < 768px) {
    .buttonLayout__innerLeft--xs {
      width: calc(280px/12*6); } }
  @media print, screen and (768px <= width) {
    .buttonLayout__innerLeft--xs {
      width: calc(1140px/12*2); } }
  .buttonLayout--matL {
    margin-top: 5em; }

/* =========================================================
 columnLayout
 ========================================================= */
.columnLayout {
  display: grid;
  margin: 0.8em 0; }
  @media screen and (width < 768px) {
    .columnLayout--0201 {
      row-gap: 15px; } }
  @media print, screen and (768px <= width) {
    .columnLayout--0201 {
      grid-template-columns: repeat(2, 1fr);
      gap: 15px 30px; } }
  @media screen and (width < 768px) {
    .columnLayout--0202 {
      grid-template-columns: repeat(2, 1fr);
      gap: 15px; } }
  @media print, screen and (768px <= width) {
    .columnLayout--0202 {
      grid-template-columns: repeat(2, 1fr);
      gap: 15px 30px; } }
  @media screen and (width < 768px) {
    .columnLayout--0301 {
      row-gap: 15px; } }
  @media print, screen and (768px <= width) {
    .columnLayout--0301 {
      grid-template-columns: repeat(3, 1fr);
      gap: 15px 30px; } }
  @media screen and (width < 768px) {
    .columnLayout--0302 {
      grid-template-columns: repeat(2, 1fr);
      gap: 10px 5px; } }
  @media print, screen and (768px <= width) {
    .columnLayout--0302 {
      grid-template-columns: repeat(3, 1fr);
      gap: 12px 15px; } }
  @media screen and (width < 768px) {
    .columnLayout--0401 {
      row-gap: 15px; } }
  @media print, screen and (768px <= width) {
    .columnLayout--0401 {
      grid-template-columns: repeat(4, 1fr);
      gap: 15px 30px; } }
  @media screen and (width < 768px) {
    .columnLayout--0402 {
      grid-template-columns: repeat(2, 1fr);
      gap: 15px 15px; } }
  @media print, screen and (768px <= width) {
    .columnLayout--0402 {
      grid-template-columns: repeat(4, 1fr);
      gap: 15px 15px; } }
  @media screen and (width < 768px) {
    .columnLayout--0403 {
      grid-template-columns: repeat(3, 1fr);
      gap: 30px 15px; } }
  @media print, screen and (768px <= width) {
    .columnLayout--0403 {
      grid-template-columns: repeat(4, 1fr);
      gap: 15px 30px; } }
  .columnLayout__item > figure > img {
    width: 100%;
    height: auto; }
  .columnLayout__item > a[class^="button"]:first-child {
    height: 100%; }
  .columnLayout__item > *:first-child {
    margin-top: 0 !important; }
  .columnLayout--matL {
    margin: 1.6em 0; }

/* =========================================================
 title
========================================================= */
/* pageTitle ページタイトル
--------------------------------------------------------- */
@media screen and (width < 768px) {
  .pageTitle {
    height: 150px; } }
@media print, screen and (768px <= width) {
  .pageTitle {
    height: 350px; } }
@media screen and (width < 768px) {
  .pageTitle__inner {
    padding-top: 37px; } }
@media print, screen and (768px <= width) {
  .pageTitle__inner {
    padding-top: 72px; } }
.pageTitle__title {
  margin-inline: auto;
  text-align: center;
  font-family: var(--sub-font);
  font-weight: 700; }
  @media screen and (width < 768px) {
    .pageTitle__title {
      font-size: 3.8rem;
      letter-spacing: 0.05em; } }
  @media print, screen and (768px <= width) {
    .pageTitle__title {
      font-size: 7.2rem; } }
@media screen and (width < 768px) {
  .pageTitle--meat {
    height: 163px; } }
@media print, screen and (768px <= width) {
  .pageTitle--meat {
    height: 315px; } }

/* =========================================================
 title
========================================================= */
/* title01 
--------------------------------------------------------- */
.title01 {
  font-family: var(--sub-font);
  font-weight: 700; }
  @media screen and (width < 768px) {
    .title01 {
      margin-top: 35px;
      margin-bottom: 15px;
      font-size: 3.0rem;
      padding: 3px 0 5px; } }
  @media print, screen and (768px <= width) {
    .title01 {
      margin-top: 76px;
      margin-bottom: 25px;
      font-size: 4.0rem;
      padding: 5px 0 10px; } }
  .title01--mat0 {
    margin-top: 0; }
  .title01 + *[class*="title"] {
    margin-top: 0; }

/* title01 相当　銘柄豚・銘柄牛ページで使用
--------------------------------------------------------- */
.titleMeat {
  font-family: var(--sub-font);
  font-weight: 700;
  border-top: 1px solid var(--brand-main-color);
  border-bottom: 1px solid var(--brand-main-color); }
  @media screen and (width < 768px) {
    .titleMeat {
      margin-top: 35px;
      margin-bottom: 15px;
      font-size: 3.0rem;
      padding: 3px 10px 0px; } }
  @media print, screen and (768px <= width) {
    .titleMeat {
      margin-top: 76px;
      margin-bottom: 25px;
      font-size: 4.0rem;
      padding: 5px 17px 10px; } }
  .titleMeat--mat0 {
    margin-top: 0; }
  .titleMeat + *[class*="title"] {
    margin-top: 0; }

/* ------------------------------------------------------
title02　
--------------------------------------------------------- */
.title02 {
  font-weight: 500;
  position: relative;
  line-height: 1.4; }
  @media screen and (width < 768px) {
    .title02 {
      font-size: 1.8rem;
      margin: 22px 0 5px;
      padding-left: 15px; } }
  @media print, screen and (768px <= width) {
    .title02 {
      font-size: 2.0rem;
      margin: 20px 0 10px;
      padding-left: 20px; } }
  .title02::before {
    content: "";
    display: block;
    width: 6px;
    height: 87%;
    background-color: var(--brand-main-color);
    border-radius: 3px;
    position: absolute;
    left: 0;
    top: 2px; }
  .title02--mat0 {
    margin-top: 0; }
  .title02 + *[class*="title"] {
    margin-top: 0; }

/* ------------------------------------------------------
title03
--------------------------------------------------------- */
.title03 {
  position: relative;
  font-weight: 500; }
  @media screen and (width < 768px) {
    .title03 {
      font-size: 1.8rem;
      margin-top: 40px;
      margin-bottom: 13px;
      padding-left: 15px;
      height: 30px; } }
  @media print, screen and (768px <= width) {
    .title03 {
      font-size: 1.8rem;
      margin-top: 50px;
      margin-bottom: 10px;
      padding-left: 20px;
      height: 35px; } }
  .title03::before {
    content: "";
    display: inline-block;
    background-color: var(--brand-main-color);
    width: 6px;
    height: 1.7em;
    position: absolute;
    left: 0;
    top: 0; }
  .title03--mat0 {
    margin-top: 0; }
  .title03 + *[class*="title"] {
    margin-top: 0; }

/* ------------------------------------------------------
title04
--------------------------------------------------------- */
.title04 {
  font-weight: bold; }
  @media screen and (width < 768px) {
    .title04 {
      font-size: 1.8rem;
      margin-top: 15px;
      margin-bottom: 10px; } }
  @media print, screen and (768px <= width) {
    .title04 {
      font-size: 1.8rem;
      margin-top: 20px;
      margin-bottom: 8px; } }
  .title04--mat0 {
    margin-top: 0; }
  .title04 + *[class*="title"] {
    margin-top: 0; }

/* =========================================================
 catchphrase キャッチフレーズ
========================================================= */
.catchphrase {
  font-weight: 700;
  color: var(--brand-main-color);
  text-align: center;
  line-height: 1.5; }
  @media screen and (width < 768px) {
    .catchphrase {
      font-size: 1.8rem;
      margin: 15px 0 30px; } }
  @media print, screen and (768px <= width) {
    .catchphrase {
      font-size: 3.0rem;
      margin: 50px 0; } }

/* =========================================================
 button
========================================================= */
/* button01 右にアイコンあり
--------------------------------------------------------- */
a.button01, .button01 {
  width: 100%;
  display: inline grid;
  grid-template-columns: 1fr auto 1fr;
  column-gap: 1em;
  align-items: center;
  text-decoration: none !important;
  border: 1px solid var(--brand-main-color);
  border-radius: 32px;
  transition: background-color 0.3s ease-out; }
  @media screen and (width < 768px) {
    a.button01, .button01 {
      padding: 15px 30px; } }
  @media print, screen and (768px <= width) {
    a.button01, .button01 {
      padding: 16px 30px; } }
  a.button01::before, .button01::before {
    content: ""; }
  a.button01::after, .button01::after {
    content: "";
    justify-self: end;
    inline-size: 0.5em;
    aspect-ratio: 1;
    border-block-start: 1px solid;
    border-inline-end: 1px solid;
    rotate: 45deg; }
  a.button01:hover, a.button01:focus, a.button01:active, .button01:hover, .button01:focus, .button01:active {
    background-color: var(--brand-sub-color); }

/* button02 アイコンなし
--------------------------------------------------------- */
a.button02, .button02 {
  display: block;
  width: 100%;
  color: #fff !important;
  background-color: var(--brand-main-color);
  border-radius: calc(1px / 0);
  font-weight: 500;
  text-align: center;
  text-decoration: none !important;
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: 0.3s ease-in; }
  @media screen and (width < 768px) {
    a.button02, .button02 {
      padding: 16px; } }
  @media print, screen and (768px <= width) {
    a.button02, .button02 {
      padding: 22px; } }
  a.button02::before, .button02::before {
    content: "";
    width: 120%;
    height: 200%;
    position: absolute;
    top: -50%;
    right: 0;
    z-index: -1;
    background-color: #cb8b4d;
    border-radius: 0 calc(1px / 0) calc(1px / 0) 0;
    transform: translateX(-100%);
    transition: transform ease-in 0.5s; }
  a.button02::after, .button02::after {
    display: block;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0;
    padding-right: 0; }
  a.button02:focus::before, a.button02:hover::before, a.button02:active::before, .button02:focus::before, .button02:hover::before, .button02:active::before {
    transform: translateX(10%); }

/* button03
--back モディファイヤでお知らせ詳細用の戻るボタン
--------------------------------------------------------- */
a.button03, .button03 {
  display: block;
  width: 100%;
  border: 1px solid #d2d2d2;
  text-align: center;
  text-decoration: none;
  line-height: 1.2;
  transition: 0.3s ease-out; }
  @media screen and (width < 768px) {
    a.button03, .button03 {
      padding: 16px; } }
  @media print, screen and (768px <= width) {
    a.button03, .button03 {
      padding: 18px; } }
  a.button03:active, a.button03:focus, a.button03:hover, .button03:active, .button03:focus, .button03:hover {
    background-color: #e5e5e5; }
  a.button03--back::before, .button03--back::before {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0;
    padding-right: 0;
    margin-right: 1em;
    color: #707070; }

.buttonContact {
  display: block;
  width: 100%;
  color: #fff !important;
  background-color: var(--brand-sub-color);
  border-radius: calc(1px / 0);
  font-weight: 500;
  text-align: center;
  text-decoration: none !important;
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: 0.3s ease-in; }
  @media screen and (width < 768px) {
    .buttonContact {
      padding: 16px; } }
  @media print, screen and (768px <= width) {
    .buttonContact {
      padding: 22px; } }
  .buttonContact::after {
    content: "";
    width: 120%;
    height: 200%;
    position: absolute;
    top: -50%;
    right: 0;
    z-index: -1;
    background-color: #ff9000;
    border-radius: 0 calc(1px / 0) calc(1px / 0) 0;
    transform: translateX(-100%);
    transition: transform ease-in 0.5s; }
  .buttonContact::before {
    content: "";
    display: inline-block;
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 400;
    padding-left: 0;
    padding-right: 1em;
    font-size: 1.3em; }
  .buttonContact:focus::after, .buttonContact:hover::after, .buttonContact:active::after {
    transform: translateX(10%); }

.buttonAssist {
  display: block;
  height: 100%;
  background-color: var(--brand-main-color);
  color: #fff !important;
  text-align: center;
  text-decoration: none !important;
  transition: 0.3s ease-in; }
  .buttonAssist::before {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 400;
    padding-left: 0;
    padding-right: 0.3em; }
  .buttonAssist:active, .buttonAssist:focus, .buttonAssist:hover, .buttonAssist.hover {
    opacity: 0.7; }
  @media screen and (width < 768px) {
    .buttonAssist {
      padding: 12px;
      border-radius: calc( 1px / 0 ); } }
  @media print, screen and (768px <= width) {
    .buttonAssist {
      padding: 8px;
      border-bottom-left-radius: 10px;
      border-bottom-right-radius: 10px; } }

/* =========================================================
アコーディオンパーツ
========================================================= */
@media screen and (width < 768px) {
  .accordionList {
    margin-top: 20px;
    margin-bottom: 0.8em; } }
@media print, screen and (768px <= width) {
  .accordionList {
    margin-top: 43px;
    margin-bottom: 130px; } }
@media screen and (width < 768px) {
  .accordionList__item:not(:first-child) {
    margin-top: 10px; } }
@media print, screen and (768px <= width) {
  .accordionList__item:not(:first-child) {
    margin-top: 18px; } }

.accordionData__title {
  cursor: pointer;
  color: var(--brand-main-color);
  position: relative;
  font-weight: 700;
  border-bottom: 1px dashed var(--brand-main-color); }
  .accordionData__title:hover, .accordionData__title:focus {
    opacity: 0.7; }
  @media screen and (width < 768px) {
    .accordionData__title {
      font-size: 1.8rem;
      padding-bottom: 10px; } }
  @media print, screen and (768px <= width) {
    .accordionData__title {
      font-size: 2.8rem;
      padding: 0 0 15px 8px; } }
  .accordionData__title.active::after {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0;
    padding-right: 0; }
  .accordionData__title::after {
    position: absolute;
    font-family: "Font Awesome 7 Free";
    content: "+";
    font-weight: 900;
    padding-left: 0;
    padding-right: 0;
    color: var(--brand-main-color);
    transition: 0.3s ease-out; }
    @media screen and (width < 768px) {
      .accordionData__title::after {
        right: 15px; } }
    @media print, screen and (768px <= width) {
      .accordionData__title::after {
        right: 30px; } }
.accordionData__text {
  display: none; }
  .accordionData__text.active {
    display: block; }
  .accordionData__text > *:first-child {
    margin-top: 0 !important; }

/* =========================================================
 タブ
modTab 
========================================================= */
.modTab {
  margin-top: 1.2em;
  position: relative; }
  @media screen and (width < 768px) {
    .modTab {
      margin: 15px 0 15px; } }
  @media print, screen and (768px <= width) {
    .modTab {
      margin: 66px 0 45px; } }
  .modTab__active {
    position: absolute;
    background-color: var(--brand-main-color);
    border-radius: calc(1px / 0);
    left: 0;
    top: 0;
    height: 100%;
    transition: 0.3s transform ease-out;
    transform: translateX(0);
    width: calc(100% / 2); }
    @media print, screen and (768px <= width) {
      .modTab__active {
        width: calc(100% / 2); } }
    .modTab__active.move {
      transform: translateX(100%); }
  .modTab__navTabs {
    display: flex;
    column-gap: 5px;
    border: 2px solid var(--brand-main-color);
    border-radius: calc(1px / 0);
    background-color: #fff; }
  .modTab__navItem {
    width: 100%; }
  .modTab a.modTab__navLink {
    display: block;
    text-decoration: none;
    text-align: center;
    color: var(--brand-main-color) !important;
    background-color: transparent;
    border-radius: calc(1px / 0);
    position: relative;
    z-index: 10; }
    @media screen and (width < 768px) {
      .modTab a.modTab__navLink {
        padding: 8px;
        font-size: 1.6rem; } }
    @media print, screen and (768px <= width) {
      .modTab a.modTab__navLink {
        padding: 17px;
        font-size: 2.0rem; } }
    .modTab a.modTab__navLink:active, .modTab a.modTab__navLink.active {
      color: #fff !important; }
  .modTab__panel {
    display: none; }
    .modTab__panel.show {
      display: block; }

 /* =========================================================
 modCard 画像 + 説明テキスト
========================================================= */
.modCard01 {
  display: flex;
  flex-direction: column; }
  .modCard01__title {
    order: 2;
    font-weight: bold; }
    @media screen and (width < 768px) {
      .modCard01__title {
        text-align: center;
        font-size: 2.0rem; } }
    @media print, screen and (768px <= width) {
      .modCard01__title {
        font-size: 2.0rem; } }
  .modCard01__image {
    order: 1; }
    @media print, screen and (768px <= width) {
      .modCard01__image {
        margin-bottom: 5px; } }
    .modCard01__image img {
      max-width: 100%;
      height: auto; }
  .modCard01__text {
    order: 3; }

a.modCard01 {
  text-decoration: none; }
  a.modCard01 .modCard01__title::before {
    font-family: "Font Awesome 7 Free";
    content: "";
    font-weight: 900;
    padding-left: 0;
    padding-right: 0.3em;
    color: var(--brand-text-color);
    display: inline-block;
    font-size: 0.8em; }
  a.modCard01 .modCard01__image {
    overflow: hidden; }
    a.modCard01 .modCard01__image img {
      transition: 0.3s ease-out; }
  a.modCard01:hover .modCard01__image img, a.modCard01:active .modCard01__image img, a.modCard01:focus .modCard01__image img, a.modCard01.hover .modCard01__image img {
    transform: scale(1.05, 1.05); }

 /* =========================================================
 modCard 画像 + 説明テキスト
========================================================= */
.modCard02 {
  border: 1px solid var(--brand-main-color);
  border-radius: 10px; }
  @media screen and (width < 768px) {
    .modCard02 {
      padding: 32px 27px 30px; } }
  @media print, screen and (768px <= width) {
    .modCard02 {
      padding: 58px 35px 35px;
      height: 100%; } }
  .modCard02__title {
    text-align: center;
    font-weight: bold;
    color: var(--brand-text-color); }
    @media screen and (width < 768px) {
      .modCard02__title {
        font-size: 2.4rem;
        margin-bottom: 3px; } }
    @media print, screen and (768px <= width) {
      .modCard02__title {
        font-size: 2.4rem;
        margin-bottom: 14px; } }

a.modCard01 {
  text-decoration: none;
  transition: 0.3s ease-out; }
  a.modCard01 .modCard01__image img {
    transition: 0.8s ease-out; }
  a.modCard01:hover .modCard01__image img, a.modCard01:active .modCard01__image img, a.modCard01:focus .modCard01__image img, a.modCard01.hover .modCard01__image img {
    transform: scale(1.1, 1.1); }

/* =========================================================
 modContact　お問い合わせ
========================================================= */
.modContact {
  background-color: var(--brand-main-color);
  color: #fff;
  text-align: center; }
  @media screen and (width < 768px) {
    .modContact {
      margin-top: 70px;
      border-radius: 20px; } }
  @media print, screen and (768px <= width) {
    .modContact {
      width: 830px;
      margin-inline: auto;
      margin-top: 200px;
      border-radius: 40px; } }
  .modContact__title {
    line-height: 1.1;
    font-weight: 900;
    position: relative; }
    @media screen and (width < 768px) {
      .modContact__title {
        font-size: 2.4rem;
        margin-bottom: 30px; } }
    @media print, screen and (768px <= width) {
      .modContact__title {
        font-size: 3.4rem;
        margin-bottom: 30px; } }
    .modContact__title::before {
      content: "";
      display: block;
      background-color: var(--brand-sub-color);
      position: absolute;
      left: 0;
      right: 0;
      margin: 0 auto; }
      @media screen and (width < 768px) {
        .modContact__title::before {
          width: 25px;
          height: 4px;
          border-radius: 3px;
          top: -12px; } }
      @media print, screen and (768px <= width) {
        .modContact__title::before {
          width: 50px;
          height: 6px;
          border-radius: 3px;
          top: -30px; } }
  .modContact__inner {
    display: block;
    text-align: center; }
    @media screen and (width < 768px) {
      .modContact__inner {
        padding: 55px 10px 50px; } }
    @media print, screen and (768px <= width) {
      .modContact__inner {
        padding: 75px 15px 65px; } }
  @media print, screen and (768px <= width) {
    .modContact__contact {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 30px;
      margin-top: 30px; } }
  .modContact__tel {
    font-weight: 700; }
    @media screen and (width < 768px) {
      .modContact__tel {
        font-size: 3.8rem; } }
    @media print, screen and (768px <= width) {
      .modContact__tel {
        font-size: 4.8rem;
        width: 350px; } }
    .modContact__tel::before {
      font-family: "Font Awesome 7 Free";
      content: "";
      font-weight: 900;
      padding-left: 0;
      padding-right: 10px;
      color: var(--brand-sub-color);
      font-size: 0.8em; }
  .modContact__form {
    color: currentColor; }
    @media screen and (width < 768px) {
      .modContact__form {
        width: 280px;
        margin-inline: auto;
        margin-top: 10px; } }
    @media print, screen and (768px <= width) {
      .modContact__form {
        width: 350px; } }

.historyList {
  margin: 0.8em 0;
  position: relative; }
  .historyList:before {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    width: 1px;
    background-color: var(--gray-color); }
    @media screen and (width < 768px) {
      .historyList:before {
        top: 22px;
        left: 10px; } }
    @media print, screen and (768px <= width) {
      .historyList:before {
        top: 33px;
        left: 25px; } }
  .historyList__item {
    position: relative; }
    @media screen and (width < 768px) {
      .historyList__item {
        padding: 10px 0 0 25px; } }
    @media print, screen and (768px <= width) {
      .historyList__item {
        display: grid;
        grid-template-columns: 215px 1fr;
        padding: 25px 0px 25px 50px; } }
    @media print, screen and (768px <= width) {
      .historyList__item:first-child {
        padding-top: 0; } }
    .historyList__item:last-of-type .historyList__time::after {
      display: block;
      content: "";
      position: absolute;
      bottom: 0;
      background: var(--brand-main-lightcolor); }
      @media screen and (width < 768px) {
        .historyList__item:last-of-type .historyList__time::after {
          width: 1px;
          top: 20px;
          left: 10px; } }
      @media print, screen and (768px <= width) {
        .historyList__item:last-of-type .historyList__time::after {
          width: 1px;
          top: 50%;
          left: 25px; } }
  @media print, screen and (768px <= width) {
    .historyList__time {
      width: 250px; } }
  .historyList__time::before {
    position: absolute;
    display: block;
    content: "";
    width: 12px;
    height: 12px;
    background: var(--brand-main-color);
    border-radius: 50%;
    z-index: 1;
    margin-block: calc((1lh - 12px) / 2); }
    @media screen and (width < 768px) {
      .historyList__time::before {
        left: calc(((25px - 16px) / 2)); } }
    @media print, screen and (768px <= width) {
      .historyList__time::before {
        left: calc(((50px - 12px) / 2)); } }

/*------------------------------
ページネーション
--------------------------------*/
.pageNation {
  display: flex;
  justify-content: center;
  text-align: center; }
  @media screen and (width < 768px) {
    .pageNation {
      margin: 30px 0; } }
  @media print, screen and (768px <= width) {
    .pageNation {
      margin: 40px 0; } }
  .pageNation > li > a::after {
    content: none !important; }
  @media screen and (width < 768px) {
    .pageNation__item {
      padding: 0 2px; } }
  @media print, screen and (768px <= width) {
    .pageNation__item {
      padding: 0 5px; } }
  .pageNation__link {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    border: 1px solid #ccc;
    width: 40px;
    height: 40px;
    border-radius: 50%; }
    .pageNation__link.active {
      background-color: #ccc; }
    .pageNation__link.prev, .pageNation__link.next {
      width: 80px;
      height: 40px;
      border-radius: 20px;
      opacity: 0.6; }
    @media screen and (width < 768px) {
      .pageNation__link.prev {
        margin-right: 6px; } }
    @media print, screen and (768px <= width) {
      .pageNation__link.prev {
        margin-right: 10px; } }
    @media screen and (width < 768px) {
      .pageNation__link.next {
        margin-left: 6px; } }
    @media print, screen and (768px <= width) {
      .pageNation__link.next {
        margin-left: 10px; } }
  .pageNation a.pageNation__link:hover, .pageNation a.pageNation__link:focus, .pageNation a.pageNation__link:active, .pageNation a.pageNation__link.active {
    background-color: #ccc; }
  .pageNation a.pageNation__link.prev,
  .pageNation a.pageNation__link.next {
    opacity: 1.0; }

 /* =========================================================
 img-container 1枚画像用
========================================================= */
.img-container {
  text-align: center; }
  @media screen and (width < 768px) {
    .img-container {
      width: 100%;
      margin: 25px auto; } }
  @media print, screen and (768px <= width) {
    .img-container {
      width: 100%;
      margin: 0 auto; } }
  .img-container img {
    max-width: 100%;
    height: auto; }
  @media print, screen and (768px <= width) {
    .img-container--sm {
      width: 80%; } }

.meatImage {
  position: relative; }
  @media screen and (width < 768px) {
    .meatImage {
      width: 100%;
      margin-bottom: 27px; } }
  @media print, screen and (768px <= width) {
    .meatImage {
      width: 100%;
      margin: 0 auto 60px; } }
  .meatImage img {
    width: 100%;
    height: auto; }
  @media screen and (width < 768px) {
    .meatImage__image {
      border-radius: 10px; } }
  @media print, screen and (768px <= width) {
    .meatImage__image {
      border-radius: 20px; } }
  .meatImage__goods {
    position: absolute; }
    @media screen and (width < 768px) {
      .meatImage__goods {
        right: -33px;
        top: -156px;
        width: 116px;
        height: 143px; } }
    @media print, screen and (768px <= width) {
      .meatImage__goods {
        right: -13px;
        top: -297px;
        width: 288px;
        height: 354px; } }
  .meatImage__animal {
    position: absolute; }
    @media screen and (width < 768px) {
      .meatImage__animal {
        left: -20px;
        bottom: -38px;
        width: 124px;
        height: 88px; } }
    @media print, screen and (768px <= width) {
      .meatImage__animal {
        left: -73px;
        bottom: -43px;
        width: 305px;
        height: 214px; } }

@media screen and (width < 768px) {
  .meatText {
    font-size: 2.0rem; } }
@media print, screen and (768px <= width) {
  .meatText {
    font-size: 2.0rem;
    width: 920px;
    margin: 80px auto 0; } }

.brandLayout {
  --_gap: 35px;
  margin-bottom: 0.8em;
  margin-top: 0.8em; }
  @media screen and (width < 768px) {
    .brandLayout {
      display: block; } }
  @media print, screen and (768px <= width) {
    .brandLayout {
      display: flex;
      gap: var(--_gap); } }
  @media screen and (width < 768px) {
    .brandLayout__image {
      width: 315px;
      margin: 0 auto 0.8em; } }
  @media print, screen and (768px <= width) {
    .brandLayout__image {
      width: 220px;
      flex-grow: 0;
      flex-shrink: 0; } }
  .brandLayout__image img {
    width: 100%;
    height: auto; }
  @media print, screen and (768px <= width) {
    .brandLayout__text {
      flex-grow: 1; }
      .brandLayout__text > *:first-child {
        margin-top: 0 !important; } }

.anchorBrand {
  display: flex;
  flex-wrap: wrap; }
  @media screen and (width < 768px) {
    .anchorBrand {
      margin: 50px 0 50px;
      column-gap: 8px;
      row-gap: 8px; }
      .anchorBrand > li {
        width: calc((100% - 20px) / 3); } }
  @media print, screen and (768px <= width) {
    .anchorBrand {
      justify-content: center;
      margin: 90px auto 100px;
      column-gap: 10px;
      row-gap: 10px; } }
  @media print, screen and (768px <= width) {
    .anchorBrand--pork {
      width: calc(150px * 4 + 30px); } }

.anchorItem {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border: 2px solid var(--brand-main-color);
  overflow: hidden;
  text-align: center;
  text-decoration: none !important; }
  @media screen and (width < 768px) {
    .anchorItem {
      border-radius: 15px;
      min-height: 128px; } }
  @media print, screen and (768px <= width) {
    .anchorItem {
      border-radius: 20px;
      min-height: 173px;
      width: 150px; } }
  .anchorItem__title {
    color: var(--brand-main-color);
    font-weight: 700; }
    @media screen and (width < 768px) {
      .anchorItem__title {
        font-size: 1.4rem;
        padding-top: 12px; } }
    @media print, screen and (768px <= width) {
      .anchorItem__title {
        font-size: 1.8rem;
        padding-top: 20px; } }
  .anchorItem__image {
    margin-inline: auto;
    flex-grow: 1; }
    @media screen and (width < 768px) {
      .anchorItem__image {
        width: 90px; } }
    @media print, screen and (768px <= width) {
      .anchorItem__image {
        width: 120px; } }
    .anchorItem__image img {
      width: 100%;
      height: auto; }
  .anchorItem__arrow {
    color: #fff;
    background-color: var(--brand-main-color); }
    @media print, screen and (768px <= width) {
      .anchorItem__arrow {
        padding: 4px; } }
  .anchorItem:active, .anchorItem:focus, .anchorItem:hover, .anchorItem.hover {
    opacity: 0.7; }

.areaTitle {
  font-weight: 500; }
  @media screen and (width < 768px) {
    .areaTitle {
      font-size: 1.8rem;
      padding: 10px 0 3px 10px; } }
  @media print, screen and (768px <= width) {
    .areaTitle {
      font-size: 2.2rem;
      padding: 19px 0 5px 19px; } }

.shopList {
  background-color: #fff; }
  @media screen and (width < 768px) {
    .shopList {
      border-radius: 15px;
      padding: 20px 10px;
      margin-bottom: 15px; } }
  @media print, screen and (768px <= width) {
    .shopList {
      border-radius: 20px;
      padding: 40px 25px 40px 30px;
      margin-bottom: 30px; } }

.shopItem {
  display: grid;
  align-items: center; }
  @media screen and (width < 768px) {
    .shopItem {
      grid-template-areas: "name" "address" "brand" "note";
      grid-template-columns: 1fr;
      grid-row-gap: 10px; } }
  @media print, screen and (768px <= width) {
    .shopItem {
      grid-template-areas: "name address brand note";
      grid-template-columns: 285px 250px 350px 1fr;
      column-gap: 10px;
      padding-block: 0.1lh;
      border-bottom: 1px dotted #ddd; } }
  .shopItem__name {
    grid-area: name;
    font-weight: 500; }
  .shopItem__address {
    grid-area: address; }
  .shopItem__brand {
    grid-area: brand;
    display: grid;
    grid-template-columns: repeat(5, 1fr); }
    .shopItem__brand img {
      width: 100%;
      height: auto; }
  .shopItem__note {
    grid-area: note; }
    .shopItem__note > .text {
      color: var(--red);
      border: 1px solid var(--red);
      border-radius: calc(1px / 0);
      padding: 0 5px; }
    @media screen and (width < 768px) {
      .shopItem__note {
        margin-bottom: 10px; } }
  @media screen and (width < 768px) {
    .shopItem + .shopItem {
      padding-top: 20px;
      border-top: 1px dotted #ddd; } }

body#recruit.index {
  position: relative;
  /*
  &::before{
  	content: "";
  	display: block;
  	position: absolute;
  	left: -15px;
  	right: 0;
  	margin-inline: auto;
  	background-repeat: no-repeat;
  	background-size: contain;
  	height: 100%;
  	z-index: 1;
  }
  @include sp-screen{
  	&::before{
  		width: 240px;
  		background-image: url(../images/recruit/bg-line_sp.png);
  	}
  	
  	padding-top: 0;
  	
  }
  @include pc-screen() {
  	&::before{
  		width: 323px;
  		background-image: url(../images/recruit/bg-line_pc.png);
  	}
  }
  */ }
  @media screen and (width < 768px) {
    body#recruit.index {
      padding-top: 0; } }

@media print, screen and (768px <= width) {
  body#interview.detail {
    padding-top: 100px; } }

.moveLight {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100; }
  @media screen and (width < 768px) {
    .moveLight {
      top: 0;
      width: 50px;
      height: 50px; } }
  @media print, screen and (768px <= width) {
    .moveLight {
      top: 0;
      width: 70px;
      height: 70px; } }
  .moveLight img {
    width: 100%;
    height: auto; }

@media screen and (width < 768px) {
  .recruitTitle01 {
    margin-bottom: 20px; } }
@media print, screen and (768px <= width) {
  .recruitTitle01 {
    margin-bottom: 30px; } }
.recruitTitle01 .en {
  color: var(--brand-main-color);
  font-weight: 900;
  text-transform: capitalize;
  line-height: 1.3; }
  @media screen and (width < 768px) {
    .recruitTitle01 .en {
      font-size: 7.0rem; } }
  @media print, screen and (768px <= width) {
    .recruitTitle01 .en {
      font-size: 9.0rem; } }
.recruitTitle01 .jp {
  color: var(--brand-sub-color);
  font-weight: 700; }
  @media screen and (width < 768px) {
    .recruitTitle01 .jp {
      font-size: 1.9rem; } }
  @media print, screen and (768px <= width) {
    .recruitTitle01 .jp {
      font-size: 2.4rem;
      margin-left: 5px; } }

.recruitTitle02 {
  text-align: center; }
  @media screen and (width < 768px) {
    .recruitTitle02 {
      margin-bottom: 20px; } }
  @media print, screen and (768px <= width) {
    .recruitTitle02 {
      margin-bottom: 30px; } }
  .recruitTitle02 .en {
    color: var(--brand-main-color);
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.3; }
    @media screen and (width < 768px) {
      .recruitTitle02 .en {
        font-size: 2.0rem; } }
    @media print, screen and (768px <= width) {
      .recruitTitle02 .en {
        font-size: 2.0rem; } }
  .recruitTitle02 .jp {
    font-weight: 900; }
    @media screen and (width < 768px) {
      .recruitTitle02 .jp {
        font-size: 3.2rem;
        line-height: 1.3; } }
    @media print, screen and (768px <= width) {
      .recruitTitle02 .jp {
        font-size: 3.8rem; } }
  @media print, screen and (768px <= width) {
    .recruitTitle02--left {
      text-align: left; } }
  .recruitTitle02--white .en, .recruitTitle02--white .jp {
    color: currentColor; }
  @media print, screen and (768px <= width) {
    .recruitTitle02--mabS {
      margin-bottom: 12px; } }

.recruitTop {
  position: relative; }
  @media screen and (width < 768px) {
    .recruitTop {
      margin-left: -15px;
      margin-right: -15px; } }
  .recruitTop::before {
    position: absolute;
    content: "";
    background-color: var(--line-color);
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1; }
    @media screen and (width < 768px) {
      .recruitTop::before {
        width: 5px; } }
    @media print, screen and (768px <= width) {
      .recruitTop::before {
        width: 10px; } }
  .recruitTop__inner {
    position: relative;
    z-index: 200; }
    @media screen and (width < 768px) {
      .recruitTop__inner {
        padding: 100px 15px 0; } }
    @media print, screen and (768px <= width) {
      .recruitTop__inner {
        width: 1200px;
        padding: 165px 45px;
        margin: 0 auto; } }
  .recruitTop__catch {
    font-weight: 700; }
    @media screen and (width < 768px) {
      .recruitTop__catch {
        font-size: 2.6rem;
        margin-top: 27px; } }
    @media print, screen and (768px <= width) {
      .recruitTop__catch {
        font-size: 3.4rem;
        margin-top: 38px; } }
  .recruitTop__text {
    font-weight: 700; }
    @media screen and (width < 768px) {
      .recruitTop__text {
        font-size: 1.4rem;
        margin-top: 5px; } }
    @media print, screen and (768px <= width) {
      .recruitTop__text {
        font-size: 1.8rem;
        margin-top: 10px; } }
  .recruitTop__button {
    margin-left: 0;
    margin-right: auto; }
    @media print, screen and (768px <= width) {
      .recruitTop__button {
        margin-top: 35px; } }
    @media print, screen and (768px <= width) {
      .recruitTop__button {
        margin-top: 47px; } }
  .recruitTop::after {
    content: "";
    display: block;
    background-image: url("../images/recruit/img-top.jpg");
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 0;
    z-index: -1; }
    @media screen and (width < 768px) {
      .recruitTop::after {
        left: 20%;
        height: 565px;
        width: 80%;
        border-bottom-left-radius: 55px; } }
    @media print, screen and (768px <= width) {
      .recruitTop::after {
        right: 0;
        height: 740px;
        width: calc(100% - (((100% - 1110px) / 2) + 445px));
        border-bottom-left-radius: 95px; } }

.recruitJob {
  position: relative; }
  .recruitJob::before {
    position: absolute;
    content: "";
    background-color: var(--line-color);
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1; }
    @media screen and (width < 768px) {
      .recruitJob::before {
        width: 5px; } }
    @media print, screen and (768px <= width) {
      .recruitJob::before {
        width: 10px; } }
  @media screen and (width < 768px) {
    .recruitJob {
      padding: 150px 0 80px; } }
  @media print, screen and (768px <= width) {
    .recruitJob {
      padding: 77px 0 167px; } }
  .recruitJob__inner {
    position: relative;
    z-index: 200; }
    @media print, screen and (768px <= width) {
      .recruitJob__inner {
        width: 1200px;
        padding: 0 45px;
        margin: 0 auto; } }
  .recruitJobList {
    display: grid; }
    @media screen and (width < 768px) {
      .recruitJobList {
        margin: 45px 0 50px;
        grid-row-gap: 10px; } }
    @media print, screen and (768px <= width) {
      .recruitJobList {
        margin-top: 70px;
        grid-row-gap: 20px; } }
    @media screen and (width < 768px) {
      .recruitJobList li {
        height: 165px; } }
    @media print, screen and (768px <= width) {
      .recruitJobList li {
        height: 330px; } }
    .recruitJobList li a {
      color: #fff !important;
      text-decoration: none !important;
      font-weight: 700;
      display: block;
      width: 100%;
      height: 100%;
      display: grid;
      align-items: center;
      overflow: hidden;
      position: relative; }
      @media screen and (width < 768px) {
        .recruitJobList li a {
          padding: 0 30px;
          font-size: 2.2rem;
          border-radius: 20px; } }
      @media print, screen and (768px <= width) {
        .recruitJobList li a {
          padding: 0 100px;
          font-size: 3.2rem;
          border-radius: 40px; } }
      .recruitJobList li a::before {
        content: "";
        display: block;
        position: absolute;
        z-index: -1;
        width: 100%;
        height: 100%;
        background-position: center;
        background-size: cover;
        transition: transform 0.3s ease-in; }
      .recruitJobList li a:hover::before, .recruitJobList li a:focus::before, .recruitJobList li a:active::before {
        transform: scale(1.05); }
    .recruitJobList li:first-child a::before {
      background-image: linear-gradient(90deg, rgba(66, 124, 173, 0.8) 0%, rgba(66, 124, 173, 0.8) 20%, rgba(66, 124, 173, 0) 60%, rgba(66, 124, 173, 0) 100%), url("../images/recruit/img-job01.jpg"); }
    .recruitJobList li:last-child a {
      justify-items: end; }
      .recruitJobList li:last-child a::before {
        background-image: linear-gradient(90deg, rgba(66, 124, 173, 0) 0%, rgba(66, 124, 173, 0) 40%, rgba(66, 124, 173, 0.8) 80%, rgba(66, 124, 173, 0.8) 100%), url("../images/recruit/img-job02.jpg"); }
  @media print, screen and (768px <= width) {
    .recruitJob__button {
      margin-top: 45px; } }

.recruitInterview {
  position: relative;
  background-color: var(--brand-main-lightcolor); }
  @media screen and (width < 768px) {
    .recruitInterview {
      margin-left: -15px;
      margin-right: -15px; } }
  .recruitInterview::before {
    position: absolute;
    content: "";
    background-color: var(--line-color);
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1; }
    @media screen and (width < 768px) {
      .recruitInterview::before {
        width: 5px; } }
    @media print, screen and (768px <= width) {
      .recruitInterview::before {
        width: 10px; } }
  .recruitInterview__inner {
    display: grid;
    position: relative;
    z-index: 200; }
    @media screen and (width < 768px) {
      .recruitInterview__inner {
        padding: 80px 0;
        grid-template-columns: 100%; } }
    @media print, screen and (768px <= width) {
      .recruitInterview__inner {
        padding: 102px 0 27px;
        grid-template-columns: 300px 1fr;
        grid-template-rows: 160px 70px auto;
        grid-column-gap: 50px;
        margin-left: max(calc((100% - 1110px) / 2), 45px); } }
  .recruitInterview__title {
    position: relative;
    z-index: 5; }
    @media screen and (width < 768px) {
      .recruitInterview__title {
        grid-row: 1 / 2;
        text-align: center; } }
    @media print, screen and (768px <= width) {
      .recruitInterview__title {
        padding-top: 70px;
        grid-row: 1 / 2;
        grid-column: 1 /2; } }
  @media screen and (width < 768px) {
    .recruitInterview__text {
      grid-row: 2 / 3;
      padding: 15px 15px; } }
  @media print, screen and (768px <= width) {
    .recruitInterview__text {
      grid-row: 2 / 3;
      grid-column: 1 / 2; } }
  @media screen and (width < 768px) {
    .recruitInterview__button {
      grid-row: 4 / 5;
      margin-left: auto; } }
  @media print, screen and (768px <= width) {
    .recruitInterview__button {
      grid-row: 3 / 4;
      grid-column: 1 / 2;
      margin-top: 20px; } }
  @media screen and (width < 768px) {
    .recruitInterview__contents {
      grid-row: 3 / 4; } }
  @media print, screen and (768px <= width) {
    .recruitInterview__contents {
      overflow-x: hidden;
      grid-column: 2 / 3;
      grid-row: span 3; } }

a.cardInterview {
  text-decoration: none !important; }
  a.cardInterview:hover .cardInterview__image img, a.cardInterview:focus .cardInterview__image img, a.cardInterview:active .cardInterview__image img {
    transform: scale(1.05); }

.cardInterview {
  display: flex;
  flex-direction: column-reverse;
  width: 100%;
  position: relative; }
  @media screen and (width < 768px) {
    .cardInterview__title {
      padding: 0 15px; } }
  @media print, screen and (768px <= width) {
    .cardInterview__title {
      padding: 0 45px; } }
  @media screen and (width < 768px) {
    .cardInterview__text {
      padding: 10px 15px 0;
      font-size: 1.8rem; } }
  @media print, screen and (768px <= width) {
    .cardInterview__text {
      padding: 10px 45px 0;
      font-size: 2.0rem; } }
  .cardInterview__image {
    overflow: hidden;
    background-color: #fff;
    width: 100%;
    height: 100%;
    aspect-ratio: 35 /26;
    text-align: center; }
    @media screen and (width < 768px) {
      .cardInterview__image {
        border-radius: 80px; } }
    @media print, screen and (768px <= width) {
      .cardInterview__image {
        border-radius: 160px; } }
    .cardInterview__image img {
      transition: transform 0.3s ease-in;
      height: 100%;
      width: auto; }
  .cardInterview__number {
    display: block;
    position: absolute;
    right: 0;
    z-index: 10;
    color: var(--brand-main-color);
    font-weight: 900;
    line-height: 1; }
    @media screen and (width < 768px) {
      .cardInterview__number {
        font-size: 6rem;
        top: -25px;
        right: 20px; } }
    @media print, screen and (768px <= width) {
      .cardInterview__number {
        font-size: 12.0rem;
        top: -40px;
        right: 50px; } }

.recruitFaq {
  position: relative; }
  @media screen and (width < 768px) {
    .recruitFaq {
      padding: 65px 0 80px; } }
  @media print, screen and (768px <= width) {
    .recruitFaq {
      padding: 162px 0 195px; } }
  .recruitFaq::before {
    position: absolute;
    content: "";
    background-color: var(--line-color);
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1; }
    @media screen and (width < 768px) {
      .recruitFaq::before {
        width: 5px; } }
    @media print, screen and (768px <= width) {
      .recruitFaq::before {
        width: 10px; } }
  .recruitFaq__inner {
    position: relative;
    z-index: 200;
    background-color: #fff; }
    @media screen and (width < 768px) {
      .recruitFaq__inner {
        padding: 50px 20px 50px;
        border: 5px solid var(--line-color);
        border-radius: 50px; } }
    @media print, screen and (768px <= width) {
      .recruitFaq__inner {
        width: 1110px;
        padding: 79px 153px 77px;
        margin: 0 auto;
        border: 10px solid var(--line-color);
        border-radius: 100px; } }
    .recruitFaq__inner::before, .recruitFaq__inner::after {
      content: "";
      display: block;
      position: absolute;
      background-size: contain;
      background-repeat: no-repeat; }
      @media screen and (width < 768px) {
        .recruitFaq__inner::before, .recruitFaq__inner::after {
          width: 100px;
          height: 65px; } }
    .recruitFaq__inner::before {
      background-image: url("../images/recruit/img-faq01.png"); }
      @media screen and (width < 768px) {
        .recruitFaq__inner::before {
          top: -10px;
          right: 0; } }
      @media print, screen and (768px <= width) {
        .recruitFaq__inner::before {
          width: 197px;
          height: 123px;
          top: 0;
          right: 0; } }
    .recruitFaq__inner::after {
      background-image: url("../images/recruit/img-faq02.png"); }
      @media screen and (width < 768px) {
        .recruitFaq__inner::after {
          bottom: -30px;
          left: -15px; } }
      @media print, screen and (768px <= width) {
        .recruitFaq__inner::after {
          width: 193px;
          height: 123px;
          bottom: -45px;
          left: -30px; } }

.faqList {
  display: grid;
  grid-row-gap: 12px; }
  .faqList__title {
    color: var(--brand-main-color);
    font-weight: 700; }
    @media screen and (width < 768px) {
      .faqList__title {
        font-size: 1.8rem;
        text-indent: -1.2em;
        padding-left: 2.5em;
        margin-bottom: 10px; } }
    @media print, screen and (768px <= width) {
      .faqList__title {
        font-size: 2.0rem;
        text-indent: -1.3em;
        padding-left: 2.5em;
        margin-bottom: 12px; } }
    .faqList__title::before {
      content: "Q．";
      display: inline-block;
      font-weight: 400; }
      @media screen and (width < 768px) {
        .faqList__title::before {
          font-size: 2.4rem; } }
      @media print, screen and (768px <= width) {
        .faqList__title::before {
          font-size: 3.0rem; } }

.recruitEntry {
  background-color: var(--brand-main-color);
  color: #fff;
  text-align: center;
  position: relative; }
  @media screen and (width < 768px) {
    .recruitEntry {
      padding: 145px 15px 70px;
      margin-left: -15px;
      margin-right: -15px; } }
  @media print, screen and (768px <= width) {
    .recruitEntry {
      padding: 220px 0 130px; } }
  @media screen and (width < 768px) {
    .recruitEntry__text {
      font-size: 2.2rem; } }
  @media print, screen and (768px <= width) {
    .recruitEntry__text {
      font-size: 3.6rem; } }
  .recruitEntry::before {
    content: "";
    display: block;
    background-size: contain;
    position: absolute; }
  .recruitEntry::before {
    background-color: var(--line-color);
    left: 50%;
    transform: translateX(-50%);
    z-index: 1; }
    @media screen and (width < 768px) {
      .recruitEntry::before {
        width: 5px;
        height: 150px;
        bottom: calc(100% - 40px); } }
    @media print, screen and (768px <= width) {
      .recruitEntry::before {
        width: 10px;
        height: 300px;
        bottom: calc(100% - 75px); } }
  .recruitEntry__light {
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (width < 768px) {
      .recruitEntry__light {
        top: 40px;
        width: 80px;
        height: 80px; } }
    @media print, screen and (768px <= width) {
      .recruitEntry__light {
        width: 120px;
        height: 120px;
        top: 75px; } }
    .recruitEntry__light img {
      width: 100%;
      height: auto; }

.interviewIndexList {
  display: grid; }
  @media screen and (width < 768px) {
    .interviewIndexList {
      padding: 30px 30px;
      row-gap: 50px; } }
  @media print, screen and (768px <= width) {
    .interviewIndexList {
      padding: 80px 30px;
      grid-template-columns: repeat(2, 1fr);
      gap: 95px 90px; } }

/* pageTitleInterview ページタイトル 先輩社員の声詳細ページ
--------------------------------------------------------- */
.interviewTop {
  display: flex; }
  @media screen and (width < 768px) {
    .interviewTop {
      height: 250px; } }
  @media print, screen and (768px <= width) {
    .interviewTop {
      align-items: center;
      height: 340px; } }
  .interviewTop__inner {
    position: relative; }
    @media screen and (width < 768px) {
      .interviewTop__inner {
        width: 100%;
        padding: 0 15px; } }
    @media print, screen and (768px <= width) {
      .interviewTop__inner {
        width: 1200px;
        padding: 0 45px;
        margin-inline: auto;
        display: flex;
        justify-content: space-between;
        align-items: center; } }
  .interviewTop__title .en {
    color: var(--brand-main-color);
    font-weight: 900;
    text-transform: capitalize;
    position: relative;
    line-height: 1.3; }
    @media screen and (width < 768px) {
      .interviewTop__title .en {
        font-size: 4.0rem; } }
    @media print, screen and (768px <= width) {
      .interviewTop__title .en {
        font-size: 9.0rem; } }
  .interviewTop__title .jp {
    font-weight: 700;
    color: var(--brand-sub-color); }
    @media screen and (width < 768px) {
      .interviewTop__title .jp {
        font-size: 1.8rem; } }
    @media print, screen and (768px <= width) {
      .interviewTop__title .jp {
        font-size: 2.4rem; } }
  @media screen and (width < 768px) {
    .interviewTop__data {
      margin-top: 15px; } }
  @media print, screen and (768px <= width) {
    .interviewTop__data {
      text-align: right;
      margin-bottom: 30px; } }
  .interviewTop__data .no {
    color: var(--brand-main-color);
    font-weight: 900;
    line-height: 1.2; }
    @media screen and (width < 768px) {
      .interviewTop__data .no {
        font-size: 5.0rem; } }
    @media print, screen and (768px <= width) {
      .interviewTop__data .no {
        font-size: 14.0rem; } }
  .interviewTop__data .name {
    font-weight: 500; }
    @media screen and (width < 768px) {
      .interviewTop__data .name {
        font-size: 1.8rem; } }
    @media print, screen and (768px <= width) {
      .interviewTop__data .name {
        font-size: 1.8rem; } }
  .interviewTop__data .image {
    position: absolute; }
    @media screen and (width < 768px) {
      .interviewTop__data .image {
        height: 300px;
        top: 15px;
        right: 15px; }
        .interviewTop__data .image img {
          width: auto;
          height: 100%; } }
    @media print, screen and (768px <= width) {
      .interviewTop__data .image {
        width: 300px;
        top: 0;
        left: 50%;
        transform: translateX(-50%); }
        .interviewTop__data .image img {
          width: 100%;
          height: auto; } }

.recruitJobdraft {
  background-color: var(--brand-main-lightcolor);
  text-align: center;
  position: relative;
  z-index: 5; }
  @media screen and (width < 768px) {
    .recruitJobdraft {
      padding: 40px 15px 50px;
      margin-left: -15px;
      margin-right: -15px; } }
  @media print, screen and (768px <= width) {
    .recruitJobdraft {
      padding: 75px 15px 70px; } }
  .recruitJobdraft__title {
    color: var(--brand-main-color);
    font-weight: 700; }
    @media screen and (width < 768px) {
      .recruitJobdraft__title {
        font-size: 1.8rem;
        margin-bottom: 10px; } }
    @media print, screen and (768px <= width) {
      .recruitJobdraft__title {
        font-size: 2.4rem;
        margin-bottom: 15px; } }
  .recruitJobdraft__button {
    margin-inline: auto; }
    @media screen and (width < 768px) {
      .recruitJobdraft__button {
        width: 80%; } }
    @media print, screen and (768px <= width) {
      .recruitJobdraft__button {
        width: 445px; } }
    .recruitJobdraft__button a {
      display: block; }
    .recruitJobdraft__button img {
      width: 100%;
      height: auto; }

@media screen and (width < 768px) {
  .detailCatch {
    padding-top: 45px; } }
@media print, screen and (768px <= width) {
  .detailCatch {
    padding-top: 165px; } }
.detailCatch__contents {
  margin-inline: auto;
  background-color: #fff;
  border: 2px solid var(--brand-main-color);
  font-weight: 700;
  position: relative;
  letter-spacing: 0.05em; }
  @media screen and (width < 768px) {
    .detailCatch__contents {
      width: 80%;
      border-radius: 10px;
      padding: 15px 30px;
      font-size: 2.0rem; } }
  @media print, screen and (768px <= width) {
    .detailCatch__contents {
      width: 730px;
      border-radius: 20px;
      padding: 32px 92px;
      font-size: 3.2rem; } }
  .detailCatch__contents::before, .detailCatch__contents::after {
    position: absolute;
    bottom: 100%;
    height: 0;
    width: 0;
    border: solid transparent;
    content: ""; }
    @media print, screen and (768px <= width) {
      .detailCatch__contents::before, .detailCatch__contents::after {
        left: 50%; } }
  .detailCatch__contents::before {
    margin-left: -20px;
    border-color: transparent;
    border-bottom-color: var(--brand-main-color);
    border-width: 20px; }
    @media screen and (width < 768px) {
      .detailCatch__contents::before {
        margin-left: -12px;
        border-width: 12px;
        right: 27px; } }
  .detailCatch__contents::after {
    margin-left: -18px;
    border-color: transparent;
    border-bottom-color: #fff;
    border-width: 19px; }
    @media screen and (width < 768px) {
      .detailCatch__contents::after {
        margin-left: -9px;
        border-width: 9px;
        right: 30px; } }

.interviewList {
  display: grid; }
  @media screen and (width < 768px) {
    .interviewList {
      margin-top: 50px;
      grid-row-gap: 45px; } }
  @media print, screen and (768px <= width) {
    .interviewList {
      margin-top: 75px;
      grid-row-gap: 95px; } }

@media print, screen and (768px <= width) {
  .interviewItem {
    display: flex;
    column-gap: 30px; } }
@media print, screen and (768px <= width) {
  .interviewItem__contents {
    flex-grow: 1;
    flex-shrink: 1; } }
.interviewItem__title {
  color: var(--brand-main-color);
  font-weight: 700; }
  @media screen and (width < 768px) {
    .interviewItem__title {
      font-size: 2.0rem;
      margin-bottom: 10px; } }
  @media print, screen and (768px <= width) {
    .interviewItem__title {
      font-size: 2.6rem;
      margin-bottom: 15px; } }
@media screen and (width < 768px) {
  .interviewItem__image {
    margin-top: 15px; } }
@media print, screen and (768px <= width) {
  .interviewItem__image {
    flex-shrink: 0; } }
.interviewItem__image img {
  width: 100%;
  height: auto; }
  @media screen and (width < 768px) {
    .interviewItem__image img {
      border-radius: 10px; } }
  @media print, screen and (768px <= width) {
    .interviewItem__image img {
      border-radius: 21px; } }
@media print, screen and (768px <= width) {
  .interviewItem--reverse {
    flex-direction: row-reverse; } }

@media screen and (width < 768px) {
  .recruitNav {
    margin-top: 80px; } }
@media print, screen and (768px <= width) {
  .recruitNav {
    margin-top: 150px; } }
.recruitNavList {
  display: grid; }
  @media screen and (width < 768px) {
    .recruitNavList {
      grid-row-gap: 15px; } }
  @media print, screen and (768px <= width) {
    .recruitNavList {
      grid-template-columns: repeat(3, 1fr);
      grid-column-gap: 30px; } }

@media screen and (width < 768px) {
  .recruitMessage {
    margin-top: 15px; } }
@media print, screen and (768px <= width) {
  .recruitMessage {
    margin-top: 50px;
    padding: 0 50px; } }

.jobSchedule {
  display: grid;
  align-items: flex-start;
  position: relative;
  z-index: 1; }
  .jobSchedule::after {
    display: block;
    content: "";
    width: 2px;
    height: 95%;
    position: absolute;
    z-index: -1; }
    @media screen and (width < 768px) {
      .jobSchedule::after {
        left: 29px;
        border-left: 2px dotted var(--brand-main-color); } }
    @media print, screen and (768px <= width) {
      .jobSchedule::after {
        left: 44px;
        border-left: 4px dotted var(--brand-main-color); } }
  @media screen and (width < 768px) {
    .jobSchedule {
      grid-template-columns: 60px auto;
      grid-gap: 10px 15px; } }
  @media print, screen and (768px <= width) {
    .jobSchedule {
      grid-template-columns: 90px auto;
      grid-gap: 20px 30px; } }
  .jobSchedule__time {
    border: 1px solid var(--brand-main-color);
    border-radius: 16px;
    color: var(--brand-main-color);
    background-color: #fff;
    font-weight: 500;
    line-height: 1.0;
    text-align: center; }
    @media screen and (width < 768px) {
      .jobSchedule__time {
        font-size: 1.6rem;
        padding-block: 4px; } }
    @media print, screen and (768px <= width) {
      .jobSchedule__time {
        font-size: 2.0rem;
        padding: 4px 0 5px; } }

.swiper-slide {
  height: auto !important; }

.swiper-button-prev, .swiper-button-next {
  display: grid;
  place-content: center;
  cursor: pointer;
  transition: var(--transition); }
  @media screen and (width < 768px) {
    .swiper-button-prev, .swiper-button-next {
      width: 30px;
      height: 30px; } }
  @media print, screen and (768px <= width) {
    .swiper-button-prev, .swiper-button-next {
      width: 50px;
      height: 50px; } }
  @media print, screen and (768px <= width) {
    .swiper-button-prev:hover, .swiper-button-prev:focus, .swiper-button-prev:active, .swiper-button-next:hover, .swiper-button-next:focus, .swiper-button-next:active {
      transform: scale(1.1); } }

.swiper-button-prev::before, .swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
  background-color: var(--brand-main-color); }

.swiper-button-prev::after, .swiper-button-next::after {
  content: "";
  border: solid #fff;
  border-width: 3px 3px 0 0; }
  @media screen and (width < 768px) {
    .swiper-button-prev::after, .swiper-button-next::after {
      width: 6px;
      height: 6px; } }
  @media print, screen and (768px <= width) {
    .swiper-button-prev::after, .swiper-button-next::after {
      width: 10px;
      height: 10px; } }

.swiper-button-prev::after {
  margin-left: 2px;
  transform: rotate(-135deg); }

.swiper-button-next::after {
  margin-left: -2px;
  transform: rotate(45deg); }

.swiper-button-disabled {
  pointer-events: none;
  opacity: 0.5; }

.swiper-pagination-bullet {
  width: 20px;
  height: 3px;
  cursor: pointer;
  transition: var(--transition);
  vertical-align: top;
  background-color: var(--gray-color); }

.swiper-pagination-bullet-active {
  background-color: var(--brand-main-color); }

.topImg__swiper .swiper {
  overflow: hidden;
  position: relative; }
  .topImg__swiper .swiper .swiper {
    overflow: visible; }
  .topImg__swiper .swiper .swiper-slide img {
    width: 100%;
    height: auto; }

.interviewSwiper {
  overflow: hidden;
  position: relative; }
  @media screen and (width < 768px) {
    .interviewSwiper__inner {
      padding: 30px 0 50px; } }
  @media print, screen and (768px <= width) {
    .interviewSwiper__inner {
      width: 1200px;
      padding: 30px 45px 100px;
      margin-inline: auto; } }
  .interviewSwiper .swiper {
    overflow: visible; }
  .interviewSwiper .swiper-slide {
    transition: transform 0.8s ease-in; }
  @media screen and (width < 768px) {
    .interviewSwiper .swiper-slide-active {
      transform: translateY(20px) !important; } }
  @media print, screen and (768px <= width) {
    .interviewSwiper .swiper-slide-active {
      transform: translateY(40px) !important; } }
  .interviewSwiper .swiper-button-next, .interviewSwiper .swiper-button-prev {
    position: relative;
    flex-shrink: 0;
    margin: 0; }
  .interviewSwiper .swiper-controller {
    display: flex;
    gap: 15px;
    align-items: center;
    justify-content: flex-end;
    margin-top: 30px; }
  .interviewSwiper .swiper-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 15px 10px;
    justify-content: flex-start;
    margin-right: auto;
    text-align: center; }
