@charset "UTF-8";
/*
Theme Name: yamaguchi-sekizai
Theme URI:
Description: yamaguchi-sekizai
Version: 1.0
Author: 
Author URI: 
*/
/*!
global > font
------------------------------
*/
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Shippori+Mincho+B1:wght@400;500;600&display=swap");
/*!
global > color
------------------------------
*/
:root {
  --color-primary: #113770;
  --color-primary-light: #eae5e3;
  --color-secondary: #3F8EB3;
  --color-secondary-light: #FAF8F5;
  --color-link: #4895e6;
}

.white {
  color: white !important;
}

.blue {
  color: #009FE8 !important;
}

.egreen {
  color: #50AA9E !important;
}

.red {
  color: #a10808;
}

.yellow {
  color: var(--color-secondary);
}

.orange {
  color: #f18200;
}

.brown {
  color: #797743 !important;
}

/*!
global > content-width
------------------------------
*/
:root {
  --width-content-s: 760px;
  --width-content: 1200px;
}

:root {
  --font-family-base: "Shippori Mincho B1", "Helvetica Neue", "Helvetica",
      "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}

.f_notos {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.f_noto, .formCnt .formInputBlock table th,
.formCnt .formInputBlock table td, .formCnt .btnWrap input, .PgRecruit .Guideline .guidelineTable th,
.PgRecruit .Guideline .guidelineTable td, .PgCompany .Outline .outlineTable th,
.PgCompany .Outline .outlineTable td, .PgCompany .Outline .CorpItem, .PgCompany .History .HistoryTable th,
.PgCompany .History .HistoryTable td, .NewsPost .date, .Footer, .Header .Logo__Name, .Header .SideNav li a, .smallBtn, .title-Lv2--Blog {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.f_inter {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "slnt" 0;
}

.f_ship {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-style: normal;
}

/*!
global > adjustment
------------------------------
*/
/*!
global > effects
------------------------------
*/
.pagenavi .nav a, .formCnt .btnWrap input, .ctBnr .ctBnrItem__img img, .ctBnr .ctBnrItem__block, .ctBnr .ctBnrItem .num, .ctBnr .ctBnrItem__ttl, .BnrList .BnrItem, .sideCnt .sideNav li a::after, #btm-btn a.pagetop, .sideSns .SnsMenu li a, .Header__inner, .Header .Logo, .Header .SideNav li a, .pgNav li a, .Btn, .smallBtn {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

/*!
foundation > reset
------------------------------
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

/*!
foundation > base
------------------------------
*/
html,
body {
  min-height: 100%;
}

:root {
  --vh: 1vh; /* JSが走る前の保険 */
  --header-h: 100px; /* ベースでも入れておく */
}

/* spでヘッダー高が違うならここで上書き */
@media screen and (max-width: 767px) {
  :root {
    --header-h: 100px;
  }
}
html {
  font-size: 62.5%;
}

body {
  font-family: var(--font-family-base);
  font-size: clamp(1.6rem, 1.3vw, 100rem);
  font-weight: 400;
  color: #444444;
  line-height: 2;
  background-color: white;
  animation: fadeIn 0.5s ease 0s 1 normal;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
body.menu-open {
  overflow: hidden;
  touch-action: none;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
a {
  color: #0f62a3;
  word-wrap: break-word;
}
a.noLink {
  pointer-events: none;
}
a.anchor {
  display: block;
  padding-top: 150px;
  margin-top: -150px;
}
a.anchor--1 {
  padding-top: 50px;
  margin-top: -50px;
}
a.External_links {
  display: table;
  margin-left: auto;
  font-size: 1.4rem;
}

.br-pc {
  display: block !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .br-pc {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .br-pc {
    display: none !important;
  }
}

.br-tb {
  display: none !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .br-tb {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .br-tb {
    display: none !important;
  }
}

.br-sp {
  display: none !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .br-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .br-sp {
    display: block !important;
  }
}

.br-pc-sp {
  display: block !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .br-pc-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .br-pc-sp {
    display: block !important;
  }
}

.br-tb-sp {
  display: none !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .br-tb-sp {
    display: block !important;
  }
}
@media screen and (max-width: 767px) {
  .br-tb-sp {
    display: block !important;
  }
}

@media screen and (max-width: 767px) {
  .dn-sp {
    display: none !important;
  }
}

/*!
utility > utility
------------------------------
*/
.u-mauto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.u-mlauto {
  margin-left: auto !important;
}

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

.u-mt5 {
  margin-top: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mt35 {
  margin-top: 35px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-mt70 {
  margin-top: 70px !important;
}

.u-mt100 {
  margin-top: 100px !important;
}

.u-mt120 {
  margin-top: 120px !important;
}

.u-mt140 {
  margin-top: 140px !important;
}

.u-mt150 {
  margin-top: 150px !important;
}

.u-mt200 {
  margin-top: 200px !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-mb70 {
  margin-bottom: 70px !important;
}

.u-mb100 {
  margin-bottom: 100px !important;
}

.u-mlauto {
  margin-left: auto !important;
}

.u-ml5 {
  margin-left: 10px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-ml5 {
    margin-left: 0.3846153846vw !important;
  }
}

.u-ml10 {
  margin-left: 10px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-ml10 {
    margin-left: 0.7692307692vw !important;
  }
}

.u-ml15 {
  margin-left: 15px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-ml15 {
    margin-left: 1.1538461538vw !important;
  }
}

.u-ml25 {
  margin-left: 25px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-ml25 {
    margin-left: 1.9230769231vw !important;
  }
}

.u-ml50 {
  margin-left: 50px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-ml50 {
    margin-left: 3.8461538462vw !important;
  }
}

.u-ml70 {
  margin-left: 70px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-ml70 {
    margin-left: 5.3846153846vw !important;
  }
}

.u-mr5 {
  margin-right: 5px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-mr5 {
    margin-right: 0.3846153846vw !important;
  }
}

.u-mr10 {
  margin-right: 10px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-mr10 {
    margin-right: 0.7692307692vw !important;
  }
}

.u-mr15 {
  margin-right: 15px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-mr15 {
    margin-right: 1.1538461538vw !important;
  }
}

.u-mr25 {
  margin-right: 25px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-mr25 {
    margin-right: 1.9230769231vw !important;
  }
}

.u-mr50 {
  margin-right: 50px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-mr50 {
    margin-right: 3.8461538462vw !important;
  }
}

.u-mr70 {
  margin-right: 70px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-mr70 {
    margin-right: 5.3846153846vw !important;
  }
}

.u-mr100 {
  margin-right: 100px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-mr100 {
    margin-right: 7.6923076923vw !important;
  }
}

.u-mlr25 {
  margin-left: 25px !important;
  margin-right: 25px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-mlr25 {
    margin-left: 1.9230769231vw !important;
    margin-right: 1.9230769231vw !important;
  }
}

.u-p-reset {
  padding: 0 !important;
}

.u-ptb {
  padding: 150px 0 !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-ptb {
    padding: 50px 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .u-ptb {
    padding: 50px 0 !important;
  }
}

.u-ptb100 {
  padding: 100px 0 !important;
}

.u-ptb70 {
  padding: 70px 0 !important;
}
@media screen and (max-width: 767px) {
  .u-ptb70 {
    padding-top: 35px !important;
  }
}

.u-ptb50 {
  padding: 50px 0 !important;
}

.u-ptb25 {
  padding: 25px 0 !important;
}

.u-pt {
  padding-top: 150px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-pt {
    padding-top: 50px !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pt {
    padding-top: 50px !important;
  }
}

.u-pb {
  padding-bottom: 150px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-pb {
    padding-bottom: 50px !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pb {
    padding-bottom: 50px !important;
  }
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pt70 {
  padding-top: 70px !important;
}

.u-pt100 {
  padding-top: 100px !important;
}

.u-pt150 {
  padding-top: 150px !important;
}

.u-pt200 {
  padding-top: 200px !important;
}

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

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-pb100 {
  padding-bottom: 100px !important;
}

.u-pb150 {
  padding-bottom: 150px !important;
}

.u-pb200 {
  padding-bottom: 200px !important;
}

@media screen and (max-width: 767px) {
  .u-sp-m-reset {
    margin: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mauto {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mlauto {
    margin-left: 0 !important;
    margin-left: auto !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt0 {
    margin-top: 0px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt5 {
    margin-top: 5px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt10 {
    margin-top: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt15 {
    margin-top: 15px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt25 {
    margin-top: 25px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt35 {
    margin-top: 35px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt50 {
    margin-top: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt60 {
    margin-top: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt70 {
    margin-top: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt80 {
    margin-top: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt100 {
    margin-top: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt150 {
    margin-top: 150px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mb5 {
    margin-bottom: 5px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mb50 {
    margin-bottom: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ml0 {
    margin-left: 0px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ml15 {
    margin-left: 15px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ptb {
    padding: 70px 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ptb15 {
    padding: 15px 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ptb25 {
    padding: 25px 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ptb35 {
    padding: 35px 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ptb50 {
    padding: 50px 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-pt {
    padding-top: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-pt0 {
    padding-top: 0px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-pt25 {
    padding-top: 25px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-pt35 {
    padding-top: 35px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-pt50 {
    padding-top: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-pt70 {
    padding-top: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-pt100 {
    padding-top: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-pb {
    padding-bottom: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-pb0 {
    padding-bottom: 0px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-pb25 {
    padding-bottom: 25px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-pb50 {
    padding-bottom: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-pb100 {
    padding-bottom: 100px !important;
  }
}

.u-fll {
  float: left;
}

.u-flr {
  float: right;
}

@media screen and (max-width: 767px) {
  .u-sp-fl-reset {
    float: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-flr {
    float: right !important;
  }
}

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

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

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

@media screen and (max-width: 767px) {
  .u-sp-alc {
    text-align: center !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-all {
    text-align: left !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-alr {
    text-align: right !important;
  }
}

.u-vat {
  vertical-align: top !important;
}

.u-vam {
  vertical-align: middle !important;
}

.u-vab {
  vertical-align: bottom !important;
}

.u-wnum {
  width: 4em !important;
  max-width: 4em !important;
}

.u-w10 {
  width: 10% !important;
  max-width: 10% !important;
}

.u-w15 {
  width: 15% !important;
  max-width: 15% !important;
}

.u-w20 {
  width: 20% !important;
  max-width: 20% !important;
}

.u-w25 {
  width: 25% !important;
  max-width: 25% !important;
}

.u-w30 {
  width: 30% !important;
  max-width: 30% !important;
}

.u-w35 {
  width: 35% !important;
  max-width: 35% !important;
}

.u-w40 {
  width: 40% !important;
  max-width: 40% !important;
}

.u-w45 {
  width: 45% !important;
  max-width: 45% !important;
}

.u-w50 {
  width: 50% !important;
  max-width: 50% !important;
}

.u-w55 {
  width: 55% !important;
  max-width: 55% !important;
}

.u-w60 {
  width: 60% !important;
  max-width: 60% !important;
}

.u-w70 {
  width: 70% !important;
  max-width: 70% !important;
}

.u-w80 {
  width: 80% !important;
  max-width: 80% !important;
}

.u-w90 {
  width: 90% !important;
  max-width: 90% !important;
}

.u-w100 {
  width: 100% !important;
  max-width: 100% !important;
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-tab-w50 {
    width: 50% !important;
    max-width: 50% !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-w-reset {
    width: auto !important;
    max-width: initial !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-w30 {
    width: 30% !important;
    max-width: 30% !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-w35 {
    width: 35% !important;
    max-width: 35% !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-w40 {
    width: 40% !important;
    max-width: 40% !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-w50 {
    width: 50% !important;
    max-width: 50% !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-w60 {
    width: 60% !important;
    max-width: 60% !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-w70 {
    width: 70% !important;
    max-width: 70% !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-w80 {
    width: 80% !important;
    max-width: 80% !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-w90 {
    width: 90% !important;
    max-width: 90% !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-w100 {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.u-of-hidden {
  overflow: hidden;
}

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

.u-txtSmall {
  font-size: 1.4rem;
}

.u-txtLarge {
  font-size: clamp(1.9rem, 1.9vw, 100rem);
}
@media screen and (max-width: 767px) {
  .u-txtLarge {
    font-size: 2rem;
  }
}

.u-btmMaker {
  background: linear-gradient(transparent 60%, #e8f1b7 60%);
}

/*!
layout > container
------------------------------
*/
.l-container-s {
  width: 100%;
  margin: 0 auto;
}

.l-container-s {
  max-width: var(--width-content-s);
  box-sizing: border-box;
}

/*!
component > title
------------------------------
*/
.title-Lv1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-bottom: 0.5em;
  font-size: 3rem;
  font-weight: 800;
  line-height: 1.5;
  position: relative;
}
@media screen and (min-width: 1025px) and (max-width: 1299px) {
  .title-Lv1 {
    font-size: 2.3076923077vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .title-Lv1 {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .title-Lv1 {
    font-size: 2.1rem;
  }
}
.title-Lv1::after {
  content: "";
  display: inline-block;
  width: 60px;
  height: 5px;
  background-image: linear-gradient(90deg, var(--color-primary) 49%, white 49%, white 51%, var(--color-secondary) 51%);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .title-Lv1::after {
    width: 60px;
    height: 4px;
  }
}
.title-Lv1 i {
  font-size: 3.2rem;
  color: var(--color-primary);
}
.title-Lv1--small {
  font-size: 2.4rem;
}
@media screen and (min-width: 1025px) and (max-width: 1299px) {
  .title-Lv1--small {
    font-size: 1.8461538462vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .title-Lv1--small {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .title-Lv1--small {
    font-size: 1.7rem;
  }
}

.title-Lv2 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  font-size: clamp(3rem, 3vw, 100rem);
  font-weight: 500;
  line-height: 1.6;
  gap: 0 0.75em;
  padding-bottom: 0.35em;
  color: var(--color-primary);
  border-bottom: 1px solid var(--color-primary);
}
@media screen and (max-width: 767px) {
  .title-Lv2 {
    font-size: 2.5rem;
    line-height: 1.5;
    gap: 0 0.5em;
  }
}
.title-Lv2--noBorder {
  border-bottom: none;
}
.title-Lv2--Blog {
  justify-content: flex-start;
  font-size: clamp(2rem, 2vw, 100rem);
  border: none;
  background-color: #efefef;
  padding: 0.5em;
  color: #444444;
}

.title-Lv3 {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(2.2rem, 2vw, 100rem);
  font-weight: 600;
  position: relative;
  color: var(--color-primary);
}

.title-Lv4 {
  font-size: 1.2vw;
  font-weight: 600;
}
@media screen and (min-width: 1025px) and (max-width: 1299px) {
  .title-Lv4 {
    font-size: 1.3846153846vw;
  }
}
@media screen and (max-width: 767px) {
  .title-Lv4 {
    font-size: 1.6rem;
  }
}

.UnderFv {
  display: flex;
  flex-direction: column;
  position: relative;
  height: 450px;
  min-height: 450px;
  background-color: #b6c9d5;
  overflow: hidden;
}
.UnderFv__inner {
  height: calc(100% - 80px);
  position: relative;
}
.UnderFv__inner::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: black;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.25;
}
.UnderFv__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 100%;
  height: 80px;
  padding: 0 3.5%;
  background-color: var(--color-primary);
  position: relative;
  z-index: 21;
  box-sizing: border-box;
}
.UnderFv__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.UnderFv__triangle {
  display: block;
  width: 500px;
  height: 100%;
  background-color: var(--color-primary);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 15;
  clip-path: polygon(0% 0%, 100% 0%, 0% 100%, 0% 100%);
  opacity: 0.8;
}
.UnderFv__triangle--ov1 {
  left: -70px;
  background-color: #e1e5ea;
  z-index: 20;
}
.UnderFv__triangle--ov2 {
  left: -100px;
  background-color: white;
  z-index: 21;
}

/*!
component > btn
------------------------------
*/
.contactBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1/1;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .contactBtn {
    width: 60px;
    bottom: auto;
    left: auto;
    top: 0;
    right: 0;
  }
}
.contactBtn .Icon {
  display: block;
  width: 35%;
}

.Btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-primary);
  font-size: clamp(1.5rem, 1.2vw, 100rem);
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
  padding: 0.75em 3.5em;
  line-height: 1.3;
  border-radius: 100px;
}
.Btn:hover {
  background-color: var(--color-primary);
  color: white;
}

.smallBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-primary);
  border-radius: 100px;
  color: var(--color-primary);
  padding: 0.75em;
  min-width: 220px;
  font-size: clamp(1.5rem, 1.2vw, 100rem);
  text-decoration: none;
  line-height: 1.5;
  gap: 0 0.5em;
}
@media screen and (max-width: 767px) {
  .smallBtn {
    min-width: 200px;
  }
}
.smallBtn:hover {
  background-color: var(--color-primary);
  color: white;
}
.smallBtn .Icon {
  display: block;
  width: 20px;
  aspect-ratio: 1/1;
  object-fit: contain;
  object-position: center;
  stroke: currentColor; /* ← テキスト色と同期 */
  fill: none;
  stroke-width: 0.6px;
}
.smallBtn--Phone {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .smallBtn--Phone {
    pointer-events: visible;
  }
}
.smallBtn--Contact {
  color: #113770;
}
.smallBtn--Contact:hover {
  color: white;
}

.Shiny {
  overflow: hidden;
}
.Shiny::after {
  content: "";
  position: absolute;
  top: -100px;
  left: -100px;
  width: 50px;
  height: 50px;
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgb(255, 255, 255) 100%, rgba(255, 255, 255, 0) 0%);
  animation-name: shiny;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

@keyframes shiny {
  0% {
    transform: scale(0) rotate(25deg);
    opacity: 0;
  }
  50% {
    transform: scale(1) rotate(25deg);
    opacity: 0.5;
  }
  100% {
    transform: scale(50) rotate(25deg);
    opacity: 0;
  }
}
/*!
component > parts
------------------------------
*/
.listDisc li {
  margin-left: 1em;
  list-style-type: disc;
}

.listNum li {
  margin-left: 1em;
  list-style-type: decimal;
}

.pgNav {
  display: flex;
  justify-content: center;
  position: relative;
  flex-wrap: wrap;
  gap: 15px;
}
@media screen and (max-width: 767px) {
  .pgNav {
    gap: 10px;
  }
}
.pgNav li a {
  display: block;
  padding: 0.75em 1.5em;
  border-radius: 50px;
  text-decoration: none;
  line-height: 1.2;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
  color: #444444;
  border: 1px solid #999;
  box-sizing: border-box;
}
@media screen and (min-width: 1025px) and (max-width: 1299px) {
  .pgNav li a {
    font-size: 1.2307692308vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pgNav li a {
    min-width: 7em;
    padding: 1em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .pgNav li a {
    min-width: 7em;
    padding: 1em;
    font-size: 1.3rem;
  }
}
.pgNav li a.active {
  border: 1px solid var(--color-secondary);
  background-color: var(--color-secondary);
  color: white;
}
.pgNav--white li a {
  color: white;
  border: 1px solid white;
}
.pgNav--white li a:hover {
  background-color: white;
  color: #444444;
}

sup {
  font-size: 1.1rem;
  vertical-align: 0.5em;
}

.NotesCnt {
  display: flex;
  flex-direction: column;
  gap: 0.5em 0;
}
.NotesCnt--ptn1 {
  align-items: flex-end;
}

.Notes {
  display: inline-flex;
  font-size: clamp(1.3rem, 1.1vw, 100rem);
  position: relative;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .Notes {
    font-size: 1.2rem;
  }
}
.Notes--mark {
  padding-left: 1em;
}
.Notes--mark::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

/*!
component > table
------------------------------
*/
.baseTable th,
.baseTable td {
  font-size: clamp(1.2rem, 1vw, 100rem);
  padding: 1em 0.5em;
  border-bottom: 1px solid #d5d5d5;
}
@media screen and (max-width: 767px) {
  .baseTable th,
  .baseTable td {
    display: block;
    padding: 1em 0;
    font-size: 1.5rem;
  }
}
.baseTable th {
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .baseTable th {
    padding-bottom: 0;
    border-bottom: none;
  }
}
@media screen and (max-width: 767px) {
  .baseTable td {
    padding-top: 0.5em;
  }
}
@media screen and (max-width: 767px) {
  .baseTable tr:nth-last-of-type(1) td {
    border-bottom: none;
  }
}

.subTable th, .subTable td {
  padding: 0;
  border: none;
}
@media screen and (max-width: 767px) {
  .subTable th, .subTable td {
    display: table-cell;
  }
}

/*!
component > tab
------------------------------
*/
.tab-group {
  padding: 0 10px;
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .tab-group {
    flex-wrap: wrap;
  }
}
.tab-group li.tab {
  margin: 0 5px;
  padding: 0.75em;
  min-width: 200px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 600;
  color: #444444;
  list-style: none;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  background-color: white;
  line-height: 1.2;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .tab-group li.tab {
    padding: 0.75em 1em;
    min-width: initial;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 100px) {
  .tab-group li.tab {
    font-size: 1.4rem;
  }
}
.tab-group li.tab.tab-active {
  background-color: #009FE8;
  transition: all 0.2s ease-out;
  color: white;
}

.panel {
  display: none;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
}
.panel.panel-show {
  display: block;
}
.panel__inner {
  background-color: white;
}
/*!
component > modal
------------------------------
*/
.iziModal {
  max-width: 60% !important;
  margin-top: 180px !important;
  /*  margin-right: 50px !important;*/
}
.iziModal .wrap {
  margin: 0.5em;
  padding: 4em;
  overflow: hidden;
  text-align: left;
  background-color: white;
}
.iziModal .wrap p strong {
  font-size: 2.4rem;
}
.iziModal .wrap img {
  width: 280px;
  float: left;
  margin-right: 50px;
}

.mv-modal {
  max-width: 740px !important;
  overflow: visible !important;
}
@media screen and (max-width: 767px) {
  .mv-modal {
    max-width: 85% !important;
  }
}
.mv-modal .iziModal-wrap {
  width: 740px !important;
  max-width: 740px !important;
}
@media screen and (max-width: 767px) {
  .mv-modal .iziModal-wrap {
    width: 99% !important;
    max-width: 99% !important;
  }
}
.mv-modal .iziModal-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 120px;
  padding: 50px 35px 35px !important;
  box-sizing: border-box !important;
}
@media screen and (max-width: 767px) {
  .mv-modal .iziModal-content {
    padding: 35px 25px 25px !important;
  }
}
.mv-modal .iziModal-content iframe {
  display: block;
  width: 100%;
  max-height: 400px !important;
}
@media screen and (max-width: 767px) {
  .mv-modal .iziModal-content iframe {
    height: 170px !important;
    max-height: 170px !important;
    border: 1px solid #ccc !important;
  }
}
.mv-modal .iziModal-content .date {
  display: table;
  margin: 15px 0 0;
  font-size: 1.4rem;
}
.mv-modal .iziModal-content .ttl {
  display: block;
  padding: 1em 0;
  line-height: 1.3;
  font-weight: bold;
}
.mv-modal .iziModal-content .teikyo {
  display: table;
  margin: 0 auto;
  padding: 0.15em 0;
  padding-left: 60px;
  font-size: 1.3rem;
  position: relative;
  line-height: 1.2;
  letter-spacing: -0.05em;
}
.mv-modal .iziModal-content .teikyo::before {
  content: "提供元";
  display: inline-block;
  padding: 0.15em 0.5em;
  position: absolute;
  top: 0;
  left: 0;
  color: #9bbf00;
  border: 1px solid #9bbf00;
  font-size: 1.1rem;
}
.mv-modal .iziModal-content .close-btn {
  font-size: 2.4rem;
  position: absolute;
  top: 20px;
  right: 20px;
  color: #444444;
}
@media screen and (max-width: 767px) {
  .mv-modal .iziModal-content .close-btn {
    top: 12px;
    right: 12px;
  }
}

/*!
global > scroll
------------------------------
*/
.scroll_bar {
  overflow-y: scroll;
}

.scroll_bar::-webkit-scrollbar {
  width: 10px;
}

.scroll_bar::-webkit-scrollbar-track {
  background-color: transparent;
}

.scroll_bar::-webkit-scrollbar-thumb {
  background-color: rgba(68, 68, 68, 0.1);
  border-radius: 50px;
}

@media screen and (max-width: 767px) {
  .TableScroll {
    width: 100%;
    padding-bottom: 25px;
    position: relative;
    overflow-x: scroll;
  }
}
/*!
layout > header
------------------------------
*/
.smpLogo {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  width: 40px;
  aspect-ratio: 5/5;
  top: 15px;
  left: 1em;
  overflow: hidden;
  display: none;
  z-index: 15;
}
@media screen and (max-width: 767px) {
  .smpLogo {
    display: flex;
  }
}
.smpLogo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.Header {
  width: 80px;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  background-color: var(--color-primary);
  box-sizing: border-box;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Header {
    width: 50px;
  }
}
@media screen and (max-width: 767px) {
  .Header {
    width: 100%;
    height: 60px;
  }
}
.Header__inner {
  height: 100%;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .Header__inner {
    padding-left: calc(60px + 0.5em);
  }
}
.Header__column {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .Header__column {
    flex-direction: row;
  }
}
.Header__Box {
  position: relative;
}
.Header__Box--Top {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 65%;
  color: white;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .Header__Box--Top {
    height: auto;
  }
}
.Header__Box--Menu {
  position: fixed;
  width: 100%;
  background-color: var(--color-primary);
  z-index: 1000;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  box-sizing: border-box;
  padding-bottom: env(safe-area-inset-bottom);
}
@media screen and (max-width: 767px) {
  .Header__Box--Menu {
    position: fixed;
    width: 100%;
    inset: 0 0 110px 0;
    background-color: white;
    z-index: 1000;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    box-sizing: border-box;
    padding-bottom: env(safe-area-inset-bottom);
  }
}
.Header .Logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: white;
  text-decoration: none;
  gap: 0.5em 0;
  line-height: 1.2;
  transform-origin: 0 center;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .Header .Logo {
    flex-direction: row;
    gap: 0 0.5em;
  }
}
.Header .Logo .Logomark {
  display: block;
  width: 42px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Header .Logo .Logomark {
    width: 32px;
  }
}
@media screen and (max-width: 767px) {
  .Header .Logo .Logomark {
    width: 32px;
  }
}
.Header .Logo__Name {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 1.8rem;
  letter-spacing: 0.025em;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Header .Logo__Name {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .Header .Logo__Name {
    writing-mode: initial;
    font-size: 1.5rem;
  }
}
.Header .globalMenu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%; /* 全画面幅 */
  height: 100vh; /* 全画面高さ */
  background: #111; /* 背景色（任意） */
  transform: translateX(-100%); /* 初期状態: 左に隠す */
  transition: transform 0.4s ease;
  z-index: 90; /* トグルより下に */
}
.Header {
  /* 開いたとき */
}
.Header .globalMenu.is-open {
  transform: translateX(0);
}
.Header .SideNav {
  height: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 1.5em;
}
@media screen and (max-width: 767px) {
  .Header .SideNav {
    padding: 7.5%;
    flex-direction: column;
    flex-wrap: initial;
    gap: 0;
    box-sizing: border-box;
  }
}
.Header .SideNav li {
  line-height: 1.5;
  position: relative;
}
@media screen and (max-width: 767px) {
  .Header .SideNav li {
    width: 100%;
  }
}
.Header .SideNav li:nth-last-of-type(1) a {
  border-bottom: none;
}
.Header .SideNav li a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5em 0;
  font-size: clamp(1.2rem, 1.1vw, 1.7rem);
  font-weight: 500;
  color: white;
  text-decoration: none;
  position: relative;
}
@media screen and (max-width: 767px) {
  .Header .SideNav li a {
    padding: 1.5em 1em;
    justify-content: flex-start;
    font-size: 1.6rem;
    border-bottom: 1px solid #ccc;
  }
}
.Header .SideNav li a.parent {
  position: relative;
}
@media screen and (max-width: 767px) {
  .Header .SideNav li a.parent::after {
    content: "";
    display: inline-block;
    border-style: solid;
    border-width: 6px 6px 0 6px;
    border-color: currentColor transparent transparent transparent;
    margin-left: 0.5em;
    transition: transform 0.2s ease;
  }
}
.Header .SideNav li a:hover {
  color: var(--color-primary);
  font-weight: 800;
}
@media screen and (max-width: 767px) {
  .Header .SideNav li a:hover {
    font-weight: 500;
  }
}
.Header .SideNav li a.active {
  color: var(--color-primary);
  font-weight: 800;
}
@media screen and (max-width: 767px) {
  .Header .SideNav li a.active {
    font-weight: 500;
  }
}
@media screen and (max-width: 767px) {
  .Header .SideNav li.open a {
    border-bottom: none;
  }
}
@media screen and (max-width: 767px) {
  .Header .SideNav li.open > .subMenu {
    border-bottom: 1px solid #ccc;
  }
}
@media screen and (max-width: 767px) {
  .Header .SideNav li.open > a.parent::after {
    transform: rotate(180deg);
  }
}
.Header .SideNav .subMenu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  list-style: none;
  background-color: white;
  width: 240px;
  position: absolute;
  top: 100%; /* 親メニューの真下に表示 */
  left: 50%; /* 親の中央を基準に */
  transform: translateX(-50%); /* 左右中央揃え */
  z-index: 15;
}
@media screen and (max-width: 767px) {
  .Header .SideNav .subMenu {
    position: static; /* 絶対配置を解除 */
    width: 100%;
    left: auto;
    transform: none;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    background: white;
    display: flex;
    flex-wrap: wrap;
  }
}
.Header .SideNav .subMenu li {
  position: relative;
}
@media screen and (max-width: 767px) {
  .Header .SideNav .subMenu li {
    width: 50%;
  }
}
.Header .SideNav .subMenu li a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.75em 1em;
  box-sizing: border-box;
  position: relative;
}
@media screen and (max-width: 767px) {
  .Header .SideNav .subMenu li a {
    justify-content: flex-start;
    border: none;
  }
}
.Header .SideNav .subMenu li a::after {
  content: "";
  display: block;
  width: 60px;
  height: 1px;
  background-color: var(--color-primary);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .Header .SideNav .subMenu li a::after {
    display: none;
  }
}
.Header .SideNav .subMenu li:last-child a::after {
  display: none;
}

/*!
layout > footer
------------------------------
*/
.Footer {
  margin: auto auto 0;
  width: 100%;
  position: relative;
  z-index: 19;
  background-color: #595757;
  color: white;
}
.Footer__inner {
  padding: 70px 10% 15px;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Footer__inner {
    padding: 70px 5% 15px;
  }
}
@media screen and (max-width: 767px) {
  .Footer__inner {
    padding: 70px 5% 15px;
  }
}
.Footer__column {
  display: flex;
}
@media screen and (max-width: 767px) {
  .Footer__column {
    flex-direction: column;
    gap: 35px 0;
  }
}
.Footer .corpInfo {
  min-width: 30%;
  width: 30%;
}
@media screen and (max-width: 767px) {
  .Footer .corpInfo {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: initial;
    width: 100%;
  }
}
.Footer .corpInfo .corpLogo {
  display: flex;
  align-items: center;
  width: 100%;
  text-decoration: none;
  gap: 0 0.5em;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .Footer .corpInfo .corpLogo {
    justify-content: center;
  }
}
.Footer .corpInfo .corpLogo .Logomark {
  display: block;
  width: 70px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .Footer .corpInfo .corpLogo .Logomark {
    width: 50px;
  }
}
.Footer .corpInfo .corpLogo .corpName {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: clamp(1.6rem, 1.3vw, 100rem);
}
.Footer .corpInfo .corpAddress {
  display: block;
  line-height: 1.5;
  font-size: clamp(1.3rem, 1.1vw, 100rem);
}
.Footer .FooterNav {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  gap: 0 4em;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Footer .FooterNav {
    gap: 0 2.5em;
  }
}
@media screen and (max-width: 767px) {
  .Footer .FooterNav {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0;
  }
}
.Footer .FooterNav ul li {
  line-height: 1.8;
}
.Footer .FooterNav ul li a {
  font-size: clamp(1.1rem, 1vw, 100rem);
  color: white;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .Footer .FooterNav ul li a {
    font-size: 1.1rem;
  }
}
.Footer .FooterNav ul li.sub {
  margin-left: 1em;
}
.Footer .Copyright {
  padding: 2.5em 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
}
.scroll_down {
  position: absolute;
  bottom: 135px;
  right: 35px;
  z-index: 20;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .scroll_down {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .scroll_down {
    bottom: 1.5em;
    right: 1.5em;
    transform-origin: 100% 100%;
    transform: scale(0.7);
  }
}
.scroll_down a {
  position: absolute;
  left: 10px;
  bottom: 35px;
  color: white;
  font-size: 1rem;
  font-family: "Josefin Sans", sans-serif;
  letter-spacing: 0.2em;
  writing-mode: vertical-lr;
  text-decoration: none;
  text-transform: uppercase;
}
.scroll_down::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -4px;
  width: 9px;
  height: 9px;
  background: linear-gradient(45deg, white, white);
  z-index: 15;
  transform: rotate(45deg);
  animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
}
.scroll_down::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1px;
  height: 100px;
  background: #ccc;
}

@keyframes circlemove {
  0% {
    bottom: 100px;
  }
  100% {
    bottom: 0px;
  }
}
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
.fixBtn {
  width: 100%;
  display: inline-flex;
  position: fixed;
  bottom: -100px;
  left: 0;
  z-index: 20;
  background-color: var(--color-primary);
  height: 100px;
  padding-top: 10px;
  transition: transform 0.5s ease-out, bottom 0.5s ease-out;
  transform: translateY(100%);
}
.fixBtn.show {
  transform: translateY(0);
  bottom: 0;
  opacity: 1;
}
.fixBtn .Ptn-1 {
  display: block;
  width: 100%;
  height: 100%;
  background: url(assets/img/ptn/ptn-1.svg);
  background-size: 130px auto;
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: soft-light;
  opacity: 0.35;
}
.fixBtn__inner {
  width: 100%;
  height: 100%;
  padding: 0 3.5% 0;
  background-color: white;
  box-sizing: border-box;
  position: relative;
  z-index: 21;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .fixBtn__inner {
    padding: 0 5%;
  }
}
.fixBtn__column {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.fixBtn .BtmTxt {
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  font-weight: 500;
}
@media screen and (min-width: 1025px) and (max-width: 1299px) {
  .fixBtn .BtmTxt {
    width: 30%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .fixBtn .BtmTxt {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .fixBtn .BtmTxt {
    display: none;
  }
}

#btm-btn {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 71;
  display: none;
}
@media screen and (max-width: 767px) {
  #btm-btn.btm-btn--contact {
    bottom: 0.15em;
  }
}
#btm-btn a.pagetop {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 40px;
  aspect-ratio: 1/2;
  font-size: 1.1rem;
  font-weight: bold;
  text-decoration: none;
  line-height: 1.1;
  background-color: var(--color-primary);
  color: white;
}
@media screen and (max-width: 767px) {
  #btm-btn a.pagetop {
    width: 32px;
    font-size: 0.9rem;
    aspect-ratio: 1/1.8;
  }
}
#btm-btn a.pagetop .label {
  font-size: 1rem;
}
#btm-btn a.pagetop:hover {
  opacity: 1;
  filter: hue-rotate(10deg) brightness(110%);
  aspect-ratio: 1/2.5;
}
.SmpDisp {
  display: none;
}
@media screen and (max-width: 767px) {
  .SmpDisp {
    display: block;
  }
}

.smp-contact {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 15px 3.5%;
  box-sizing: border-box;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 50;
  display: none;
  background-color: rgba(255, 255, 255, 0.95);
}
@media screen and (max-width: 767px) {
  .smp-contact {
    display: flex;
  }
}
@media screen and (max-width: 100px) {
  .smp-contact {
    padding: 15px 0;
  }
}

.sideSns {
  position: fixed;
  bottom: 45px;
  left: 0;
  z-index: 60;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sideSns {
    bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  .sideSns {
    bottom: 15px;
  }
}
.sideSns__inner {
  padding: 1em;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sideSns__inner {
    font-size: 0.5em;
  }
}
@media screen and (max-width: 767px) {
  .sideSns__inner {
    font-size: 0.5em;
  }
}
.sideSns__column {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sideSns__label {
  display: inline-flex;
  align-items: center;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: relative;
  gap: 0 0.5em;
  font-weight: 600;
}
.sideSns__label::after {
  content: "";
  display: block;
  width: 1px;
  height: 30px;
  background-color: #444444;
  position: relative;
  top: 0.1em;
  left: -0.15em;
}
.sideSns .SnsMenu {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25em 0;
}
.sideSns .SnsMenu li a {
  display: block;
  color: #444444;
  text-decoration: none;
  font-size: 1.8rem;
  line-height: 1.3;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sideSns .SnsMenu li a {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .sideSns .SnsMenu li a {
    font-size: 1.4rem;
  }
}
.sideSns .SnsMenu li a:hover {
  transform: scale(1.35);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sideSns .SnsMenu li a:hover {
    transform: scale(1);
  }
}
@media screen and (max-width: 767px) {
  .sideSns .SnsMenu li a:hover {
    transform: scale(1);
  }
}
.sideSns .SnsMenu li a .fa-line {
  color: #08bb08;
}

/*!
layout > layout
------------------------------
*/
.Layout__inner {
  padding: 0 15%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .Layout__inner {
    padding: 0 5%;
  }
}
.Layout__column {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 5%;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Layout__column {
    gap: 0 5%;
  }
}
@media screen and (max-width: 767px) {
  .Layout__column {
    flex-direction: column;
    gap: 35px 0;
  }
}

.mainCnt {
  width: 100%;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mainCnt {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .mainCnt {
    width: 100%;
  }
}
.sideCnt {
  width: 25%;
  min-width: 25%;
  color: #444444;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sideCnt {
    top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .sideCnt {
    width: 100%;
    min-width: initial;
    position: relative;
    top: auto;
  }
}
.sideCnt--news {
  position: relative;
  top: auto;
  left: auto;
  background: none;
  color: #444444;
}
.sideCnt__inner {
  padding: 10%;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sideCnt__inner {
    padding-left: 5%;
  }
}
@media screen and (max-width: 767px) {
  .sideCnt__inner--news {
    padding: 0;
  }
}
.sideCnt .sideLabel {
  font-size: clamp(2.2rem, 2vw, 100rem);
  opacity: 0.5;
  position: relative;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .sideCnt .sideLabel {
    font-size: 2.2rem;
  }
}
.sideCnt .sideNav li a {
  display: flex;
  align-items: center;
  padding: 0.65em 0;
  color: white;
  font-size: clamp(1.2rem, 1.1vw, 100rem);
  font-weight: 500;
  text-decoration: none;
  line-height: 1.3;
  position: relative;
  gap: 0 0.5em;
}
.sideCnt .sideNav li a .icon {
  display: block;
  width: 32px;
  aspect-ratio: 5/5;
  object-fit: contain;
  object-position: center;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sideCnt .sideNav li a .icon {
    width: 24px;
  }
}
.sideCnt .sideNav li a:hover::after, .sideCnt .sideNav li a.active::after {
  width: 10px;
}
.sideCnt .sideNav li a::after {
  content: "";
  display: block;
  width: 0;
  height: 3.5px;
  background-color: white;
  position: absolute;
  top: 50%;
  left: -15px;
  transform: translateX(-50%);
}
.sideCnt .s-theme .wp-block-heading {
  display: flex;
  align-items: center;
  font-size: clamp(1.6rem, 1.3vw, 100rem);
  font-weight: 600;
  position: relative;
  gap: 0 0.5em;
  padding-bottom: 0.5em;
}
.sideCnt .s-theme .wp-block-heading::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  background-color: var(--color-primary);
}
.sideCnt .s-theme select {
  width: 100%;
  max-width: 100%;
  font-size: clamp(1.2rem, 1vw, 100rem);
  padding: 1em;
  border: none;
  background-color: #f7f7f7;
  box-sizing: border-box;
  color: #444444;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .sideCnt .s-theme select {
    font-size: 1.4rem;
  }
}
.sideCnt .s-theme select {
  width: auto;
}
.sideCnt .wp-block-categories-list li,
.sideCnt .wp-block-archives-list li {
  display: flex;
  align-items: center;
  border-bottom: 1px dashed #ccc;
}
.sideCnt .wp-block-categories-list li a,
.sideCnt .wp-block-archives-list li a {
  padding: 0.75em 0;
  display: flex;
  align-items: center;
  color: #444444;
  font-size: clamp(1.2rem, 1vw, 100rem);
  text-decoration: none;
  line-height: 1.3;
  position: relative;
  gap: 0 0.5em;
}
@media screen and (max-width: 767px) {
  .sideCnt .wp-block-categories-list li a,
  .sideCnt .wp-block-archives-list li a {
    font-size: 1.4rem;
  }
}
.sideCnt .wp-block-categories-list li a::before,
.sideCnt .wp-block-archives-list li a::before {
  font: var(--fa-font-regular);
  content: "\f105";
}
.sideCnt .wp-block-categories-list li a:hover, .sideCnt .wp-block-categories-list li a.active,
.sideCnt .wp-block-archives-list li a:hover,
.sideCnt .wp-block-archives-list li a.active {
  font-weight: 700;
  color: var(--color-primary);
}
.sideCnt .wp-block-categories-list li:last-child,
.sideCnt .wp-block-archives-list li:last-child {
  border-bottom: none;
}
.sideCnt .wp-block-categories-list li .pgLabel,
.sideCnt .wp-block-archives-list li .pgLabel {
  display: flex;
  align-items: center;
  padding: 0.65em 0.5em;
  padding-left: 0;
  font-weight: 700;
  color: var(--color-primary);
  position: relative;
  gap: 0 0.5em;
  line-height: 1;
}
.sideCnt .wp-block-categories-list li .pgLabel:hover::after,
.sideCnt .wp-block-archives-list li .pgLabel:hover::after {
  display: none;
}

/* トグル */
.MenuToggle {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 80px;
  aspect-ratio: 1/1;
  cursor: pointer;
  background: var(--color-primary);
  border: none !important;
  line-height: 0;
  z-index: 101;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .MenuToggle {
    width: 50px;
  }
}
@media screen and (max-width: 767px) {
  .MenuToggle {
    width: 60px;
    top: 0;
    left: 0;
    transform: translateY(0);
  }
}
@media screen and (max-width: 767px) {
  .MenuToggle {
    width: 60px;
    top: 0;
    left: 0;
    transform: translateY(0);
  }
}
.MenuToggle.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  transform: none; /* translateY はリセット */
}
.MenuToggle small {
  margin-top: 1em;
  display: block;
  color: white;
  font-size: 1rem;
}

.MenuToggle span {
  display: block;
  width: 55%; /* 少し短めにすると✕時に美しい */
  height: 1px; /* 線の太さ */
  margin: 4px 0; /* ハンバーガー時の間隔 */
  background-color: #fff;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* ✕変形 */
.MenuToggle.is-open span:nth-child(1) {
  transform: rotate(45deg);
}

.MenuToggle.is-open span:nth-child(2) {
  transform: translateY(-8px) rotate(-45deg);
}

.globalMenu {
  position: fixed;
  inset: 0 auto 0 0; /* 画面の左端に固定 */
  width: 420px; /* ドロワー幅（好みで変更可） */
  max-width: 86vw; /* 画面が狭い時は自動で縮む */
  height: 100vh;
  background: var(--color-primary);
  color: white;
  /* スライドイン（自要素幅基準なので、幅変更してもOK） */
  transform: translateX(-100%);
  transition: transform 0.35s ease;
  z-index: 99; /* トグルより上にしたい場合は 1001 より大きく */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  /* ドロワー感を出すなら影を足す */
}
@media screen and (max-width: 767px) {
  .globalMenu {
    max-width: 100vw;
  }
}
.globalMenu__inner {
  padding: 5%;
  padding-left: calc(70px + 5%);
}
@media screen and (max-width: 767px) {
  .globalMenu__inner {
    padding-left: 5%;
  }
}

/* 開いたとき */
.globalMenu.is-open {
  transform: translateX(0);
}

/* 背景スクロール固定（そのまま利用） */
body.menu-open {
  overflow: hidden;
}

/* （任意）大画面では幅を少し広げる */
@media (min-width: 1280px) {
  .globalMenu {
    width: 480px;
  }
}
/* （任意）アニメーション配慮 */
@media (prefers-reduced-motion: reduce) {
  .globalMenu {
    transition: none;
  }
}
.GNav {
  padding: 1.5em;
}
@media screen and (max-width: 767px) {
  .GNav {
    padding-top: 3.5em;
  }
}
.GNav ul li a {
  display: flex;
  padding: 0.5em 0;
  color: white;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .GNav ul li a {
    justify-content: center;
  }
}

/*!
page > post
------------------------------
*/
.Section {
  position: relative;
}
.Section__inner {
  padding: 0 15%;
}
@media screen and (max-width: 767px) {
  .Section__inner {
    padding: 0 5%;
  }
}

.Pankuzu {
  position: absolute;
  top: 0;
  left: 1em;
}

.aioseo-breadcrumbs {
  z-index: 10;
  display: flex;
  padding: 0.35em 0;
  overflow: hidden;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .aioseo-breadcrumbs {
    display: none;
  }
}
.aioseo-breadcrumbs .aioseo-breadcrumb-separator {
  margin: 0 1em;
}
.aioseo-breadcrumbs a {
  color: #444444;
}

.ListDisc li {
  margin-left: 1em;
  list-style-type: disc;
  line-height: 1.8;
}

.numList li {
  margin-left: 1em;
  list-style-type: decimal;
}
.numList--2 {
  position: relative;
}
.numList--2 li {
  margin-left: 0;
  padding-left: 1.5em;
  list-style-type: none;
  position: relative;
}
.numList--2 li::before {
  content: attr(data-head);
  position: absolute;
  top: 0;
  left: 0;
}

.headImg {
  width: 90px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .headImg {
    width: 70px;
  }
}
@media screen and (max-width: 767px) {
  .headImg {
    width: 70px;
  }
}

.Gallery {
  overflow: hidden;
}
.Gallery__inner {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  will-change: transform;
}
.Gallery__column {
  --gallery-gap: 5vw;
  display: flex;
  flex-wrap: nowrap;
  flex: 0 0 auto;
  gap: var(--gallery-gap);
  padding-right: var(--gallery-gap);
}
@media screen and (max-width: 767px) {
  .Gallery__column {
    --gallery-gap: 4vw;
  }
}
.Gallery img {
  display: block;
  flex: 0 0 auto;
  width: 15vw;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 7px;
}
@media screen and (max-width: 767px) {
  .Gallery img {
    width: 25vw;
  }
}

.BnrCnt {
  position: relative;
}
.BnrCnt__inner {
  padding: 0 15%;
}
@media screen and (max-width: 767px) {
  .BnrCnt__inner {
    padding: 0 5%;
  }
}

.BnrList--topBorder {
  border-top: 1px solid #444444;
}
.BnrList__column {
  display: flex;
  flex-direction: column;
  gap: 70px 0;
}
@media screen and (max-width: 767px) {
  .BnrList__column {
    gap: 35px 0;
  }
}
.BnrList__column--2 {
  flex-direction: row;
  gap: 0 70px;
}
@media screen and (max-width: 767px) {
  .BnrList__column--2 {
    gap: 0 14px;
  }
}
.BnrList .BnrItem {
  background-color: #231815;
  border-radius: 15px;
  overflow: hidden;
  position: relative;
  color: white;
}
@media screen and (max-width: 767px) {
  .BnrList .BnrItem {
    border-radius: 10px;
  }
}
.BnrList .BnrItem:hover {
  transform: scale(1.05);
}
.BnrList .BnrItem a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.BnrList .BnrItem--2 {
  width: calc(50% - 35px);
}
@media screen and (max-width: 767px) {
  .BnrList .BnrItem--2 {
    width: calc(50% - 7px);
  }
}
.BnrList .BnrItem--Ptn2 {
  background-color: black;
}
.BnrList .BnrItem__img {
  display: block;
  width: 60%;
  object-fit: cover;
  aspect-ratio: 5/2.5;
  margin-left: auto;
  clip-path: polygon(calc(0% + 100px) 0%, 100% 0%, 100% 100%, 0% 100%);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .BnrList .BnrItem__img {
    width: 55%;
    aspect-ratio: 5/4;
    clip-path: polygon(calc(0% + 60px) 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}
.BnrList .BnrItem__img--2 {
  width: 100%;
  clip-path: initial;
  aspect-ratio: 5/2.75;
}
.BnrList .BnrItem__img--3 {
  aspect-ratio: 5/4;
}
.BnrList .BnrItem__inner {
  width: 40%;
  height: 100%;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .BnrList .BnrItem__inner {
    width: 50%;
  }
}
.BnrList .BnrItem__inner--2 {
  width: 100%;
  height: auto;
  position: relative;
  top: auto;
  left: auto;
  box-sizing: border-box;
  padding: 7.5% 3.5%;
}
.BnrList .BnrItem__column {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5em 0;
}
.BnrList .BnrItem__ttl {
  padding: 0 1.5em;
  display: inline-flex;
  font-size: clamp(2.2rem, 2.2vw, 100rem);
  position: relative;
}
@media screen and (max-width: 767px) {
  .BnrList .BnrItem__ttl {
    padding: 0 0.5em 0.35em;
    font-size: 1.9rem;
  }
}
.BnrList .BnrItem__ttl::after {
  content: "";
  display: block;
  width: 100%;
  height: 2.5px;
  background-image: linear-gradient(90deg, #009fe8, transparent);
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .BnrList .BnrItem .caption {
    font-size: 1.4rem;
  }
}

.Cta {
  position: relative;
}
.Cta .t-4 {
  display: block;
  width: 22.5%;
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .Cta .t-4 {
    width: 30%;
    left: 5%;
  }
}
.Cta__inner {
  padding: 0 15%;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .Cta__inner {
    padding: 0 5%;
  }
}
.Cta__inner--2 {
  padding: 0 7.5%;
}
.Cta .t-2 {
  display: block;
  width: 20%;
  position: absolute;
  top: 50%;
  left: 15%;
}
.Cta__ttl {
  font-size: clamp(3.2rem, 3.2vw, 100rem);
  font-weight: 600;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .Cta__ttl {
    font-size: 2.7rem;
  }
}
.Cta__column {
  display: flex;
  justify-content: center;
  gap: 0 2.5em;
}
@media screen and (max-width: 767px) {
  .Cta__column {
    flex-direction: column;
    align-items: center;
    gap: 1.5em 0;
  }
}

.Fv2 {
  width: 100%;
  margin: 0 0 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .Fv2 {
    margin: 0;
  }
}
.Fv2__inner {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: 10;
  padding: 0 5%;
  padding-left: 15%;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Fv2__inner {
    padding-left: calc(50px + 5%);
  }
}
@media screen and (max-width: 767px) {
  .Fv2__inner {
    padding: 0 5%;
  }
}
.Fv2__column {
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  box-sizing: border-box;
  padding: 7.5% 0;
  gap: 0 5%;
}
@media screen and (max-width: 767px) {
  .Fv2__column {
    gap: 0 3.5%;
  }
}
.Fv2 .Fv2MainCopy {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  line-height: 1.3;
}
.Fv2 .Fv2MainCopy .num {
  font-size: clamp(3.2rem, 3.2vw, 100rem);
  color: var(--color-primary);
}
.Fv2 .Fv2MainCopy img {
  display: block;
  width: 70%;
}
@media screen and (max-width: 767px) {
  .Fv2 .Fv2MainCopy img {
    width: 80%;
  }
}
.Fv2 .Fv2MainCopy .ttl {
  font-size: clamp(1.8rem, 1.8vw, 100rem);
}
@media screen and (max-width: 767px) {
  .Fv2 .Fv2MainCopy .ttl {
    font-size: 1.6rem;
  }
}
.Fv2 .Fv2Main {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 30%;
  width: 30%;
  overflow: hidden;
  border-radius: 15px;
  position: relative;
  background-color: var(--color-primary);
  aspect-ratio: 5/7;
}
@media screen and (max-width: 767px) {
  .Fv2 .Fv2Main {
    min-width: 35%;
    width: 35%;
  }
}
.Fv2 .Fv2Main::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 159, 232, 0.7);
  mix-blend-mode: multiply;
  position: absolute;
  top: 0;
  left: 0;
  display: none;
}
.Fv2 .Fv2Main img {
  display: block;
  width: 85%;
}
@media screen and (max-width: 767px) {
  .Fv2 .Fv2Main img {
    aspect-ratio: 5/8;
  }
}
.Fv2 .deco-1 {
  display: block;
  width: 55%;
  aspect-ratio: 1/1;
  position: absolute;
  top: -15%;
  right: -15%;
  z-index: 15;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 767px) {
  .Fv2 .deco-1 {
    width: 80%;
    top: -20%;
    right: -25%;
  }
}

/*!
page > top
------------------------------
*/
.PgIndex {
  overflow: hidden;
}

.Fv {
  width: calc(100% - 80px);
  margin: 0 0 0 auto;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Fv {
    width: calc(100% - 50px);
  }
}
@media screen and (max-width: 767px) {
  .Fv {
    width: 100%;
    margin: 0;
  }
}
.Fv--under {
  width: 100%;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Fv--under {
    height: auto !important;
  }
}
@media screen and (max-width: 767px) {
  .Fv--under {
    height: auto !important;
  }
}
.Fv__inner {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: 10;
  padding: 0 5%;
}
@media screen and (max-width: 767px) {
  .Fv__inner {
    padding: 0;
  }
}
.Fv__inner--under {
  width: 100%;
  height: auto;
  min-height: initial;
  padding: 0 15%;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Fv__inner--under {
    height: auto !important;
  }
}
@media screen and (max-width: 767px) {
  .Fv__inner--under {
    padding: 0 5%;
    height: auto !important;
  }
}
.Fv__column {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding: 7.5% 0;
  gap: 0 7.5%;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Fv__column {
    gap: 0 10%;
  }
}
@media screen and (max-width: 767px) {
  .Fv__column {
    gap: 0 10%;
  }
}
.Fv .FvMainCopy {
  display: flex;
  align-items: flex-start;
  width: 17.5%;
  gap: 0 1.5em;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Fv .FvMainCopy {
    width: 20%;
  }
}
@media screen and (max-width: 767px) {
  .Fv .FvMainCopy {
    gap: 0 0.25em;
  }
}
.Fv .FvMainCopy .head {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: clamp(2.8rem, 2.8vw, 100rem);
}
@media screen and (max-width: 767px) {
  .Fv .FvMainCopy .head {
    font-size: 1.6rem;
  }
}
.Fv .FvMainCopy img {
  display: block;
  width: 72.5%;
}
.Fv .FvMain {
  min-width: 55%;
  width: 55%;
  aspect-ratio: 1/1; /* 正方形を維持 */
  border-radius: 15px;
  overflow: hidden;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Fv .FvMain {
    min-width: 62.5%;
    width: 62.5%;
  }
}
@media screen and (max-width: 767px) {
  .Fv .FvMain {
    min-width: 62.5%;
    width: 62.5%;
  }
}
.Fv .FvMain--under {
  width: 100%;
  height: auto;
  aspect-ratio: 5/2.5;
}
.Fv .FvMain img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.Fv .deco-1 {
  display: block;
  width: 70%;
  aspect-ratio: 1/1;
  position: absolute;
  top: -15%;
  right: -15%;
  z-index: 15;
  mix-blend-mode: multiply;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Fv .deco-1 {
    width: 100%;
    top: -20%;
    right: -45%;
  }
}
@media screen and (max-width: 767px) {
  .Fv .deco-1 {
    width: 110%;
    top: -20%;
    right: -45%;
  }
}
.Fv .fv-x {
  width: 100%; /* サイズは好みで調整 */
  opacity: 0.9;
  color: #009fe8; /* ✕の色（親要素のcolorで変化） */
  position: absolute;
  top: -37.5%;
  right: -30%;
  z-index: 20;
  mix-blend-mode: multiply;
  opacity: 0.5;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Fv .fv-x {
    right: -35%;
    transform: scale(1.3);
  }
}
@media screen and (max-width: 767px) {
  .Fv .fv-x {
    right: -35%;
    transform: scale(1.5);
  }
}
.Fv {
  /* 共通アニメーション設定 */
}
.Fv .fv-x .s1,
.Fv .fv-x .s2 {
  stroke-dasharray: 85; /* 線の全長（SVG座標に依存） */
  stroke-dashoffset: 85; /* 最初は見えない */
  animation: x-draw 1.2s ease-out forwards;
}
.Fv {
  /* 片方だけ少し遅らせる */
}
.Fv .fv-x .s2 {
  animation-delay: 0.15s, 0.15s;
}
.Fv {
  /* 描画アニメーション */
}
@keyframes x-draw {
  to {
    stroke-dashoffset: 0;
  }
}
.Fv {
  /* 動きを減らしたいユーザー向け（アクセシビリティ対応） */
}
@media (prefers-reduced-motion: reduce) {
  .Fv .fv-x .s1,
  .Fv .fv-x .s2 {
    animation: none;
    stroke-dashoffset: 0;
  }
}
.Fv .BlogTitle {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2.5em 1.5em;
  position: absolute;
  top: 50%;
  left: 15%;
  transform: translateY(-50%);
  background-color: black;
  color: white;
  z-index: 15;
  width: 100%;
  max-width: 30%;
  box-sizing: border-box;
  gap: 0.5em;
}
@media screen and (max-width: 767px) {
  .Fv .BlogTitle {
    left: 5%;
    min-width: 45%;
    padding: 1.5em 1em;
  }
}
.Fv .BlogTitle img {
  display: block;
  width: 80%;
}

.headlogo {
  display: block;
  height: 40px;
}
@media screen and (max-width: 767px) {
  .headlogo {
    height: 26px;
  }
}

.topLead {
  position: relative;
}
.topLead .t-1 {
  display: block;
  width: 20%;
  position: absolute;
  bottom: 0;
  right: 15%;
}
@media screen and (max-width: 767px) {
  .topLead .t-1 {
    width: 35%;
    right: 5%;
    bottom: 15%;
  }
}
.topLead__inner {
  padding: 0 7.5%;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .topLead__inner {
    padding: 0;
  }
}
.topLead__Copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5em 0;
}
.topLead__Copy img {
  display: block;
  width: 100%;
}
.topLead__subCopy {
  font-size: clamp(2rem, 2vw, 100rem);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .topLead__subCopy {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .topLead__txt {
    letter-spacing: -0.05em;
  }
}

.topEvo {
  position: relative;
}
.topEvo--2 {
  background-color: var(--color-primary-light);
}
.topEvo__inner--2 {
  padding: 0 15%;
}
@media screen and (max-width: 767px) {
  .topEvo__inner--2 {
    padding: 0 5%;
  }
}
.topEvo-Parts {
  position: relative;
}
.topEvo-Parts__inner {
  padding: 0 15%;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .topEvo-Parts__inner {
    padding: 0 5%;
  }
}
.topEvo-Parts__inner--2 {
  padding: 0;
}
.topEvo .Bg-1 {
  content: "";
  display: block;
  width: 100%;
  height: 52.5%;
  background-color: var(--color-primary-light);
  position: absolute;
  top: 30%;
  left: 0;
}
.topEvo .Bg-2 {
  content: "";
  display: block;
  width: 100%;
  height: 55%;
  background-color: var(--color-primary-light);
  position: absolute;
  top: 20%;
  left: 0;
}
.topEvo .t-2 {
  display: block;
  width: 20%;
  position: absolute;
  top: 50%;
  left: 15%;
}
@media screen and (max-width: 767px) {
  .topEvo .t-2 {
    width: 35%;
    left: 5%;
  }
}
.topEvo .t-3 {
  display: block;
  width: 22.5%;
  position: absolute;
  top: -15%;
  right: 7.5%;
}
@media screen and (max-width: 767px) {
  .topEvo .t-3 {
    width: 35%;
    right: 5%;
    top: -12.5%;
  }
}
.topEvo .deco-3 {
  display: block;
  width: 40%;
  position: absolute;
  top: 37.5%;
  left: 7%;
}
@media screen and (max-width: 767px) {
  .topEvo .deco-3 {
    width: 50%;
    left: 0;
    top: 33.5%;
  }
}
.topEvo__Copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5em 0;
}
.topEvo__Copy img {
  display: block;
  width: 55%;
}
@media screen and (max-width: 767px) {
  .topEvo__Copy img {
    width: 70%;
  }
}
.topEvo__subCopy {
  font-size: clamp(3.2rem, 3.2vw, 100rem);
  font-weight: 600;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .topEvo__subCopy {
    font-size: 2.8rem;
  }
}
.topEvo__Main {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}
.topEvo__Main img {
  display: block;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 5/3;
}
@media screen and (max-width: 767px) {
  .topEvo__Main img {
    aspect-ratio: 5/3.5;
  }
}
.topEvo__Main img.deco-1 {
  display: block;
  width: 100%;
  position: absolute;
  top: -35%;
  left: -35%;
  mix-blend-mode: multiply;
  object-fit: initial;
  aspect-ratio: initial;
}
.topEvo__Main img.staffMain {
  aspect-ratio: 5/3.5;
}

.topNews {
  position: relative;
  z-index: 10;
  background-color: var(--color-primary-light);
}
.topNews__inner {
  padding: 0 15%;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .topNews__inner {
    padding: 0 5%;
  }
}
.topNews__inner--2 {
  padding: 0 7.5%;
}
.topNews__ttl {
  padding-bottom: 0.5em;
  display: flex;
  justify-content: center;
  font-size: clamp(2.4rem, 2.4vw, 100rem);
  font-weight: 600;
  line-height: 1.3;
  border-bottom: 1px solid #595757;
}
.topNews .viewMore {
  position: absolute;
  bottom: 0;
  left: 10%;
}
@media screen and (max-width: 767px) {
  .topNews .viewMore {
    bottom: auto;
    left: auto;
    top: 1em;
    right: 0;
    transform-origin: center 0;
    transform: scale(0.8);
  }
}

.NewsList__inner {
  padding: 0 10%;
}
@media screen and (max-width: 767px) {
  .NewsList__inner {
    padding: 0 5%;
  }
}
.NewsList__column {
  display: flex;
  flex-direction: column;
  gap: 1em 0;
}

.NewsPost__column {
  display: flex;
  align-items: center;
  gap: 0 1em;
}
@media screen and (max-width: 767px) {
  .NewsPost__column {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
}
.NewsPost .date {
  min-width: 15%;
  display: inline-flex;
  font-size: clamp(1.3rem, 1.1vw, 100rem);
  position: relative;
  top: 0.15em;
}
.NewsPost__link {
  color: #444444;
  font-size: clamp(1.8rem, 1.5vw, 100rem);
}

.ctBnr__column {
  display: flex;
  gap: 0 42px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .ctBnr__column {
    gap: 0 24px;
  }
}
@media screen and (max-width: 767px) {
  .ctBnr__column {
    gap: 0 9px;
  }
}
.ctBnr .ctBnrItem {
  width: calc(33.3333333333% - 28px);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .ctBnr .ctBnrItem {
    width: calc(33.3333333333% - 16px);
  }
}
@media screen and (max-width: 767px) {
  .ctBnr .ctBnrItem {
    width: calc(33.3333333333% - 6px);
  }
}
.ctBnr .ctBnrItem__img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  position: relative;
  overflow: hidden;
  border-radius: 15px;
  background-color: #103770;
  aspect-ratio: 5/8;
}
@media screen and (max-width: 767px) {
  .ctBnr .ctBnrItem__img {
    border-radius: 10px;
  }
}
.ctBnr .ctBnrItem__img img {
  display: block;
  width: 90%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .ctBnr .ctBnrItem__img img {
    aspect-ratio: 5/8.5;
  }
}
.ctBnr .ctBnrItem__img .caption {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  color: white;
}
.ctBnr .ctBnrItem__img .caption--Active::before {
  display: none;
}
.ctBnr .ctBnrItem__img .caption .label {
  width: 15%;
  position: relative;
  z-index: 10;
  object-fit: initial;
  aspect-ratio: initial;
}
@media screen and (max-width: 767px) {
  .ctBnr .ctBnrItem__img .caption .label {
    width: auto;
    height: 70%;
  }
}
.ctBnr .ctBnrItem__block {
  position: relative;
}
.ctBnr .ctBnrItem .num {
  display: inline-flex;
  justify-content: center;
  color: var(--color-primary);
  font-size: clamp(2.8rem, 2.8vw, 100rem);
  position: relative;
  line-height: 1.6;
  padding: 0 0.35em;
  display: none;
}
.ctBnr .ctBnrItem .num::after {
  content: "";
  display: block;
  width: 100%;
  height: 1.5px;
  background-color: var(--color-primary);
  position: absolute;
  bottom: 0;
  left: 0;
}
.ctBnr .ctBnrItem__ttl {
  font-size: clamp(1.6rem, 1.6vw, 100rem);
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .ctBnr .ctBnrItem__ttl {
    font-size: 1.5rem;
  }
}
.ctBnr .ctBnrItem a {
  text-decoration: none;
  color: #444444;
}
.ctBnr .ctBnrItem a:hover .ctBnrItem__img img {
  transform: scale(1.1);
}
.ctBnr .ctBnrItem a:hover .ctBnrItem__block {
  transform: scale(1.1);
}

/*!
page > privacy
------------------------------
*/
.PgPrivacy {
  position: relative;
}

.PrivacyCnt__inner {
  padding: 0 15%;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .PrivacyCnt__inner {
    padding: 0 5%;
  }
}
/*!
page > company
------------------------------
*/
.PgCompany {
  position: relative;
}
.PgCompany .Outline__inner {
  padding: 0 15%;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .PgCompany .Outline__inner {
    padding: 0 5%;
  }
}
.PgCompany .Outline .outlineTable th,
.PgCompany .Outline .outlineTable td {
  padding: 0.75em 0;
  position: relative;
  text-align: left;
  border-bottom: 1px solid #444444;
}
.PgCompany .Outline .outlineTable th {
  font-weight: 600;
}
.PgCompany .Outline .CorpList__column {
  display: flex;
  flex-direction: column;
  gap: 100px 0;
}
@media screen and (max-width: 767px) {
  .PgCompany .Outline .CorpList__column {
    gap: 70px 0;
  }
}
.PgCompany .Outline .CorpItem__column {
  display: flex;
  align-items: flex-start;
  gap: 0 7.5%;
}
@media screen and (max-width: 767px) {
  .PgCompany .Outline .CorpItem__column {
    flex-direction: column;
    align-items: center;
    gap: 25px 0;
  }
}
.PgCompany .Outline .CorpItem__img {
  min-width: 30%;
  width: 30%;
}
@media screen and (max-width: 767px) {
  .PgCompany .Outline .CorpItem__img {
    min-width: initial;
    width: 100%;
  }
}
.PgCompany .Outline .CorpItem__img img {
  display: block;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 5/4;
}
.PgCompany .Outline .CorpItem__block {
  width: 100%;
}
.PgCompany .Outline .CorpItem .Accessmap {
  width: 100%;
  overflow: hidden;
  height: 400px;
  overflow: hidden;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .PgCompany .Outline .CorpItem .Accessmap {
    width: 100%;
    height: 300px;
  }
}
@media screen and (max-width: 767px) {
  .PgCompany .Outline .CorpItem .Accessmap {
    width: 100%;
    height: 240px;
  }
}
.PgCompany .Outline .CorpItem .Accessmap iframe {
  width: 100%;
  height: 750px;
  margin-top: -150px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .PgCompany .Outline .CorpItem .Accessmap iframe {
    height: 660px;
  }
}
@media screen and (max-width: 767px) {
  .PgCompany .Outline .CorpItem .Accessmap iframe {
    height: 520px;
  }
}
.PgCompany .History {
  background-color: var(--color-primary-light);
  position: relative;
}
.PgCompany .History__inner {
  padding: 0 15%;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .PgCompany .History__inner {
    padding: 0 5%;
  }
}
.PgCompany .History .HistoryTable th,
.PgCompany .History .HistoryTable td {
  padding: 0.75em 0;
  position: relative;
  text-align: left;
  border-bottom: 1px solid #444444;
}
@media screen and (max-width: 767px) {
  .PgCompany .History .HistoryTable th,
  .PgCompany .History .HistoryTable td {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .PgCompany .History .HistoryTable th {
    padding-bottom: 0;
    border-bottom: none;
  }
}
@media screen and (max-width: 767px) {
  .PgCompany .History .HistoryTable td {
    padding-top: 0.25em;
  }
}

/*!
page > staff
------------------------------
*/
.PgStaff {
  position: relative;
}
.PgStaff .StaffFv {
  width: calc(100% - 80px);
  margin: 0 0 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .PgStaff .StaffFv {
    width: 100%;
    margin: 0;
  }
}
.PgStaff .StaffFv__inner {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: 10;
  padding: 0 5%;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .PgStaff .StaffFv__inner {
    padding: 0;
  }
}
.PgStaff .StaffFv__column {
  display: flex;
  flex-direction: column;
  gap: 3.5em 0;
}
@media screen and (max-width: 767px) {
  .PgStaff .StaffFv__column {
    gap: 2.5em 0;
  }
}
.PgStaff .StaffFv .pgTitle {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5em 0;
}
.PgStaff .StaffFv .pgTitle img {
  display: block;
  width: 35%;
}
@media screen and (max-width: 767px) {
  .PgStaff .StaffFv .pgTitle img {
    width: 65%;
  }
}
.PgStaff .StaffFv .pgTitle .jpn {
  font-size: clamp(2.2rem, 1.8vw, 100rem);
}
.PgStaff .Lead__inner {
  padding: 0 15%;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .PgStaff .Lead__inner {
    padding: 0 5%;
  }
}
.PgStaff .Lead__ttl img {
  display: block;
  height: 50px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .PgStaff .Lead__ttl img {
    height: 36px;
  }
}
@media screen and (max-width: 767px) {
  .PgStaff .Lead__ttl img {
    height: 24px;
  }
}
.PgStaff .StaffList {
  background-color: var(--color-primary-light);
  position: relative;
}
.PgStaff .StaffList__column {
  display: flex;
  flex-direction: column;
  gap: 70px 0;
}
.PgStaff .StaffList .StaffItem {
  background-color: var(--color-primary-light);
}
.PgStaff .StaffList .StaffItem--2 {
  background-color: white;
}
.PgStaff .StaffList .StaffItem__inner {
  padding: 0 15%;
}
@media screen and (max-width: 767px) {
  .PgStaff .StaffList .StaffItem__inner {
    padding: 0 5%;
  }
}
.PgStaff .StaffList .StaffItem__column {
  display: flex;
  align-items: flex-start;
  gap: 0 7.5%;
}
@media screen and (max-width: 767px) {
  .PgStaff .StaffList .StaffItem__column {
    flex-direction: column;
    align-items: center;
    gap: 25px 0;
  }
}
.PgStaff .StaffList .StaffItem__imgBlock {
  width: 35%;
  min-width: 35%;
}
@media screen and (max-width: 767px) {
  .PgStaff .StaffList .StaffItem__imgBlock {
    min-width: initial;
    width: 50%;
  }
}
.PgStaff .StaffList .StaffItem__img {
  width: 100%;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #b6b6b6;
  border-radius: 15px;
}
.PgStaff .StaffList .StaffItem .staffIntro {
  font-size: clamp(2rem, 2vw, 100rem);
  font-weight: 500;
  color: var(--color-primary);
}
.PgStaff .StaffList .StaffItem__block {
  width: 100%;
}
.PgStaff .StaffList .StaffItem .Question {
  padding-left: 1.5em;
  display: flex;
  font-size: clamp(1.5rem, 1.4vw, 100rem);
  font-weight: 600;
  line-height: 1.6;
  position: relative;
}
.PgStaff .StaffList .StaffItem .Question::before {
  content: attr(data-head);
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .PgStaff .StaffList .StaffItem p {
    word-wrap: break-word; /* 古い指定 */
    overflow-wrap: break-word; /* 標準 */
    word-break: break-all; /* 強制改行 */
  }
}
@media screen and (max-width: 767px) {
  .PgStaff .StaffList .StaffItem p br {
    display: none;
  }
}
.PgStaff .StaffList .stItem {
  position: relative;
}
.PgStaff .StaffList .stItem__inner {
  padding: 0 15%;
}
@media screen and (max-width: 767px) {
  .PgStaff .StaffList .stItem__inner {
    padding: 0 5%;
  }
}
.PgStaff .StaffList .stItem__column {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 0 7.5%;
}
@media screen and (max-width: 767px) {
  .PgStaff .StaffList .stItem__column {
    flex-direction: column;
    gap: 0;
    align-items: center;
  }
}
.PgStaff .StaffList .stItem__column--2 {
  flex-direction: row;
}
@media screen and (max-width: 767px) {
  .PgStaff .StaffList .stItem__column--2 {
    flex-direction: column;
  }
}
.PgStaff .StaffList .stItem__column--3 {
  flex-direction: row;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .PgStaff .StaffList .stItem__column--3 {
    flex-direction: column;
    gap: 50px 0;
  }
}
.PgStaff .StaffList .stItem__imgBlock {
  width: 35%;
  min-width: 35%;
}
.PgStaff .StaffList .stItem__img {
  width: 47.5%;
  min-width: 47.5%;
}
@media screen and (max-width: 767px) {
  .PgStaff .StaffList .stItem__img {
    width: 100%;
    min-width: initial;
  }
}
.PgStaff .StaffList .stItem__img img {
  display: block;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 5/3.25;
  border-radius: 15px;
}
.PgStaff .StaffList .stItem__img .caption {
  display: block;
}
.PgStaff .StaffList .stItem__block {
  width: 100%;
}
.PgStaff .StaffList .stItem__ttl {
  display: flex;
  border-bottom: 1px solid #444444;
  font-size: clamp(1.9rem, 1.8vw, 100rem);
  font-weight: 600;
  color: var(--color-primary);
  line-height: 1.5;
  padding-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .PgStaff .StaffList .stItem__ttl {
    justify-content: center;
    text-align: center;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
  }
}

/*!
page > about
------------------------------
*/
.PgAbout {
  position: relative;
  overflow: hidden;
}
.PgAbout .Lead__inner {
  padding: 0 15%;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .PgAbout .Lead__inner {
    padding: 0 5%;
  }
}
.PgAbout .Lead__ttl {
  padding-bottom: 1.5em;
  display: block;
  border-bottom: 1px solid #444444;
}
.PgAbout .Lead__ttl img {
  display: block;
  height: 50px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .PgAbout .Lead__ttl img {
    height: 36px;
  }
}
@media screen and (max-width: 767px) {
  .PgAbout .Lead__ttl img {
    height: 24px;
  }
}
.PgAbout .Lead__Copy {
  font-size: clamp(3.2rem, 3.2vw, 100rem);
  letter-spacing: 0.01em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .PgAbout .Lead__Copy {
    font-size: 2.8rem;
  }
}
.PgAbout .SlPoint .SlItem {
  background-color: var(--color-primary-light);
  position: relative;
}
.PgAbout .SlPoint .SlItem--2 {
  background-color: white;
}
.PgAbout .SlPoint .SlItem__inner {
  padding: 0 15%;
}
@media screen and (max-width: 767px) {
  .PgAbout .SlPoint .SlItem__inner {
    padding: 0 5%;
  }
}
.PgAbout .SlPoint .SlItem__column {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 0 7.5%;
}
@media screen and (max-width: 767px) {
  .PgAbout .SlPoint .SlItem__column {
    flex-direction: column;
    gap: 25px 0;
    align-items: center;
  }
}
.PgAbout .SlPoint .SlItem__column--2 {
  flex-direction: row;
}
@media screen and (max-width: 767px) {
  .PgAbout .SlPoint .SlItem__column--2 {
    flex-direction: column;
  }
}
.PgAbout .SlPoint .SlItem__imgBlock {
  width: 35%;
  min-width: 35%;
}
.PgAbout .SlPoint .SlItem__img {
  width: 40%;
  min-width: 40%;
}
@media screen and (max-width: 767px) {
  .PgAbout .SlPoint .SlItem__img {
    width: 55%;
    min-width: initial;
  }
}
.PgAbout .SlPoint .SlItem__img img {
  display: block;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1/1;
  border-radius: 15px;
}
.PgAbout .SlPoint .SlItem__block {
  width: 100%;
}
.PgAbout .SlPoint .SlItem__ttl {
  display: flex;
  border-bottom: 1px solid #444444;
  font-size: clamp(1.9rem, 1.8vw, 100rem);
  font-weight: 600;
  color: var(--color-primary);
  line-height: 1.5;
  padding-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .PgAbout .SlPoint .SlItem__ttl {
    justify-content: center;
    text-align: center;
  }
}
.PgAbout .Greeting {
  position: relative;
}
.PgAbout .Greeting__inner {
  padding: 0 15%;
}
@media screen and (max-width: 767px) {
  .PgAbout .Greeting__inner {
    padding: 0 5%;
  }
}
.PgAbout .Greeting__column {
  display: flex;
  align-items: flex-start;
  gap: 0 7.5%;
}
@media screen and (max-width: 767px) {
  .PgAbout .Greeting__column {
    flex-direction: column;
    align-items: center;
    gap: 25px 0;
  }
}
.PgAbout .Greeting__imgBlock {
  width: 25%;
  min-width: 25%;
}
@media screen and (max-width: 767px) {
  .PgAbout .Greeting__imgBlock {
    width: 50%;
    min-width: initial;
  }
}
.PgAbout .Greeting__img {
  width: 100%;
}
.PgAbout .Greeting__img img {
  display: block;
  width: 100%;
  border-radius: 15px;
}
.PgAbout .Greeting .daihyoName {
  display: block;
  line-height: 1.6;
}
.PgAbout .Greeting__block {
  width: 100%;
}
.PgAbout .Greeting__ttl {
  display: flex;
  font-size: clamp(2.2rem, 1.8vw, 100rem);
  font-weight: 600;
  line-height: 1.5;
}

/*!
page > works
------------------------------
*/
.PgWorks {
  position: relative;
  overflow: hidden;
}
.PgWorks .Lead__inner {
  padding: 0 15%;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .PgWorks .Lead__inner {
    padding: 0 5%;
  }
}
.PgWorks .Lead__ttl {
  padding-bottom: 1.5em;
  display: block;
  border-bottom: 1px solid #444444;
}
.PgWorks .Lead__ttl img {
  display: block;
  height: 50px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .PgWorks .Lead__ttl img {
    height: 36px;
  }
}
@media screen and (max-width: 767px) {
  .PgWorks .Lead__ttl img {
    height: 24px;
  }
}
.PgWorks .Lead__Copy {
  font-size: clamp(3.2rem, 3.2vw, 100rem);
  letter-spacing: 0.01em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .PgWorks .Lead__Copy {
    font-size: 2.8rem;
  }
}
.PgWorks .WorksList {
  background-color: var(--color-primary-light);
  position: relative;
}
.PgWorks .WorksList__inner {
  padding: 0 15%;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .PgWorks .WorksList__inner {
    padding: 0 5%;
  }
}
.PgWorks .WorksList__column {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 60px;
}
@media screen and (max-width: 767px) {
  .PgWorks .WorksList__column {
    gap: 20px 12px;
  }
}
.PgWorks .WorksList .Work {
  width: calc(33.3333333333% - 40px);
}
@media screen and (max-width: 767px) {
  .PgWorks .WorksList .Work {
    width: calc(33.3333333333% - 8px);
  }
}
.PgWorks .WorksList .Work__img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 15px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .PgWorks .WorksList .Work__img {
    border-radius: 10px;
  }
}
.PgWorks .WorksList .Work__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.PgWorks .WorksList .Work .caption {
  font-size: clamp(1.5rem, 1.1vw, 100rem);
}

/*!
page > recruit
------------------------------
*/
.PgRecruit {
  position: relative;
  overflow: hidden;
}
.PgRecruit .Lead__inner {
  padding: 0 15%;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Lead__inner {
    padding: 0 5%;
  }
}
.PgRecruit .Lead__ttl {
  padding-bottom: 1.5em;
  display: block;
  border-bottom: 1px solid #444444;
}
.PgRecruit .Lead__ttl img {
  display: block;
  height: 50px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .PgRecruit .Lead__ttl img {
    height: 36px;
  }
}
@media screen and (max-width: 767px) {
  .PgRecruit .Lead__ttl img {
    height: 24px;
  }
}
.PgRecruit .Lead__Copy {
  font-size: clamp(3.2rem, 3.2vw, 100rem);
  letter-spacing: 0.01em;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Lead__Copy {
    font-size: 2.8rem;
  }
}
.PgRecruit .Message {
  background-color: var(--color-primary-light);
}
.PgRecruit .Message__inner {
  padding: 0 15%;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Message__inner {
    padding: 0 5%;
  }
}
.PgRecruit .Message__column {
  display: flex;
  align-items: flex-start;
  gap: 0 7.5%;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Message__column {
    flex-direction: column;
    align-items: center;
    gap: 25px 0;
  }
}
.PgRecruit .Message__imgBlock {
  width: 25%;
  min-width: 25%;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Message__imgBlock {
    width: 50%;
    min-width: initial;
  }
}
.PgRecruit .Message__img {
  width: 100%;
}
.PgRecruit .Message__img img {
  display: block;
  width: 100%;
  border-radius: 15px;
}
.PgRecruit .Message .daihyoName {
  display: block;
  line-height: 1.6;
}
.PgRecruit .Message__block {
  width: 100%;
}
.PgRecruit .PriJob__inner {
  padding: 0 15%;
}
@media screen and (max-width: 767px) {
  .PgRecruit .PriJob__inner {
    padding: 0 5%;
  }
}
.PgRecruit .PriJob__column {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 0 7.5%;
}
@media screen and (max-width: 767px) {
  .PgRecruit .PriJob__column {
    flex-direction: column;
    align-items: center;
    gap: 25px 0;
  }
}
.PgRecruit .PriJob__img {
  min-width: 40%;
  width: 40%;
}
@media screen and (max-width: 767px) {
  .PgRecruit .PriJob__img {
    min-width: initial;
    width: 70%;
  }
}
.PgRecruit .PriJob__img img {
  display: block;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 5/4;
}
@media screen and (max-width: 767px) {
  .PgRecruit .PriJob__img img {
    aspect-ratio: 5/3;
  }
}
.PgRecruit .PriJob__block {
  width: 100%;
}
.PgRecruit .Flow__inner {
  padding: 0 15%;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Flow__inner {
    padding: 0 5%;
  }
}
.PgRecruit .Flow__column {
  display: flex;
  align-items: flex-start;
  gap: 0 7.5%;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Flow__column {
    flex-direction: column;
    gap: 25px;
    align-items: center;
  }
}
.PgRecruit .Flow__img {
  display: flex;
  flex-direction: column;
  min-width: 25%;
  width: 25%;
  gap: 15px 0;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Flow__img {
    flex-direction: row;
    min-width: initial;
    width: 100%;
    gap: 0 9px;
  }
}
.PgRecruit .Flow__img img {
  display: block;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 5/5.5;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Flow__img img {
    width: calc(33.3333333333% - 6px);
    aspect-ratio: 5/6.5;
  }
}
.PgRecruit .Flow__block {
  width: 100%;
}
.PgRecruit .Guideline {
  background-color: var(--color-primary-light);
}
.PgRecruit .Guideline__inner {
  padding: 0 15%;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Guideline__inner {
    padding: 0 5%;
  }
}
.PgRecruit .Guideline .guidelineTable th,
.PgRecruit .Guideline .guidelineTable td {
  padding: 0.75em 0;
  position: relative;
  text-align: left;
  border-bottom: 1px solid #444444;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Guideline .guidelineTable th,
  .PgRecruit .Guideline .guidelineTable td {
    display: block;
  }
}
.PgRecruit .Guideline .guidelineTable th {
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Guideline .guidelineTable th {
    padding-bottom: 0;
    border-bottom: none;
  }
}
@media screen and (max-width: 767px) {
  .PgRecruit .Guideline .guidelineTable td {
    padding-top: 0.25em;
  }
}
.PgRecruit .Entry__inner {
  padding: 0 15%;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Entry__inner {
    padding: 0 5%;
  }
}
.PgRecruit .Entry__column {
  display: flex;
  align-items: flex-start;
  gap: 0 7.5%;
}

/*!
page > form
------------------------------
*/
.PgContact {
  position: relative;
}

.ContactForm__inner {
  padding: 0 15%;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .ContactForm__inner {
    padding: 0 5%;
  }
}

.formCnt {
  background-color: white;
  overflow: hidden;
}
.formCnt__inner {
  padding: 0 7.5%;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .formCnt__inner {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .formCnt__inner {
    padding: 0;
  }
}
.formCnt .timeLine {
  display: flex;
  justify-content: center;
  list-style-type: none;
  padding: 0 25%;
}
@media screen and (max-width: 767px) {
  .formCnt .timeLine {
    padding: 0 5%;
  }
}
.formCnt .timeLine li {
  display: flex;
  flex: 1 1;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
  color: #969da3;
  font-size: 0.8em;
}
.formCnt .timeLine li.prev, .formCnt .timeLine li.current {
  color: var(--color-primary);
}
.formCnt .timeLine li.prev::before, .formCnt .timeLine li.current::before {
  border-color: var(--color-primary);
}
.formCnt .timeLine li::before {
  display: inline-block;
  width: 32px;
  aspect-ratio: 5/5;
  margin-bottom: 6px;
  content: "";
  border: 1.5px solid #ccc;
  border-radius: 50%;
  background-color: #fff;
}
.formCnt .timeLine li:not(:last-child)::after {
  position: absolute;
  top: 16px;
  left: 50%;
  z-index: -1;
  width: 100%;
  height: 1px;
  background-color: #ccc;
  content: "";
}
.formCnt .timeLine li.current::before, .formCnt .timeLine li.prev::after {
  border: 5px solid var(--color-primary);
}
@media screen and (max-width: 767px) {
  .formCnt .timeLine li.current::before, .formCnt .timeLine li.prev::after {
    border-width: 3px;
  }
}
.formCnt .cautionList {
  padding: 3.5%;
  display: table;
  background-color: #f7f7f7;
  border: 1px solid #ccc;
}
.formCnt .cautionList li {
  font-size: 1.3rem;
  margin-left: 1em;
  list-style-type: disc;
}
@media screen and (max-width: 767px) {
  .formCnt .cautionList li {
    font-size: 1.2rem;
  }
}
.formCnt .notnull,
.formCnt .optional {
  display: inline-block;
  margin-left: 1em;
  padding: 0.35em 0.5em 0.5em;
  background-color: #f18200;
  color: white;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1;
  vertical-align: middle;
}
.formCnt .formInputBlock .optional {
  background-color: #ccc;
}
.formCnt .formInputBlock table th,
.formCnt .formInputBlock table td {
  padding: 1.5em 0;
  box-sizing: border-box;
  vertical-align: middle;
  position: relative;
  border-bottom: 1px solid #444444;
}
@media screen and (max-width: 767px) {
  .formCnt .formInputBlock table th,
  .formCnt .formInputBlock table td {
    display: block;
  }
}
.formCnt .formInputBlock table th::after,
.formCnt .formInputBlock table td::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.formCnt .formInputBlock table tr:last-child th::after,
.formCnt .formInputBlock table tr:last-child td::after {
  display: none;
}
.formCnt .formInputBlock table th {
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .formCnt .formInputBlock table th {
    padding-bottom: 0;
    width: auto;
    max-width: initial;
    border-bottom: none;
  }
}
@media screen and (max-width: 767px) {
  .formCnt .formInputBlock table th::after {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .formCnt .formInputBlock table td {
    padding-top: 0.5em;
  }
}
.formCnt .formInputBlock table td .row {
  margin-bottom: 0.75em;
  overflow: hidden;
}
.formCnt .formInputBlock table td .row:nth-last-of-type(1) {
  margin-bottom: 0;
}
.formCnt .formInputBlock table td .row-1 {
  display: flex;
  align-items: center;
}
.formCnt .formInputBlock table td .row-1 span:nth-of-type(1) {
  margin-right: 25px;
}
.formCnt .formInputBlock table td .row--col3 {
  display: flex;
  flex-wrap: wrap;
}
.formCnt .formInputBlock table td .row--col3 .mwform-checkbox-field {
  width: 33.3333333333%;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .formCnt .formInputBlock table td .row--col3 .mwform-checkbox-field {
    font-size: 1.4rem;
    letter-spacing: -0.05em;
  }
}
@media screen and (max-width: 767px) {
  .formCnt .formInputBlock table td .row--col3 .mwform-checkbox-field {
    width: 50%;
    font-size: 1.4rem;
  }
}
.formCnt .formInputBlock table td .col {
  margin: 0 0.5em;
}
.formCnt .formInputBlock table td .rowFl {
  display: flex;
  align-items: center;
  gap: 0 1em;
}
.formCnt .formInputBlock table td input[type=text],
.formCnt .formInputBlock table td input[type=email],
.formCnt .formInputBlock table td select,
.formCnt .formInputBlock table td textarea {
  width: 100%;
  max-width: 100%;
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  padding: 1em;
  border: none;
  border: 1.5px solid #ccc;
  box-sizing: border-box;
  color: #444444;
  border-radius: 3px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .formCnt .formInputBlock table td input[type=text],
  .formCnt .formInputBlock table td input[type=email],
  .formCnt .formInputBlock table td select,
  .formCnt .formInputBlock table td textarea {
    padding: 1em 0.5em;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .formCnt .formInputBlock table td input[type=text],
  .formCnt .formInputBlock table td input[type=email],
  .formCnt .formInputBlock table td select,
  .formCnt .formInputBlock table td textarea {
    padding: 1em 0.5em;
    font-size: 1.5rem;
  }
}
.formCnt .formInputBlock table td input[type=text]::placeholder,
.formCnt .formInputBlock table td input[type=email]::placeholder,
.formCnt .formInputBlock table td select::placeholder,
.formCnt .formInputBlock table td textarea::placeholder {
  color: rgba(68, 68, 68, 0.5);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .formCnt .formInputBlock table td input[type=text]::placeholder,
  .formCnt .formInputBlock table td input[type=email]::placeholder,
  .formCnt .formInputBlock table td select::placeholder,
  .formCnt .formInputBlock table td textarea::placeholder {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .formCnt .formInputBlock table td input[type=text]::placeholder,
  .formCnt .formInputBlock table td input[type=email]::placeholder,
  .formCnt .formInputBlock table td select::placeholder,
  .formCnt .formInputBlock table td textarea::placeholder {
    font-size: 1.4rem;
  }
}
.formCnt .formInputBlock table td input[type=text]:nth-last-of-type(1),
.formCnt .formInputBlock table td input[type=email]:nth-last-of-type(1),
.formCnt .formInputBlock table td select:nth-last-of-type(1),
.formCnt .formInputBlock table td textarea:nth-last-of-type(1) {
  margin-bottom: 0;
}
.formCnt .formInputBlock table td input[type=text]:disabled,
.formCnt .formInputBlock table td input[type=email]:disabled,
.formCnt .formInputBlock table td select:disabled,
.formCnt .formInputBlock table td textarea:disabled {
  background-color: #f1f1f1;
}
.formCnt .formInputBlock table td input[type=radio],
.formCnt .formInputBlock table td input[type=checkbox] {
  width: 20px;
  height: 20px;
  vertical-align: -0.2em;
}
.formCnt .formInputBlock table td select {
  width: auto;
  font-size: 100%;
}
.formCnt .formInputBlock table td textarea {
  width: 100%;
  max-width: 100%;
  font-family: sans-serif;
  height: auto;
  max-height: initial;
}
.formCnt .formInputBlock table td input[name=郵便番号] {
  width: 9em;
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  padding: 1em;
  box-sizing: border-box;
  border-radius: 3px;
  border: none;
  border: 1.5px solid #ccc;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .formCnt .formInputBlock table td input[name=郵便番号] {
    padding: 0.75em 0.5em;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .formCnt .formInputBlock table td input[name=郵便番号] {
    padding: 1em 0.5em;
    font-size: 1.5rem;
  }
}
.formCnt .formInputBlock table td input[name=郵便番号]::placeholder {
  color: rgba(68, 68, 68, 0.5);
}
.formCnt .formInputBlock table td input[type=email] {
  width: 100%;
  max-width: 100%;
}
.formCnt .formInputBlock table td input[name=第1希望_日時],
.formCnt .formInputBlock table td input[name=第2希望_日時] {
  width: 200px;
  max-width: 200px;
  margin-right: 25px;
  margin-bottom: 0;
}
.formCnt .formInputBlock table td input[name=年齢] {
  margin-right: 0.5em;
  width: 70px;
  max-width: 70px;
}
.formCnt .formInputBlock table td .mwform-tel-field input,
.formCnt .formInputBlock table td .mwform-zip-field input {
  width: auto;
}
@media screen and (max-width: 767px) {
  .formCnt .formInputBlock table td .mwform-tel-field input,
  .formCnt .formInputBlock table td .mwform-zip-field input {
    width: calc(33.3333333333% - 1em);
    padding: 0.75em 0.5em;
  }
}
@media screen and (max-width: 767px) {
  .formCnt .formInputBlock table td .mwform-radio-field {
    display: block;
    margin: 0;
    padding: 0 0 0.5em;
  }
}
.formCnt .formInputBlock table td .mwform-radio-field .mwform-radio-field-text {
  position: relative;
  cursor: pointer;
  padding-left: 30px;
}
.formCnt .formInputBlock table td .mwform-radio-field .mwform-radio-field-text::before,
.formCnt .formInputBlock table td .mwform-radio-field .mwform-radio-field-text::after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}
.formCnt .formInputBlock table td .mwform-radio-field .mwform-radio-field-text::before {
  border: 1px solid #444444;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  left: 5px;
}
.formCnt .formInputBlock table td .mwform-radio-field .mwform-radio-field-text::after {
  background-color: #009FE8;
  border-radius: 50%;
  opacity: 0;
  width: 14px;
  height: 14px;
  left: 9px;
}
.formCnt .formInputBlock table td .mwform-radio-field input:checked + .mwform-radio-field-text::after {
  opacity: 1;
}
.formCnt .formInputBlock table td .mwform-radio-field input {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}
.formCnt .formInputBlock table td input[type=checkbox] {
  appearance: none;
  display: none;
}
.formCnt .formInputBlock table td input[type=checkbox] + span:before {
  font-family: "Font Awesome 5 Pro";
  content: "\f45c";
  display: inline-block;
  margin-right: 1em;
  font-weight: 400;
}
.formCnt .formInputBlock table td input[type=checkbox]:checked + span:before {
  content: "\f00c";
  font-weight: 400;
}
.formCnt .formInputBlock table td .cap {
  display: table;
  font-size: 1.4rem;
}
.formCnt .formInputBlock table td .error {
  font-size: clamp(1.3rem, 1.1vw, 100rem);
  color: #a10808 !important;
}
.formCnt .btmTxt {
  font-size: clamp(1.3rem, 1.1vw, 100rem);
}
.formCnt .btnWrap {
  display: flex;
  justify-content: center;
  text-align: center;
  gap: 0 1em;
}
@media screen and (max-width: 767px) {
  .formCnt .btnWrap {
    gap: 0 0.5em;
  }
}
.formCnt .btnWrap input {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-primary);
  border-radius: 100px;
  color: var(--color-primary);
  padding: 0.75em;
  min-width: 220px;
  font-size: 1.2vw;
  text-decoration: none;
  line-height: 1.5;
  gap: 0 0.5em;
  cursor: pointer;
  background-color: white;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .formCnt .btnWrap input {
    min-width: initial;
    padding: 1em 1.5em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .formCnt .btnWrap input {
    min-width: initial;
    padding: 1em 1.5em;
    font-size: 1.4rem;
  }
}
.formCnt .btnWrap input.send_btn:disabled, .formCnt .btnWrap input.send_btn2:disabled {
  opacity: 0.5 !important;
  border: 1px solid #ccc;
}
.formCnt .btnWrap input.send_btn:hover, .formCnt .btnWrap input.send_btn2:hover {
  background-color: var(--color-primary);
  color: white;
}
.formCnt .pr-check {
  margin-top: 30px;
  overflow: hidden;
  display: flex;
  justify-content: center;
}
.formCnt .pr-check input[type=radio],
.formCnt .pr-check input[type=checkbox] {
  width: 20px;
  height: 20px;
  vertical-align: -0.2em;
}
.formCnt .pr-check .mwform-checkbox-field {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .formCnt .pr-check .mwform-checkbox-field {
    font-size: 1.3rem;
  }
}
.formCnt .btm-txt {
  margin: 30px 0 0;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: bold;
}
.formCnt .privacy_wrap {
  margin: 0;
}
.formCnt .privacy_wrap .inp_mes {
  font-weight: bold;
}
.formCnt .privacy_wrap .error {
  margin-top: 10px;
  display: block;
  text-align: center;
}
.formCnt .privacy_wrap .error + .error {
  display: none !important;
}
.formCnt .privacy_wrap .privacy {
  width: 100%;
  max-width: 100%;
  height: 200px;
  margin: 35px auto 0;
  padding: 2.5em;
  border: 1px solid #ccc;
  font-size: 1.3rem;
  text-align: left;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .formCnt .privacy_wrap .privacy {
    padding: 1.5em;
    font-size: 1.2rem;
  }
}
.formCnt .privacy_wrap .privacy p {
  margin: 0 0 15px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .formCnt .privacy_wrap .privacy p {
    font-size: 1.2rem;
  }
}
.formCnt .privacy_wrap .privacy p.ttl {
  font-weight: bold;
}
.formCnt .mw_wp_form_input .btnWrap input.send_btn2 {
  display: none;
}
.formCnt .mw_wp_form_confirm .inp_mes {
  display: none;
}
.formCnt .mw_wp_form_confirm .privacy_wrap {
  display: none !important;
}
.formCnt .mw_wp_form_confirm .privacy {
  display: none !important;
}
.formCnt .mw_wp_form_confirm .conf_mes {
  display: block;
}
.formCnt .mw_wp_form_confirm .formInputBlock table td .row {
  margin-top: 0;
}
.formCnt .mw_wp_form_confirm .formInputBlock table td .row--mailConf {
  display: none !important;
}
.formCnt .mw_wp_form_confirm .formInputBlock table td .row--example {
  display: none !important;
}

.mw_wp_form_input .conf_mes {
  display: none;
}
.mw_wp_form_input .BtnArea input.send_btn2 {
  display: none !important;
}

.mw_wp_form_confirm .ContactLead {
  display: none;
}
.mw_wp_form_confirm .inpMes {
  display: none;
}
.mw_wp_form_confirm .conf_mes {
  display: table;
}
.mw_wp_form_confirm .FormParts .txt {
  display: none !important;
}
.mw_wp_form_confirm .FormParts .note-info {
  display: none !important;
}
.mw_wp_form_confirm .privacy_wrap {
  display: none !important;
}
.mw_wp_form_confirm .privacy {
  display: none !important;
}
.mw_wp_form_confirm .conf_mes {
  display: block;
}
.mw_wp_form_confirm .FormParts table td .row {
  margin-top: 0;
}
.mw_wp_form_confirm .formInputBlock table td .row {
  margin-top: 0;
}
.mw_wp_form_confirm .formInputBlock table td .row--mailConf {
  display: none !important;
}

.under-contact {
  margin-top: 50px;
}
.error-pink input[type=text],
.error-pink input[type=email],
.error-pink input[type=tel],
.error-pink input[type=url],
.error-pink select,
.error-pink textarea {
  background: #f3eaf3 !important;
}

#autozip {
  display: none !important;
}

/*!
page > single
------------------------------
*/
.PgNews {
  position: relative;
  z-index: 10;
}

.PostContent h1 {
  display: block;
  margin-bottom: 1em;
  padding: 1em 0 0.5em;
  font-size: clamp(3.2rem, 3.5vw, 100rem);
  font-weight: 600;
  position: relative;
  overflow: hidden;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .PostContent h1 {
    font-size: 2.4rem;
  }
}
.PostContent h2 {
  display: block;
  margin-bottom: 1em;
  font-size: clamp(2.5rem, 2.5vw, 100rem);
  font-weight: 600;
  position: relative;
  box-sizing: border-box;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .PostContent h2 {
    font-size: 2.2rem;
  }
}
.PostContent h2 a {
  text-decoration: none;
}
.PostContent h3 {
  display: block;
  margin-bottom: 1em;
  padding: 0.75em 0;
  font-size: clamp(2rem, 2vw, 100rem);
  font-weight: 600;
  border-bottom: 1px solid #ccc;
  position: relative;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .PostContent h3 {
    font-size: 1.9rem;
  }
}
.PostContent h3::after {
  content: "";
  display: inline-block;
  width: 200px;
  height: 1px;
  background-color: var(--color-primary);
  position: absolute;
  bottom: -1px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .PostContent h3::after {
    width: 100px;
  }
}
.PostContent h4 {
  margin-bottom: 1em;
  display: block;
  padding: 0.75em;
  font-size: clamp(1.6rem, 1.6vw, 100rem);
  font-weight: 600;
  line-height: 1.5;
  background-color: var(--color-primary-light);
}
@media screen and (max-width: 767px) {
  .PostContent h4 {
    font-size: 1.6rem;
  }
}
.PostContent img {
  height: auto;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .PostContent img {
    width: auto;
  }
}
.PostContent strong {
  font-weight: 800;
}
.PostContent p {
  margin: 0 0 3em;
}
.PostContent ul {
  margin: 0 0 3em;
}
.PostContent ul li {
  margin-left: 1em;
  list-style-type: disc;
}
.PostContent ol {
  margin: 0 0 3em;
}
.PostContent ol li {
  margin-left: 1em;
  list-style-type: decimal;
}
.PostContent table {
  width: 100%;
  margin: 0 0 3em;
  border-collapse: collapse;
  box-sizing: border-box;
}
.PostContent table th,
.PostContent table td {
  padding: 1em 2em;
  border: 2px solid white;
  box-sizing: border-box;
}
.PostContent table th {
  width: 25%;
  max-width: 25%;
  background-color: #f2f2f2;
  text-align: right;
}
.PostContent table td p,
.PostContent table td ul,
.PostContent table td ol {
  margin: 0 0 10px;
}
.PostContent table td p:last-child,
.PostContent table td ul:last-child,
.PostContent table td ol:last-child {
  margin-bottom: 0;
}
.PostContent iframe {
  display: block;
}
@media screen and (max-width: 767px) {
  .PostContent iframe {
    width: 100%;
    height: 220px;
  }
}

.pagenavi {
  display: flex;
  justify-content: center;
  margin-top: 70px;
  text-align: center;
  overflow: hidden;
  position: relative;
  gap: 0 1em;
}
@media screen and (max-width: 767px) {
  .pagenavi {
    margin-top: 30px;
  }
}
.pagenavi .nav.prev a::before {
  margin-right: 0.5em;
  font-family: "Font Awesome 5 Pro";
  content: "\f053";
  font-weight: normal;
  font-size: 1.3rem;
}
.pagenavi .nav.next a::after {
  margin-left: 0.5em;
  font-family: "Font Awesome 5 Pro";
  content: "\f054";
  font-weight: normal;
  font-size: 1.3rem;
}
.pagenavi .nav a {
  display: inline-block;
  margin: 0;
  padding: 0.5em 2em;
  text-decoration: none;
  color: #444444;
  font-size: 1.4rem;
  position: relative;
  border: 1px solid #ccc;
  border-radius: 50px;
}
@media screen and (max-width: 767px) {
  .pagenavi .nav a {
    padding: 0.5em 1.5em;
    font-size: 1.3rem;
  }
}
.pagenavi .nav a:hover {
  opacity: 1;
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
  color: white;
}

.btm_pgnav {
  display: flex;
  justify-content: center;
  margin: 50px auto 0;
  gap: 0 0.5em;
}
.btm_pgnav a,
.btm_pgnav span {
  text-decoration: none;
  border: none;
  padding: 0;
  color: #444444;
  box-sizing: border-box;
}
.btm_pgnav a.page-numbers, .btm_pgnav a.current,
.btm_pgnav span.page-numbers,
.btm_pgnav span.current {
  width: 32px;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-primary-light);
  border-radius: 5px;
}
.btm_pgnav a.next, .btm_pgnav a.prev,
.btm_pgnav span.next,
.btm_pgnav span.prev {
  width: auto;
  background-color: transparent;
  border-radius: 0;
}
.btm_pgnav a.next:hover, .btm_pgnav a.prev:hover,
.btm_pgnav span.next:hover,
.btm_pgnav span.prev:hover {
  background-color: transparent;
  color: #444444;
  font-weight: normal;
}
.btm_pgnav a:hover,
.btm_pgnav span.current {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: white;
  font-weight: normal;
  opacity: 1;
  font-weight: bold;
}

.SinglePost {
  position: relative;
}
.SinglePost__inner {
  position: relative;
}
.SinglePost .PostWrap {
  box-sizing: border-box;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .SinglePost .PostWrap {
    width: 100% !important;
    max-width: 100% !important;
  }
}
@media screen and (max-width: 767px) {
  .SinglePost .PostWrap {
    padding: 7.5% 0;
  }
}
.SinglePost .PostHead {
  position: relative;
}
.SinglePost .PostHead__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: clamp(1.2rem, 1vw, 100rem);
  gap: 0 1em;
}
@media screen and (max-width: 767px) {
  .SinglePost .PostHead__meta {
    font-size: 1.1rem;
  }
}
.SinglePost .PostHead__meta span {
  line-height: 1.2;
}
.SinglePost .PostHead__meta .date {
  display: inline-flex;
  align-items: center;
  gap: 0 0.25em;
}
.SinglePost .PostHead__meta .cat a {
  font-size: clamp(1.2rem, 1vw, 100rem);
  display: block;
  padding: 0.5em 1em;
  border: 1px solid #999;
  pointer-events: none;
  text-decoration: none;
  color: #444444;
  border-radius: 50px;
}
@media screen and (max-width: 767px) {
  .SinglePost .PostHead__meta .cat a {
    font-size: 1.1rem;
  }
}
.SinglePost .PostHead__column {
  display: flex;
  flex-direction: column;
}
.SinglePost .PostHead .SnsIcon {
  min-width: 130px;
}
@media screen and (max-width: 767px) {
  .SinglePost .PostHead .SnsIcon {
    min-width: initial;
  }
}

.NewsArchive__inner {
  padding: 0 15%;
}
@media screen and (max-width: 767px) {
  .NewsArchive__inner {
    padding: 0 5%;
  }
}
.NewsArchive__column {
  display: flex;
  flex-direction: column;
  gap: 1em 0;
}

.NewsCnt__emptyText {
  font-size: clamp(2.5rem, 1.7vw, 100rem);
}

/*# sourceMappingURL=style.css.map */
