@charset "UTF-8";
/* Scss Document */
/* =========================================================
// reset
========================================================= */
@import url("https://fonts.googleapis.com/css2?family=Oooh+Baby&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: "Noto Serif JP","游明朝体", "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;
  --text-light-color: #808080;
  --brand-main-color: #2178bf;
  --brand-main-lightcolor: #ecf3f7;
  --brand-sub-color: #e37b00;
  --bg-color: #fff;
  --border-color: #d9d9d9;
  --gray-color: #e0e7ea;
  --line-color:#e8f1f8; }

/* =========================================================
//メディアクエリ
========================================================= */
/* =========================================================
 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: transparent;
  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 {
      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: #fd6e70; }

.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.2rem; } }

.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
=================================*/
@media screen and (width < 768px) {
  #pagetop {
    margin-top: 15px; } }
@media print, screen and (768px <= width) {
  #pagetop {
    position: absolute;
    z-index: 900;
    bottom: 100px;
    right: 0; } }

a.pageTop {
  text-decoration: none;
  display: flex;
  gap: 10px;
  align-items: center; }
  @media screen and (width < 768px) {
    a.pageTop {
      justify-content: center; } }
  a.pageTop::after {
    content: "";
    display: block;
    background-image: url(../images/img-pagetop_off.png);
    background-size: contain;
    background-repeat: no-repeat; }
    @media screen and (width < 768px) {
      a.pageTop::after {
        width: 72px;
        height: 67px; } }
    @media print, screen and (768px <= width) {
      a.pageTop::after {
        width: 145px;
        height: 135px; } }
  a.pageTop:hover::after, a.pageTop:focus::after, a.pageTop:active::after {
    background-image: url(../images/img-pagetop_on.png); }
  a.pageTop span {
    display: flex;
    flex-direction: column;
    align-items: center; }
    a.pageTop span::before {
      font-family: "Font Awesome 6 Free";
      content: "";
      font-weight: 900;
      padding-left: 0;
      padding-right: 0;
      color: var(--brand-main-color);
      font-size: 2.0em; }

/* 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;
  /*
  &.hide {	
  	transform: translateY(-100px);
  }
  */ }
  .siteHeader.bg-color, .siteHeader.show {
    background-color: #fff; }
  @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: 100px;
      display: flex;
      align-items: flex-end; } }
  @media print, screen and (768px <= width) {
    .siteHeader__inner {
      min-width: 1200px;
      margin: 0 auto;
      padding: 0px 45px 5px; } }
  .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: baseline; } }
  .siteHeader__logo {
    flex-grow: 0;
    flex-shrink: 0; }
    @media screen and (width < 768px) {
      .siteHeader__logo {
        width: 199px;
        height: 50px;
        padding: 5px 15px 6px; } }
    @media print, screen and (768px <= width) {
      .siteHeader__logo {
        width: 404px;
        height: 84px;
        margin-right: 30px;
        margin-top: 10px; } }
    .siteHeader__logoLink {
      display: block; }
      .siteHeader__logoLink:active, .siteHeader__logoLink:focus, .siteHeader__logoLink:hover, .siteHeader__logoLink.hover {
        opacity: 0.7; }
      .siteHeader__logoLink img {
        max-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: 0 15px;
      background-color: var(--brand-main-lightcolor);
      height: 100%;
      overflow: scroll; } }
  @media print, screen and (768px <= width) {
    .siteHeader__navList {
      display: flex;
      justify-content: flex-end;
      column-gap: 12px; } }
  @media screen and (width < 768px) {
    .siteHeader__navItem {
      border-bottom: 1px solid var(--border-color); } }
  .siteHeader__navLink {
    display: block;
    text-decoration: none !important; }
    @media screen and (width < 768px) {
      .siteHeader__navLink {
        padding: 20px 30px;
        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; } }
    .siteHeader__navLink[href^="http"]:after {
      font-family: "Font Awesome 6 Free";
      content: "";
      font-weight: 900;
      padding-left: 0.5rem;
      padding-right: 0;
      transition: text-shadow 0.3s; }
      @media print, screen and (768px <= width) {
        .siteHeader__navLink[href^="http"]:after {
          color: transparent !important;
          text-shadow: 0 -1.5em 0 var(--brand-main-color), 0 0 0 var(--brand-main-color); } }
    @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(--brand-main-lightcolor); } }
  @media print, screen and (768px <= width) {
    .siteHeader__assist {
      position: absolute;
      top: 0;
      right: calc((100% - 1110px) / 2);
      display: flex;
      gap: 20px; } }
  .siteHeader__assistTel {
    font-weight: 700; }
    .siteHeader__assistTel::before {
      font-family: "Font Awesome 6 Free";
      content: "";
      font-weight: 900;
      padding-left: 0;
      padding-right: 0.5em;
      font-size: 0.65em; }
    @media screen and (width < 768px) {
      .siteHeader__assistTel {
        font-size: 2.4rem;
        padding: 13px;
        text-align: center; } }
    @media print, screen and (768px <= width) {
      .siteHeader__assistTel {
        min-width: 190px;
        font-size: 2.8rem; } }
  @media screen and (width < 768px) {
    .siteHeader__assistContact {
      padding: 0 30px 30px; } }
  @media print, screen and (768px <= width) {
    .siteHeader__assistContact {
      min-width: 190px; } }

.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; } }

.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 6 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%; } }
@media print, screen and (768px <= width) {
  .topicpath__inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end; } }
@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: #a6a6a6;
      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(--brand-main-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; }
.siteContents__innerBg {
  background-color: var(--brand-main-lightcolor); }
  @media screen and (width < 768px) {
    .siteContents__innerBg {
      padding: 50px 20px 80px;
      margin-left: -15px;
      margin-right: -15px;
      border-radius: 50px; } }
  @media print, screen and (768px <= width) {
    .siteContents__innerBg {
      width: 1300px;
      padding: 45px 95px 140px;
      margin: 0 auto;
      border-radius: 100px; } }
@media screen and (width < 768px) {
  .siteContents__innerRecruit {
    padding: 0 20px; } }
@media print, screen and (768px <= width) {
  .siteContents__innerRecruit {
    width: 1200px;
    padding: 0 45px;
    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 6 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 6 Free";
    content: "";
    font-weight: 900;
    padding-left: 0.5rem;
    padding-right: 0; }
  .sideMenu__menu a[href*=".doc"]::after {
    font-family: "Font Awesome 6 Free";
    content: "";
    font-weight: 900;
    padding-left: 0.5rem;
    padding-right: 0; }
  .sideMenu__menu a[href*=".xls"]::after {
    font-family: "Font Awesome 6 Free";
    content: "";
    font-weight: 900;
    padding-left: 0.5rem;
    padding-right: 0; }
  .sideMenu__menu a[href^="http"]::after {
    font-family: "Font Awesome 6 Free";
    content: "";
    font-weight: 900;
    padding-left: 0.5rem;
    padding-right: 0; }
  .sideMenu__menu a[href^="mailto"]::after {
    font-family: "Font Awesome 6 Free";
    content: "";
    font-weight: 900;
    padding-left: 0.5rem;
    padding-right: 0; }

/* siteFooter
=================================*/
.siteFooter {
  position: relative;
  z-index: 5;
  background-color: var(--bg-color); }
  .siteFooter__inner {
    position: relative; }
    @media screen and (width < 768px) {
      .siteFooter__inner {
        padding: 15px; } }
    @media print, screen and (768px <= width) {
      .siteFooter__inner {
        width: 1200px;
        padding: 80px 45px;
        margin-inline: auto; } }
  @media screen and (width < 768px) {
    .siteFooter__address {
      text-align: center; } }
  @media print, screen and (768px <= width) {
    .siteFooter__address {
      display: flex;
      align-items: center;
      gap: 45px;
      margin-bottom: 55px; } }
  @media screen and (width < 768px) {
    .siteFooter__addressLogo {
      margin-inline: auto;
      width: 216px;
      height: 30px;
      margin-bottom: 15px; } }
  @media print, screen and (768px <= width) {
    .siteFooter__addressLogo {
      flex-shrink: 0;
      width: 338px;
      height: 47px; } }
  .siteFooter__addressLogo img {
    width: 100%;
    height: auto; }
  @media screen and (width < 768px) {
    .siteFooter__sitemap {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      row-gap: 30px;
      margin-top: 30px; } }
  @media print, screen and (768px <= width) {
    .siteFooter__sitemap {
      display: flex;
      column-gap: 42px;
      margin-top: 38px; } }
  @media screen and (width < 768px) {
    .siteFooter__sitemapItem {
      /*
      &:nth-child(1),&:nth-child(2),&:nth-child(3){
      	grid-row: span 3;
      }
      */ } }
  @media print, screen and (768px <= width) {
    .siteFooter__sitemapItem {
      width: 100%; } }
  .siteFooter__sitemap a {
    display: block;
    text-decoration: none; }
    .siteFooter__sitemap a:active, .siteFooter__sitemap a:focus, .siteFooter__sitemap a:hover, .siteFooter__sitemap a.hover {
      opacity: 0.7; }
  .siteFooter__sitemapLink {
    color: var(--brand-main-color) !important; }
    @media screen and (width < 768px) {
      .siteFooter__sitemapLink {
        font-size: 1.6rem; } }
    @media print, screen and (768px <= width) {
      .siteFooter__sitemapLink {
        font-size: 1.8rem; } }
    .siteFooter__sitemapLink[href^="http"]:after {
      font-family: "Font Awesome 6 Free";
      content: "";
      font-weight: 900;
      padding-left: 0.5rem;
      padding-right: 0;
      color: var(--brand-main-color); }
  @media print, screen and (768px <= width) {
    .siteFooter .sitemap__subList {
      display: grid;
      grid-row-gap: 8px; } }
  .siteFooter .sitemap__subLink-head {
    color: var(--brand-main-color) !important; }
    @media screen and (width < 768px) {
      .siteFooter .sitemap__subLink-head {
        font-size: 1.6rem; } }
    @media print, screen and (768px <= width) {
      .siteFooter .sitemap__subLink-head {
        font-size: 1.8rem; } }
  @media screen and (width < 768px) {
    .siteFooter .sitemap__subLink {
      display: none; } }
  @media print, screen and (768px <= width) {
    .siteFooter .sitemap__subLink {
      font-size: 1.4rem; } }
  @media print, screen and (768px <= width) {
    .siteFooter__button {
      margin-inline: 0 !important; } }
  @media screen and (width < 768px) {
    .siteFooter__footList {
      margin-top: 30px;
      text-align: center; } }
  @media print, screen and (768px <= width) {
    .siteFooter__footList {
      display: flex;
      align-items: baseline;
      margin-top: 38px; } }
  .siteFooter__privacy {
    text-decoration: none !important; }
    .siteFooter__privacy:active, .siteFooter__privacy:focus, .siteFooter__privacy:hover, .siteFooter__privacy.hover {
      opacity: 0.7; }
    @media print, screen and (768px <= width) {
      .siteFooter__privacy {
        margin-right: 35px; } }
  @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; } }

/* Scss Document */
/*
body#home{
    padding-top: 0;
}
*/
 /* =========================================================
 topImg　slick　スライダーのレイアウト
========================================================= */
@media screen and (width < 768px) {
  .topImg {
    margin-left: -15px;
    margin-right: -15px;
    position: relative; } }
@media print, screen and (768px <= width) {
  .topImg {
    height: 100dvh;
    position: sticky;
    z-index: -10;
    top: 0;
    left: 0; } }
.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; }
@media screen and (width < 768px) {
  .topImg__image {
    width: auto;
    height: 515px; } }
@media print, screen and (768px <= width) {
  .topImg__image {
    width: 100%;
    height: 100%;
    object-fit: cover; } }
.topImg__inner {
  position: absolute;
  inset: 0; }
  @media screen and (width < 768px) {
    .topImg__inner {
      padding: 30px 15px; } }
  @media print, screen and (768px <= width) {
    .topImg__inner {
      overflow: hidden;
      margin-top: 150px;
      margin-left: max(calc((100% - 1110px) / 2), 45px);
      display: flex;
      gap: 10px; } }
@media print, screen and (768px <= width) {
  .topImg__text {
    flex-shrink: 0;
    padding-top: 50px; } }
.topImg__text .jp {
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 0.05em; }
  @media screen and (width < 768px) {
    .topImg__text .jp {
      font-size: 5.0rem; } }
  @media print, screen and (768px <= width) {
    .topImg__text .jp {
      font-size: 7.2rem; } }
  @media screen and (width < 768px) {
    .topImg__text .jp span {
      font-size: 3.0rem; } }
  @media print, screen and (768px <= width) {
    .topImg__text .jp span {
      font-size: 4.8rem; } }
.topImg__text .en {
  color: var(--brand-sub-color);
  font-family: "Oooh Baby", cursive;
  line-height: 1.0;
  transform: rotate(-14deg);
  position: relative;
  z-index: 10; }
  @media screen and (width < 768px) {
    .topImg__text .en {
      font-size: 3.0rem;
      margin-top: -50px; } }
  @media print, screen and (768px <= width) {
    .topImg__text .en {
      font-size: 5.6rem;
      margin-top: -20px;
      margin-left: 20px; } }
  @media screen and (width < 768px) {
    .topImg__text .en .big {
      font-size: 5.0rem; } }
  @media print, screen and (768px <= width) {
    .topImg__text .en .big {
      font-size: 7.6rem; } }
  .topImg__text .en .under {
    display: block;
    margin-left: 1em; }
.topImg__swiper {
  overflow: hidden; }
  @media screen and (width < 768px) {
    .topImg__swiper {
      margin: 50px -15px 0 -15px; } }

/* =========================================================
homeTitleAbout 見出し
========================================================= */
.homeTitleAbout {
  color: var(--brand-main-color);
  display: block;
  text-align: center; }
  @media screen and (width < 768px) {
    .homeTitleAbout {
      margin-bottom: 10px; } }
  @media print, screen and (768px <= width) {
    .homeTitleAbout {
      margin-bottom: 13px; } }
  .homeTitleAbout__en {
    font-weight: 900;
    text-transform: capitalize;
    line-height: 1.3;
    position: relative; }
    @media screen and (width < 768px) {
      .homeTitleAbout__en {
        font-size: 4.0rem; } }
    @media print, screen and (768px <= width) {
      .homeTitleAbout__en {
        font-size: 8.0rem; } }
    .homeTitleAbout__en::before {
      content: "";
      display: block;
      position: absolute;
      background-color: var(--brand-sub-color);
      left: 50%;
      transform: translateX(-50%); }
      @media screen and (width < 768px) {
        .homeTitleAbout__en::before {
          width: 30px;
          height: 4px;
          border-radius: 3px; } }
      @media print, screen and (768px <= width) {
        .homeTitleAbout__en::before {
          width: 60px;
          height: 6px;
          border-radius: 3px; } }
  .homeTitleAbout__jp {
    font-weight: 700; }
    @media screen and (width < 768px) {
      .homeTitleAbout__jp {
        font-size: 1.6rem; } }
    @media print, screen and (768px <= width) {
      .homeTitleAbout__jp {
        font-size: 1.8rem; } }

/* =========================================================
homeTitle 見出し
========================================================= */
.homeTitle {
  color: var(--brand-main-color);
  display: flex; }
  @media screen and (width < 768px) {
    .homeTitle {
      margin-bottom: 10px; } }
  @media print, screen and (768px <= width) {
    .homeTitle {
      margin-bottom: 19px; } }
  .homeTitle__en {
    font-weight: 900;
    text-transform: capitalize;
    line-height: 1.3;
    position: relative; }
    @media screen and (width < 768px) {
      .homeTitle__en {
        font-size: 4.0rem; } }
    @media print, screen and (768px <= width) {
      .homeTitle__en {
        font-size: 8.0rem; } }
    .homeTitle__en::before {
      content: "";
      display: block;
      position: absolute;
      background-color: var(--brand-sub-color);
      left: 0; }
      @media screen and (width < 768px) {
        .homeTitle__en::before {
          width: 30px;
          height: 4px;
          border-radius: 3px; } }
      @media print, screen and (768px <= width) {
        .homeTitle__en::before {
          width: 60px;
          height: 6px;
          border-radius: 3px; } }
  .homeTitle__jp {
    font-weight: 700; }
    @media screen and (width < 768px) {
      .homeTitle__jp {
        font-size: 1.6rem;
        margin-top: 25px;
        margin-left: 15px; } }
    @media print, screen and (768px <= width) {
      .homeTitle__jp {
        font-size: 1.8rem;
        margin-top: 50px;
        margin-left: 32px; } }
  .homeTitle--white {
    color: #fff; }
    @media screen and (width < 768px) {
      .homeTitle--white {
        justify-content: center; } }

 /* =========================================================
ボタン 
========================================================= */
.homeButtonLayout {
  margin-inline: auto; }
  @media screen and (width < 768px) {
    .homeButtonLayout {
      margin-top: 30px;
      width: 280px; } }
  @media print, screen and (768px <= width) {
    .homeButtonLayout {
      margin-top: 68px;
      width: 380px; } }
  .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: 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) {
    .homeButton {
      padding: 16px; } }
  @media print, screen and (768px <= width) {
    .homeButton {
      padding: 22px;
      font-size: 1.8rem; } }
  .homeButton::before {
    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; }
  .homeButton::after {
    content: "";
    display: block;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    font-family: "Font Awesome 6 Free";
    content: "";
    font-weight: 900;
    padding-left: 0;
    padding-right: 0; }
  .homeButton:focus::before, .homeButton:hover::before, .homeButton:active::before {
    transform: translateX(10%); }

.homeButtonContact {
  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) {
    .homeButtonContact {
      padding: 16px; } }
  @media print, screen and (768px <= width) {
    .homeButtonContact {
      padding: 22px;
      font-size: 1.8rem; } }
  .homeButtonContact::after {
    content: "";
    width: 120%;
    height: 200%;
    position: absolute;
    top: -50%;
    right: 0;
    z-index: -1;
    background-color: #3792dc;
    border-radius: 0 calc(1px / 0) calc(1px / 0) 0;
    transform: translateX(-100%);
    transition: transform ease-in 0.5s; }
  .homeButtonContact::before {
    content: "";
    display: inline-block;
    font-family: "Font Awesome 6 Free";
    content: "";
    font-weight: 400;
    padding-left: 0;
    padding-right: 1em;
    font-size: 1.3em; }
  .homeButtonContact:focus::after, .homeButtonContact:hover::after, .homeButtonContact:active::after {
    transform: translateX(10%); }

.homeAbout {
  background-color: var(--bg-color);
  text-align: center; }
  @media screen and (width < 768px) {
    .homeAbout {
      border-top-left-radius: 50px;
      border-top-right-radius: 50px;
      padding: 50px 0 30px; } }
  @media print, screen and (768px <= width) {
    .homeAbout {
      border-top-left-radius: 100px;
      border-top-right-radius: 100px;
      padding: 120px 0 110px; } }
  @media print, screen and (768px <= width) {
    .homeAbout__inner {
      width: 1200px;
      padding: 0 225px;
      margin-inline: auto; } }
  .homeAbout__catch {
    font-weight: 700;
    letter-spacing: 0.03em; }
    @media screen and (width < 768px) {
      .homeAbout__catch {
        font-size: 1.8rem; } }
    @media print, screen and (768px <= width) {
      .homeAbout__catch {
        font-size: 3.0rem; } }
  .homeAbout__text {
    font-weight: 500;
    line-height: 2.2; }
    @media screen and (width < 768px) {
      .homeAbout__text {
        font-size: 1.6rem; } }
    @media print, screen and (768px <= width) {
      .homeAbout__text {
        font-size: 2.0rem; } }
  .homeAbout__group {
    text-align: left;
    border: 1px dashed var(--brand-main-color);
    border-radius: 10px;
    margin-inline: auto;
    position: relative; }
    @media screen and (width < 768px) {
      .homeAbout__group {
        margin-top: 45px;
        padding: 15px; } }
    @media print, screen and (768px <= width) {
      .homeAbout__group {
        margin-top: 25px;
        width: 810px;
        padding: 13px 30px; } }
    .homeAbout__group::before {
      content: "";
      display: block;
      background-image: url("../images/img-kandenko.jpg");
      background-size: contain;
      width: 150px;
      height: 30px;
      position: absolute; }
      @media screen and (width < 768px) {
        .homeAbout__group::before {
          top: -15px;
          left: 50%;
          transform: translateX(-50%); } }
      @media print, screen and (768px <= width) {
        .homeAbout__group::before {
          top: -15px;
          left: 30px; } }

.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: 300px; } }
  @media print, screen and (768px <= width) {
    .bgImage {
      width: 100%;
      height: 400px; } }
  .bgImage__clip {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    clip-path: inset(0); }
    @media screen and (width < 768px) {
      .bgImage__clip {
        width: 100%; } }
    @media print, screen and (768px <= width) {
      .bgImage__clip {
        width: 100%;
        margin-inline: auto; } }
  .bgImage__image {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center; }
    @media screen and (width < 768px) {
      .bgImage__image {
        background-image: url("../images/home/img-takasaki.jpg"); } }
    @media print, screen and (768px <= width) {
      .bgImage__image {
        background-image: url("../images/home/img-takasaki.jpg"); } }

 /* =========================================================
 homeRecruit
========================================================= */
.homeRecruit {
  background-color: var(--bg-color); }
  @media screen and (width < 768px) {
    .homeRecruit {
      padding: 65px 0 210px; } }
  @media print, screen and (768px <= width) {
    .homeRecruit {
      padding: 140px 0 210px; } }
  .homeRecruit__inner {
    position: relative; }
    @media print, screen and (768px <= width) {
      .homeRecruit__inner {
        width: 1110px;
        margin-inline: auto; } }
    .homeRecruit__inner::before {
      content: "";
      display: block;
      position: absolute;
      background-color: var(--brand-main-lightcolor);
      width: 100%;
      top: 0;
      left: 0; }
      @media screen and (width < 768px) {
        .homeRecruit__inner::before {
          height: 100%;
          border-radius: 20px; } }
      @media print, screen and (768px <= width) {
        .homeRecruit__inner::before {
          height: 530px;
          border-radius: 40px; } }
  .homeRecruit__layout {
    position: relative; }
    @media screen and (width < 768px) {
      .homeRecruit__layout {
        padding: 50px 30px 80px; } }
    @media print, screen and (768px <= width) {
      .homeRecruit__layout {
        padding: 70px 70px;
        display: flex;
        gap: 105px; } }
  @media print, screen and (768px <= width) {
    .homeRecruit__title {
      width: 410px;
      position: relative; } }
  .homeRecruit__image {
    position: absolute; }
    @media screen and (width < 768px) {
      .homeRecruit__image {
        width: 90%;
        top: 93%;
        left: 0;
        right: 0;
        margin-inline: auto; } }
    @media print, screen and (768px <= width) {
      .homeRecruit__image {
        width: 540px;
        height: 346px;
        right: 0;
        top: 255px; } }
    .homeRecruit__image img {
      width: 100%;
      height: auto; }
      @media screen and (width < 768px) {
        .homeRecruit__image img {
          border-radius: 20px; } }
      @media print, screen and (768px <= width) {
        .homeRecruit__image img {
          border-radius: 40px; } }
  .homeRecruit__menu {
    display: grid; }
    @media screen and (width < 768px) {
      .homeRecruit__menu {
        font-size: 2.0rem;
        grid-row-gap: 30px;
        margin-top: 20px; } }
    @media print, screen and (768px <= width) {
      .homeRecruit__menu {
        width: 445px;
        font-size: 2.2rem;
        grid-row-gap: 65px;
        padding: 34px 0 30px; } }
    .homeRecruit__menu a {
      font-weight: 700;
      text-decoration: none !important;
      display: grid;
      transition: color 0.3s ease-in;
      /*
      &::after{
      	@include iconFontA("\f061",900,0,0);
      	color: var(--brand-sub-color);
      	font-size: 1.2em;
      }
      */ }
      @media screen and (width < 768px) {
        .homeRecruit__menu a {
          grid-template-columns: 1fr 20px; } }
      @media print, screen and (768px <= width) {
        .homeRecruit__menu a {
          grid-template-columns: 1fr 45px; } }
      .homeRecruit__menu a .arrow {
        overflow: hidden;
        position: relative;
        width: 1.5em;
        aspect-ratio: 1; }
        .homeRecruit__menu a .arrow::before, .homeRecruit__menu a .arrow::after {
          content: "";
          display: block;
          color: var(--brand-sub-color);
          font-family: "Font Awesome 6 Free";
          content: "";
          font-weight: 900;
          padding-left: 1em;
          padding-right: 0;
          position: absolute;
          top: 0;
          right: 0;
          animation-fill-mode: forwards;
          animation-duration: 0.6s; }
        .homeRecruit__menu a .arrow::after {
          transform: translateX(-100%); }
      .homeRecruit__menu a:hover, .homeRecruit__menu a:focus, .homeRecruit__menu a:active {
        color: var(--brand-main-color) !important; }
        .homeRecruit__menu a:hover .arrow::before, .homeRecruit__menu a:focus .arrow::before, .homeRecruit__menu a:active .arrow::before {
          animation-name: transformRightLeft;
          animation-delay: 0s; }
        .homeRecruit__menu a:hover .arrow::after, .homeRecruit__menu a:focus .arrow::after, .homeRecruit__menu a:active .arrow::after {
          animation-name: transformLeftRight;
          animation-delay: 0.2s; }
  @media print, screen and (768px <= width) {
    .homeRecruit__button {
      margin-top: 30px;
      margin-inline: 0;
      margin-left: auto; } }

 /* =========================================================
 homePartner
========================================================= */
.homePartner {
  color: #fff;
  background: linear-gradient(to right, rgba(43, 148, 210, 0.5) 50%, rgba(142, 187, 219, 0.5)), url("../images/home/img-partner.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (width < 768px) {
    .homePartner {
      margin-left: -15px;
      margin-right: -15px;
      padding: 50px 15px;
      text-align: center; } }
  @media print, screen and (768px <= width) {
    .homePartner {
      height: 470px;
      padding: 115px 0 70px; } }
  @media print, screen and (768px <= width) {
    .homePartner__inner {
      width: 1200px;
      padding: 0 45px;
      margin-inline: auto; } }
  @media print, screen and (768px <= width) {
    .homePartner__layout {
      display: flex;
      justify-content: space-between; } }
  .homePartner__text {
    font-weight: 700; }
    @media print, screen and (768px <= width) {
      .homePartner__text {
        font-size: 2.4rem;
        margin-top: 23px; } }
  @media screen and (width < 768px) {
    .homePartner__button {
      margin-top: 30px;
      margin-inline: auto;
      width: 280px; } }
  @media print, screen and (768px <= width) {
    .homePartner__button {
      width: 320px;
      aspect-ratio: 1 / 1;
      border-radius: calc(1px / 0);
      margin-top: -40px;
      margin-right: 20px; } }
  .homePartner__button a {
    width: 100%;
    color: #fff !important;
    background-color: var(--brand-sub-color);
    border-radius: calc(1px / 0);
    font-weight: 500;
    text-decoration: none !important;
    position: relative;
    z-index: 1;
    overflow: hidden;
    transition: 0.3s ease-in; }
    @media screen and (width < 768px) {
      .homePartner__button a {
        display: block;
        text-align: center;
        padding: 13px; }
        .homePartner__button a::before {
          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; }
        .homePartner__button a::after {
          content: "";
          display: block;
          position: absolute;
          right: 30px;
          top: 50%;
          transform: translateY(-50%);
          font-family: "Font Awesome 6 Free";
          content: "";
          font-weight: 900;
          padding-left: 0;
          padding-right: 0; }
        .homePartner__button a:focus::before, .homePartner__button a:hover::before, .homePartner__button a:active::before {
          transform: translateX(10%); } }
    @media print, screen and (768px <= width) {
      .homePartner__button a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        position: relative;
        overflow: hidden; }
        .homePartner__button a .text {
          z-index: 1000;
          font-size: 2.0rem;
          font-weight: 500; }
        .homePartner__button a::before {
          content: '';
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          border-radius: 50%;
          margin: auto;
          width: 60px;
          height: 60px;
          background: #ff9000;
          transform: scale(0);
          transition: 0.6s ease transform; }
        .homePartner__button a::after {
          content: "";
          display: block;
          position: absolute;
          right: 30px;
          top: 50%;
          transform: translateY(-50%);
          font-family: "Font Awesome 6 Free";
          content: "";
          font-weight: 900;
          padding-left: 0;
          padding-right: 0;
          font-size: 2.0rem; }
        .homePartner__button a:hover::before, .homePartner__button a:focus::before, .homePartner__button a:active::before {
          transform: scale(6); } }

@keyframes transformLeftRight {
  0% {
    transform: translateX(-100%); }
  100% {
    transform: translateX(0); } }
@keyframes transformRightLeft {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(100%); } }
a.cardMenu {
  text-decoration: none; }
  a.cardMenu:hover .cardMenu__image img, a.cardMenu:focus .cardMenu__image img, a.cardMenu:active .cardMenu__image img {
    transform: scale(1.05); }
  a.cardMenu:hover .cardMenu__title, a.cardMenu:focus .cardMenu__title, a.cardMenu:active .cardMenu__title {
    color: var(--brand-sub-color); }
    a.cardMenu:hover .cardMenu__title .arrow::before, a.cardMenu:focus .cardMenu__title .arrow::before, a.cardMenu:active .cardMenu__title .arrow::before {
      animation-name: transformRightLeft;
      animation-delay: 0s; }
    a.cardMenu:hover .cardMenu__title .arrow::after, a.cardMenu:focus .cardMenu__title .arrow::after, a.cardMenu:active .cardMenu__title .arrow::after {
      animation-name: transformLeftRight;
      animation-delay: 0.2s; }

.cardMenu {
  display: block;
  width: 100%;
  height: 100%;
  position: relative; }
  .cardMenu__title {
    display: flex;
    align-items: center;
    font-weight: 700;
    color: var(--brand-main-color);
    position: absolute;
    z-index: 100;
    background-color: #fff;
    transition: color 0.3s ease-in; }
    @media screen and (width < 768px) {
      .cardMenu__title {
        font-size: 2.0rem;
        padding: 5px 25px 5px 45px;
        border-top-right-radius: 25px;
        top: 195px; } }
    @media print, screen and (768px <= width) {
      .cardMenu__title {
        font-size: 2.8rem;
        padding: 13px 38px 11px 78px;
        border-top-right-radius: 35px;
        top: 310px; } }
    .cardMenu__title .icon {
      position: absolute;
      left: 5px; }
      @media screen and (width < 768px) {
        .cardMenu__title .icon {
          top: -15px;
          height: 70px; } }
      @media print, screen and (768px <= width) {
        .cardMenu__title .icon {
          top: -30px;
          height: 100px; } }
      .cardMenu__title .icon img {
        height: 100%;
        width: auto; }
    .cardMenu__title .arrow {
      overflow: hidden;
      position: relative;
      width: 1.5em;
      aspect-ratio: 1; }
      .cardMenu__title .arrow::before, .cardMenu__title .arrow::after {
        display: block;
        color: var(--brand-sub-color);
        font-family: "Font Awesome 6 Free";
        content: "";
        font-weight: 900;
        padding-left: 1em;
        padding-right: 0;
        position: absolute;
        top: 0;
        right: 0;
        animation-fill-mode: forwards;
        animation-duration: 0.6s; }
      .cardMenu__title .arrow::after {
        transform: translateX(-100%); }
  .cardMenu__image {
    overflow: hidden;
    width: 100%; }
    @media screen and (width < 768px) {
      .cardMenu__image {
        border-radius: 20px; } }
    @media print, screen and (768px <= width) {
      .cardMenu__image {
        border-radius: 40px; } }
    .cardMenu__image img {
      width: 100%;
      transition: transform 0.3s ease-in; }
      @media screen and (width < 768px) {
        .cardMenu__image img {
          height: 220px;
          object-fit: cover; } }
      @media print, screen and (768px <= width) {
        .cardMenu__image img {
          height: auto; } }
  @media screen and (width < 768px) {
    .cardMenu__text {
      margin-top: 30px;
      padding: 0 10px; } }
  @media print, screen and (768px <= width) {
    .cardMenu__text {
      margin-top: 40px;
      padding: 0 17px; } }

/* 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 6 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 6 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }
  a.newsCard[href*=".doc"] .newsCard__title::after {
    font-family: "Font Awesome 6 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }
  a.newsCard[href*=".xls"] .newsCard__title::after {
    font-family: "Font Awesome 6 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }
  a.newsCard[href^="http"] .newsCard__title::after {
    font-family: "Font Awesome 6 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 6 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }
  a.newsIndexCard[href*=".doc"] .newsIndexCard__text::after {
    font-family: "Font Awesome 6 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }
  a.newsIndexCard[href*=".xls"] .newsIndexCard__text::after {
    font-family: "Font Awesome 6 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }
  a.newsIndexCard[href^="http"] .newsIndexCard__text::after {
    font-family: "Font Awesome 6 Free";
    content: "";
    font-weight: 400;
    padding-left: 0.5rem;
    padding-right: 0; }
  a.newsIndexCard[href^="mailto"] .newsIndexCard__text::after {
    font-family: "Font Awesome 6 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 6 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 */
/* =========================================================
 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 6 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 6 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 6 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 6 Free";
  content: "";
  font-weight: 900;
  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 6 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;
  letter-spacing: -0.01em; }
  @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 6 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 6 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: 25%; } }
  .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: 15px 15px; } }
  @media print, screen and (768px <= width) {
    .columnLayout--0302 {
      grid-template-columns: repeat(3, 1fr);
      gap: 15px 30px; } }
  @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 ページタイトル
--------------------------------------------------------- */
.pageTitle {
  position: relative; }
  @media screen and (width < 768px) {
    .pageTitle {
      display: grid;
      place-content: center;
      height: 200px; } }
  @media print, screen and (768px <= width) {
    .pageTitle {
      display: grid;
      place-content: center;
      height: 440px; } }
  .pageTitle::before {
    content: "";
    display: block;
    width: 100%;
    background-image: url("../images/pagetitle/bg-company.jpg");
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }
    @media screen and (width < 768px) {
      .pageTitle::before {
        height: 250px; } }
    @media print, screen and (768px <= width) {
      .pageTitle::before {
        height: 660px; } }
  .pageTitle::after {
    content: "";
    display: block;
    background-image: url("../images/pagetitle/icon-company.png");
    background-size: contain;
    position: absolute;
    left: 0;
    right: 0;
    margin-inline: auto; }
    @media screen and (width < 768px) {
      .pageTitle::after {
        width: 85px;
        height: 66px;
        top: 160px; } }
    @media print, screen and (768px <= width) {
      .pageTitle::after {
        width: 198px;
        height: 153px;
        top: 375px; } }
  .pageTitle__title {
    margin-inline: auto;
    text-align: center; }
    @media print, screen and (768px <= width) {
      .pageTitle__title {
        margin-top: 70px; } }
    .pageTitle__title .en {
      color: var(--brand-main-color);
      font-weight: 900;
      line-height: 1.0;
      text-transform: capitalize;
      position: relative; }
      @media screen and (width < 768px) {
        .pageTitle__title .en {
          font-size: 4.0rem; } }
      @media print, screen and (768px <= width) {
        .pageTitle__title .en {
          font-size: 9.0rem; } }
    .pageTitle__title .jp {
      font-weight: 700;
      color: var(--brand-sub-color); }
      @media screen and (width < 768px) {
        .pageTitle__title .jp {
          font-size: 1.8rem;
          margin-top: 5px; } }
      @media print, screen and (768px <= width) {
        .pageTitle__title .jp {
          font-size: 2.4rem;
          margin-top: 10px; } }
  .pageTitle--business::before {
    background-image: url("../images/pagetitle/bg-business.jpg"); }
  .pageTitle--business::after {
    background-image: url("../images/pagetitle/icon-business.png"); }
  .pageTitle--message::before {
    background-image: url("../images/pagetitle/bg-message.jpg"); }
  .pageTitle--message::after {
    background-image: url("../images/pagetitle/icon-message.png"); }
  .pageTitle--job::before {
    background-image: url("../images/pagetitle/bg-job.jpg"); }
  .pageTitle--job::after {
    background-image: url("../images/pagetitle/icon-job.png"); }
  .pageTitle--interview::before {
    background-image: url("../images/pagetitle/bg-interview.jpg"); }
  .pageTitle--interview::after {
    background-image: url("../images/pagetitle/icon-interview.png"); }
  .pageTitle--entry::before {
    background-image: url("../images/pagetitle/bg-entry.jpg"); }
  .pageTitle--entry::after {
    background-image: url("../images/pagetitle/icon-entry.png"); }
  .pageTitle--partner::before {
    background-image: url("../images/pagetitle/bg-partner.jpg"); }
  .pageTitle--partner::after {
    background-image: url("../images/pagetitle/icon-partner.png"); }
  .pageTitle--privacy::before {
    background-image: url("../images/pagetitle/bg-privacy.jpg"); }
  .pageTitle--privacy::after {
    background-image: url("../images/pagetitle/icon-privacy.png"); }

/* =========================================================
 title
========================================================= */
/* title01 
--------------------------------------------------------- */
.title01 {
  color: var(--brand-main-color);
  line-height: 1.1;
  font-weight: 900;
  position: relative; }
  @media screen and (width < 768px) {
    .title01 {
      font-size: 2.4rem;
      margin-bottom: 30px; } }
  @media print, screen and (768px <= width) {
    .title01 {
      font-size: 3.4rem; } }
  .title01::before {
    content: "";
    display: block;
    background-color: var(--brand-sub-color);
    position: absolute;
    left: 0; }
    @media screen and (width < 768px) {
      .title01::before {
        width: 30px;
        height: 4px;
        border-radius: 3px;
        top: -15px; } }
    @media print, screen and (768px <= width) {
      .title01::before {
        width: 50px;
        height: 6px;
        border-radius: 3px;
        top: -30px; } }
  .title01--mat0 {
    margin-top: 0; }
  .title01 + *[class*="title"] {
    margin-top: 0; }

/* ------------------------------------------------------
title02　
--------------------------------------------------------- */
.title02 {
  font-weight: 700; }
  @media screen and (width < 768px) {
    .title02 {
      font-size: 2.0rem;
      margin: 35px 0 15px; } }
  @media print, screen and (768px <= width) {
    .title02 {
      font-size: 2.6rem;
      margin: 70px 0 18px; } }
  .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);
  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: #3792dc;
    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 6 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 6 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 6 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 6 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: 58px;
    margin-bottom: 130px; } }
.accordionList__item {
  border: 1px solid #a7a7a7;
  border-radius: 10px; }
  .accordionList__item:not(:first-child) {
    margin-top: 10px; }

.accordionData__title {
  cursor: pointer;
  position: relative; }
  .accordionData__title:hover, .accordionData__title:focus {
    opacity: 0.7; }
  @media screen and (width < 768px) {
    .accordionData__title {
      font-size: 1.7rem;
      padding: 8px 35px 8px 30px; } }
  @media print, screen and (768px <= width) {
    .accordionData__title {
      padding: 15px 60px 15px 50px;
      font-size: 2.4rem; } }
  .accordionData__title.active::after {
    font-family: "Font Awesome 6 Free";
    content: "";
    font-weight: 900;
    padding-left: 0;
    padding-right: 0; }
  .accordionData__title::before {
    content: "";
    display: block;
    background-color: var(--brand-main-color);
    border-radius: 5px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
    @media screen and (width < 768px) {
      .accordionData__title::before {
        width: 4px;
        height: 1.5em;
        left: 5px; } }
    @media print, screen and (768px <= width) {
      .accordionData__title::before {
        width: 8px;
        height: 2em;
        left: 18px; } }
  .accordionData__title::after {
    position: absolute;
    font-family: "Font Awesome 6 Free";
    content: "";
    font-weight: 900;
    padding-left: 0;
    padding-right: 0;
    color: var(--brand-main-color); }
    @media screen and (width < 768px) {
      .accordionData__title::after {
        right: 15px; } }
    @media print, screen and (768px <= width) {
      .accordionData__title::after {
        right: 35px; } }
.accordionData__text {
  display: none; }
  .accordionData__text.active {
    display: block; }
  @media screen and (width < 768px) {
    .accordionData__text {
      padding: 10px 30px 20px 30px; } }
  @media print, screen and (768px <= width) {
    .accordionData__text {
      padding: 10px 50px 40px 50px; } }
  .accordionData__text > *:first-child {
    margin-top: 0 !important; }

/* =========================================================
 タブ
modTab 
========================================================= */
.modTab {
  margin-top: 1.2em; }
  @media screen and (width < 768px) {
    .modTab {
      margin: 15px 0 15px; } }
  @media print, screen and (768px <= width) {
    .modTab {
      margin: 50px 0 40px; } }
  .modTab__navTabs {
    display: flex;
    column-gap: 5px; }
  .modTab__navItem {
    width: 100%; }
  .modTab a.modTab__navLink {
    display: block;
    text-decoration: none;
    text-align: center;
    color: var(--brand-text-color) !important;
    background-color: rgba(113, 158, 214, 0.2);
    border-radius: 10px 10px 0 0;
    transition: 0.3s ease-out; }
    @media screen and (width < 768px) {
      .modTab a.modTab__navLink {
        padding: 8px;
        font-size: 2.0rem; } }
    @media print, screen and (768px <= width) {
      .modTab a.modTab__navLink {
        padding: 15px;
        font-size: 2.0rem; } }
    .modTab a.modTab__navLink:hover, .modTab a.modTab__navLink:active, .modTab a.modTab__navLink:focus, .modTab a.modTab__navLink.active {
      background-color: var(--brand-main-color);
      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 6 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 6 Free";
      content: "";
      font-weight: 900;
      padding-left: 0;
      padding-right: 10px;
      color: var(--brand-sub-color);
      font-size: 0.8em; }
    .modContact__tel a {
      color: #fff !important; }
  .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;
        font-size: 1.8rem; } }

.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: 50px auto; } }
  .img-container img {
    max-width: 100%;
    height: auto; }
  @media print, screen and (768px <= width) {
    .img-container--sm {
      width: 80%; } }

@media screen and (width < 768px) {
  .contentsItem {
    margin-top: 70px; } }
@media print, screen and (768px <= width) {
  .contentsItem {
    display: grid;
    grid-template-columns: 350px 1fr;
    margin-top: 182px; } }
@media screen and (width < 768px) {
  .contentsItem__contents {
    margin-top: 15px; } }
.contentsItem__contents > *:first-child {
  margin-top: 0 !important; }
@media screen and (width < 768px) {
  .contentsItem--matS {
    margin-top: 50px; } }
@media print, screen and (768px <= width) {
  .contentsItem--matS {
    margin-top: 120px; } }
@media print, screen and (768px <= width) {
  .contentsItem--wide {
    grid-template-columns: 210px 1fr; } }
@media print, screen and (768px <= width) {
  .contentsItem__image {
    margin: 30px 0 15px; } }
.contentsItem__image img {
  max-width: 100%;
  height: auto; }

@media screen and (width < 768px) {
  .contents1Col {
    margin-top: 50px; } }
@media print, screen and (768px <= width) {
  .contents1Col {
    margin-top: 120px; } }

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: 215px;
        height: 154px; } }
    @media print, screen and (768px <= width) {
      .recruitEntry__light {
        width: 323px;
        height: 231px;
        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: fit-content;
      max-width: 1110px;
      border-radius: 20px;
      padding: 32px 25px;
      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; }
