@charset "UTF-8";
/*
Theme Name: srup21-new
Theme URI:
Description: srup21-new
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&display=swap");
/*!
global > color
------------------------------
*/
:root {
  --color-primary: #0058a2;
  --color-primary-light: #f0f5f7;
  --color-secondary: #3f8eb3;
  --color-secondary-light: #faf8f5;
  --color-link: #4895e6;
}

.white {
  color: white !important;
}

.blue {
  color: #0058a2 !important;
}

.blue2 {
  color: #2b8bd3 !important;
}

.green {
  color: #009f42 !important;
}

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

.red {
  color: #be2020 !important;
}

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

.navy {
  color: #062452 !important;
}

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

:root {
  --font-family-base:
    "Inter", "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans",
    "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}

.f_noto {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.f_notos,
.Footer .corpInfo .corpLogo .corpName em,
.Header .Logo a .corpName em {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

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

/*!
global > adjustment
------------------------------
*/
/*!
global > effects
------------------------------
*/
.formCnt .btnWrap input,
.PgLogin .LoginForm .tml button[type="submit"],
.PgCorpFaq .Cnt--1 .faqItem a,
.PgCorpFaq .Cnt--1 .faqItem__ttl,
.pgNav li a,
.pagenavi .nav a,
.SearchCond .CondCnt .JapanMap .prefLink a,
#nav-toggle,
#btm-btn a.pagetop,
.sideSns .SnsMenu li a,
.Header,
.Header .Logo,
.HeaderMenu,
.HeaderMenu .g-menu li a::after,
.contact-Btn,
.Login-Btn,
.Btn,
.baseBtn {
  -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 {
  font-size: 62.5%;
}

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

/* spでヘッダー高が違うならここで上書き */
@media screen and (max-width: 767px) {
  :root {
    --header-h: 0px;
  }
}
body {
  font-family: var(--font-family-base);
  font-size: clamp(1.3rem, 1.1vw, 100rem);
  color: #4d4d4d;
  line-height: 2;
  background-color: white;
  animation: fadeIn 1s ease 0s 1 normal;
  overflow-x: hidden;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.5rem;
    line-height: 1.8;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
a {
  color: #0058a2;
  word-wrap: break-word;
}
a:visited {
  color: #29abe2;
  color: #0058a2;
}
a.noLink {
  pointer-events: none;
}
a.anchor {
  display: block;
  padding-top: 100px;
  margin-top: -100px;
}
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-mt-base {
  margin-top: 2em !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-mt20 {
  margin-top: 20px !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-mb200 {
  margin-bottom: 200px !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: 100px 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .u-ptb {
    padding: 70px 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-ptb35 {
  padding: 35px 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: 100px !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pt {
    padding-top: 70px !important;
  }
}

.u-pb {
  padding-bottom: 150px !important;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .u-pb {
    padding-bottom: 100px !important;
  }
}
@media screen and (max-width: 767px) {
  .u-pb {
    padding-bottom: 70px !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;
}

.u-pb300 {
  padding-bottom: 300px !important;
}

.u-pb500 {
  padding-bottom: 500px !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-pt125 {
    padding-top: 125px !important;
  }
}

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

@media screen and (max-width: 767px) {
  .u-sp-pt200 {
    padding-top: 200px !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;
  }
}

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

@media screen and (max-width: 767px) {
  .u-sp-pb300 {
    padding-bottom: 300px !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-w25 {
    width: 25% !important;
    max-width: 25% !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;
}

strong,
.u-bold {
  font-weight: 700;
}

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

.u-txtMiddle {
  font-size: clamp(2rem, 1.6vw, 100rem);
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .u-txtMiddle {
    font-size: 1.7rem;
  }
}

.u-txtLarge {
  font-size: clamp(3.1rem, 2.5vw, 100rem);
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .u-txtLarge {
    font-size: 2.1rem;
    line-height: 1.5;
  }
}

/*!
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 {
  padding-bottom: 0.5em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  font-size: clamp(3rem, 2.4vw, 100rem);
  font-weight: 700;
  line-height: 1.5;
  position: relative;
}
.title-Lv1 span {
  font-size: 1.6rem;
}
@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.4rem;
  }
}
.title-Lv1::after {
  content: "";
  display: inline-block;
  width: 70%;
  height: 3.5px;
  background-image: linear-gradient(
    90deg,
    var(--color-primary) 50%,
    #f15a24 50%
  );
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .title-Lv1::after {
    width: 50%;
  }
}
.title-Lv1 .en {
  color: #4d4d4d;
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  font-style: italic;
}
.title-Lv1 a {
  color: var(--color-primary);
  text-decoration: none;
}
.title-Lv1--News {
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .title-Lv1--News {
    align-items: center;
  }
}
.title-Lv1--News::after {
  width: 50%;
  left: 0;
  transform: translateX(0);
}
@media screen and (max-width: 767px) {
  .title-Lv1--News::after {
    left: 50%;
    transform: translateX(-50%);
  }
}
.title-Lv1--Column {
  display: flex;
  justify-content: space-between;
  flex-direction: row;
}
@media screen and (max-width: 767px) {
  .title-Lv1--Column {
    justify-content: center;
    flex-direction: column;
  }
}
.title-Lv1--Column::after {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .title-Lv1--Column::after {
    width: 50%;
    left: 50%;
    transform: translateX(-50%);
  }
}
.title-Lv1--Under {
  align-items: flex-start;
  border-bottom: 1px solid #b3b3b3;
}
.title-Lv1--Under::after {
  width: 20%;
  left: 0;
  transform: translateX(0);
}
.title-Lv1--Member {
  align-items: flex-start;
  border-bottom: 1px solid #b3b3b3;
}
.title-Lv1--Member::after {
  width: 20%;
  left: 0;
  transform: translateX(0);
}
.title-Lv1--Member .row-1 {
  display: inline-flex;
  gap: 0 0.8em;
  font-size: clamp(2rem, 2vw, 100rem);
  align-items: center;
}
.title-Lv1--Member .row-2 {
  font-size: clamp(1.6rem, 1.7vw, 100rem);
}
@media screen and (max-width: 767px) {
  .title-Lv1--Member .row-1 {
    flex-direction: column;
    gap: 0;
  }
}
.title-Lv1--Small {
  font-size: clamp(2.5rem, 2vw, 100rem);
}
.title-Lv1--Advice {
  background-color: #ccc;
}
.title-Lv1--Dvd {
  flex-direction: row;
  justify-content: flex-start;
  gap: 0 1em;
}
.title-Lv1 .soldout {
  display: inline-flex;
  background-color: #be2020;
  color: white;
  font-size: clamp(1.6rem, 1.3vw, 100rem);
  padding: 0.25em 0.5em;
  position: relative;
  top: 0.25em;
}

.title-Lv2 {
  padding-left: 1em;
  display: inline-flex;
  align-items: center;
  position: relative;
  line-height: 1.5;
  font-size: clamp(2.2rem, 1.8vw, 100rem);
  font-weight: 700;
  color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .title-Lv2 {
    font-size: 2rem;
  }
}
.title-Lv2::before {
  content: "";
  display: block;
  width: 7px;
  height: calc(100% - 10px);
  background-color: #f15a24;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.title-Lv2 a {
  color: var(--color-primary);
  text-decoration: none;
}
.title-Lv2--News {
  padding-left: 0;
}
.title-Lv2--News::before {
  display: none;
}
.title-Lv2--News a {
  color: #4d4d4d;
}
.title-Lv2--News a:hover {
  color: var(--color-primary);
}
.title-Lv2--Small {
  font-size: clamp(2rem, 1.6vw, 100rem);
}
@media screen and (max-width: 767px) {
  .title-Lv2--Member {
    flex-direction: column;
    align-items: flex-start;
  }
}
.title-Lv2--Advice {
  flex-direction: column;
  align-items: flex-start;
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  color: #4d4d4d;
}
.title-Lv2--Advice a {
  color: var(--color-primary);
}
.title-Lv2--btmBorder {
  display: flex;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #b3b3b3;
}

.title-Lv3 {
  display: flex;
  align-items: center;
  border-radius: 50px;
  background-color: var(--color-primary);
  color: white;
  padding: 0.5em 1em;
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .title-Lv3 {
    font-size: 1.6rem;
    border-radius: 7px;
  }
}

.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
------------------------------
*/
.contact-Btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.5em;
  background-color: var(--color-primary);
  color: white;
  text-decoration: none;
  box-sizing: border-box;
  line-height: 1.3;
  position: relative;
  gap: 0 0.5em;
}
.contact-Btn:hover {
  filter: hue-rotate(10deg) brightness(110%);
}
.contact-Btn:visited {
  color: white;
}
.contact-Btn--header {
  padding: 0.75em 0.5em;
  min-width: 180px;
}
@media screen and (max-width: 767px) {
  .contact-Btn--header {
    width: 40px;
    aspect-ratio: 1/1;
    flex-direction: column;
    padding: 0;
    min-width: initial;
    border-radius: 4px;
  }
}
.contact-Btn--header .icon {
  display: block;
  width: 18px;
  position: relative;
  top: 0.05em;
}
@media screen and (max-width: 767px) {
  .contact-Btn--header .icon {
    width: 15px;
    top: 0;
  }
}
.contact-Btn--header .caption {
  font-size: clamp(1.4rem, 1.2vw, 1.7rem);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .contact-Btn--header .caption {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .contact-Btn--header .caption {
    display: none;
  }
}
.contact-Btn--smp {
  padding: 0.75em 0.5em;
  min-width: calc(100% - 35px);
}
.contact-Btn--smp .icon {
  display: block;
  width: 15px;
  position: relative;
  top: 0.05em;
}
.contact-Btn--smp .caption {
  font-size: 1.7rem;
}

.Login-Btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: white;
  text-decoration: none;
  box-sizing: border-box;
  line-height: 1.3;
  position: relative;
  gap: 0 0.5em;
  border: 1px solid #062452;
  color: #062452;
  padding: 0.75em 0.5em;
  min-width: 180px;
}
@media screen and (max-width: 767px) {
  .Login-Btn {
    flex-direction: column;
    width: 40px;
    min-width: initial;
    border-radius: 4px;
    aspect-ratio: 1/1;
  }
}
.Login-Btn:visited {
  color: #062452;
}
.Login-Btn .icon {
  display: block;
  width: 12px;
  position: relative;
  top: 0.05em;
}
@media screen and (max-width: 767px) {
  .Login-Btn .icon {
    width: 11px;
    top: 0;
  }
}
.Login-Btn .caption {
  font-size: clamp(1.4rem, 1.2vw, 1.7rem);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Login-Btn .caption {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .Login-Btn .caption {
    display: none;
  }
}

.Btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.75em 3em;
  background-color: var(--color-primary);
  color: white;
  text-decoration: none;
  box-sizing: border-box;
  font-weight: 500;
  line-height: 1.3;
  position: relative;
  gap: 0 0.5em;
  font-size: clamp(1.4rem, 1.3vw, 100rem);
  border-radius: 100px;
}
@media screen and (max-width: 767px) {
  .Btn {
    padding: 1em 3.5em;
  }
}
.Btn:hover {
  filter: hue-rotate(10deg) brightness(110%);
}
.Btn:visited {
  color: white;
}
.Btn .icon {
  display: block;
  width: 18px;
  position: absolute;
  top: 50%;
  left: 1.5em;
  transform: translateY(-50%);
}
.Btn .arrow {
  display: block;
  width: 9px;
  aspect-ratio: 1/1.25;
  background-color: white;
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
}
.Btn--2 {
  background-color: white;
  color: #062452;
}
.Btn--2:visited {
  color: #062452;
}

.blueBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-primary);
  color: white;
  border-radius: 10px;
  text-decoration: none;
  font-size: clamp(2rem, 1.6vw, 100rem);
  font-weight: 600;
  padding: 0.75em;
  line-height: 1.3;
  gap: 0 0.5em;
}
@media screen and (max-width: 767px) {
  .blueBtn {
    font-size: 1.7rem;
    border-radius: 7px;
  }
}
.blueBtn--Large {
  padding: 0.75em 1.5em;
  display: inline-flex;
  font-size: clamp(2rem, 2vw, 100rem);
}
@media screen and (max-width: 767px) {
  .blueBtn--Large {
    display: flex;
    padding: 1em 0.5em;
    min-width: initial;
    font-size: 2rem;
  }
}
.blueBtn--Middle {
  display: inline-flex;
  min-width: 360px;
}
@media screen and (max-width: 767px) {
  .blueBtn--Middle {
    padding: 1em 2em;
    min-width: initial;
  }
}
.blueBtn--Small {
  display: inline-flex;
  padding: 0.75em 1.5em;
  font-size: clamp(1.2rem, 1vw, 100rem);
  border-radius: 50px;
  gap: 0 0.5em;
}
@media screen and (max-width: 767px) {
  .blueBtn--Small {
    padding: 1em 2.5em;
    font-size: 1.4rem;
  }
}
.blueBtn--Recruit {
  display: inline-flex;
  padding: 0.75em 1.5em;
  font-size: clamp(1.5rem, 1.2vw, 100rem);
}
@media screen and (max-width: 767px) {
  .blueBtn--Recruit {
    padding: 1em 2em;
    min-width: initial;
  }
}
.blueBtn:visited {
  color: white;
}

.baseBtn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.75em 2.5em;
  color: #0058a2;
  text-decoration: none;
  box-sizing: border-box;
  font-size: clamp(1.5rem, 1.4vw, 2rem);
  font-size: 1.1vw;
  font-weight: 500;
  line-height: 1.5;
  position: relative;
  gap: 0 0.75em;
  background-color: white;
  border: 1px solid #0058a2;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .baseBtn {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .baseBtn {
    font-size: 1.6rem;
  }
}
.baseBtn .arrow {
  font-size: clamp(1rem, 0.6vw, 2rem);
  transform: rotate(90deg);
}
.baseBtn--noBorder {
  border: none;
}
.baseBtn--white {
  background-color: transparent;
  color: white;
  border-color: white;
}
.baseBtn:hover {
  background-color: #062452;
  color: white;
}

.linkBtn {
  padding-right: 0.75em;
  display: inline-flex;
  align-items: center;
  color: var(--color-primary);
  border-bottom: 1px solid #6277a7;
  text-decoration: none;
  font-weight: 600;
  position: relative;
  gap: 0 2.5em;
}
.linkBtn i {
  font-size: 1.2rem;
}
.linkBtn--small {
  font-size: 1.5rem;
}
.linkBtn--small i {
  font-size: 1.1rem;
}

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

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

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(1rem, 0.8vw, 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;
}

.ContactInfo {
  background-color: var(--color-primary);
}
.ContactInfo__inner {
  width: 100%;
  margin: 0 auto;
  max-width: var(--width-content);
  position: relative;
  box-sizing: border-box;
}
@media screen and (min-width: 1025px) and (max-width: 1299px) {
  .ContactInfo__inner {
    max-width: 90%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .ContactInfo__inner {
    max-width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .ContactInfo__inner {
    max-width: 85%;
  }
}
.ContactInfo__inner {
  z-index: 10;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .ContactInfo__inner {
    flex-direction: column;
    justify-content: flex-start;
  }
}
.ContactInfo .ContactBtn {
  width: calc(50% - 50px);
}
@media screen and (max-width: 767px) {
  .ContactInfo .ContactBtn {
    width: 100%;
  }
}

/*!
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: #4d4d4d;
  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: #0058a2;
  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: #009f42;
  border: 1px solid #009f42;
  font-size: 1.1rem;
}
.mv-modal .iziModal-content .close-btn {
  font-size: 2.4rem;
  position: absolute;
  top: 20px;
  right: 20px;
  color: #4d4d4d;
}
@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(77, 77, 77, 0.1);
  border-radius: 50px;
}

@media screen and (max-width: 767px) {
  .TableScroll {
    width: 100%;
    padding-bottom: 25px;
    position: relative;
    overflow-x: scroll;
  }
}

/*!
layout > header
------------------------------
*/
.Header {
  width: 100%;
  max-width: 100%;
  height: 100px;
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  z-index: 50;
  color: white;
}
@media screen and (max-width: 767px) {
  .Header {
    height: 70px;
  }
}
.Header--Login {
  background-color: white;
  color: #4d4d4d;
}
.Header__inner {
  padding: 0 2.5%;
  height: 100%;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Header__inner {
    padding: 0 2.5%;
  }
}
@media screen and (max-width: 767px) {
  .Header__inner {
    padding-left: 60px;
  }
}
.Header__column {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.Header__Block {
  display: flex;
  flex-direction: column;
  min-width: 25%;
  width: 25%;
  gap: 0.35em 0;
}
@media screen and (max-width: 767px) {
  .Header__Block {
    min-width: initial;
    width: auto;
    width: 100%;
    gap: 0.25em 0;
  }
}
.Header .headTxt {
  display: block;
  font-size: clamp(0.9rem, 0.7vw, 100rem);
}
@media screen and (max-width: 767px) {
  .Header .headTxt {
    position: absolute;
    top: 0;
    left: 60px;
    font-size: 0.8rem;
  }
}
.Header .Logo {
  z-index: 51;
}
.Header .Logo a {
  display: flex;
  align-items: center;
  width: 100%;
  color: white;
  text-decoration: none;
  gap: 0 0.5em;
  line-height: 1.2;
}
.Header .Logo a .Logomark {
  display: block;
  width: 40px;
}
@media screen and (max-width: 767px) {
  .Header .Logo a .Logomark {
    width: 30px;
  }
}
.Header .Logo a .srup21 {
  display: block;
  width: 200px;
}
.Header .Logo a .srup21 {
  display: block;
  width: 200px;
}
/* ▼ここから追加 */
.Header .Logo a .srup21 {
  height: auto;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .Header .Logo a .srup21 {
    width: 160px;
  }
}
.Header .Logo a .corpName {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 1rem;
}
.Header .Logo a .corpName em {
  font-size: 2.2rem;
  font-weight: 700;
}

.HeaderMenu {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  opacity: 1;
  position: relative;
  box-sizing: border-box;
  z-index: 51;
}
@media screen and (max-width: 767px) {
  .HeaderMenu {
    min-width: 85px;
    width: 85px;
  }
}
.HeaderMenu__inner {
  height: 100%;
}
.HeaderMenu__column {
  height: 100%;
  max-height: 100%;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  gap: 0 1em;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .HeaderMenu__column {
    gap: 0 1.5em;
  }
}
@media screen and (max-width: 767px) {
  .HeaderMenu__column {
    gap: 0 5px;
  }
}
.HeaderMenu {
  /*==ナビゲーション全体の設定*/
}
.HeaderMenu nav {
  display: flex;
  align-items: center;
  text-align: center;
}
.HeaderMenu {
  /*ナビゲーションを横並びに*/
}
.HeaderMenu .g-menu {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1.5em;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .HeaderMenu .g-menu {
    gap: 0.5em 1em;
  }
}
@media screen and (max-width: 767px) {
  .HeaderMenu .g-menu {
    display: none;
  }
}
.HeaderMenu .g-menu li {
  position: relative;
}
.HeaderMenu .g-menu li a {
  padding: 0.5em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-size: clamp(1.2rem, 1.3vw, 1.6rem);
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s;
  position: relative;
  text-align: center;
  line-height: 1.2;
}
.HeaderMenu .g-menu li a::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 2px;
  background-color: white;
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  box-sizing: border-box;
}
.HeaderMenu .g-menu li a span {
  position: relative;
  z-index: 5;
}
.HeaderMenu .g-menu li a:hover::after {
  width: 100%;
}
.HeaderMenu .g-menu li:last-child a {
  border-right: none;
}
.HeaderMenu .g-menu li.menu-item-has-children ul {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 40px;
  z-index: 4;
  /*形状を指定*/
  background-color: #062452;
  min-width: 250px;
  /*はじめは非表示*/
  visibility: hidden;
  opacity: 0;
  /*アニメーション設定*/
  transition: all 0.3s;
  overflow: hidden;
}
.HeaderMenu .g-menu li.menu-item-has-children ul li {
  border-right: none;
}
.HeaderMenu .g-menu li.menu-item-has-children ul li a {
  min-height: initial;
  padding: 1.5em 2em;
  font-size: 1.4rem;
  background-color: var(--color-primary);
  color: white;
  line-height: 1.3;
  justify-content: flex-start;
  border-right: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.HeaderMenu .g-menu li.menu-item-has-children ul li a:hover,
.HeaderMenu .g-menu li.menu-item-has-children ul li a:active {
  filter: hue-rotate(10deg) brightness(120%);
  opacity: 1;
}
.HeaderMenu .g-menu li.menu-item-has-children ul li a::after {
  content: "\f061";
  background-color: transparent;
  font-family: "Font Awesome 6 Pro";
  display: block;
  width: auto;
  height: auto;
  position: absolute;
  bottom: auto;
  left: auto;
  top: 50%;
  right: 1.5em;
  transform: translateX(0) translateY(-50%);
  font-weight: normal;
}
.HeaderMenu .g-menu li.menu-item-has-children ul li:last-child a {
  border-bottom: none;
}
.HeaderMenu .g-menu li.menu-item-has-children ul {
  /*==3階層目*/
}
.HeaderMenu .g-menu li.menu-item-has-children ul ul {
  top: 0;
  left: 200px;
}
.HeaderMenu .g-menu.fixed li.menu-item-has-children ul {
  bottom: auto;
  top: 40px;
}
.HeaderMenu {
  /*hoverしたら表示*/
}
.HeaderMenu nav li.menu-item-has-children:hover > ul,
.HeaderMenu nav li.menu-item-has-children ul li:hover > ul,
.HeaderMenu nav li.menu-item-has-children:active > ul,
.HeaderMenu nav li.menu-item-has-children ul li:active > ul {
  visibility: visible;
  opacity: 1;
}
.HeaderMenu--Login .g-menu li a {
  color: #4d4d4d;
}

/*!
layout > footer
------------------------------
*/
.Footer {
  margin: auto auto 0;
  width: 100%;
  position: relative;
  z-index: 19;
  background-image: linear-gradient(180deg, #eef9fc, white);
}
@media screen and (max-width: 767px) {
  .Footer {
    padding: 50px 0 0;
  }
}
.Footer__inner {
  padding: 70px 10%;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Footer__inner {
    padding: 0 7.5%;
  }
}
@media screen and (max-width: 767px) {
  .Footer__inner {
    padding: 0 7.5% 2.5em;
  }
}
.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;
}
.Footer .corpInfo .corpLogo .Logomark {
  display: block;
  width: 50px;
  border: 2px solid #4d4d4d;
  border-radius: 5px;
  box-sizing: border-box;
}
.Footer .corpInfo .corpLogo .corpName {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 1.1rem;
}
.Footer .corpInfo .corpLogo .corpName em {
  font-size: 2.5rem;
  font-weight: 700;
}
.Footer .corpInfo .corpAddress {
  display: block;
  line-height: 1.5;
}
.Footer .FooterNav {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  width: 100%;
  gap: 0 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.2rem, 1vw, 100rem);
  color: #4d4d4d;
  text-decoration: none;
}
.Footer .FooterNav ul li.primary {
  font-weight: bold;
}
.Footer .FooterNav ul li.sub {
  margin-left: 1em;
}
.Footer .Copyright {
  padding: 1em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-primary);
  color: white;
  font-size: 1rem;
}

#btm-btn {
  position: fixed;
  bottom: 1em;
  right: 1em;
  z-index: 71;
  display: none;
}
@media screen and (max-width: 767px) {
  #btm-btn {
    bottom: 0.5em;
    right: 0.5em;
  }
}
#btm-btn a.pagetop {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 36px;
  aspect-ratio: 1/1;
  text-decoration: none;
  line-height: 1.1;
  background-color: var(--color-primary);
  color: white;
  border-radius: 4px;
}
#btm-btn a.pagetop i {
  font-size: 1.4rem;
  font-weight: bold;
}
#btm-btn a.pagetop:hover {
  opacity: 1;
  filter: hue-rotate(10deg) brightness(110%);
  transform: scale(1.1);
}

.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: #4d4d4d;
  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: #4d4d4d;
  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 {
  position: relative;
}
.Layout__column {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 150px;
}
@media screen and (min-width: 1025px) and (max-width: 1299px) {
  .Layout__column {
    column-gap: 11.5384615385vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Layout__column {
    gap: 0 25px;
  }
}
@media screen and (max-width: 767px) {
  .Layout__column {
    flex-direction: column-reverse;
    gap: 100px 0;
  }
}

.mainCnt {
  width: 75%;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mainCnt {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .mainCnt {
    width: 100%;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1299px) {
  .mainCnt__inner {
    padding-right: 5%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mainCnt__inner {
    margin: 0 auto;
    padding: 0 25px;
  }
}
@media screen and (max-width: 767px) {
  .mainCnt__inner {
    margin: 0 auto;
    padding: 0 25px;
  }
}

.sideCnt {
  width: calc(25% - 50px);
  min-width: 250px;
  background-color: var(--color-primary-light);
  position: sticky;
  top: 100px;
  left: 50px;
}
@media screen and (min-width: 1025px) and (max-width: 1299px) {
  .sideCnt {
    width: 19.2307692308vw;
    min-width: 19.2307692308vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sideCnt {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .sideCnt {
    width: 100%;
    min-width: initial;
    position: relative;
    top: auto;
    display: none;
  }
}
.sideCnt__inner {
  padding: 10% 5%;
  padding-left: 15%;
}
@media screen and (min-width: 1025px) and (max-width: 1299px) {
  .sideCnt__inner {
    padding-left: 5%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sideCnt__inner {
    padding-left: 5%;
  }
}
.sideCnt .sideLabel {
  font-size: 3rem;
  font-weight: 600;
  color: var(--color-primary);
  opacity: 0.25;
  position: relative;
  line-height: 1.2;
}
@media screen and (min-width: 1025px) and (max-width: 1299px) {
  .sideCnt .sideLabel {
    font-size: 2.3076923077vw;
  }
}
@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.5em;
  color: #4d4d4d;
  text-decoration: none;
  line-height: 1.3;
  position: relative;
  gap: 0 0.5em;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sideCnt .sideNav li a {
    font-size: 1.3rem;
  }
}
.sideCnt .sideNav li a:hover,
.sideCnt .sideNav li a.active {
  font-weight: 700;
  color: var(--color-primary);
}
.sideCnt .sideNav li a:hover::after,
.sideCnt .sideNav li a.active::after {
  font: var(--fa-font-regular);
  content: "\f105";
}
.sideCnt .sideNav 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 .sideNav li .pgLabel:hover::after {
  display: none;
}

/*!
layout > menu(smp)
------------------------------
*/
#g-nav {
  position: fixed;
  z-index: 999;
  top: 0;
  left: -85%;
  width: 85%;
  max-width: 85%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.95);
  transition: all 0.3s;
  box-sizing: border-box;
  opacity: 0;
  pointer-events: none;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #g-nav {
    width: 35%;
    max-width: 35%;
  }
}
@media screen and (max-width: 767px) {
  #g-nav {
    width: 85%;
    max-width: 85%;
  }
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive {
  left: 0;
  opacity: 1;
  pointer-events: visible;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list {
  position: fixed;
  z-index: 999;
  width: 85%;
  max-width: 85%;
  padding-bottom: 30px;
  height: 100vh; /*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #g-nav.panelactive #g-nav-list {
    width: 35%;
    max-width: 35%;
  }
}
@media screen and (max-width: 767px) {
  #g-nav.panelactive #g-nav-list {
    width: 85%;
    max-width: 85%;
  }
}

#g-nav #dmenu,
#g-nav #menu-foot_navi {
  display: block;
  width: calc(100% - 35px);
  margin: 0 auto;
  text-align: left;
  padding-top: 70px;
  box-sizing: border-box;
}
#g-nav #dmenu li,
#g-nav #menu-foot_navi li {
  margin: 0;
  padding: 0;
  position: relative;
}
#g-nav #dmenu li a,
#g-nav #menu-foot_navi li a {
  display: flex;
  align-items: center;
  padding: 1em;
  margin: 0;
  text-decoration: none;
  position: relative;
  font-size: 1.5rem;
  font-weight: 500;
  color: #4d4d4d;
  gap: 0 1em;
}
@media screen and (max-width: 100px) {
  #g-nav #dmenu li a,
  #g-nav #menu-foot_navi li a {
    font-size: 1.5rem;
  }
}
#g-nav #dmenu li a:hover,
#g-nav #menu-foot_navi li a:hover {
  text-decoration: none;
}
#g-nav #dmenu li.menu-item-has-children a,
#g-nav #menu-foot_navi li.menu-item-has-children a {
  pointer-events: none;
}
#g-nav #dmenu li.menu-item-has-children a::after,
#g-nav #menu-foot_navi li.menu-item-has-children a::after {
  font-family: "Font Awesome 6 Pro";
  content: "\f078";
  font-size: 1.2rem;
}
#g-nav #dmenu .sub-menu,
#g-nav #menu-foot_navi .sub-menu {
  max-width: 100%;
  width: 100%;
  padding-top: 0;
  display: none;
}
#g-nav #dmenu .sub-menu li,
#g-nav #menu-foot_navi .sub-menu li {
  border-bottom: none;
}
#g-nav #dmenu .sub-menu li a,
#g-nav #menu-foot_navi .sub-menu li a {
  pointer-events: visible;
  padding: 0.5em 2em 0.5em 1.5em;
  font-size: 1.4rem;
  line-height: 1.3;
}
#g-nav #dmenu .sub-menu li a::before,
#g-nav #menu-foot_navi .sub-menu li a::before {
  content: "";
  width: 10px;
  height: 1px;
  background-color: #4d4d4d;
  margin-top: 0.35em;
}
#g-nav #dmenu .sub-menu li a::after,
#g-nav #menu-foot_navi .sub-menu li a::after {
  display: none;
}
#g-nav #dmenu .sub-menu li.menu-item-has-children a,
#g-nav #menu-foot_navi .sub-menu li.menu-item-has-children a {
  pointer-events: none;
}
#g-nav #dmenu .sub-menu li.menu-item-has-children a::after,
#g-nav #menu-foot_navi .sub-menu li.menu-item-has-children a::after {
  content: "\f078";
}
#g-nav #dmenu .sub-menu-2,
#g-nav #menu-foot_navi .sub-menu-2 {
  margin-left: 3em;
  display: flex;
  flex-wrap: wrap;
}
#g-nav #dmenu .sub-menu-2 li a,
#g-nav #menu-foot_navi .sub-menu-2 li a {
  padding: 0 1em 0 0;
  font-size: 1.2rem;
}
#g-nav #dmenu .sub-menu-2 li a::after,
#g-nav #menu-foot_navi .sub-menu-2 li a::after {
  content: "/" !important;
  left: auto;
  right: 0.5em;
  font-family: initial;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #g-nav .reserve_btn {
    margin: 35px auto 0;
    width: calc(100% - 30px);
  }
}
@media screen and (max-width: 767px) {
  #g-nav .reserve_btn {
    margin: 35px auto 0;
    width: calc(100% - 30px);
  }
}

#nav-toggle {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  cursor: pointer;
  box-sizing: border-box;
  display: none;
}
@media screen and (max-width: 767px) {
  #nav-toggle {
    display: flex;
  }
}
#nav-toggle > div {
  position: relative;
}
#nav-toggle span {
  width: 24px;
  height: 1px;
  left: 50%;
  display: block;
  background-color: white;
  position: absolute;
  transform: translateX(-50%);
  transition:
    transform 0.3s ease-in-out,
    top 0.2s ease;
}
#nav-toggle span:nth-child(1) {
  top: 17px;
}
#nav-toggle span:nth-child(2) {
  top: 26px;
}
#nav-toggle span:nth-child(3) {
  top: 56px;
}
@media screen and (max-width: 767px) {
  #nav-toggle span:nth-child(3) {
    top: 46px;
  }
}
#nav-toggle .menu-ttl {
  font-size: 1rem;
  display: block;
  position: absolute;
  bottom: 0.75em;
  left: 50%;
  transform: translateX(-50%);
  color: white;
}
#nav-toggle.active {
  background-color: transparent;
  border: none;
}
#nav-toggle.active::before {
  opacity: 0;
}
#nav-toggle.active::after {
  display: none;
}
#nav-toggle.active span {
  background-color: #0058a2;
}
#nav-toggle.active span:nth-child(1) {
  top: 20px;
  right: auto;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
}
#nav-toggle.active span:nth-child(2) {
  top: 20px;
  right: auto;
  left: 50%;
  transform: translateX(-50%) rotate(-45deg);
}
#nav-toggle.active span:nth-child(3) {
  display: none;
}
#nav-toggle.active .menu-ttl {
  color: #0058a2;
}
#nav-toggle.nav-toggle-under span {
  background-color: #4d4d4d;
}
#nav-toggle.nav-toggle-under .menu-ttl {
  color: #4d4d4d;
}

/* z-index */
#nav-toggle {
  z-index: 1000;
}

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

.Fv {
  position: relative;
}
.Fv--under {
  aspect-ratio: 10/3;
}
@media screen and (max-width: 767px) {
  .Fv--under {
    height: 30vh !important;
    aspect-ratio: initial;
  }
}
.Fv--under--noTitle {
  aspect-ratio: 10/1;
  aspect-ratio: initial;
  height: 100px;
}
.Fv .FvMain {
  display: block;
  width: 100%;
  object-fit: cover;
  position: relative;
  aspect-ratio: 10/5;
}
@media screen and (max-width: 767px) {
  .Fv .FvMain {
    aspect-ratio: initial;
  }
}
.Fv::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  background-image: linear-gradient(90deg, #498f5d, #42798b);
  opacity: 0.8;
}
.Fv__inner {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.Fv__inner--under {
  position: relative;
  top: auto;
  left: auto;
}
@media screen and (max-width: 767px) {
  .Fv__inner--under {
    height: 30vh !important;
  }
}
.Fv .FvCopy {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  z-index: 20;
  color: white;
}
.Fv .FvCopy--under {
  position: relative;
  top: auto;
  left: auto;
  color: #4d4d4d;
}
.Fv .FvCopy--under::before {
  display: none;
}
.Fv .FvCopy__inner {
  padding: 0 5%;
  height: 100%;
  position: relative;
  z-index: 15;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .Fv .FvCopy__inner {
    padding: 0;
  }
}
.Fv .FvCopy__inner--under {
  padding-left: 10%;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Fv .FvCopy__inner--under {
    padding-left: 5%;
  }
}
@media screen and (max-width: 767px) {
  .Fv .FvCopy__inner--under {
    padding-left: 5%;
  }
}
.Fv .FvCopy__column {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  position: relative;
}
@media screen and (max-width: 767px) {
  .Fv .FvCopy__column {
    align-items: center;
  }
}
.Fv .FvCopy__mainCopy {
  font-size: clamp(5.2rem, 4.2vw, 100rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .Fv .FvCopy__mainCopy {
    font-size: 3.4rem;
    line-height: 1.1;
  }
}
.Fv .FvCopy .FvBtnList {
  display: flex;
  flex-direction: column;
  gap: 1em 0;
}
@media screen and (max-width: 767px) {
  .Fv .FvCopy .FvBtnList {
    gap: 0.75em 0;
  }
}
.Fv .FvCopy .pgTitle {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: clamp(3.8rem, 3.8vw, 100rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .Fv .FvCopy .pgTitle {
    padding-top: 1em;
    font-size: 3rem;
    letter-spacing: initial;
    align-items: center;
    text-align: center;
    gap: 0.15em 0;
  }
}
.Fv .FvCopy .pgTitle small {
  font-size: clamp(2.6rem, 2.6vw, 100rem);
}
@media screen and (max-width: 767px) {
  .Fv .FvCopy .pgTitle small {
    font-size: 2rem;
  }
}
.Fv .circlePoint {
  min-width: 30%;
  width: 30%;
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%) rotate(-15deg) scale(1);
  aspect-ratio: 1/0.95;
}
@media screen and (max-width: 767px) {
  .Fv .circlePoint {
    min-width: 60%;
    width: 60%;
    position: relative;
    top: auto;
    right: auto;
    transform: translateY(0) rotate(-15deg) scale(1);
  }
}
.Fv .circlePoint .PointItem {
  width: 55%;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  color: white;
  border: 1.5px solid white;
  border-radius: 50%;
  font-size: clamp(2.6rem, 2.1vw, 100rem);
  font-weight: 600;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .Fv .circlePoint .PointItem {
    font-size: 1.6rem;
  }
}
.Fv .circlePoint .PointItem--1 {
  top: 0;
  left: 50%;
  transform: translateX(-50%) rotate(15deg);
}
.Fv .circlePoint .PointItem--2 {
  bottom: 0;
  left: 0;
  transform: rotate(15deg);
}
.Fv .circlePoint .PointItem--3 {
  bottom: 0;
  right: 0;
  transform: rotate(15deg);
}

@media screen and (max-width: 767px) {
  /* dvh は使わず、svh を優先採用して固定 */
  @supports (height: 100svh) {
    .Fv,
    .Fv__inner,
    .Fv .FvMain {
      height: calc(100svh - var(--header-h, 0px));
      min-height: 0;
    }
  }
  /* svh 未対応だけ古典フォールバック（--vh or 100vh） */
  @supports not (height: 100svh) {
    .Fv,
    .Fv__inner,
    .Fv .FvMain {
      height: calc(var(--vh, 1vh) * 100 - var(--header-h, 0px));
      min-height: 0;
    }
  }
}
.BusinessLead {
  position: relative;
}
.BusinessLead__inner {
  padding: 0 5%;
}
@media screen and (max-width: 767px) {
  .BusinessLead__inner {
    padding: 0 7.5%;
  }
}
.BusinessLead__column {
  display: flex;
  gap: 0 48px;
}
@media screen and (max-width: 767px) {
  .BusinessLead__column {
    flex-direction: column;
    gap: 70px 0;
  }
}
@media screen and (max-width: 767px) {
  .BusinessLead__column--2 {
    gap: 15px 0;
  }
}
.BusinessLead .BusItem {
  width: calc(33.3333333333% - 32px);
  position: relative;
  box-shadow: 0 0 15px rgba(77, 77, 77, 0.25);
  border-radius: 6px;
}
@media screen and (max-width: 767px) {
  .BusinessLead .BusItem {
    width: 100%;
  }
}
.BusinessLead .BusItem .num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  aspect-ratio: 1/1;
  background-color: var(--color-primary);
  border-radius: 50%;
  color: white;
  position: absolute;
  top: -35px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 3rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .BusinessLead .BusItem .num {
    width: 60px;
    font-size: 2.5rem;
    top: -25px;
  }
}
.BusinessLead .BusItem__inner {
  height: 100%;
  padding: 15% 7.5% 35%;
  position: relative;
  box-sizing: border-box;
}
.BusinessLead .BusItem__ttl {
  font-size: clamp(1.8rem, 1.5vw, 100rem);
  font-weight: 700;
  line-height: 1.5;
}
.BusinessLead .BusItem .Icon {
  display: block;
  width: 100px;
  aspect-ratio: 1/1;
  object-fit: contain;
  object-position: center;
}
@media screen and (max-width: 767px) {
  .BusinessLead .BusItem .Icon {
    width: 70px;
  }
}
.BusinessLead .BusItem__Btn {
  width: 85%;
  position: absolute;
  bottom: 2.5em;
  left: 50%;
  transform: translateX(-50%);
}
.BusinessLead .Bnr {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(33.3333333333% - 32px);
  background-color: #ececec;
  color: #4d4d4d;
  aspect-ratio: 5/2;
  text-decoration: none;
  font-size: clamp(1.8rem, 1.5vw, 100rem);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .BusinessLead .Bnr {
    width: 100%;
    font-size: 1.5rem;
  }
}

.topNews {
  position: relative;
  background-color: var(--color-primary-light);
}
@media screen and (max-width: 767px) {
  .topNews {
    padding-bottom: 125px !important;
  }
}
.topNews--Column {
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .topNews--Column {
    padding-bottom: 70px !important;
  }
}
.topNews__inner {
  padding: 0 5%;
}
@media screen and (max-width: 767px) {
  .topNews__inner {
    padding: 0 7.5%;
  }
}
.topNews__column {
  display: flex;
}
@media screen and (max-width: 767px) {
  .topNews__column {
    flex-direction: column;
  }
}
.topNews__column--Column {
  gap: 0 100px;
}
@media screen and (max-width: 767px) {
  .topNews__column--Column {
    gap: 50px 0;
  }
}
.topNews__Head {
  min-width: 25%;
  width: 25%;
}
@media screen and (max-width: 767px) {
  .topNews__Head {
    min-width: initial;
    width: 100%;
  }
}
.topNews .NewsItem {
  width: calc(50% - 50px);
}
@media screen and (max-width: 767px) {
  .topNews .NewsItem {
    width: 100%;
  }
}
.topNews .NewsList {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.topNews .NewsList li {
  padding: 0.75em 0;
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid #4d4d4d;
}
@media screen and (max-width: 767px) {
  .topNews .NewsList li {
    flex-direction: column;
  }
}
.topNews .NewsList li .date {
  display: block;
  font-size: clamp(1.1rem, 1vw, 100rem);
  padding-top: 0.25em;
}
.topNews .NewsList li .newsLink {
  color: #4d4d4d;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .topNews .NewsListBtn {
    position: absolute;
    bottom: 35px;
    left: 50%;
    transform: translateX(-50%);
  }
}

.SearchCond {
  background-color: var(--color-primary-light);
  position: relative;
}
.SearchCond--noBg {
  background-color: transparent;
}
.SearchCond__inner {
  padding: 0 5%;
}
@media screen and (max-width: 767px) {
  .SearchCond__inner {
    padding: 0 3.5%;
  }
}
.SearchCond__column {
  display: flex;
  gap: 0 100px;
}
@media screen and (max-width: 767px) {
  .SearchCond__column {
    flex-direction: column;
    gap: 35px 0;
  }
}
.SearchCond .CondCnt {
  width: calc(50% - 50px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt {
    width: 100%;
  }
}
.SearchCond .CondCnt--full {
  width: 100%;
  background-color: #f1faff;
  border: 1px solid var(--color-primary);
  box-sizing: border-box;
}
.SearchCond .CondCnt--full::before {
  display: none !important;
}
.SearchCond .CondCnt::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 80px);
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #f1faff;
  border: 1px solid var(--color-primary);
  box-sizing: border-box;
}
.SearchCond .CondCnt__ttl {
  display: inline-flex;
  align-items: center;
  font-size: clamp(2rem, 1.6vw, 100rem);
  font-weight: 500;
  color: var(--color-primary);
  position: relative;
  gap: 0 0.5em;
  height: 80px;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt__ttl {
    font-size: 1.7rem;
  }
}
.SearchCond .CondCnt__ttl::before {
  content: "";
  display: block;
  width: 15px;
  aspect-ratio: 1/1.25;
  background-color: var(--color-primary);
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt__ttl::before {
    width: 12px;
  }
}
.SearchCond .CondCnt__inner {
  box-sizing: border-box;
  padding: 20% 5% 5%;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt__inner {
    padding: 10% 3.5% 5%;
  }
}
.SearchCond .CondCnt__inner--2 {
  padding: 5%;
}
.SearchCond .CondCnt__inner--3 {
  padding: 3.5%;
}
.SearchCond .CondCnt .JapanMap {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap {
    flex-direction: column;
  }
}
.SearchCond .CondCnt .JapanMap img {
  display: block;
  width: 80%;
}
.SearchCond .CondCnt .JapanMap .caption {
  display: block;
  padding-left: calc(12px + 0.5em);
  position: absolute;
  top: 0;
  left: 0;
  font-size: clamp(1.1rem, 0.9vw, 100rem);
  line-height: 1.5;
  color: var(--color-primary);
}
.SearchCond .CondCnt .JapanMap .caption .Icon {
  display: block;
  width: 12px;
  position: absolute;
  top: 0.15em;
  left: 0;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap .prefLinkWrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    box-sizing: border-box;
    padding: 5%;
    gap: 0.5em 0;
  }
}
.SearchCond .CondCnt .JapanMap .prefLink {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap .prefLink {
    position: relative;
  }
}
.SearchCond .CondCnt .JapanMap .prefLink a {
  font-size: clamp(1rem, 0.8vw, 100rem);
  text-decoration: none;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap .prefLink a {
    font-size: 1.4rem;
  }
}
.SearchCond .CondCnt .JapanMap .prefLink a:hover {
  font-weight: 700;
  text-decoration: underline;
}
.SearchCond .CondCnt .JapanMap .prefLink--List {
  display: inline-flex;
  flex-wrap: wrap;
  width: 5em;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap .prefLink--List {
    width: auto;
    gap: 0 0.75em;
  }
}
.SearchCond .CondCnt .JapanMap .prefLink--List a {
  display: block;
  width: 50%;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap .prefLink--List a {
    width: auto;
  }
}
.SearchCond .CondCnt .JapanMap .prefLink--1 {
  top: 5%;
  right: 30%;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap .prefLink--1 {
    top: auto;
    right: auto;
  }
}
.SearchCond .CondCnt .JapanMap .prefLink--1 a {
  color: #1e508b;
}
.SearchCond .CondCnt .JapanMap .prefLink--2 {
  top: 27.5%;
  right: 32.5%;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap .prefLink--2 {
    top: auto;
    right: auto;
  }
}
.SearchCond .CondCnt .JapanMap .prefLink--2 a {
  color: #1c7d8c;
}
.SearchCond .CondCnt .JapanMap .prefLink--3 {
  top: 65%;
  right: 2.5%;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap .prefLink--3 {
    top: auto;
    right: auto;
  }
}
.SearchCond .CondCnt .JapanMap .prefLink--3 a {
  color: #5aba87;
}
.SearchCond .CondCnt .JapanMap .prefLink--4 {
  bottom: 2.5%;
  right: 22.5%;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap .prefLink--4 {
    bottom: auto;
    right: auto;
  }
}
.SearchCond .CondCnt .JapanMap .prefLink--4 a {
  color: #29abe2;
}
.SearchCond .CondCnt .JapanMap .prefLink--5 {
  top: 45%;
  right: 42.5%;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap .prefLink--5 {
    top: auto;
    right: auto;
  }
}
.SearchCond .CondCnt .JapanMap .prefLink--5 a {
  color: #f5ba00;
}
.SearchCond .CondCnt .JapanMap .prefLink--6 {
  bottom: -10%;
  right: 37.5%;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap .prefLink--6 {
    bottom: auto;
    right: auto;
  }
}
.SearchCond .CondCnt .JapanMap .prefLink--6 a {
  color: #f87c04;
}
.SearchCond .CondCnt .JapanMap .prefLink--7 {
  top: 52.5%;
  left: 27.5%;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap .prefLink--7 {
    top: auto;
    left: auto;
  }
}
.SearchCond .CondCnt .JapanMap .prefLink--7 a {
  color: #d02f20;
}
.SearchCond .CondCnt .JapanMap .prefLink--8 {
  bottom: -10%;
  left: 32.5%;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap .prefLink--8 {
    bottom: auto;
    left: auto;
  }
}
.SearchCond .CondCnt .JapanMap .prefLink--8 a {
  color: #b361b1;
}
.SearchCond .CondCnt .JapanMap .prefLink--9 {
  bottom: 3.5%;
  left: 2.5%;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap .prefLink--9 {
    bottom: auto;
    left: auto;
  }
}
.SearchCond .CondCnt .JapanMap .prefLink--9 a {
  color: #6b3e97;
}
.SearchCond .CondCnt .JapanMap .prefLink--10 {
  top: 27.5%;
  left: 20%;
}
@media screen and (max-width: 767px) {
  .SearchCond .CondCnt .JapanMap .prefLink--10 {
    top: auto;
    left: auto;
  }
}
.SearchCond .CondCnt .JapanMap .prefLink--10 a {
  color: #593f77;
}
.SearchCond .Condition__column {
  display: flex;
  justify-content: space-between;
  grid-area: 0 50px;
}
.SearchCond .Condition__column .col-1 {
  width: calc(50% - 25px) !important;
}
.SearchCond .Condition dl {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 1em 0;
}
@media screen and (max-width: 767px) {
  .SearchCond .Condition dl {
    flex-direction: column;
    align-items: flex-start;
  }
}
.SearchCond .Condition dl.col-1 {
  align-items: flex-start;
  flex-direction: column;
}
.SearchCond .Condition dl dt,
.SearchCond .Condition dl dd {
  display: block;
  box-sizing: border-box;
}
.SearchCond .Condition dl dt {
  color: var(--color-primary);
  position: relative;
}
.SearchCond .Condition dl dt.label {
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  display: flex;
  align-items: center;
  gap: 0 0.5em;
  min-height: 50px;
}
.SearchCond .Condition dl dt.label::before {
  content: "";
  display: block;
  width: 8px;
  aspect-ratio: 1/1;
  background-color: var(--color-primary);
}
.SearchCond .Condition dl dd {
  width: 100%;
}
.SearchCond .Condition dl dd .ttl {
  color: var(--color-primary);
}
.SearchCond .Condition dl dd input[type="text"],
.SearchCond .Condition dl dd input[type="email"],
.SearchCond .Condition dl dd select,
.SearchCond .Condition dl dd textarea {
  width: 100%;
  max-width: 100%;
  font-size: clamp(1.3rem, 1.1vw, 100rem);
  padding: 0.75em;
  border: none;
  border: 1px solid #999;
  box-sizing: border-box;
  color: #4d4d4d;
  border-radius: 4px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .SearchCond .Condition dl dd input[type="text"],
  .SearchCond .Condition dl dd input[type="email"],
  .SearchCond .Condition dl dd select,
  .SearchCond .Condition dl dd textarea {
    padding: 1em 0.5em;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .SearchCond .Condition dl dd input[type="text"],
  .SearchCond .Condition dl dd input[type="email"],
  .SearchCond .Condition dl dd select,
  .SearchCond .Condition dl dd textarea {
    padding: 1em 0.5em;
    font-size: 1.5rem;
  }
}
.SearchCond .Condition dl dd input[type="text"]::placeholder,
.SearchCond .Condition dl dd input[type="email"]::placeholder,
.SearchCond .Condition dl dd select::placeholder,
.SearchCond .Condition dl dd textarea::placeholder {
  color: rgba(77, 77, 77, 0.5);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .SearchCond .Condition dl dd input[type="text"]::placeholder,
  .SearchCond .Condition dl dd input[type="email"]::placeholder,
  .SearchCond .Condition dl dd select::placeholder,
  .SearchCond .Condition dl dd textarea::placeholder {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .SearchCond .Condition dl dd input[type="text"]::placeholder,
  .SearchCond .Condition dl dd input[type="email"]::placeholder,
  .SearchCond .Condition dl dd select::placeholder,
  .SearchCond .Condition dl dd textarea::placeholder {
    font-size: 1.4rem;
  }
}
.SearchCond .Condition dl dd input[type="text"]:nth-last-of-type(1),
.SearchCond .Condition dl dd input[type="email"]:nth-last-of-type(1),
.SearchCond .Condition dl dd select:nth-last-of-type(1),
.SearchCond .Condition dl dd textarea:nth-last-of-type(1) {
  margin-bottom: 0;
}
.SearchCond .Condition dl dd input[type="text"]:disabled,
.SearchCond .Condition dl dd input[type="email"]:disabled,
.SearchCond .Condition dl dd select:disabled,
.SearchCond .Condition dl dd textarea:disabled {
  background-color: #f1f1f1;
}
.SearchCond .Condition dl dd input[type="radio"],
.SearchCond .Condition dl dd input[type="checkbox"] {
  width: 20px;
  height: 20px;
  vertical-align: -0.2em;
}
.SearchCond .Condition dl dd select {
  width: auto;
  font-size: 100%;
}
.SearchCond .Condition dl dd textarea {
  width: 100%;
  max-width: 100%;
  font-family: sans-serif;
  height: auto;
  max-height: initial;
}
.SearchCond .Condition dl dd .flexBox {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
@media screen and (max-width: 767px) {
  .SearchCond .Condition dl dd .flexBox {
    gap: 9px;
  }
}
.SearchCond .Condition dl dd .checkbox {
  width: calc(25% - 9px);
  display: inline-block;
  cursor: pointer;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .SearchCond .Condition dl dd .checkbox {
    width: calc(33.3333333333% - 6px);
  }
}
.SearchCond .Condition dl dd .checkbox input[type="checkbox"] {
  display: none; /* デフォルトのチェックを隠す */
}
.SearchCond .Condition dl dd .checkbox span {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--color-primary);
  border-radius: 50px;
  background-color: white;
  color: var(--color-primary);
  line-height: 1;
  text-align: center;
  transition: all 0.3s ease;
  word-break: keep-all; /* 日本語が途中改行されないように */
  padding: 0.5em 0;
  font-size: clamp(1.2rem, 1vw, 100rem);
  letter-spacing: -0.025em;
}
@media screen and (max-width: 767px) {
  .SearchCond .Condition dl dd .checkbox span {
    padding: 1em 0;
    letter-spacing: -0.05em;
  }
}
.SearchCond .Condition dl dd .checkbox {
  /* チェック時のスタイル */
}
.SearchCond .Condition dl dd .checkbox input[type="checkbox"]:checked + span {
  background-color: var(--color-primary);
  color: white;
}
.SearchCond .Condition dl dd dl {
  border-bottom: 1px dashed #999;
}
.SearchCond .Condition dl dd dl.borderTop {
  border-top: 1px dashed #999;
}
.SearchCond .Condition .flex-ptn1 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0 1em;
}
@media screen and (max-width: 767px) {
  .SearchCond .Condition .flex-ptn1 {
    gap: 0.5em;
  }
}
.SearchCond .Condition .Btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: none;
  font-size: clamp(1.6rem, 1.3vw, 100rem);
  font-weight: 500;
  border-radius: 0;
  position: relative;
}
.SearchCond .Condition .Btn--search {
  background-color: var(--color-primary);
  color: white;
}

.BtmBnr {
  position: relative;
}
.BtmBnr__inner {
  padding: 0 5%;
}
@media screen and (max-width: 767px) {
  .BtmBnr__inner {
    padding: 0 7.5%;
  }
}
.BtmBnr__column {
  display: flex;
  gap: 0 24px;
}
@media screen and (max-width: 767px) {
  .BtmBnr__column {
    flex-direction: column;
    gap: 15px 0;
  }
}
.BtmBnr .Bnr {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(25% - 18px);
  background-color: #ececec;
  color: #4d4d4d;
  aspect-ratio: 5/2;
  text-decoration: none;
  font-size: clamp(1.5rem, 1.2vw, 100rem);
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .BtmBnr .Bnr {
    width: 100%;
    font-size: 1.5rem;
  }
}

/* .Partners {
  position: relative;
}
.Partners__inner {
  padding: 0 10%;
}
@media screen and (max-width: 767px) {
  .Partners__inner {
    padding: 0 5%;
  }
}
.Partners__column {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .Partners__column {
    gap: 18px;
  }
}
.Partners a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(25% - 30px);
}
@media screen and (max-width: 767px) {
  .Partners a {
    width: calc(33.3333333333% - 12px);
  }
}
.Partners a img {
  display: block;
  height: 60px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .Partners a img {
    height: 25px;
  }
}
.Partners a img.Border {
  border: 1px solid #666;
}
.Partners a img.Ptn-1 {
  height: 80px;
}
@media screen and (max-width: 767px) {
  .Partners a img.Ptn-1 {
    height: 45px;
  }
}
.Partners a img.Ptn-2 {
  width: 80%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .Partners a img.Ptn-2 {
    width: 100%;
  }
}
.Partners a img.Ptn-3 {
  height: 40px;
}
@media screen and (max-width: 767px) {
  .Partners a img.Ptn-3 {
    height: 17.5px;
  }
} */

.Partners {
  position: relative;
}
.Partners__inner {
  padding: 0 10%;
}
@media screen and (max-width: 767px) {
  .Partners__inner {
    padding: 0 5%;
  }
}

/* 同じ大きさの枠を格子状に並べる（PC4列／タブレット3列／スマホ2列） */
.Partners__column {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Partners__column {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
}
@media screen and (max-width: 767px) {
  .Partners__column {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
}

/* 1社ぶんの枠：見えない枠で、すべて同じ大きさ */
.Partners a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 70px;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .Partners a {
    height: 44px;
  }
}
.Partners a:hover,
.Partners a:focus-visible {
  opacity: 0.75;
}

/* ロゴは「高さ60px・横幅240pxまで」の範囲に収める
   （以前の個別クラス Ptn-1〜3 もここで打ち消す） */
.Partners a img,
.Partners a img.Ptn-1,
.Partners a img.Ptn-2,
.Partners a img.Ptn-3 {
  display: block;
  width: auto;
  height: auto;
  max-width: min(100%, 240px);
  max-height: 60px;
}
@media screen and (max-width: 767px) {
  .Partners a img,
  .Partners a img.Ptn-1,
  .Partners a img.Ptn-2,
  .Partners a img.Ptn-3 {
    max-height: 40px;
  }
}
/* 日本経営士会の画像は、元から付いていた線を残す */
.Partners a img.Border {
  border: 1px solid #666;
}

@media (prefers-reduced-motion: reduce) {
  .Partners a {
    transition: none;
  }
}

/* バナー型の画像は、すべて同じ大きさ（210×60）にそろえる */
.Partners a img.Bnr {
  width: 210px;
  max-width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 7 / 2;
  object-fit: fill;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .Partners a img.Bnr {
    width: 150px;
  }
}

/* 枠のないロゴも、バナーと同じ210×60の線付きの枠に入れる */
.Partners a img:not(.Bnr) {
  width: 210px;
  max-width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 7 / 2;
  object-fit: contain;
  padding: 8px 6px;
  background-color: #fff;
  border: 1px solid #ccc;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .Partners a img:not(.Bnr) {
    width: 150px;
    padding: 6px 10px;
  }
}

/* クロノス：下の白い部分が背景に溶けるので線を付ける */
.Partners a img[src*="p-013"] {
  border: 1px solid #ccc;
}

/*!
page > page
------------------------------
*/
.Pankuzu {
  display: flex;
  padding: 1em 5% 0;
  font-size: 1.3rem;
  gap: 0 0.5em;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .Pankuzu {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .Pankuzu {
    display: none;
  }
}
.Pankuzu li {
  display: inline-flex;
  align-items: center;
  position: relative;
  gap: 0 0.5em;
}
.Pankuzu li::after {
  content: "";
  display: block;
  width: 6px;
  aspect-ratio: 1/1;
  border-top: solid 1px #4d4d4d;
  border-right: solid 1px #4d4d4d;
  transform: rotate(45deg);
}
.Pankuzu li a {
  color: #0058a2;
}
.Pankuzu li:last-child::after {
  display: none;
}

.Section__inner {
  padding: 0 5%;
}
/* 20261112 スマホの左右余白を 7.5% → 5% に（PCと同じ幅） */
@media screen and (max-width: 767px) {
  .Section__inner {
    padding: 0 5%;
  }
}
.Section__column {
  display: flex;
  flex-direction: column;
  gap: 100px 0;
}
@media screen and (max-width: 767px) {
  .Section__column {
    align-items: center;
  }
}
.Section__column--col2 {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 100px;
}
@media screen and (max-width: 767px) {
  .Section__column--col2 {
    flex-direction: column;
    gap: 50px 0;
  }
}
.Section__column--NewsArchive {
  gap: 50px 0;
}

.imgBox {
  display: block;
}
.imgBox img {
  display: block;
  width: 100%;
  height: auto !important;
}
.imgBox {
  /* pamphImg 用の装飾・フェード */
}
.imgBox img.pamphImg {
  box-sizing: border-box;
  border: 1px solid var(--color-primary);
}

.Box {
  background-color: var(--color-primary-light);
  border: 1px solid var(--color-primary);
  position: relative;
}
.Box--noBorder {
  border: none;
}
.Box--noBg {
  background-color: transparent;
}
.Box--inline {
  display: inline-flex;
}
.Box--Caution {
  background-color: #fff7ea;
}
.Box__inner {
  padding: 2.5em;
}
@media screen and (max-width: 767px) {
  .Box__inner {
    padding: 1.5em;
  }
}

.FlexBox__column {
  display: flex;
  gap: 0 5%;
}
@media screen and (max-width: 767px) {
  .FlexBox__column {
    flex-direction: column;
    gap: 25px 0;
  }
}
.FlexBox__column--rr {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .FlexBox__column--rr {
    flex-direction: column;
  }
}
.FlexBox__column--jcb {
  justify-content: space-between;
}
.FlexBox__block {
  width: 100%;
}

.pgNav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0 1.5em;
}
.pgNav li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  text-decoration: none;
  padding: 0.75em 2em;
  font-size: clamp(1.5rem, 1.2vw, 100rem);
  font-weight: 500;
  border-radius: 100px;
  line-height: 1.5;
}
.pgNav li a:hover {
  background-color: var(--color-primary);
  color: white;
}

.BnrWrap {
  display: flex;
  justify-content: center;
  gap: 0 3.5%;
}
@media screen and (max-width: 767px) {
  .BnrWrap {
    flex-direction: column;
    gap: 15px 0;
  }
}
.BnrWrap a {
  display: block;
  width: 30%;
}
@media screen and (max-width: 767px) {
  .BnrWrap a {
    width: 100%;
  }
}
.BnrWrap img {
  display: block;
  width: 100%;
}

.listIcon li {
  margin-bottom: 1em;
  padding-left: 2em;
  position: relative;
  line-height: 1.6;
  font-weight: 600;
}
.listIcon li i {
  position: absolute;
  top: 0.15em;
  left: 0;
  color: var(--color-primary);
}
.listIcon li .Icon {
  display: block;
  width: 30px;
  position: absolute;
  top: 0.15em;
  left: 0;
}
.listIcon li:last-child {
  margin-bottom: 0;
}
.listIcon--Middle li {
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .listIcon--Middle li {
    font-size: 1.6rem;
  }
}
.listIcon--Middle li i {
  font-size: clamp(2.2rem, 1.8vw, 100rem);
}
@media screen and (max-width: 767px) {
  .listIcon--Middle li i {
    font-size: 2rem;
  }
}

.BgTable th,
.BgTable td {
  padding: 1.5em;
  background-color: var(--color-primary-light);
  border-bottom: 10px solid white;
  vertical-align: middle;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .BgTable th,
  .BgTable td {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .BgTable th {
    padding-bottom: 0;
    border-bottom: none;
  }
}

.archiveList {
  position: relative;
}
.archiveList--newsInfo {
  border-bottom: 1px solid #4d4d4d;
}
.archiveList--newsInfo:nth-last-of-type(1) {
  border-bottom: none;
}
.archiveList--activity {
  padding-left: calc(60px + 0.5em) !important;
  border-bottom: 1px solid #4d4d4d;
}
@media screen and (max-width: 767px) {
  .archiveList--activity {
    padding-left: calc(40px + 0.5em) !important;
  }
}
.archiveList--activity:nth-last-of-type(1) {
  border-bottom: none;
}
.archiveList--activity .Icon {
  display: block;
  width: 60px;
  position: absolute;
  top: 2.5em;
  left: 0;
}
@media screen and (max-width: 767px) {
  .archiveList--activity .Icon {
    width: 40px;
    top: 3.5em;
  }
}
.archiveList--columns {
  padding-left: calc(60px + 0.5em) !important;
  border-bottom: 1px solid #4d4d4d;
}
.archiveList--columns:nth-last-of-type(1) {
  border-bottom: none;
}
.archiveList--columns .Icon {
  display: block;
  width: 50px;
  position: absolute;
  top: 2em;
  left: 0;
}
.archiveList--columns--guide .Icon {
  top: 2.5em;
}
.archiveList--col2 {
  width: calc(50% - 50px);
  padding-bottom: 50px;
  box-sizing: border-box;
  border-bottom: 1px solid #4d4d4d;
}
@media screen and (max-width: 767px) {
  .archiveList--col2 {
    width: 100%;
  }
}
.archiveList__column {
  display: flex;
  gap: 0 5%;
}
@media screen and (max-width: 767px) {
  .archiveList__column {
    flex-direction: column;
    gap: 25px 0;
  }
}
@media screen and (max-width: 767px) {
  .archiveList__column--columns {
    flex-direction: row;
    gap: 0 5%;
  }
}
.archiveList__block {
  width: 100%;
}
.archiveList .date,
.archiveList .cate {
  font-size: clamp(1.1rem, 0.9vw, 100rem);
  line-height: 1.5;
}
.archiveList .dlBtnWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 15%;
  width: 15%;
}
@media screen and (max-width: 767px) {
  .archiveList .dlBtnWrap {
    min-width: initial;
    width: auto;
  }
}

.pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  font-size: 1.2rem;
}
.pagination a,
.pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5em 1em;
  border: 1px solid #ccc;
  border-radius: 4px;
  text-decoration: none;
  color: #4d4d4d;
  background: #f9f9f9;
  transition: all 0.2s ease;
  line-height: 1.5;
}
.pagination a:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: white;
}
.pagination .current {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: white;
  font-weight: bold;
  pointer-events: none; /* クリック不可にする */
}

.pagenavi {
  display: flex;
  justify-content: center;
  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: #4d4d4d;
  font-size: 1.4rem;
  position: relative;
  border: 1px solid #ccc;
  border-radius: 4px;
}
@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-primary);
  border-color: var(--color-primary);
  color: white;
}

/*!
page > about
------------------------------
*/
.PgAbout {
  overflow: hidden;
}

.PgAgriculture {
  overflow: hidden;
}

/*!
page > corp
------------------------------
*/
.PgCorp {
  overflow: hidden;
}
.PgCorp .Cnt--1__column {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 0 5%;
}
@media screen and (max-width: 767px) {
  .PgCorp .Cnt--1__column {
    flex-direction: column;
    align-items: flex-start;
    gap: 25px 0;
  }
}
.PgCorp .Cnt--1__img {
  display: block;
  min-width: 37.5%;
  width: 37.5%;
}
@media screen and (max-width: 767px) {
  .PgCorp .Cnt--1__img {
    min-width: initial;
    width: 100%;
  }
}
.PgCorp .Cnt--1__img img {
  display: block;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 5/5.5;
}
@media screen and (max-width: 767px) {
  .PgCorp .Cnt--1__img img {
    aspect-ratio: 5/3;
  }
}
.PgCorp .Cnt--1__img img.corp-img-2 {
  object-fit: initial;
  aspect-ratio: initial;
}
.PgCorp .Cnt--1__block {
  width: 100%;
}
.PgCorp .Cnt--1 .IssueList li,
.PgCorp .Cnt--1 .ProblemList li {
  margin-bottom: 1em;
  padding-left: 2em;
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  font-weight: 600;
  position: relative;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .PgCorp .Cnt--1 .IssueList li,
  .PgCorp .Cnt--1 .ProblemList li {
    font-size: 1.6rem;
  }
}
.PgCorp .Cnt--1 .IssueList li i,
.PgCorp .Cnt--1 .ProblemList li i {
  position: absolute;
  top: 0.15em;
  left: 0;
  color: var(--color-primary);
  font-size: clamp(2.2rem, 1.8vw, 100rem);
}
@media screen and (max-width: 767px) {
  .PgCorp .Cnt--1 .IssueList li i,
  .PgCorp .Cnt--1 .ProblemList li i {
    font-size: 2rem;
  }
}
.PgCorp .Cnt--1 .IssueList li:last-child,
.PgCorp .Cnt--1 .ProblemList li:last-child {
  margin-bottom: 0;
}
.PgCorp .Cnt--1 .ProblemList li i {
  color: #f15a24;
  transform: rotate(-45deg);
}
.PgCorp .Cnt--1 .PointList {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
}
@media screen and (max-width: 767px) {
  .PgCorp .Cnt--1 .PointList {
    flex-direction: column;
    gap: 15px 0;
  }
}
.PgCorp .Cnt--1 .PointList li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(50% - 25px);
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  font-weight: 600;
  position: relative;
  line-height: 1.6;
  box-sizing: border-box;
  border-radius: 50px;
  border: 2.5px solid var(--color-primary);
  color: var(--color-primary);
  padding: 1em;
  gap: 0 0.35em;
}
@media screen and (max-width: 767px) {
  .PgCorp .Cnt--1 .PointList li {
    font-size: 1.6rem;
    width: 100%;
    justify-content: flex-start;
    border-radius: 10px;
  }
}
.PgCorp .Cnt--1 .PointList li i {
  font-size: clamp(2rem, 1.6vw, 100rem);
}
@media screen and (max-width: 767px) {
  .PgCorp .Cnt--1 .PointList li i {
    font-size: 2.6rem;
  }
}
.PgCorp .Cnt--1 .Arrow {
  display: block;
  width: 140px;
  aspect-ratio: 5/2;
  background-image: linear-gradient(180deg, #ddf2f8, #f5fcfe);
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}
@media screen and (max-width: 767px) {
  .PgCorp .Cnt--1 .Arrow {
    width: 100px;
  }
}

.PgConsulting {
  overflow: hidden;
}
.PgConsulting .Cnt--1__column {
  display: flex;
  gap: 42px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .PgConsulting .Cnt--1__column {
    flex-direction: column;
    gap: 25px 0;
  }
}
.PgConsulting .Cnt--1 .SvItem {
  width: calc(33.3333333333% - 28px);
  box-shadow: 0 0 15px rgba(77, 77, 77, 0.25);
  border-radius: 6px;
}
@media screen and (max-width: 767px) {
  .PgConsulting .Cnt--1 .SvItem {
    width: 100%;
  }
}
.PgConsulting .Cnt--1 .SvItem .title-Lv2 {
  align-items: center;
  min-height: 3em;
  font-size: clamp(1.8rem, 1.5vw, 100rem);
  line-height: 1.5;
}
.PgConsulting .Cnt--1 .SvItem__inner {
  padding: 5%;
}
.PgConsulting .Cnt--1 .SvItem__column {
  display: flex;
  gap: 0 2.5em;
}
@media screen and (max-width: 767px) {
  .PgConsulting .Cnt--1 .SvItem__column {
    flex-direction: column;
    gap: 25px 0;
    align-items: center;
  }
}
.PgConsulting .Cnt--1 .SvItem__img {
  display: block;
  min-width: 35%;
  width: 35%;
}
@media screen and (max-width: 767px) {
  .PgConsulting .Cnt--1 .SvItem__img {
    min-width: initial;
    width: 100%;
  }
}
.PgConsulting .Cnt--1 .SvItem__img img {
  display: block;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 5/4.5;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .PgConsulting .Cnt--1 .SvItem__img img {
    aspect-ratio: 5/3;
  }
}
.PgConsulting .Cnt--1 .SvItem__block {
  width: 100%;
}
.PgConsulting .Cnt--1 .SvItem__block p {
  font-size: clamp(1.2rem, 1vw, 100rem);
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .PgConsulting .Cnt--1 .SvItem__block p {
    font-size: 1.4rem;
  }
}
.PgConsulting .Cnt--2 .PointList {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
}
@media screen and (max-width: 767px) {
  .PgConsulting .Cnt--2 .PointList {
    flex-direction: column;
    gap: 15px 0;
  }
}
.PgConsulting .Cnt--2 .PointList li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(50% - 25px);
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  font-weight: 600;
  position: relative;
  line-height: 1.6;
  box-sizing: border-box;
  border-radius: 50px;
  border: 2.5px solid var(--color-primary);
  color: var(--color-primary);
  padding: 1em;
  gap: 0 0.35em;
}
@media screen and (max-width: 767px) {
  .PgConsulting .Cnt--2 .PointList li {
    font-size: 1.6rem;
    width: 100%;
    justify-content: flex-start;
    border-radius: 10px;
  }
}

.PgOutsourcing {
  overflow: hidden;
}
.PgOutsourcing .Cnt--1__column {
  display: flex;
  gap: 50px;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .PgOutsourcing .Cnt--1__column {
    flex-direction: column;
    gap: 25px 0;
  }
}
.PgOutsourcing .Cnt--1 .SvItem {
  width: calc(50% - 25px);
  box-shadow: 0 0 15px rgba(77, 77, 77, 0.25);
  border-radius: 6px;
}
@media screen and (max-width: 767px) {
  .PgOutsourcing .Cnt--1 .SvItem {
    width: 100%;
  }
}
.PgOutsourcing .Cnt--1 .SvItem .title-Lv2 {
  align-items: center;
  min-height: 3em;
  font-size: clamp(1.8rem, 1.5vw, 100rem);
  line-height: 1.5;
}
.PgOutsourcing .Cnt--1 .SvItem__inner {
  padding: 5%;
}
.PgOutsourcing .Cnt--1 .SvItem__column {
  display: flex;
  gap: 0 2.5em;
}
@media screen and (max-width: 767px) {
  .PgOutsourcing .Cnt--1 .SvItem__column {
    flex-direction: column;
    gap: 25px 0;
    align-items: center;
  }
}
.PgOutsourcing .Cnt--1 .SvItem__img {
  display: block;
  min-width: 30%;
  width: 30%;
}
@media screen and (max-width: 767px) {
  .PgOutsourcing .Cnt--1 .SvItem__img {
    min-width: initial;
    width: 100%;
  }
}
.PgOutsourcing .Cnt--1 .SvItem__img img {
  display: block;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 5/4.5;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .PgOutsourcing .Cnt--1 .SvItem__img img {
    aspect-ratio: 5/3;
  }
}
.PgOutsourcing .Cnt--1 .SvItem__block {
  width: 100%;
}
.PgOutsourcing .Cnt--1 .SvItem__block p {
  font-size: clamp(1.2rem, 1vw, 100rem);
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .PgOutsourcing .Cnt--1 .SvItem__block p {
    font-size: 1.4rem;
  }
}

.PgCorpFaq {
  overflow: hidden;
}
.PgCorpFaq .Cnt--1__column {
  display: flex;
  gap: 50px;
  flex-wrap: wrap;
}
.PgCorpFaq .Cnt--1 .faqItem {
  position: relative;
}
.PgCorpFaq .Cnt--1 .faqItem a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.PgCorpFaq .Cnt--1 .faqItem a:hover {
  background-color: #f1faff;
}
.PgCorpFaq .Cnt--1 .faqItem__inner {
  padding: 1em 0;
  position: relative;
  z-index: 10;
  border-bottom: 1px solid #4d4d4d;
  pointer-events: none;
}
.PgCorpFaq .Cnt--1 .faqItem__column {
  display: flex;
  align-items: flex-start;
  gap: 0 5%;
}
@media screen and (max-width: 767px) {
  .PgCorpFaq .Cnt--1 .faqItem__column {
    flex-direction: column;
    gap: 0.5em 0;
  }
}
.PgCorpFaq .Cnt--1 .faqItem .headLabel {
  width: 15%;
  min-width: 15%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #f15a24;
  color: white;
  font-size: clamp(1rem, 0.8vw, 100rem);
  position: relative;
  padding: 0.75em 0.25em;
  border-radius: 4px;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .PgCorpFaq .Cnt--1 .faqItem .headLabel {
    min-width: initial;
    width: auto;
    font-size: 1.2rem;
    padding: 0.5em 1em;
  }
}
.PgCorpFaq .Cnt--1 .faqItem__ttl {
  width: 100%;
  text-decoration: none;
  font-weight: 600;
  color: var(--color-primary);
}
.PgCorpFaq .Cnt--1 .faqItem__ttl:hover {
  text-decoration: underline;
}

.PgIndie {
  overflow: hidden;
}
.PgIndie .Cnt--1 .aboutIndie {
  position: relative;
  background-image: linear-gradient(90deg, #498f5d, #42798b);
  padding: 1.5px;
}
.PgIndie .Cnt--1 .aboutIndie__column {
  display: flex;
}
@media screen and (max-width: 767px) {
  .PgIndie .Cnt--1 .aboutIndie__column {
    flex-direction: column;
  }
}
.PgIndie .Cnt--1 .aboutIndie__ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25%;
  min-width: 25%;
  color: white;
  font-size: clamp(2.2rem, 1.8vw, 100rem);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .PgIndie .Cnt--1 .aboutIndie__ttl {
    min-width: initial;
    width: 100%;
    padding: 1em 0;
    font-size: 2rem;
  }
}
.PgIndie .Cnt--1 .aboutIndie__block {
  width: 100%;
  box-sizing: border-box;
  background-color: white;
  padding: 2.5em;
}
@media screen and (max-width: 767px) {
  .PgIndie .Cnt--1 .aboutIndie__block {
    padding: 1.5em;
  }
}

/*!
page > office_info
------------------------------
*/
.PgOffice_info {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .PgOffice_info .Cnt--2 .historyTable td {
    display: block;
    padding: 0.5em 0;
  }
}
@media screen and (max-width: 767px) {
  .PgOffice_info .Cnt--2 .historyTable td:nth-of-type(1) {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .PgOffice_info .Cnt--2 .historyTable td:last-child {
    padding-top: 0;
    border-bottom: 1px solid #4d4d4d;
  }
}
.PgOffice_info .Cnt--3 .outlineTable th,
.PgOffice_info .Cnt--3 .outlineTable td {
  padding: 1em;
  border: 1px solid var(--color-primary);
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .PgOffice_info .Cnt--3 .outlineTable th,
  .PgOffice_info .Cnt--3 .outlineTable td {
    display: block;
    border-bottom: none;
  }
}
.PgOffice_info .Cnt--3 .outlineTable th {
  font-weight: 700;
  background-color: #f1faff;
  color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .PgOffice_info .Cnt--3 .outlineTable tr:last-child td {
    border-bottom: 1px solid var(--color-primary);
  }
}
.PgOffice_info .Cnt--4__column {
  display: flex;
}
@media screen and (max-width: 767px) {
  .PgOffice_info .Cnt--4__column {
    flex-direction: column;
    gap: 25px 0;
  }
}
.PgOffice_info .Cnt--4__block {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .PgOffice_info .Cnt--4__block {
    width: 100%;
  }
}
.PgOffice_info .Cnt--4 .map {
  width: 100%;
  height: 460px;
  overflow: hidden;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .PgOffice_info .Cnt--4 .map {
    height: 300px;
  }
}
@media screen and (max-width: 767px) {
  .PgOffice_info .Cnt--4 .map {
    width: 100%;
    height: 220px;
  }
}
.PgOffice_info .Cnt--4 .map iframe {
  width: 100%;
  height: 750px;
  margin-top: -150px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .PgOffice_info .Cnt--4 .map iframe {
    height: 620px;
  }
}
@media screen and (max-width: 767px) {
  .PgOffice_info .Cnt--4 .map iframe {
    height: 520px;
  }
}

/*!
page > pamphlet
------------------------------
*/
.PgPamphlet {
  overflow: hidden;
}

/*!
page > social
------------------------------
*/
.PgSocial {
  overflow: hidden;
}
.PgSocial .Cnt--1 .SocialItem .SocialGallery {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.PgSocial .Cnt--1 .SocialItem .SocialGallery a {
  display: block;
  width: calc(10% - 18px);
}
.PgSocial .Cnt--1 .SocialItem .SocialGallery a img {
  display: block;
  width: 100%;
}

/*!
page > books
------------------------------
*/
.PgBooks {
  overflow: hidden;
}
.PgBooks .BookPost__column {
  display: flex;
  align-items: flex-start;
  gap: 0 5%;
}
@media screen and (max-width: 767px) {
  .PgBooks .BookPost__column {
    flex-direction: column;
    gap: 25px;
    align-items: center;
  }
}
.PgBooks .BookPost .imgBox {
  min-width: 30%;
  width: 30%;
}
@media screen and (max-width: 767px) {
  .PgBooks .BookPost .imgBox {
    min-width: initial;
    width: 70%;
  }
}
.PgBooks .BookPost__block {
  width: 100%;
}
.PgBooks .BookPost .wpcf-field-dvd_list span {
  display: block;
  position: relative;
  padding-left: 1em;
}
.PgBooks .BookPost .wpcf-field-dvd_list span::before {
  content: "";
  display: block;
  width: 7px;
  height: 1px;
  background-color: #4d4d4d;
  position: absolute;
  top: 1em;
  left: 0;
}
.PgBooks .BookPost .pdfLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  gap: 0 0.25em;
}
.PgBooks .BookPost .pdfLink::after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 1.5px #0058a2;
  border-right: solid 1.5px #0058a2;
  transform: rotate(45deg);
}
.PgBooks .BookPost .pdfLink i {
  font-size: 2rem;
  color: #cd0808;
}
.PgBooks .BookPost .dvdContents {
  border: 1px solid #b3b3b3;
}
.PgBooks .BookPost .dvdContents__inner {
  padding: 2.5%;
}
.PgBooks .BookPost .dvdContents__column {
  display: flex;
  align-items: flex-start;
  gap: 0 3.5%;
}
.PgBooks .BookPost .dvdContents__video {
  display: block;
  min-width: 40%;
  width: 40%;
}
.PgBooks .BookPost .dvdContents__video iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.PgBooks .BookPost .dvdContents__block {
  width: 100%;
}

/*!
page > member
------------------------------
*/
.PgMember {
  overflow: hidden;
}
.PgMember .SrupOffice {
  border-bottom: 1px solid #b3b3b3;
}
.PgMember .SrupOffice__inner {
  padding: 50px 0;
}
.PgMember .SrupOffice__column {
  display: flex;
}
@media screen and (max-width: 767px) {
  .PgMember .SrupOffice__column {
    flex-direction: column;
  }
}
.PgMember .SrupOffice__block {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .PgMember .SrupOffice__block {
    width: 100%;
  }
}
.PgMember .MemberItem {
  border-bottom: 1px solid #b3b3b3;
}
.PgMember .MemberItem:nth-last-of-type(1) {
  border-bottom: none;
}
.PgMember .MemberItem__inner {
  padding: 50px 0;
}
.PgMember .MemberItem__column {
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .PgMember .MemberItem__column {
    flex-direction: column;
    gap: 25px 0;
  }
}
.PgMember .MemberItem__block {
  width: 100%;
}
.PgMember .MemberItem__Btn {
  min-width: 25%;
  width: 25%;
}
@media screen and (max-width: 767px) {
  .PgMember .MemberItem__Btn {
    min-width: initial;
    width: 100%;
  }
}
.PgMember .MemberItem__Table th,
.PgMember .MemberItem__Table td {
  position: relative;
}
@media screen and (max-width: 767px) {
  .PgMember .MemberItem__Table th,
  .PgMember .MemberItem__Table td {
    display: block;
    padding: 0.5em 0;
  }
}
.PgMember .MemberItem__Table th {
  width: 160px;
  min-width: 160px;
}
@media screen and (max-width: 767px) {
  .PgMember .MemberItem__Table th {
    padding-bottom: 0;
    width: 100%;
    min-width: initial;
    font-weight: 600;
  }
}
.PgMember .MemberItem__Table th::after {
  content: "：";
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .PgMember .MemberItem__Table th::after {
    display: none;
  }
}
.PgMember .MemberItem__Table td {
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .PgMember .MemberItem__Table td {
    padding: 0;
  }
}
.PgMember .MemberItem__Table td a {
  text-decoration: none;
  color: #4d4d4d;
  word-break: break-all;
}
.PgMember .MemCnt {
  border-bottom: 1px solid #b3b3b3;
}
.PgMember .MemCnt:nth-last-of-type(1) {
  border-bottom: none;
}
.PgMember .MemCnt__column {
  display: flex;
  align-items: flex-start;
  gap: 0 5%;
}
@media screen and (max-width: 767px) {
  .PgMember .MemCnt__column {
    flex-direction: column;
    align-items: center;
    gap: 25px 0;
  }
}
.PgMember .MemCnt__img {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 15%;
  width: 15%;
  aspect-ratio: 1/1;
  border: 1px solid #b3b3b3;
}
@media screen and (max-width: 767px) {
  .PgMember .MemCnt__img {
    min-width: initial;
    width: 50%;
  }
}
.PgMember .MemCnt__img img {
  display: block;
  width: 100%;
}
.PgMember .MemCnt__block {
  width: 100%;
}
.PgMember .MemCnt__message {
  font-size: clamp(2rem, 1.6vw, 100rem);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .PgMember .MemCnt__message {
    font-size: 1.8rem;
  }
}
.PgMember .MemCnt .memTermList {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
@media screen and (max-width: 767px) {
  .PgMember .MemCnt .memTermList {
    flex-wrap: wrap;
  }
}
.PgMember .MemCnt .memTermList li {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--color-primary);
  border-radius: 50px;
  background-color: white;
  color: var(--color-primary);
  line-height: 1;
  text-align: center;
  transition: all 0.3s ease;
  word-break: keep-all; /* 日本語が途中改行されないように */
  padding: 0.75em 1.75em;
  font-size: clamp(1.3rem, 1.1vw, 100rem);
  letter-spacing: -0.025em;
}
@media screen and (max-width: 767px) {
  .PgMember .MemCnt .memTermList li {
    padding: 0.75em 1.5em;
  }
}
.PgMember .MemCnt .MemBookList__column {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .PgMember .MemCnt .MemBookList__column {
    flex-direction: column;
    gap: 15px 0;
  }
}
.PgMember .MemCnt .MemBook {
  width: calc(33.3333333333% - 20px);
  border: 1px solid #b3b3b3;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .PgMember .MemCnt .MemBook {
    width: 100%;
  }
}
.PgMember .MemCnt .MemBook__inner {
  padding: 1em;
}
.PgMember .MemCnt .MemBook__column {
  display: flex;
  align-items: flex-start;
  gap: 0 1.5em;
}
.PgMember .MemCnt .MemBook__img {
  display: block;
  min-width: 25%;
  width: 25%;
}
.PgMember .MemCnt .MemBook__img img {
  display: block;
  width: 100%;
}
.PgMember .MemCnt .MemBook__block {
  width: 100%;
}
.PgMember .MemCnt .MemBook__block p {
  font-size: clamp(1.1rem, 0.9vw, 100rem);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .PgMember .MemCnt .MemBook__block p {
    font-size: 1.3rem;
  }
}
.PgMember .MemCnt .MemLogo {
  display: block;
  width: 20%;
}
@media screen and (max-width: 767px) {
  .PgMember .MemCnt .MemLogo {
    width: 60%;
  }
}
.PgMember .MemCnt .MemLogo img {
  display: block;
  width: 100%;
}
.PgMember .MemCnt .MemTable th,
.PgMember .MemCnt .MemTable td {
  padding: 0.5em;
  border: 1px solid #b3b3b3;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .PgMember .MemCnt .MemTable th,
  .PgMember .MemCnt .MemTable td {
    display: block;
    border-bottom: none;
  }
}
.PgMember .MemCnt .MemTable th {
  background-color: #f1faff;
  font-weight: bold;
  color: var(--color-primary);
}
.PgMember .MemCnt .MemTable th .row {
  display: flex;
  align-items: center;
  gap: 0 0.35em;
}
.PgMember .MemCnt .MemTable th .row .Icon {
  display: block;
  width: 20px;
  aspect-ratio: 1/1;
  object-fit: contain;
  object-position: center;
}
@media screen and (max-width: 767px) {
  .PgMember .MemCnt .MemTable td a {
    word-break: break-all;
  }
}
@media screen and (max-width: 767px) {
  .PgMember .MemCnt .MemTable tr:last-child td:last-child {
    border-bottom: 1px solid #b3b3b3;
  }
}
.PgMember .MemCnt .MemAccess__column {
  display: flex;
  align-items: flex-start;
  gap: 0 5%;
}
@media screen and (max-width: 767px) {
  .PgMember .MemCnt .MemAccess__column {
    flex-direction: column;
    gap: 25px 0;
    align-items: center;
  }
}
.PgMember .MemCnt .MemAccess__img {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 25%;
  width: 25%;
  border: 1px solid #b3b3b3;
}
@media screen and (max-width: 767px) {
  .PgMember .MemCnt .MemAccess__img {
    min-width: initial;
    width: 50%;
  }
}
.PgMember .MemCnt .MemAccess__img img {
  display: block;
  width: 100%;
}
.PgMember .MemCnt .MemAccess__block {
  width: 100%;
}
.PgMember .MemCnt .MemAccess .gm-map {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 5/2;
}
@media screen and (max-width: 767px) {
  .PgMember .MemCnt .MemAccess .gm-map {
    aspect-ratio: 5/3.5;
  }
}

/*!
page > mynumber
------------------------------
*/
.PgMynumber {
  overflow: hidden;
}
.PgMynumber .Cnt--1 .NewsList {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.PgMynumber .Cnt--1 .NewsList li {
  padding: 0.75em 0;
  padding-left: 3em;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  border-bottom: 1px solid #4d4d4d;
  position: relative;
}
@media screen and (max-width: 767px) {
  .PgMynumber .Cnt--1 .NewsList li {
    padding-left: 2em;
  }
}
.PgMynumber .Cnt--1 .NewsList li i {
  position: absolute;
  top: 0.75em;
  left: 0;
  font-size: clamp(3rem, 2.4vw, 100rem);
  color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .PgMynumber .Cnt--1 .NewsList li i {
    font-size: 2.4rem;
  }
}
.PgMynumber .Cnt--1 .NewsList li .date {
  display: block;
  font-size: clamp(1.1rem, 1vw, 100rem);
  padding-top: 0.25em;
}
.PgMynumber .Cnt--1 .NewsList li .newsLink {
  color: #4d4d4d;
  text-decoration: none;
  font-size: clamp(1.5rem, 1.2vw, 100rem);
  font-weight: 600;
}
.PgMynumber .Cnt--2 .mmSecurity {
  position: relative;
  background-image: linear-gradient(90deg, #498f5d, #42798b);
  padding: 1.5px;
}
.PgMynumber .Cnt--2 .mmSecurity__ttl {
  display: flex;
  justify-content: center;
  color: white;
  padding: 0.5em;
  font-size: clamp(2.5rem, 2vw, 100rem);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .PgMynumber .Cnt--2 .mmSecurity__ttl {
    font-size: 2rem;
    line-height: 1.5;
  }
}
.PgMynumber .Cnt--2 .mmSecurity__inner {
  background-color: white;
  padding: 2.5em;
}
@media screen and (max-width: 767px) {
  .PgMynumber .Cnt--2 .mmSecurity__inner {
    padding: 1.5em;
  }
}
.PgMynumber .Cnt--2 .mmSecurity__column {
  display: flex;
  gap: 0 24px;
}
@media screen and (max-width: 767px) {
  .PgMynumber .Cnt--2 .mmSecurity__column {
    flex-wrap: wrap;
    gap: 12px;
  }
}
.PgMynumber .Cnt--2 .mmSecurity__img {
  display: block;
  width: calc(16.6666666667% - 20px);
}
@media screen and (max-width: 767px) {
  .PgMynumber .Cnt--2 .mmSecurity__img {
    width: calc(33.3333333333% - 8px);
  }
}
.PgMynumber .Cnt--2 .mmSecurity__img img {
  display: block;
  width: 80%;
}
.PgMynumber .Cnt--2 .mmSecurity__img figcaption {
  display: block;
}
@media screen and (max-width: 767px) {
  .PgMynumber .Cnt--2 .mmSecurity__img figcaption {
    line-height: 1.4;
    font-size: 1.3rem;
  }
}

/*!
page > sr
------------------------------
*/
.PgSr {
  overflow: hidden;
}
.PgSr .Cnt--1 .SvTable th,
.PgSr .Cnt--1 .SvTable td {
  padding: 0.75em 0.5em;
  line-height: 1.6;
  border: 1px solid #ccc;
  vertical-align: middle;
}
.PgSr .Cnt--1 .SvTable th.corder-lt {
  border: none;
}
.PgSr .Cnt--1 .SvTable th.headItem {
  background-color: #eeeeee;
  font-weight: 700;
}
.PgSr .Cnt--1 .SvTable td {
  text-align: center;
  background-color: #daf0ff;
}
.PgSr .Cnt--2 .FlowList__column {
  display: flex;
  flex-direction: column;
  gap: 35px 0;
}
.PgSr .Cnt--2 .FlowItem__column {
  display: flex;
  align-items: center;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .PgSr .Cnt--2 .FlowItem__column {
    flex-direction: column;
    align-items: flex-start;
  }
}
.PgSr .Cnt--2 .FlowItem__ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 25%;
  width: 25%;
  background-color: #2b8bd3;
  color: white;
  position: relative;
  font-size: clamp(2.2rem, 1.8vw, 100rem);
  font-weight: 600;
  padding: 1em 0;
}
@media screen and (max-width: 767px) {
  .PgSr .Cnt--2 .FlowItem__ttl {
    min-width: initial;
    width: 50%;
    padding: 0.5em;
    font-size: 2rem;
  }
}
.PgSr .Cnt--2 .FlowItem__ttl::before {
  content: "";
  display: block;
  width: 30px;
  height: calc(50% + 1px);
  background-color: white;
  clip-path: polygon(0 0%, 100% 0%, 100% 100%);
  position: absolute;
  top: -1px;
  right: -1px;
}
.PgSr .Cnt--2 .FlowItem__ttl::after {
  content: "";
  display: block;
  width: 30px;
  height: calc(50% + 1px);
  background-color: white;
  clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
  position: absolute;
  bottom: -1px;
  right: -1px;
}
.PgSr .Cnt--2 .FlowItem__block {
  width: 100%;
  box-sizing: border-box;
  padding: 2.5em;
}
@media screen and (max-width: 767px) {
  .PgSr .Cnt--2 .FlowItem__block {
    padding: 1.5em 0;
  }
}

/*!
page > room
------------------------------
*/
.PgRoom {
  overflow: hidden;
}
.PgRoom .Cnt--1 .ColumnIndex__column {
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
}
@media screen and (max-width: 767px) {
  .PgRoom .Cnt--1 .ColumnIndex__column {
    flex-direction: column;
    gap: 35px 0;
  }
}
.PgRoom .Cnt--1 .ColumnItem {
  width: calc(33.3333333333% - 32px);
  position: relative;
  box-shadow: 0 0 15px rgba(77, 77, 77, 0.25);
  border-radius: 6px;
}
@media screen and (max-width: 767px) {
  .PgRoom .Cnt--1 .ColumnItem {
    width: 100%;
  }
}
.PgRoom .Cnt--1 .ColumnItem a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.PgRoom .Cnt--1 .ColumnItem__inner {
  height: 100%;
  padding: 15% 7.5%;
  position: relative;
  box-sizing: border-box;
  pointer-events: none;
}
.PgRoom .Cnt--1 .ColumnItem__ttl {
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  font-weight: 700;
  line-height: 1.5;
}
.PgRoom .Cnt--1 .ColumnItem__img {
  display: block;
  width: 100%;
}
.PgRoom .Cnt--1 .ColumnItem__img img {
  display: block;
  width: 100%;
  aspect-ratio: 5/1.5;
  object-fit: contain;
  object-position: center;
}

.PgAdvice .Cnt--Advice__ttl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: clamp(2.5rem, 2vw, 100rem);
  font-weight: 700;
  line-height: 1.5;
  gap: 0.35em 0;
  padding: 1em;
  border: 1px solid #b3b3b3;
}
.PgAdvice .Cnt--Advice__ttl .num {
  font-size: clamp(1.8rem, 1.5vw, 100rem);
  font-weight: 500;
}
.PgAdvice .Cnt--Advice__ttl .advAuthor {
  display: block;
  margin-left: auto;
  font-size: clamp(1.3rem, 1.1vw, 100rem);
  font-weight: normal;
}
.PgAdvice .Cnt--Advice__column {
  display: flex;
  flex-direction: column;
  gap: 50px 0;
}
.PgAdvice .Cnt--Advice .Table1 {
  border-collapse: separate;
  border-spacing: 10px;
}
@media screen and (max-width: 767px) {
  .PgAdvice .Cnt--Advice .Table1 {
    border-spacing: 0;
  }
}
.PgAdvice .Cnt--Advice .Table1 th,
.PgAdvice .Cnt--Advice .Table1 td {
  padding: 1em;
  box-sizing: border-box;
  vertical-align: top;
  position: relative;
}
@media screen and (max-width: 767px) {
  .PgAdvice .Cnt--Advice .Table1 th,
  .PgAdvice .Cnt--Advice .Table1 td {
    display: block;
  }
}
.PgAdvice .Cnt--Advice .Table1 th::after,
.PgAdvice .Cnt--Advice .Table1 td::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.PgAdvice .Cnt--Advice .Table1 tr:last-child th::after,
.PgAdvice .Cnt--Advice .Table1 tr:last-child td::after {
  display: none;
}
.PgAdvice .Cnt--Advice .Table1 th {
  background-color: #f1faff;
  color: var(--color-primary);
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .PgAdvice .Cnt--Advice .Table1 th {
    padding-bottom: 0;
    width: auto;
    max-width: initial;
  }
}
.PgAdvice .Cnt--Advice .Table1 td {
  background-color: #f4f9fb;
}
@media screen and (max-width: 767px) {
  .PgAdvice .Cnt--Advice .Table1 td {
    padding-top: 0.5em;
    border-bottom: 5px solid white;
  }
}
.PgAdvice .Cnt--Advice .NavBtn {
  display: flex;
  justify-content: center;
  padding: 0 10%;
  gap: 0 30px;
}
.PgAdvice .Cnt--Advice .NavBtn a {
  display: block;
  width: calc(33.3333333333% - 20px);
}
.PgAdvice .Cnt--Advice .NavBtn img {
  display: block;
  width: 100%;
}

.PgGuide .Cnt--Guide__ttl {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: clamp(2.5rem, 2vw, 100rem);
  font-weight: 700;
  line-height: 1.5;
  gap: 0.35em 0;
  padding: 1em;
  border: 1px solid #b3b3b3;
}
.PgGuide .Cnt--Guide__ttl .num {
  font-size: clamp(1.8rem, 1.5vw, 100rem);
  font-weight: 500;
}
.PgGuide .Cnt--Guide__ttl .advAuthor {
  display: block;
  margin-left: auto;
  font-size: clamp(1.3rem, 1.1vw, 100rem);
  font-weight: normal;
}
.PgGuide .Cnt--Guide__column {
  display: flex;
  flex-direction: column;
  gap: 50px 0;
}

/*!
page > mem
------------------------------
*/
.PgLogin {
  overflow: hidden;
}
.PgLogin .LoginForm .tml .tml-field-wrap {
  display: flex;
  flex-direction: column;
}
.PgLogin .LoginForm .tml .tml-rememberme-wrap {
  flex-direction: row;
  align-items: center;
  gap: 0 1em;
}
.PgLogin .LoginForm .tml .tml-label {
  font-size: clamp(1.5rem, 1.2vw, 100rem);
  font-weight: 600;
}
.PgLogin .LoginForm .tml input[type="text"],
.PgLogin .LoginForm .tml input[type="email"],
.PgLogin .LoginForm .tml input[type="password"],
.PgLogin .LoginForm .tml select,
.PgLogin .LoginForm .tml textarea {
  width: 100%;
  max-width: 100%;
  font-size: 1.8rem;
  padding: 1em;
  border: none;
  border: 1.5px solid #b3b3b3;
  box-sizing: border-box;
  color: #4d4d4d;
  border-radius: 0;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .PgLogin .LoginForm .tml input[type="text"],
  .PgLogin .LoginForm .tml input[type="email"],
  .PgLogin .LoginForm .tml input[type="password"],
  .PgLogin .LoginForm .tml select,
  .PgLogin .LoginForm .tml textarea {
    padding: 1em 0.5em;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .PgLogin .LoginForm .tml input[type="text"],
  .PgLogin .LoginForm .tml input[type="email"],
  .PgLogin .LoginForm .tml input[type="password"],
  .PgLogin .LoginForm .tml select,
  .PgLogin .LoginForm .tml textarea {
    padding: 1em 0.5em;
    font-size: 1.5rem;
  }
}
.PgLogin .LoginForm .tml input[type="text"]::placeholder,
.PgLogin .LoginForm .tml input[type="email"]::placeholder,
.PgLogin .LoginForm .tml input[type="password"]::placeholder,
.PgLogin .LoginForm .tml select::placeholder,
.PgLogin .LoginForm .tml textarea::placeholder {
  color: rgba(77, 77, 77, 0.5);
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .PgLogin .LoginForm .tml input[type="text"]::placeholder,
  .PgLogin .LoginForm .tml input[type="email"]::placeholder,
  .PgLogin .LoginForm .tml input[type="password"]::placeholder,
  .PgLogin .LoginForm .tml select::placeholder,
  .PgLogin .LoginForm .tml textarea::placeholder {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .PgLogin .LoginForm .tml input[type="text"]::placeholder,
  .PgLogin .LoginForm .tml input[type="email"]::placeholder,
  .PgLogin .LoginForm .tml input[type="password"]::placeholder,
  .PgLogin .LoginForm .tml select::placeholder,
  .PgLogin .LoginForm .tml textarea::placeholder {
    font-size: 1.4rem;
  }
}
.PgLogin .LoginForm .tml input[type="text"]:nth-last-of-type(1),
.PgLogin .LoginForm .tml input[type="email"]:nth-last-of-type(1),
.PgLogin .LoginForm .tml input[type="password"]:nth-last-of-type(1),
.PgLogin .LoginForm .tml select:nth-last-of-type(1),
.PgLogin .LoginForm .tml textarea:nth-last-of-type(1) {
  margin-bottom: 0;
}
.PgLogin .LoginForm .tml input[type="text"]:disabled,
.PgLogin .LoginForm .tml input[type="email"]:disabled,
.PgLogin .LoginForm .tml input[type="password"]:disabled,
.PgLogin .LoginForm .tml select:disabled,
.PgLogin .LoginForm .tml textarea:disabled {
  background-color: #f1f1f1;
}
.PgLogin .LoginForm .tml input[type="radio"],
.PgLogin .LoginForm .tml input[type="checkbox"] {
  width: 20px;
  height: 20px;
  vertical-align: -0.2em;
}
.PgLogin .LoginForm .tml select {
  width: auto;
  font-size: 100%;
}
.PgLogin .LoginForm .tml textarea {
  width: 100%;
  max-width: 100%;
  font-family: sans-serif;
  height: auto;
  max-height: initial;
}
.PgLogin .LoginForm .tml button[type="submit"] {
  padding: 1em 2.5em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: clamp(1.6rem, 1.3vw, 100rem);
  gap: 0 2.5em;
  box-sizing: border-box;
  border: none;
  cursor: pointer;
  background-color: var(--color-primary);
  color: white;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .PgLogin .LoginForm .tml button[type="submit"] {
    min-width: initial;
    padding: 1em 1.5em;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .PgLogin .LoginForm .tml button[type="submit"] {
    min-width: initial;
    padding: 1em 1.5em;
    font-size: 1.4rem;
  }
}
.PgLogin .LoginForm .tml .tml-links {
  margin-top: 2.5em;
  display: flex;
  justify-content: center;
}
.PgLogin .LoginForm .tml .tml-links li {
  display: inline-flex;
  align-items: center;
  position: relative;
}
.PgLogin .LoginForm .tml .tml-error {
  background-color: var(--color-primary-light);
  border-left: none !important;
  box-shadow: none !important;
  color: #0058a2;
  font-size: clamp(1.1rem, 0.9vw, 100rem);
}

.memGlobalMenu {
  position: relative;
  overflow: visible;
  /* 背景グラデ（全体の薄い覆い） */
}
.memGlobalMenu::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  background-image: linear-gradient(90deg, #498f5d, #42798b);
  opacity: 0.8;
  pointer-events: none;
}
.memGlobalMenu__inner {
  position: relative;
  z-index: 10;
}
.memGlobalMenu {
  /* リスト初期化 */
}
.memGlobalMenu .mem-global-menu,
.memGlobalMenu .mem-global-menu .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.memGlobalMenu {
  /* --- トップレベル --- */
}
.memGlobalMenu .mem-global-menu {
  display: flex;
  align-items: center;
}
.memGlobalMenu .mem-global-menu > li {
  margin: 0;
  padding: 0;
  position: relative;
  /* 右の区切り線 */
}
.memGlobalMenu .mem-global-menu > li::after {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 1.5em);
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.memGlobalMenu .mem-global-menu > li:last-child::after {
  display: none;
}
.memGlobalMenu .mem-global-menu > li > a {
  display: flex;
  justify-content: center;
  padding: 1.5em 1.5em;
  text-decoration: none;
  color: white;
  box-sizing: border-box;
  font-weight: 600;
  font-size: clamp(1.2rem, 1vw, 1.6rem);
  line-height: 1.3;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  position: relative;
}
.memGlobalMenu {
  /* --- サブメニュー（PC は親メニュー中央・固定幅300px） --- */
}
.memGlobalMenu .mem-global-menu .sub-menu {
  position: absolute;
  top: 100%;
  left: 50%; /* 親メニューの中央を基準 */
  width: 400px; /* 親メニュー中心・固定幅 */
  transform: translateX(-50%); /* 親の中央に揃える */
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.5em 0;
  padding: 1.2em 1.5em;
  background-image: linear-gradient(90deg, #498f5d, #42798b);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.18s ease,
    visibility 0.18s ease;
  z-index: 999;
}
.memGlobalMenu .mem-global-menu .sub-menu .grandson a {
  display: flex;
  align-items: center;
  padding-left: 2em;
  color: white;
  text-decoration: none;
  position: relative;
  gap: 0 0.5em;
}
.memGlobalMenu .mem-global-menu .sub-menu .grandson a::before {
  content: "-";
}
.memGlobalMenu .mem-global-menu .sub-menu .himago a {
  display: flex;
  align-items: center;
  padding-left: 4em;
  color: white;
  text-decoration: none;
  position: relative;
  gap: 0 0.5em;
}
.memGlobalMenu .mem-global-menu .sub-menu .himago a::before {
  content: "--";
}
.memGlobalMenu .mem-global-menu .sub-menu > li {
  width: 100%;
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.memGlobalMenu .mem-global-menu .sub-menu > li > a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0;
  text-decoration: none;
  color: white;
  gap: 0 0.5em;
}
.memGlobalMenu .mem-global-menu .sub-menu--col4 {
  gap: 0 3.5em;
}
.memGlobalMenu .mem-global-menu .sub-menu--col4 > li {
  width: auto;
}
.memGlobalMenu {
  /* 開閉状態（JS が .open 付与） */
}
.memGlobalMenu .mem-global-menu > li.open > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.memGlobalMenu {
  /* 矢印（子持ち） */
}
.memGlobalMenu .mem-global-menu > li.has-sub > a::after {
  content: "▾";
  margin-left: 0.4em;
  font-size: 0.8em;
}
.memGlobalMenu .mem-global-menu .sub-menu > li > a::before {
  content: "";
  width: 4px;
  height: 4px;
  border-top: solid 1.5px white;
  border-right: solid 1.5px white;
  transform: rotate(45deg);
}
.memGlobalMenu {
  /* PC: hover/focusでも開く（操作性向上） */
}
@media (hover: hover) and (pointer: fine) {
  .memGlobalMenu .mem-global-menu > li:hover > .sub-menu,
  .memGlobalMenu .mem-global-menu > li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
.memGlobalMenu {
  /* --- スマホ（900px以下）：アコーディオン --- */
}
@media (max-width: 900px) {
  .memGlobalMenu .mem-global-menu {
    display: block;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
  }
  .memGlobalMenu .mem-global-menu > li {
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }
  .memGlobalMenu .mem-global-menu > li > a {
    padding: 1rem;
  }
  .memGlobalMenu .mem-global-menu > li::after {
    display: none;
  }
  .memGlobalMenu .mem-global-menu > li {
    /* 区切り線は不要 */
  }
  .memGlobalMenu .mem-global-menu .sub-menu {
    position: static;
    width: auto;
    transform: none;
    padding: 0.75rem 1rem;
    /* SPは可視を基準にして max-height で開閉 */
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    display: block;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.24s ease;
  }
  .memGlobalMenu .mem-global-menu > li.open > .sub-menu {
    max-height: 800px;
  }
  .memGlobalMenu .mem-global-menu .sub-menu > li {
    width: 100%;
  }
  .memGlobalMenu .mem-global-menu .sub-menu > li > a {
    padding: 0.9rem 1rem 0.9rem 1.2rem;
    white-space: normal;
  }
}
.memGlobalMenu {
  /* 低速端末配慮（任意） */
}
@media (prefers-reduced-motion: reduce) {
  .memGlobalMenu .mem-global-menu .sub-menu {
    transition: none;
  }
}

.PgMem .FvMem {
  position: relative;
  z-index: 0;
  aspect-ratio: 10/2;
}
@media screen and (max-width: 767px) {
  .PgMem .FvMem {
    height: 30vh !important;
    aspect-ratio: initial;
  }
}
.PgMem .FvMem .FvMain {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  position: relative;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .PgMem .FvMem .FvMain {
    aspect-ratio: initial;
  }
}
.PgMem .FvMem::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.3), transparent 70%);
  pointer-events: none;
}
.PgMem .FvMem--noBg::after {
  background-image: linear-gradient(90deg, #498f5d, #42798b);
  opacity: 0.8;
}
.PgMem .FvMem__inner {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
.PgMem .FvMem .FvCopy {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  z-index: 20;
  color: white;
}
.PgMem .FvMem .FvCopy__inner {
  padding: 0 5%;
  height: 100%;
  position: relative;
  z-index: 15;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .PgMem .FvMem .FvCopy__inner {
    padding: 0;
  }
}
.PgMem .FvMem .FvCopy__column {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  position: relative;
}
@media screen and (max-width: 767px) {
  .PgMem .FvMem .FvCopy__column {
    align-items: center;
  }
}
.PgMem .FvMem .FvCopy .pgTitle {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: clamp(3.5rem, 3.5vw, 100rem);
  font-weight: 500;
  line-height: 1.2;
  text-shadow: 5px 4px 4px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .PgMem .FvMem .FvCopy .pgTitle {
    padding-top: 1em;
    font-size: 3rem;
    letter-spacing: initial;
    align-items: center;
    text-align: center;
    gap: 0.15em 0;
  }
}
.PgMem .FvMem .FvCopy .pgTitle small {
  font-size: clamp(2.6rem, 2.6vw, 100rem);
}
@media screen and (max-width: 767px) {
  .PgMem .FvMem .FvCopy .pgTitle small {
    font-size: 2rem;
  }
}
.PgMem .NewsList {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.PgMem .NewsList li {
  padding: 0.75em 0;
  padding-left: 3em;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  border-bottom: 1px solid #4d4d4d;
  position: relative;
}
@media screen and (max-width: 767px) {
  .PgMem .NewsList li {
    padding-left: 2em;
  }
}
.PgMem .NewsList li i {
  position: absolute;
  top: 0.75em;
  left: 0;
  font-size: clamp(3rem, 2.4vw, 100rem);
  color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .PgMem .NewsList li i {
    font-size: 2.4rem;
  }
}
.PgMem .NewsList li .date {
  display: block;
  font-size: clamp(1.1rem, 1vw, 100rem);
  padding-top: 0.25em;
}
.PgMem .NewsList li .newsLink {
  color: #4d4d4d;
  text-decoration: none;
  font-size: clamp(1.5rem, 1.2vw, 100rem);
  font-weight: 600;
}
.PgMem .FileItem {
  padding-left: calc(44px + 1em);
  border-bottom: 1px solid #b3b3b3;
  position: relative;
}
.PgMem .FileItem::before {
  content: "";
  display: block;
  width: 44px;
  aspect-ratio: 1/1;
  position: absolute;
  top: 1.5em;
  left: 0;
}
.PgMem .FileItem.pdf::before {
  background: url(assets/img/login/icon_pdf.gif) no-repeat center;
  background-size: contain;
}
.PgMem .FileItem.zip::before {
  background: url(assets/img/login/icon_zip.gif) no-repeat center;
  background-size: contain;
}
.PgMem .FileItem.excel::before {
  background: url(assets/img/login/icon_excel.gif) no-repeat center;
  background-size: contain;
}
.PgMem .FileItem.word::before {
  background: url(assets/img/login/icon_word.gif) no-repeat center;
  background-size: contain;
}
.PgMem .FileItem__inner {
  padding: 1.5em 0;
}
.PgMem .FileItem__ttl {
  font-size: clamp(1.8rem, 1.5vw, 100rem);
  font-weight: 600;
  text-decoration: none;
}
.PgMem-Special .Cnt--2 .ToolList__column {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}
.PgMem-Special .Cnt--2 .ToolList .ToolItem {
  display: flex;
  align-items: center;
  width: calc(33.3333333333% - 12px);
  border: 1px solid #b3b3b3;
  box-sizing: border-box;
  padding: 0.75em;
  padding-left: calc(44px + 1.75em);
  text-decoration: none;
  font-weight: 600;
  line-height: 1.5;
  color: #4d4d4d;
  min-height: 6em;
  position: relative;
}
.PgMem-Special .Cnt--2 .ToolList .ToolItem::before {
  content: "";
  display: block;
  width: 44px;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  left: 0.75em;
  transform: translateY(-50%);
}
.PgMem-Special .Cnt--2 .ToolList .ToolItem.excel::before {
  background: url(assets/img/login/icon_excel.gif) no-repeat center;
  background-size: contain;
}
.PgMem-Special .Cnt--2 .ToolList .ToolItem.word::before {
  background: url(assets/img/login/icon_word.gif) no-repeat center;
  background-size: contain;
}
.PgMem-Special .Cnt--2 .ToolList .ToolItem.pdf::before {
  background: url(assets/img/login/icon_pdf.gif) no-repeat center;
  background-size: contain;
}
.PgMem-Special .Cnt--2 .CtBnr__column {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}
.PgMem-Special .Cnt--2 .CtBnr .CtBnrItem {
  width: calc((100% - 36px) / 3);
}
.PgMem-Special .Cnt--2 .CtBnr .CtBnrItem img {
  display: block;
  width: 100%;
}
.PgMem-Special .Cnt--2 .CtBnr .CtBnrItem img.mg1 {
  position: relative;
  top: 14px;
}
.PgMem-Special .Cnt--2 .CtBnr .CtBnrItem--wide {
  width: calc((100% - 36px) / 3 * 2 + 18px);
}
.PgMem-Special .Cnt--2 .CtBnr .CtBnrItem--break {
  margin-left: auto;
}
.PgMem-Special .Cnt--2 .CtBnr {
  /* 行ブレーカー（幅は保持したまま“折り目”だけ作る） */
}
.PgMem-Special .Cnt--2 .CtBnr .CtBnrBreak {
  flex-basis: 100%;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
}
.PgMem-Special .Cnt--2 .MemlinkBnr {
  display: flex;
  align-items: flex-start;
  gap: 0 2.5em;
}
.PgMem-Special .Cnt--2 .MemlinkBnr a {
  display: block;
}
.PgMem-Special .Cnt--2 .MemlinkBnr a img {
  display: block;
  height: 100px;
}
.PgMem-Agriculture .Cnt--1 {
  position: relative;
}
.PgMem-Agriculture .Cnt--1 .titleWrap {
  position: relative;
}
.PgMem-Agriculture .Cnt--1 .pdfBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #40a4ef;
  color: white;
  border-radius: 6px;
  position: absolute;
  top: 0;
  left: 0;
  text-decoration: none;
  padding: 0.35em 2.5em;
  font-size: clamp(2rem, 1.6vw, 100rem);
  font-weight: 500;
  line-height: 1.5;
  margin-top: 40px;
  z-index: 10;
}
.PgMem-Kokyaku .Cnt--1 {
  position: relative;
}
.PgMem-Kokyaku .Cnt--1 .btn_form {
  display: block;
  width: 25%;
}
.PgMem-Kokyaku .Cnt--1 .btn_form img {
  display: block;
  width: 100%;
}
.PgMem-Seminar .Cnt--1 {
  position: relative;
}
.PgMem-Seminar .Cnt--1 .btn_form {
  display: block;
  width: 25%;
}
.PgMem-Seminar .Cnt--1 .btn_form img {
  display: block;
  width: 100%;
}
.PgMem-Zenkoku .Cnt--1 {
  position: relative;
}
.PgMem-Zenkoku .Cnt--1 .title-Lv2 {
  gap: 0 1em;
}
.PgMem-Zenkoku .Cnt--1 .title-Lv2 .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #40a4ef;
  color: white;
  padding: 0.25em 0.5em;
  font-size: clamp(1.1rem, 0.9vw, 100rem);
}
.PgMem-Zenkoku .Cnt--1 .title-Lv2 .badge.zenkoku_result {
  background-color: #a0cc0d;
}
.PgMem-Zenkoku .Cnt--1 .title-Lv2 .badge.zenkoku_material {
  background-color: #15a7e9;
}
.PgMem-Dl .Cnt--1 {
  position: relative;
}
.PgMem-Dl .Cnt--1 .DlList__column {
  display: flex;
  flex-direction: column;
  gap: 70px 0;
}
.PgMem-Dl .Cnt--1 .DlItem__column {
  display: flex;
  flex-direction: column;
}
.PgMem-Dl .Cnt--1 .DlItem .himago {
  margin-left: 2em;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
.PgMem-Indie .Cnt--1 {
  position: relative;
}
.PgMem-Indie .Cnt--1 .indieDL__ttl {
  display: flex;
  padding: 0.5em 1.25em;
  font-size: 2vw;
  font-weight: bold;
  background-color: #fac55e;
  color: white;
  border-bottom: 4px solid #8e8e8f;
}
.PgMem-Indie .Cnt--1 .indieDL .dl-toc {
  display: flex;
  gap: 0 2.5em;
}
.PgMem-Indie .Cnt--1 .indieDL .dl-toc .pdf-icon {
  display: block;
  min-width: 64px;
  width: 64px;
}
.PgMem-Indie .Cnt--1 .indieDL .dl-list .dl-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #545454;
  font-size: 1.5vw;
  font-weight: bold;
  position: relative;
  color: #1a1311;
  text-decoration: none;
  gap: 0 0.35em;
  padding: 0.25em 0.5em;
}
.PgMem-Indie .Cnt--1 .indieDL .dl-list .dl-btn::after {
  content: "";
  display: block;
  width: 36px;
  aspect-ratio: 1/1;
  background: url(assets/img/login/indie/dl-icon.svg) no-repeat center;
  background-size: 16px auto;
  background-color: rgba(63, 66, 73, 0.1);
  vertical-align: middle;
  border-bottom: 1px solid #3f4249;
  border-right: 1px solid #3f4249;
}
.PgMem-Indie .Cnt--1 .indieDL .dl-list table {
  border-collapse: collapse;
}
.PgMem-Indie .Cnt--1 .indieDL .dl-list table th,
.PgMem-Indie .Cnt--1 .indieDL .dl-list table td {
  border: 1px solid #545454;
  padding: 0.75em 0.5em;
  box-sizing: border-box;
}
.PgMem-Indie .Cnt--1 .indieDL .dl-list table th {
  background-color: #ebebeb;
  font-weight: bold;
  text-align: center;
}
.PgMem-Indie .Cnt--1 .indieDL .dl-list table td:nth-of-type(-n + 3) {
  width: 8%;
  min-width: 8%;
  background-color: #fff9e9;
  text-align: center;
}
.PgMem-Indie .Cnt--1 .indieDL .dl-list table td:last-child {
  width: 20%;
  min-width: 20%;
}
.PgMem-Indie .Cnt--1 .indieDL .dl-list table td .file-list {
  display: flex;
  gap: 0 1em;
}
.PgMem-Indie .Cnt--1 .indieDL .dl-list table td .file-list li {
  max-width: 0;
  padding: 0;
  list-style-type: none;
}
.PgMem-Indie .Cnt--1 .indieDL .dl-list table td .file-list li a img {
  display: block;
  width: 42px;
}

/*!
page > sr-web
------------------------------
*/
.PgSr-web {
  overflow: hidden;
}
.PgSr-web .Cnt--1 {
  /* ================================================================== */
  /*  sr-web */
  /* ================================================================== */
}
.PgSr-web .Cnt--1 .sr-web__img {
  width: 100%;
  aspect-ratio: 889/357;
  position: relative;
  overflow: hidden;
}
.PgSr-web .Cnt--1 .sr-web__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.PgSr-web .Cnt--1 .sr-web-fv__lead {
  color: #e8921d;
  font-size: clamp(1.8rem, 1.5vw, 100rem);
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
}
.PgSr-web .Cnt--1 .sr-web-fv__lead::before,
.PgSr-web .Cnt--1 .sr-web-fv__lead::after {
  content: "";
  display: block;
  width: 80px;
  height: 1px;
  background-color: #e8921d;
}
.PgSr-web .Cnt--1 .sr-web-fv__title {
  font-size: clamp(5.6rem, 4.5vw, 100rem);
  font-weight: bold;
}
.PgSr-web .Cnt--1 .sr-web-fv__text {
  color: #676868;
}
.PgSr-web .Cnt--1 {
  /* ================================================================== */
  /*  sr-web__section-title */
  /* ================================================================== */
}
.PgSr-web .Cnt--1 .sr-web__section-title {
  display: flex;
  align-items: center;
  position: relative;
  padding: 0.35em 0;
  padding-left: 1.5em;
}
.PgSr-web .Cnt--1 .sr-web__section-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 100%;
  background-color: #e6324e;
}
.PgSr-web .Cnt--1 .sr-web__section-text {
  font-size: clamp(2.2rem, 1.8vw, 100rem);
  font-weight: 700;
  color: #3e3e3f;
  line-height: 1.5;
}
.PgSr-web .Cnt--1 {
  /* ================================================================== */
  /*  sr-web-support */
  /* ================================================================== */
}
.PgSr-web .Cnt--1 .sr-web-support__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  border-top: 1px solid #2155a4;
}
.PgSr-web .Cnt--1 .sr-web-support__item {
  display: flex;
  align-items: flex-start;
  gap: 0 5%;
  min-height: 130px;
  padding: 1.5em;
  border-bottom: 1px solid #2155a4;
}
.PgSr-web .Cnt--1 .sr-web-support__item:nth-child(2n) {
  border-left: 1px solid #2155a4;
}
.PgSr-web .Cnt--1 .sr-web-support__icon {
  min-width: 60px;
  width: 60px;
  flex-shrink: 0;
}
.PgSr-web .Cnt--1 .sr-web-support__icon img {
  width: 100%;
  height: 50px;
  object-fit: contain;
  object-position: center;
}
.PgSr-web .Cnt--1 .sr-web-support__content {
  color: #3e3e3f;
}
.PgSr-web .Cnt--1 .sr-web-support__title {
  font-size: clamp(2rem, 1.6vw, 100rem);
  letter-spacing: 0.05em;
  font-weight: bold;
  color: #f29600;
}
.PgSr-web .Cnt--1 .sr-web-support__desc {
  color: #676868;
}
.PgSr-web .Cnt--1 .sr-web-support__note {
  font-size: clamp(1.2rem, 1vw, 100rem);
  color: #676868;
}
.PgSr-web .Cnt--1 {
  /* ================================================================== */
  /*  sr-web-compare */
  /* ================================================================== */
}
.PgSr-web .Cnt--1 .sr-web-compare__items {
  display: flex;
  flex-wrap: wrap;
  gap: 0 60px;
}
.PgSr-web .Cnt--1 .sr-web-compare__item {
  min-width: calc(33.3333333333% - 40px);
  position: relative;
  padding: 2.5em;
  border: 2px solid #2155a4;
  border-radius: 12px;
  text-align: center;
  box-sizing: border-box;
}
.PgSr-web .Cnt--1 .sr-web-compare__item:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -40px;
  transform: translateY(-50%);
  width: 20px;
  height: 28px;
  background-color: #2155a4;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.PgSr-web .Cnt--1 .sr-web-compare__icon {
  display: inline-flex;
  width: 80px;
  aspect-ratio: 1/1;
}
.PgSr-web .Cnt--1 .sr-web-compare__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.PgSr-web .Cnt--1 .sr-web-compare__text {
  color: #2155a4;
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  line-height: 1.4;
  font-weight: 500;
  text-align: center;
}
.PgSr-web .Cnt--1 {
  /* ================================================================== */
  /*  sr-web-template */
  /* ================================================================== */
}
.PgSr-web .Cnt--1 .sr-web-template__image img {
  width: 100%;
  height: auto;
  aspect-ratio: 881.642/709.226;
  display: block;
}
.PgSr-web .Cnt--1 {
  /* ================================================================== */
  /*  sr-web-plan */
  /* ================================================================== */
}
.PgSr-web .Cnt--1 .sr-web-plan__intro {
  margin-top: 17px;
  color: #676868;
  font-weight: 300; /* 細字にする */
  line-height: 2;
}
.PgSr-web .Cnt--1 .sr-web-plan__text {
  color: #676868;
  font-weight: 600; /* 太めにする */
  line-height: 2;
}
.PgSr-web .Cnt--1 .sr-web-plan__indent {
  display: inline-block;
  padding-left: 192px;
}
.PgSr-web .Cnt--1 .sr-web-plan__label--red {
  color: #e54652;
  font-weight: bold;
}
.PgSr-web .Cnt--1 .sr-web-plan__label--yellow {
  color: #f6c63e;
  font-weight: bold;
}
.PgSr-web .Cnt--1 {
  /* sr-web-plan__table */
}
.PgSr-web .Cnt--1 .sr-web-plan__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 10px 0;
  font-size: 17px;
  color: #676868;
  table-layout: fixed;
}
.PgSr-web .Cnt--1 .sr-web-plan__table th,
.PgSr-web .Cnt--1 .sr-web-plan__table td {
  padding: 0.5em;
  text-align: center;
  vertical-align: middle;
}
.PgSr-web .Cnt--1 .sr-web-plan__table th {
  font-weight: 500;
}
.PgSr-web .Cnt--1 .sr-web-plan__table th:first-child {
  background-color: #f9f6f6;
  line-height: 1.3;
}
.PgSr-web .Cnt--1 .sr-web-plan__table thead tr th {
  font-size: clamp(2.5rem, 2vw, 100rem);
  font-weight: bold;
}
.PgSr-web .Cnt--1 .sr-web-plan__table thead tr th:first-child {
  font-size: clamp(1.2rem, 1vw, 100rem);
  font-weight: 400;
}
.PgSr-web .Cnt--1 .sr-web-plan__table tbody th,
.PgSr-web .Cnt--1 .sr-web-plan__table tbody td {
  padding: 10px;
}
.PgSr-web .Cnt--1 .sr-web-plan__row--initial th,
.PgSr-web .Cnt--1 .sr-web-plan__row--initial td {
  padding-top: 20px !important;
}
.PgSr-web .Cnt--1 .sr-web-plan__row--price td {
  font-size: 20px;
}
.PgSr-web .Cnt--1 .sr-web-plan__head {
  color: #fff;
  font-weight: bold;
}
.PgSr-web .Cnt--1 .sr-web-plan__head--light {
  background-color: #85c5df;
}
.PgSr-web .Cnt--1 .sr-web-plan__head--full {
  background-color: #e54652;
}
.PgSr-web .Cnt--1 .sr-web-plan__head--master {
  background-color: #f6c63e;
}
.PgSr-web .Cnt--1 .sr-web-plan__note {
  font-size: clamp(1.1rem, 0.9vw, 100rem);
  line-height: 1.6;
}
.PgSr-web .Cnt--1 {
  /* ================================================================== */
  /*  sr-web-renewal */
  /* ================================================================== */
}
.PgSr-web .Cnt--1 .sr-web-renewal__lead {
  color: #e8921d;
  font-size: clamp(1.8rem, 1.5vw, 100rem);
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
}
.PgSr-web .Cnt--1 .sr-web-renewal__lead::before,
.PgSr-web .Cnt--1 .sr-web-renewal__lead::after {
  content: "";
  display: block;
  width: 80px;
  height: 1px;
  background-color: #e8921d;
}
.PgSr-web .Cnt--1 .sr-web-renewal__title {
  font-size: clamp(5.6rem, 4.5vw, 100rem);
  font-weight: bold;
}
.PgSr-web .Cnt--1 .sr-web-renewal__text {
  color: #676868;
}
.PgSr-web .Cnt--1 .sr-web-renewal__catch {
  font-size: clamp(2.3rem, 1.9vw, 100rem);
  text-align: center;
}
.PgSr-web .Cnt--1 .sr-web-renewal__content {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}
.PgSr-web .Cnt--1 .sr-web-renewal__feature-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.PgSr-web .Cnt--1 .sr-web-renewal__feature-item {
  font-size: clamp(1.8rem, 1.5vw, 100rem);
  color: #3e3a39;
  line-height: 2;
  position: relative;
  padding-left: 9px;
  white-space: nowrap;
}
.PgSr-web .Cnt--1 .sr-web-renewal__feature-item::before {
  content: "";
  position: absolute;
  left: -16px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 28px;
  background-color: #009fe8;
}
.PgSr-web .Cnt--1 .sr-web-renewal__feature-item span {
  font-size: clamp(2.2rem, 1.8vw, 100rem);
  color: #009fe8;
}
.PgSr-web .Cnt--1 .sr-web-renewal__price {
  width: 35%;
  min-width: 35%;
  text-align: center;
}
.PgSr-web .Cnt--1 .sr-web-renewal__price img {
  max-width: 100%;
  height: auto;
}
.PgSr-web .Cnt--1 .sr-web-renewal__note {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #f7941d; /* オレンジ */
  color: #fff;
  font-size: clamp(1.5rem, 1.2vw, 100rem);
  padding: 0.5em 1em;
  border-radius: 50px;
  text-align: center;
}
.PgSr-web .Cnt--1 {
  /* ================================================================== */
  /*  sr-web-contact */
  /* ================================================================== */
}
.PgSr-web .Cnt--1 .sr-web-contact__column {
  display: flex;
  justify-content: center;
  gap: 0 5%;
}
.PgSr-web .Cnt--1 .sr-web-contact__label {
  font-size: clamp(2.2rem, 1.8vw, 100rem);
  font-weight: bold;
  padding-left: 24px;
  display: flex;
  align-items: center;
  line-height: 1.2;
}
.PgSr-web .Cnt--1 .sr-web-contact__icon {
  font-size: 32px;
  position: relative;
}
.PgSr-web .Cnt--1 .sr-web-contact__info {
  padding-left: 54px;
}
.PgSr-web .Cnt--1 .sr-web-contact__email,
.PgSr-web .Cnt--1 .sr-web-contact__tel {
  font-size: clamp(3rem, 2.4vw, 100rem);
  line-height: 1.3;
}
.PgSr-web .Cnt--1 .sr-web-contact__email {
  letter-spacing: 0.03em;
}
.PgSr-web .Cnt--1 .sr-web-contact__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #2155a4;
  font-weight: bold;
  font-size: clamp(2rem, 1.6vw, 100rem);
  text-align: center;
  text-decoration: none;
  padding: 0.5em 2.5em;
}
.PgSr-web .Cnt--1 .sr-web-contact .sr-web-contact__button {
  color: #fff;
}
.PgSr-web .Cnt--1 .sr-web-contact .sr-web-contact__button:hover {
  background-color: #3377dd;
  color: #fff;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

/*!
page > recruit
------------------------------
*/
.PgRecruit {
  overflow: hidden;
}
.PgRecruit .Cnt--1 .RecList__column {
  display: flex;
  flex-direction: column;
  gap: 70px 0;
}
.PgRecruit .Cnt--1 .RecItem .titleWrap {
  position: relative;
}
.PgRecruit .Cnt--1 .RecItem .titleWrap .blueBtn {
  position: absolute;
  top: 0;
  right: 0;
}
.PgRecruit .Cnt--1 .RecItem__Table {
  border-collapse: separate;
  border-spacing: 10px;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Cnt--1 .RecItem__Table {
    border-spacing: 0;
  }
}
.PgRecruit .Cnt--1 .RecItem__Table th,
.PgRecruit .Cnt--1 .RecItem__Table td {
  padding: 1.5em;
  box-sizing: border-box;
  vertical-align: top;
  position: relative;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Cnt--1 .RecItem__Table th,
  .PgRecruit .Cnt--1 .RecItem__Table td {
    display: block;
  }
}
.PgRecruit .Cnt--1 .RecItem__Table th::after,
.PgRecruit .Cnt--1 .RecItem__Table td::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.PgRecruit .Cnt--1 .RecItem__Table tr:last-child th::after,
.PgRecruit .Cnt--1 .RecItem__Table tr:last-child td::after {
  display: none;
}
.PgRecruit .Cnt--1 .RecItem__Table th {
  background-color: #f1faff;
  color: var(--color-primary);
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Cnt--1 .RecItem__Table th {
    padding-bottom: 0;
    width: auto;
    max-width: initial;
  }
}
.PgRecruit .Cnt--1 .RecItem__Table td {
  background-color: #f4f9fb;
}
@media screen and (max-width: 767px) {
  .PgRecruit .Cnt--1 .RecItem__Table td {
    padding-top: 0.5em;
    border-bottom: 5px solid white;
  }
}

/*!
page > form
------------------------------
*/
.PgContact {
  position: relative;
  z-index: 10;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .PgContact {
    overflow: hidden;
  }
}

.formCnt {
  overflow: hidden;
}
.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 .notnull,
.formCnt .optional {
  display: inline-block;
  margin-left: 1em;
  padding: 0.35em 0.5em 0.5em;
  background-color: #be2020;
  color: white;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1;
  vertical-align: middle;
}
.formCnt .formInputBlock .optional {
  background-color: #ccc;
}
.formCnt .formInputBlock table {
  border-collapse: separate;
  border-spacing: 10px;
}
@media screen and (max-width: 767px) {
  .formCnt .formInputBlock table {
    border-spacing: 0;
  }
}
.formCnt .formInputBlock table th,
.formCnt .formInputBlock table td {
  padding: 1.5em;
  box-sizing: border-box;
  vertical-align: top;
  position: relative;
}
@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 {
  background-color: #f1faff;
  color: var(--color-primary);
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .formCnt .formInputBlock table th {
    padding-bottom: 0;
    width: auto;
    max-width: initial;
  }
}
.formCnt .formInputBlock table th small {
  display: block;
  font-size: clamp(1rem, 0.8vw, 100rem);
  font-weight: normal;
}
.formCnt .formInputBlock table td {
  background-color: #f4f9fb;
}
@media screen and (max-width: 767px) {
  .formCnt .formInputBlock table td {
    padding-top: 0.5em;
    border-bottom: 5px solid white;
  }
}
.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;
  margin-bottom: 0.75em;
  overflow: hidden;
}
.formCnt .formInputBlock table td .rowFl:nth-last-of-type(1) {
  margin-bottom: 0;
}
.formCnt .formInputBlock table td .rowFl--col {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5em 0;
}
.formCnt .formInputBlock table td .chkWrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1em;
}
.formCnt .formInputBlock table td .chkWrap .mwform-checkbox-field {
  margin: 0;
  padding: 0;
}
.formCnt .formInputBlock table td input[type="text"],
.formCnt .formInputBlock table td input[type="email"],
.formCnt .formInputBlock table td input[type="url"],
.formCnt .formInputBlock table td input[type="number"],
.formCnt .formInputBlock table td select,
.formCnt .formInputBlock table td textarea {
  width: 100%;
  max-width: 100%;
  font-size: 1.8rem;
  padding: 1em;
  border: none;
  border: 1.5px solid #b3b3b3;
  box-sizing: border-box;
  color: #4d4d4d;
  border-radius: 0;
}
@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 input[type="url"],
  .formCnt .formInputBlock table td input[type="number"],
  .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 input[type="url"],
  .formCnt .formInputBlock table td input[type="number"],
  .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 input[type="url"]::placeholder,
.formCnt .formInputBlock table td input[type="number"]::placeholder,
.formCnt .formInputBlock table td select::placeholder,
.formCnt .formInputBlock table td textarea::placeholder {
  color: rgba(77, 77, 77, 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 input[type="url"]::placeholder,
  .formCnt .formInputBlock table td input[type="number"]::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 input[type="url"]::placeholder,
  .formCnt .formInputBlock table td input[type="number"]::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 input[type="url"]:nth-last-of-type(1),
.formCnt .formInputBlock table td input[type="number"]: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 input[type="url"]:disabled,
.formCnt .formInputBlock table td input[type="number"]:disabled,
.formCnt .formInputBlock table td select:disabled,
.formCnt .formInputBlock table td textarea:disabled {
  background-color: #f1f1f1;
}
.formCnt .formInputBlock table td input[type="number"] {
  width: 5em;
}
.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="郵便番号"],
.formCnt .formInputBlock table td input[name="zip1"],
.formCnt .formInputBlock table td input[name="zip1_home"] {
  width: 10em;
  font-size: 1.8rem;
  padding: 1em;
  box-sizing: border-box;
  border: none;
  border: 1.5px solid #b3b3b3;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .formCnt .formInputBlock table td input[name="郵便番号"],
  .formCnt .formInputBlock table td input[name="zip1"],
  .formCnt .formInputBlock table td input[name="zip1_home"] {
    padding: 0.75em 0.5em;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .formCnt .formInputBlock table td input[name="郵便番号"],
  .formCnt .formInputBlock table td input[name="zip1"],
  .formCnt .formInputBlock table td input[name="zip1_home"] {
    padding: 0.75em 0.5em;
    font-size: 1.5rem;
  }
}
.formCnt .formInputBlock table td input[type="email"] {
  width: 100%;
  max-width: 100%;
}
.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 {
  background-color: white;
  border: 1px solid #4d4d4d;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  left: 5px;
}
.formCnt
  .formInputBlock
  table
  td
  .mwform-radio-field
  .mwform-radio-field-text::after {
  background-color: #0058a2;
  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 {
  color: #be2020 !important;
}
.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 {
  padding: 1em 2.5em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: clamp(1.6rem, 1.3vw, 100rem);
  gap: 0 2.5em;
  box-sizing: border-box;
  border: none;
  cursor: pointer;
}
@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,
.formCnt .btnWrap input.send_btn2 {
  background-color: var(--color-primary);
  color: white;
}
.formCnt .btnWrap input.send_btn:disabled,
.formCnt .btnWrap input.send_btn2:disabled {
  opacity: 0.5 !important;
  border: 1px solid #ccc;
}
.formCnt .btnWrap input.upd_btn {
  background-color: rgba(204, 204, 204, 0.1);
  border: 1px solid #cccccc;
  color: #4d4d4d;
}
.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 .confNone {
  display: none !important;
}
.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;
}

.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;
  overflow: hidden;
}
.PgNews .titleWrap {
  display: flex;
  flex-direction: column;
}
.PgNews .titleWrap .row-1 {
  display: flex;
  align-items: center;
  gap: 0 1em;
}
.PgNews .titleWrap .date {
  display: inline-flex;
  align-items: center;
  font-size: clamp(1.1rem, 0.9vw, 100rem);
  color: var(--color-primary);
}
.PgNews .titleWrap .TermList {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.5em;
}
.PgNews .titleWrap .TermList li {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--color-primary);
  border-radius: 50px;
  background-color: white;
  color: var(--color-primary);
  line-height: 1;
  text-align: center;
  transition: all 0.3s ease;
  word-break: keep-all; /* 日本語が途中改行されないように */
  padding: 0.5em 1em;
  font-size: clamp(1rem, 0.8vw, 100rem);
  letter-spacing: -0.025em;
}

.PostContent h1 {
  margin-bottom: 1em;
  padding-bottom: 0.5em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  font-size: clamp(3rem, 2.4vw, 100rem);
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  align-items: flex-start;
  border-bottom: 1px solid #b3b3b3;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .PostContent h1 {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .PostContent h1 {
    font-size: 2.4rem;
  }
}
.PostContent h1::after {
  content: "";
  display: inline-block;
  height: 3.5px;
  background-image: linear-gradient(
    90deg,
    var(--color-primary) 50%,
    #f15a24 50%
  );
  position: absolute;
  bottom: 0;
  width: 20%;
  left: 0;
  transform: translateX(0);
}
@media screen and (max-width: 767px) {
  .PostContent h1::after {
    width: 50%;
  }
}
.PostContent h1 .en {
  color: #4d4d4d;
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  font-style: italic;
}
.PostContent h2 {
  margin-bottom: 1em;
  padding-left: 1em;
  display: inline-flex;
  align-items: center;
  position: relative;
  line-height: 1.5;
  font-size: clamp(2.2rem, 1.8vw, 100rem);
  font-weight: 700;
  color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .PostContent h2 {
    font-size: 2rem;
  }
}
.PostContent h2::before {
  content: "";
  display: block;
  width: 7px;
  height: calc(100% - 10px);
  background-color: #f15a24;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.PostContent h3 {
  margin-bottom: 1em;
  display: flex;
  align-items: center;
  border-radius: 50px;
  background-color: var(--color-primary);
  color: white;
  padding: 0.5em 1em;
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .PostContent h3 {
    font-size: 1.6rem;
    border-radius: 7px;
  }
}
.PostContent h4 {
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  font-weight: 600;
}
.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;
  padding-left: 0 !important;
}
.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;
  }
}

.PostContent-cl h1 {
  margin-bottom: 1em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  font-size: clamp(3rem, 2.4vw, 100rem);
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  align-items: flex-start;
  border-bottom: 1px solid #b3b3b3;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .PostContent-cl h1 {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .PostContent-cl h1 {
    font-size: 2.4rem;
  }
}
.PostContent-cl h1::after {
  content: "";
  display: inline-block;
  height: 3.5px;
  background-image: linear-gradient(
    90deg,
    var(--color-primary) 50%,
    #f15a24 50%
  );
  position: absolute;
  bottom: 0;
  width: 20%;
  left: 0;
  transform: translateX(0);
}
@media screen and (max-width: 767px) {
  .PostContent-cl h1::after {
    width: 50%;
  }
}
.PostContent-cl h1 .en {
  color: #4d4d4d;
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  font-style: italic;
}
.PostContent-cl h2 {
  padding-left: 1em;
  display: inline-flex;
  align-items: center;
  position: relative;
  line-height: 1.5;
  font-size: clamp(2.2rem, 1.8vw, 100rem);
  font-weight: 700;
  color: var(--color-primary);
}
@media screen and (max-width: 767px) {
  .PostContent-cl h2 {
    font-size: 2rem;
  }
}
.PostContent-cl h2::before {
  content: "";
  display: block;
  width: 7px;
  height: calc(100% - 10px);
  background-color: #f15a24;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.PostContent-cl h3 {
  display: flex;
  align-items: center;
  border-radius: 50px;
  background-color: var(--color-primary);
  color: white;
  padding: 0.5em 1em;
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .PostContent-cl h3 {
    font-size: 1.6rem;
    border-radius: 7px;
  }
}
.PostContent-cl h4 {
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  font-weight: 600;
}
.PostContent-cl img {
  height: auto !important;
  min-width: 320px !important;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .PostContent-cl img {
    width: auto;
  }
}
.PostContent-cl img.aligncenter {
  display: block;
  margin: 0 auto 30px;
}
.PostContent-cl img.alignleft {
  margin: 0 50px 30px 0;
  float: left;
}
.PostContent-cl img.alignright {
  margin: 0 0 30px 50px;
  float: right;
}
.PostContent-cl strong {
  font-weight: 800;
}
.PostContent-cl p {
  padding-left: 0 !important;
}
.PostContent-cl ul li {
  margin-left: 1em;
  list-style-type: disc;
}
.PostContent-cl ol li {
  margin-left: 1em;
  list-style-type: decimal;
}
.PostContent-cl table {
  width: 100%;
  border-collapse: collapse;
  box-sizing: border-box;
}
.PostContent-cl table th,
.PostContent-cl table td {
  padding: 1em 2em;
  border: 2px solid white;
  box-sizing: border-box;
}
.PostContent-cl table th {
  width: 25%;
  max-width: 25%;
  background-color: #f2f2f2;
  text-align: right;
}
.PostContent-cl table td p,
.PostContent-cl table td ul,
.PostContent-cl table td ol {
  margin: 0 0 10px;
}
.PostContent-cl table td p:last-child,
.PostContent-cl table td ul:last-child,
.PostContent-cl table td ol:last-child {
  margin-bottom: 0;
}
.PostContent-cl iframe {
  display: block;
  width: 70% !important;
  height: auto !important;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 767px) {
  .PostContent-cl iframe {
    width: 100%;
    height: 220px;
  }
}

.SinglePost {
  position: relative;
}
.SinglePost__inner {
  padding: 0 15%;
  position: relative;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .SinglePost__inner {
    padding: 0 7.5%;
  }
}
@media screen and (max-width: 767px) {
  .SinglePost__inner {
    padding: 0 7.5%;
  }
}
.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 {
  padding-bottom: 1.5em;
  position: relative;
}
.SinglePost .PostHead::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #c1c1c1;
  position: absolute;
  bottom: 0;
  left: 0;
}
.SinglePost .PostHead__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 1.5rem;
  gap: 0 1em;
}
@media screen and (min-width: 1025px) and (max-width: 1299px) {
  .SinglePost .PostHead__meta {
    font-size: 1.1538461538vw;
  }
}
@media screen and (max-width: 767px) {
  .SinglePost .PostHead__meta {
    font-size: 1.3rem;
  }
}
.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: 1.2rem;
  display: block;
  padding: 0.5em 1em;
  border: 1px solid #999;
  pointer-events: none;
  text-decoration: none;
  color: #4d4d4d;
  border-radius: 50px;
}
.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;
  }
}

@media screen and (max-width: 767px) {
  .NewsCnt--archive {
    width: 85% !important;
    max-width: 85% !important;
  }
}
@media screen and (max-width: 767px) {
  .NewsCnt__inner {
    padding: 0;
  }
}
.NewsCnt__column {
  display: flex;
  flex-direction: column;
  gap: 1em 0;
}
.NewsCnt .News {
  padding: 1em 0;
  border-bottom: 1px solid #c1c1c1;
}
.NewsCnt .News__column {
  display: flex;
  gap: 0 5%;
}
@media screen and (max-width: 767px) {
  .NewsCnt .News__column {
    flex-direction: column;
  }
}
.NewsCnt .News__img {
  display: block;
  min-width: 20%;
  width: 20%;
}
.NewsCnt .News__img img {
  display: block;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1/1;
}
.NewsCnt .News__block {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.NewsCnt .News .date {
  font-size: 1.4rem;
  color: var(--color-primary);
}
.NewsCnt .News__title {
  display: block;
  width: 100%;
  font-size: clamp(1.7rem, 1.4vw, 100rem);
  font-weight: 600;
  color: #4d4d4d;
  text-decoration: none;
  box-sizing: border-box;
  position: relative;
}
.NewsCnt .News .excerpt {
  font-size: clamp(1.3rem, 1.1vw, 100rem);
}
.NewsCnt .News .readMore {
  display: inline-flex;
  align-items: center;
  color: var(--color-primary);
  text-decoration: none;
  font-size: clamp(1.2rem, 1vw, 100rem);
}

/*!
page > seminar
------------------------------
*/
.SemTbl {
  --SemTbl-head: var(--color-primary, #0058a2);
  --SemTbl-head-text: #fff;
  --SemTbl-border: #cfcfcf;
  --SemTbl-zebra: var(--color-primary-light, #f0f5f7);
  --SemTbl-accent: #f15a24;
  --SemTbl-link: var(--color-link, #4895e6);
  --SemTbl-closed-bg: #9a9a9a;
  width: 100%;
  min-width: 1080px;
  border-collapse: collapse;
  font-size: 1.3rem;
  line-height: 1.6;
  color: #333;
}
.SemTbl th,
.SemTbl td {
  border: 1px solid var(--SemTbl-border);
  padding: 0.9em 0.7em;
  vertical-align: middle;
  text-align: center;
}
.SemTbl thead th {
  background: var(--SemTbl-head);
  color: var(--SemTbl-head-text);
  font-weight: 600;
  white-space: nowrap;
}
.SemTbl tbody tr:nth-child(even) td {
  background: var(--SemTbl-zebra);
}
.SemTbl td.is-left {
  text-align: left;
}
.SemTbl .is-url {
  word-break: break-all;
}
.SemTbl .is-url a {
  color: var(--SemTbl-link);
}
@media screen and (max-width: 767px) {
  .SemTbl {
    font-size: 1.2rem;
  }
}

.SemTbl__wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.SemTbl__badge {
  display: inline-block;
}
.SemTbl__badge--closed {
  padding: 0.35em 1.1em;
  border-radius: 999px;
  background: var(--SemTbl-closed-bg);
  color: #fff;
  font-size: 1.2rem;
  white-space: nowrap;
}

.SemTbl__mail {
  display: inline-block;
  margin-top: 0.4em;
  padding: 0.3em 1.1em;
  border-radius: 4px;
  background: var(--SemTbl-accent, #f15a24);
  color: #fff !important;
  font-size: 1.2rem;
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.2s;
}
.SemTbl__mail:hover {
  opacity: 0.8;
}

/*!
page > contract（受託事業 検索一覧）
------------------------------
*/
.Contract {
  --Contract-primary: var(--color-primary, #0058a2);
  --Contract-border: #bcd6ec;
  --Contract-head-bg: #eaf3fb;
  --Contract-zebra: #f6fafd;
  --Contract-text: #333;
}

.ContractSearch {
  display: flex;
  align-items: stretch;
  gap: 12px;
}
.ContractSearch__input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 1em 1.2em;
  border: 1px solid var(--Contract-border);
  border-radius: 2px;
  font-size: 1.8rem;
  text-align: center;
}
.ContractSearch__btn {
  flex: 0 0 auto;
  width: 64px;
  border: none;
  border-radius: 2px;
  background: var(--Contract-primary);
  color: #fff;
  font-size: 1.8rem;
  cursor: pointer;
  transition: opacity 0.2s;
}
.ContractSearch__btn:hover {
  opacity: 0.85;
}

.ContractFilter__label {
  font-size: 1.6rem;
}
.ContractFilter__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
}
.ContractFilter__btn {
  padding: 0.4em 1.4em;
  border: 1px solid var(--Contract-border);
  border-radius: 999px;
  background: #fff;
  color: var(--Contract-text);
  font-size: 1.3rem;
  line-height: 1.4;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s;
}
.ContractFilter__btn:hover {
  border-color: var(--Contract-primary);
  color: var(--Contract-primary);
}
.ContractFilter__btn.is-active {
  background: var(--Contract-primary);
  border-color: var(--Contract-primary);
  color: #fff;
}

.ContractTbl__wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.ContractTbl {
  width: 100%;
  min-width: 880px;
  border-collapse: collapse;
  font-size: 1.6rem;
  line-height: 1.7;
  color: var(--Contract-text);
}
.ContractTbl th,
.ContractTbl td {
  border: 1px solid var(--Contract-border);
  padding: 1em 0.9em;
  vertical-align: middle;
  text-align: left;
}
.ContractTbl thead th {
  background: var(--Contract-head-bg);
  color: var(--Contract-primary);
  font-weight: 600;
  white-space: nowrap;
}
.ContractTbl th.is-center,
.ContractTbl td.is-center {
  text-align: center;
  white-space: nowrap;
}
.ContractTbl tbody tr:nth-child(even) td {
  background: var(--Contract-zebra);
}
.ContractTbl__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  color: var(--Contract-primary);
}
.ContractTbl__link i {
  font-size: 0.9em;
}
.ContractTbl__empty td {
  text-align: center;
  color: #888;
}
@media screen and (max-width: 767px) {
  .ContractTbl {
    font-size: 1.4rem;
  }
}

/*!
page > alliance（業務提携アライアンス情報）
------------------------------
*/
.Alliance {
  --Alliance-primary: var(--color-primary, #0058a2);
  --Alliance-border: #bcd6ec;
  --Alliance-head-bg: #eaf3fb;
  --Alliance-zebra: #f6fafd;
  --Alliance-text: #333;
}

/* ===== 一覧テーブル（業務提携一覧） ===== */
.AllianceTbl__wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.AllianceSearch {
  display: flex;
  align-items: stretch;
  gap: 12px;
}
.AllianceSearch__input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 1em 1.2em;
  border: 1px solid var(--Alliance-border);
  border-radius: 2px;
  font-size: 1.8rem;
  text-align: center;
}
.AllianceSearch__btn {
  flex: 0 0 auto;
  width: 64px;
  border: none;
  border-radius: 2px;
  background: var(--Alliance-primary);
  color: #fff;
  font-size: 1.8rem;
  cursor: pointer;
  transition: opacity 0.2s;
}
.AllianceSearch__btn:hover {
  opacity: 0.85;
}

.AllianceFilter__label {
  font-size: 1.6rem;
}
.AllianceFilter__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
}
.AllianceFilter__btn {
  padding: 0.4em 1.4em;
  border: 1px solid var(--Alliance-border);
  border-radius: 999px;
  background: #fff;
  color: var(--Alliance-text);
  font-size: 1.3rem;
  line-height: 1.4;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s;
}
.AllianceFilter__btn:hover {
  border-color: var(--Alliance-primary);
  color: var(--Alliance-primary);
}
.AllianceFilter__btn.is-active {
  background: var(--Alliance-primary);
  border-color: var(--Alliance-primary);
  color: #fff;
}
.AllianceTbl {
  width: 100%;
  min-width: 1180px;
  border-collapse: collapse;
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--Alliance-text);
}
.AllianceTbl th,
.AllianceTbl td {
  border: 1px solid var(--Alliance-border);
  padding: 1em 0.8em;
  vertical-align: middle;
  text-align: center;
}
.AllianceTbl thead th {
  background: var(--Alliance-head-bg);
  color: var(--Alliance-primary);
  font-weight: 600;
  white-space: nowrap;
}
.AllianceTbl td.is-left {
  text-align: left;
}
.AllianceTbl tbody tr:nth-child(even) td {
  background: var(--Alliance-zebra);
}
.AllianceTbl__service a {
  color: var(--Alliance-primary);
  text-decoration: underline;
}
.AllianceTbl__mark {
  color: var(--Alliance-primary);
  font-size: 1.2em;
}
.AllianceTbl__form a {
  display: inline-flex;
  font-size: 1.8rem;
  color: var(--Alliance-text);
  text-decoration: none;
}
.AllianceTbl__logo img {
  max-width: 140px;
  max-height: 48px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.AllianceTbl__empty td {
  text-align: center;
  color: #888;
}
@media screen and (max-width: 767px) {
  .AllianceTbl {
    font-size: 1.3rem;
  }
}

/* ===== 詳細ページ ===== */
.AllianceDetail__lead {
  font-size: 1.7rem;
  line-height: 1.95;
}

.AllianceBlock {
  display: flex;
  gap: 3%;
  align-items: flex-start;
}
.AllianceBlock + .AllianceBlock {
  margin-top: 5rem;
}
.AllianceBlock__img {
  flex: 0 0 38%;
  max-width: 38%;
}
.AllianceBlock__img img {
  width: 100%;
  height: auto;
}
.AllianceBlock__body {
  flex: 1 1 auto;
  min-width: 0;
}
.AllianceBlock__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6em 1em;
}
.AllianceBlock__title {
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--Alliance-text);
}
.AllianceBlock__cats {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5em;
}
.AllianceBlock__cat {
  display: inline-block;
  padding: 0.25em 1.2em;
  border: 1px solid var(--Alliance-border);
  border-radius: 999px;
  font-size: 1.2rem;
  color: #888;
  line-height: 1.4;
}
.AllianceBlock__text {
  margin-top: 1.5rem;
  font-size: 1.6rem;
  line-height: 1.95;
}
@media screen and (max-width: 767px) {
  .AllianceBlock {
    display: block;
  }
  .AllianceBlock__img {
    max-width: 100%;
  }
  .AllianceBlock__body {
    margin-top: 1.5rem;
  }
}

.AllianceDocs {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem 2%;
}
.AllianceDocs__item {
  flex: 0 0 18%;
  max-width: 18%;
}
.AllianceDocs__thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 3/4;
  color: var(--Alliance-text);
  font-size: 1.4rem;
  text-decoration: none;
  overflow: hidden;
}
.AllianceDocs__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.AllianceDocs__placeholder {
  font-size: 1.4rem;
}
.AllianceDocs__desc {
  margin-top: 1rem;
  font-size: 1.5rem;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .AllianceDocs {
    gap: 2rem 4%;
  }
  .AllianceDocs__item {
    flex: 0 0 48%;
    max-width: 48%;
  }
}

.AllianceContact {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.6rem;
  line-height: 1.7;
}
.AllianceContact th,
.AllianceContact td {
  border: 1px solid var(--Alliance-border);
  padding: 1em 1.2em;
  text-align: left;
  vertical-align: middle;
}
.AllianceContact th {
  width: 22%;
  background: var(--Alliance-head-bg);
  color: var(--Alliance-primary);
  font-weight: 600;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .AllianceContact th {
    width: 30%;
  }
}

/* ==========================================================================
   FileTable（資料書庫・表形式）
========================================================================== */

.FileTable {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  background: #fff;
}

.FileTable th,
.FileTable td {
  padding: 12px 16px;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid #e0e0e0;
  font-size: 13px;
}

.FileTable thead th {
  background: #f5f5f5;
  font-weight: bold;
  font-size: 13px;
  color: #333;
  white-space: nowrap;
}

/* 列幅の目安（必要に応じて調整） */
.FileTable__cate {
  width: 15%;
}
.FileTable__content {
  width: 45%;
}
.FileTable__kind {
  width: 15%;
  text-align: center;
}
.FileTable__date {
  width: 15%;
  white-space: nowrap;
}

.FileRow:hover {
  background: #fafafa;
}

/* ファイル内容セル内のリンク・説明文（ここを特に小さめに） */
.FileTable__content .FileItem__ttl {
  display: inline-block;
  font-size: 13px;
  font-weight: bold;
  color: #0056a3;
  text-decoration: underline;
}

.FileTable__content .FileItem__ttl:hover {
  text-decoration: none;
}

.FileTable__content p {
  margin: 4px 0 0;
  font-size: 12px;
  color: #666;
  line-height: 1.5;
}

/* ファイル形式ごとのアイコン・色分け（任意） */
.FileRow.pdf .FileTable__kind::before,
.FileRow.zip .FileTable__kind::before,
.FileRow.excel .FileTable__kind::before,
.FileRow.word .FileTable__kind::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-right: 5px;
  vertical-align: middle;
}

.FileRow.pdf .FileTable__kind::before {
  background: #e53935;
}
.FileRow.zip .FileTable__kind::before {
  background: #757575;
}
.FileRow.excel .FileTable__kind::before {
  background: #2e7d32;
}
.FileRow.word .FileTable__kind::before {
  background: #1565c0;
}

/* ==========================================================================
   FileFilter（カテゴリ絞り込み）
========================================================================== */

.FileFilter__label {
  font-weight: bold;
  font-size: 13px;
}

.FileFilter__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.FileFilter__btn {
  padding: 6px 16px;
  border: 1px solid #ccc;
  border-radius: 20px;
  background: #fff;
  font-size: 12px;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s;
}

.FileFilter__btn:hover {
  border-color: #999;
}

.FileFilter__btn.is-active {
  background: #333;
  border-color: #333;
  color: #fff;
}

/* ==========================================================================
   FileTable__empty（該当なし表示）
========================================================================== */

.FileTable__empty td {
  text-align: center;
  color: #888;
  padding: 24px 0;
  font-size: 13px;
}

@media screen and (max-width: 767px) {
  .FileTable__empty td::before {
    content: none;
  }
}

/* ==========================================================================
   レスポンシブ対応（スマホではカード表示に切り替え）
========================================================================== */

@media screen and (max-width: 767px) {
  .FileTable,
  .FileTable thead,
  .FileTable tbody,
  .FileTable th,
  .FileTable td,
  .FileTable tr {
    display: block;
    width: 100%;
  }

  .FileTable thead {
    display: none;
  }

  .FileRow {
    margin-bottom: 14px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 10px 14px;
  }

  .FileTable td {
    border: none;
    padding: 6px 0;
    display: flex;
    align-items: flex-start;
  }

  .FileTable td::before {
    content: attr(data-label);
    flex: 0 0 80px;
    font-weight: bold;
    font-size: 11px;
    color: #888;
  }

  .FileTable__cate,
  .FileTable__kind,
  .FileTable__date {
    text-align: left;
  }
}

/* ==========================================================================
   FileSearch（キーワード検索）
========================================================================== */

.FileSearch {
  display: flex;
  align-items: stretch;
  gap: 12px;
}

.FileSearch__input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 1em 1.2em;
  border: 1px solid #b3b3b3;
  border-radius: 2px;
  font-size: 1.4rem;
  text-align: center;
}

.FileSearch__btn {
  flex: 0 0 auto;
  width: 64px;
  border: none;
  border-radius: 2px;
  background: var(--color-primary);
  color: #fff;
  font-size: 1.4rem;
  cursor: pointer;
  transition: opacity 0.2s;
}

.FileSearch__btn:hover {
  opacity: 0.85;
}

/* ==========================================================================
   FileFilter（カテゴリ絞り込み）
========================================================================== */

.FileFilter__label {
  font-size: 1.3rem;
  font-weight: bold;
}

.FileFilter__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
}

.FileFilter__btn {
  padding: 0.4em 1.4em;
  border: 1px solid #b3b3b3;
  border-radius: 999px;
  background: #fff;
  color: #4d4d4d;
  font-size: 1.2rem;
  line-height: 1.4;
  cursor: pointer;
  transition:
    background 0.2s,
    color 0.2s,
    border-color 0.2s;
}

.FileFilter__btn:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}

.FileFilter__btn.is-active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

/* ==========================================================================
   FileTable（資料書庫・表形式）
========================================================================== */

.FileTable {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  background: #fff;
}

.FileTable th,
.FileTable td {
  padding: 10px 14px;
  text-align: left;
  vertical-align: middle;
  border-bottom: 1px solid #e0e0e0;
  font-size: 1.2rem;
}

.FileTable thead th {
  background: #f5f5f5;
  font-weight: bold;
  font-size: 1.2rem;
  color: #333;
  white-space: nowrap;
}

/* 列幅の目安（必要に応じて調整） */
.FileTable__cate {
  width: 15%;
}
.FileTable__content {
  width: 45%;
}
.FileTable__kind {
  width: 15%;
  text-align: center;
}
.FileTable__date {
  width: 15%;
  white-space: nowrap;
}

.FileRow:hover {
  background: #fafafa;
}

/* ファイル内容セル：他の列よりさらに小さめに */
.FileTable__content .FileItem__ttl {
  display: inline-block;
  font-size: 1.15rem;
  font-weight: bold;
  color: var(--color-primary);
  text-decoration: underline;
}

.FileTable__content .FileItem__ttl:hover {
  text-decoration: none;
}

.FileTable__content p {
  margin: 4px 0 0;
  font-size: 1.05rem;
  color: #666;
  line-height: 1.5;
}

/* ファイル形式ごとのアイコン・色分け（任意） */
.FileRow.pdf .FileTable__kind::before,
.FileRow.zip .FileTable__kind::before,
.FileRow.excel .FileTable__kind::before,
.FileRow.word .FileTable__kind::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-right: 5px;
  vertical-align: middle;
}

.FileRow.pdf .FileTable__kind::before {
  background: #e53935;
}
.FileRow.zip .FileTable__kind::before {
  background: #757575;
}
.FileRow.excel .FileTable__kind::before {
  background: #2e7d32;
}
.FileRow.word .FileTable__kind::before {
  background: #1565c0;
}

/* ==========================================================================
   FileTable__empty（該当なし表示）
========================================================================== */

.FileTable__empty td {
  text-align: center;
  color: #888;
  padding: 24px 0;
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
  .FileTable__empty td::before {
    content: none;
  }
}

/* ==========================================================================
   レスポンシブ対応（スマホではカード表示に切り替え）
========================================================================== */

@media screen and (max-width: 767px) {
  .FileTable,
  .FileTable thead,
  .FileTable tbody,
  .FileTable th,
  .FileTable td,
  .FileTable tr {
    display: block;
    width: 100%;
  }

  .FileTable thead {
    display: none;
  }

  .FileRow {
    margin-bottom: 14px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 10px 14px;
  }

  .FileTable td {
    border: none;
    padding: 6px 0;
    display: flex;
    align-items: flex-start;
  }

  .FileTable td::before {
    content: attr(data-label);
    flex: 0 0 80px;
    font-weight: bold;
    font-size: 1.05rem;
    color: #888;
  }

  .FileTable__cate,
  .FileTable__kind,
  .FileTable__date {
    text-align: left;
  }
}

/* ==========================================================================
   FileTable 追加列（顧客開拓支援ツール／SRアップ21診断プログラム用）
   ・カテゴリ／資料名／ファイル形式／説明／提供元／掲載日
========================================================================== */

.FileTable__name {
  width: 20%;
}

.FileTable__desc {
  width: 30%;
}

.FileTable__provider {
  width: 12%;
  white-space: nowrap;
}

/* 資料名セル内のリンク */
.FileTable__name .FileItem__ttl {
  display: inline-block;
  font-size: 1.15rem;
  font-weight: bold;
  color: var(--color-primary);
  text-decoration: underline;
}

.FileTable__name .FileItem__ttl:hover {
  text-decoration: none;
}

/* 説明セル */
.FileTable__desc {
  font-size: 1.1rem;
  color: #666;
  line-height: 1.6;
}

.FileTable__desc p {
  margin: 0 0 4px;
}

.FileTable__desc p:last-child {
  margin-bottom: 0;
}

/* 提供元セル */
.FileTable__provider {
  font-size: 1.1rem;
  color: #4d4d4d;
  text-align: center;
}

/* ==========================================================================
   スマホ表示（カード化）時の追加列ラベル調整
========================================================================== */

@media screen and (max-width: 767px) {
  .FileTable__provider {
    text-align: left;
    white-space: normal;
  }
}

/* ==========================================================================
   FileTable 追加列（事務所支援ツール用）
========================================================================== */

.FileTable__price {
  width: 10%;
  text-align: center;
  white-space: nowrap;
  font-weight: bold;
}

.FileTable__apply {
  width: 10%;
  text-align: center;
  white-space: normal; /* nowrap → normal に変更 */
  word-break: break-all; /* 長いメールアドレスを強制改行 */
  overflow-wrap: break-word;
}

.FileTable__applyBtn {
  display: inline;
  padding: 0;
  border-radius: 0;
  background: none;
  color: var(--color-primary);
  font-size: 1.1rem;
  text-decoration: underline;
  word-break: break-all;
  transition: opacity 0.2s;
}

.FileTable__applyBtn:hover {
  opacity: 0.7;
  color: var(--color-primary);
}

@media screen and (max-width: 767px) {
  .FileTable__price,
  .FileTable__apply {
    text-align: left;
  }
}

/* ログインアライアンスページ */

.pdf-link-list li,
.pdf-link-wrap {
  margin-block: 20px;
}

/* 大会名一覧ページ */
.TitleList__item {
  margin-block: 4px;
}

/* ============================================================
   style.css のいちばん最後に追加してください
   （Sassから書き出している場合は、元のSCSSの最後に）
============================================================ */

/* ---- フッターのロゴ画像（Logo-color.png） ---- */
.Footer .corpInfo .corpLogo .srup21 {
  display: block;
  width: 230px;
  max-width: 100%;
  height: auto;
}

/* ---- 768〜1100px：メニューが折り返す前にハンバーガーへ切り替え ---- */
@media screen and (min-width: 768px) and (max-width: 1100px) {
  /* 横並びのメニューを隠す */
  .HeaderMenu .g-menu {
    display: none;
  }
  /* ハンバーガーを出す（高さ100pxのヘッダーの中央に置く） */
  #nav-toggle {
    display: flex;
    top: 20px;
  }
  /* ハンバーガーとロゴが重ならないよう、左を空ける */
  .Header__inner {
    padding-left: 70px;
  }
  /* メニューが消えたぶん、ロゴ上のキャッチコピーを1行で見せる */
  .Header__Block {
    min-width: 0;
    width: auto;
    flex-shrink: 0;
  }
  /* 開いたメニューの幅を、既存のタブレット用（35%）にそろえる */
  #g-nav,
  #g-nav.panelactive #g-nav-list {
    width: 35%;
    max-width: 35%;
  }
}

/* スマホ（767px以下）：キャッチコピーの分だけ全体を下げて、上下の余白をそろえる */
@media screen and (max-width: 767px) {
  .Header .headTxt {
    top: 4px;
  }
  .Header__column {
    padding-top: 14px;
    box-sizing: border-box;
  }
  #nav-toggle {
    top: 7px;
  }
}

/* ============================================================
	SRアップ21 メインビジュアル（HTML版）

	・背景（日本地図）だけ画像。文字・ボタン・業務パネルはHTML。
	・業務パネルの中身（3種類）は、CSSアニメーションでフェード切り替え（JSなし）。
	・PC（1024px以上）：左にコピー、右下に業務パネル
	  タブレット・スマホ（1023px以下）：縦積み（SP案B）

	数値の多くは「デザインデータ（幅2000px）のpx ÷ 20 = vw」で換算しています。
	例）見出し 74px → 3.7vw
============================================================ */

.sr-mv {
  /* ---- 調整用の数値 ---- */
  --sr-cycle: 12s; /* 3枚がひと回りする時間（1枚あたり4秒。うち約1.2秒がフェード） */
  --sr-header-h: 100px; /* 上に重なるヘッダーの高さ */
  --sr-side: 5%; /* 左右の余白（下のセクションの padding: 0 5% と同じ） */

  --sr-navy: #12304a; /* 見出しの文字色 */
  --sr-item-title: #133f7a; /* 業務名の文字色（濃紺） */
  --sr-text: #2f3f4c; /* 本文の文字色 */
  --sr-orange: #f15a25; /* お問い合わせ */
  --sr-blue: #0058a4; /* 社労士を探す・チェックアイコン */
  --sr-panel-head: #1f6fb5; /* 業務パネルの帯 */
  --sr-green: #3a9426; /* 全国対応 */
  --sr-sky: #1b88c9; /* 相談無料 */

  position: relative;
  box-sizing: border-box;
  height: clamp(600px, 50vw, 1000px);
  height: clamp(600px, min(50vw, 100svh), 1000px);
  padding-top: var(--sr-header-h);
  background: #fff url(assets/img/top/Fv-bg.webp) center top / cover no-repeat;
  color: var(--sr-navy);
  line-height: 1.5;
  overflow: hidden;
}

/* テーマ側の共通スタイル（見出し・リストの余白など）を打ち消す */
.sr-mv *,
.sr-mv *::before,
.sr-mv *::after {
  box-sizing: border-box;
}
/* :where() で詳細度を下げ、下に書いた個別の指定が必ず勝つようにする */
.sr-mv :where(h2, h3, p, ul, li) {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: inherit;
  letter-spacing: normal;
}
.sr-mv sup {
  font-size: 0.6em;
  line-height: 0;
  vertical-align: super;
}
.sr-mv svg {
  display: block;
  flex: none;
}

/* ---- 中身の枠：左右5%、左にコピー・右下にパネル ---- */
.sr-mv__inner {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 4vw;
  height: 100%;
  padding: 0 var(--sr-side);
}

/* ---- 左：コピーのかたまり ----
	上下の余白を「上160：下220」にして、見た目の中央（少し上）に置く */
.sr-mv__lead {
  display: flex;
  flex-direction: column;
  max-width: 44vw;
}
.sr-mv__lead::before,
.sr-mv__lead::after {
  content: "";
}
.sr-mv__lead::before {
  flex: 160 1 0;
}
.sr-mv__lead::after {
  flex: 220 1 0;
}

/* ---- コピーの下に敷く白い楕円（デザインの楕円 1098×821 をコピーの中心に） ----
	白70%（中心〜48%）→ 白0%（外周）。デザインデータ幅2000px基準で 1098÷20=54.9vw、821÷20=41.05vw */
.sr-mv__copy {
  position: relative;
  isolation: isolate;
}
.sr-mv__copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  width: 54.9vw;
  height: 41.05vw;
  transform: translate(-50%, -50%);
  background: radial-gradient(
    closest-side,
    rgba(255, 255, 255, 0.7) 48%,
    rgba(255, 255, 255, 0) 100%
  );
  pointer-events: none;
}

/* 全国対応・相談無料 */
.sr-mv__tags {
  display: flex;
  gap: 0.55em;
  font-size: clamp(14px, 1.3vw, 24px);
  font-weight: 700;
}
.sr-mv__tag {
  padding: 0.2em 0.45em;
  color: #fff;
  line-height: 1.4;
}
.sr-mv__tag--green {
  background-color: var(--sr-green);
}
.sr-mv__tag--blue {
  background-color: var(--sr-sky);
}

/* 見出し */
.sr-mv__title {
  margin-top: 0.3em !important;
  font-size: clamp(26px, 2.917vw, 56px); /* 小さい文字：W1920で56px */
  font-weight: 700 !important;
  line-height: 1.42;
  letter-spacing: 0.02em !important;
  color: var(--sr-navy);
}
/* 「社労士」だけ大きく・太く・青く：W1920で72px（56px × 1.2857）
   下半分に淡い水色のマーカーを引く */
.sr-mv__title-em {
  padding: 0 0.1em;
  font-size: 1.2857em;
  line-height: 1;
  font-weight: 900;
  color: var(--sr-blue);
  background: linear-gradient(
    transparent 62%,
    #fff9dc 62%,
    #fff2bf 92%,
    transparent 92%
  );
}

/* 本文 */
.sr-mv__text {
  max-width: 38vw;
  margin-top: 1.4em !important;
  font-size: clamp(14px, 0.95vw, 18px);
  line-height: 1.85;
  letter-spacing: 0.04em !important;
  color: var(--sr-text);
}

/* ボタン */
.sr-mv__btns {
  display: flex;
  gap: 1.6vw;
  margin-top: 2.1vw;
}
.sr-mv__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  width: 13.1vw;
  min-width: 190px;
  height: 2.75vw;
  min-height: 48px;
  font-size: clamp(15px, 1.25vw, 24px);
  font-weight: 700;
  color: #fff !important;
  text-decoration: none !important;
  transition:
    opacity 0.3s,
    transform 0.3s;
}
.sr-mv__btn svg {
  width: 1.3em;
  height: 1.3em;
}
.sr-mv__btn--contact {
  background-color: var(--sr-orange);
}
.sr-mv__btn--search {
  background-color: var(--sr-blue);
}
.sr-mv__btn:hover,
.sr-mv__btn:focus-visible {
  opacity: 0.85;
  transform: translateY(-2px);
}

/* ---- 右下：業務パネル ---- */
.sr-mv__panel {
  align-self: flex-end;
  flex: none;
  width: clamp(380px, 28.75vw, 580px);
  margin-bottom: clamp(16px, 1.7vw, 34px);
  background: #fff;
  box-shadow: 0 0.5vw 1.5vw rgba(20, 70, 100, 0.14);
}
.sr-mv__panel-head {
  display: flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.55em 0.9em;
  background-color: var(--sr-panel-head);
  color: #fff;
  font-size: clamp(13px, 1.15vw, 22px);
  font-weight: 700 !important;
  line-height: 1.4;
  white-space: nowrap;
}
.sr-mv__panel-head svg {
  width: 1.2em;
  height: 1.2em;
}

/* 3つの中身を同じ場所に重ねる（高さはいちばん長いものに合わせる）
	見出しは上にそろえたまま、リストだけを残りの高さの中で上下中央に置く */
.sr-mv__items {
  display: grid;
}
.sr-mv__item {
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  padding: 1.1vw 1.4vw 1.4vw;
  background: #fff;
}

/* 業務名まわり：大きな薄い番号＋英字ラベル＋業務名＋右上の「1 / 3」 */
.sr-mv__item-head {
  display: flex;
  align-items: center;
  gap: 0.9vw;
  padding-bottom: 0.8vw;
  border-bottom: 1px solid #e1e9f0;
}
.sr-mv__item-num {
  flex: none;
  font-size: clamp(34px, 2.6vw, 50px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #cfe2f3;
  font-variant-numeric: tabular-nums;
}
.sr-mv__item-en {
  font-size: clamp(10px, 0.68vw, 13px);
  font-weight: 700 !important;
  line-height: 1.4;
  letter-spacing: 0.18em !important;
  color: var(--sr-sky);
}
.sr-mv__item-title {
  font-size: clamp(18px, 1.45vw, 28px);
  font-weight: 700 !important;
  line-height: 1.3;
  color: var(--sr-item-title);
}
.sr-mv__item-page {
  flex: none;
  align-self: flex-start;
  margin-left: auto;
  font-size: clamp(11px, 0.75vw, 14px);
  letter-spacing: 0.08em;
  color: #8aa0b2;
}
.sr-mv__list {
  flex: 1; /* 見出しの下の残りの高さいっぱいに広げ、 */
  justify-content: center; /* その中で項目を上下中央に置く */
  display: flex;
  flex-direction: column;
  gap: 0.55em;
  margin-top: 0.9em !important;
  font-size: clamp(14px, 1.05vw, 20px);
  line-height: 1.5;
  color: var(--sr-text);
}
.sr-mv__list li {
  display: flex;
  gap: 0.5em;
}
/* 項目が少ない「講師派遣・執筆」は、行の間隔を広げて間延びしないようにする */
.sr-mv__item--3 .sr-mv__list {
  gap: 1.4em;
}
.sr-mv__list svg {
  width: 1.15em;
  height: 1.15em;
  margin-top: 0.18em;
  color: var(--sr-blue);
}

/* ---- フェード切り替え ----
	1枚目は常に表示。2枚目・3枚目を上から順に重ねる */
.sr-mv__item--2,
.sr-mv__item--3 {
  opacity: 0;
  animation-duration: var(--sr-cycle);
  animation-delay: calc(
    var(--sr-cycle) / 10
  ); /* 最初の1枚も他と同じ長さだけ見せる */
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}
.sr-mv__item--2 {
  z-index: 1;
  animation-name: sr-mv-item-2;
}
.sr-mv__item--3 {
  z-index: 2;
  animation-name: sr-mv-item-3;
}

/* 2枚目：ふわっと出て、3枚目が出きったら下で消える */
@keyframes sr-mv-item-2 {
  0%,
  23.333% {
    opacity: 0;
  }
  33.333%,
  66.667% {
    opacity: 1;
  }
  66.668%,
  100% {
    opacity: 0;
  }
}
/* 3枚目：2枚目の上にふわっと出て、最後にふわっと消えて1枚目に戻る */
@keyframes sr-mv-item-3 {
  0%,
  56.667% {
    opacity: 0;
  }
  66.667%,
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* 切り替え位置を示すバー（スマホ・タブレットだけ表示） */
.sr-mv__dots {
  display: none;
}

/* ------------------------------------------------------------
	ヘッダー（トップページだけ）
	青の帯を少し透かして敷き、お問い合わせボタンをオレンジに
	※ body:has(.sr-mv) で、MVがあるページ（＝トップ）にだけ効かせる
------------------------------------------------------------ */
body:has(.sr-mv) .Header {
  background-color: transparent;
  background-image: linear-gradient(
    90deg,
    rgba(0, 79, 147, 0.9),
    rgba(10, 116, 184, 0.9)
  );
}
/* ※既存のボタンの装飾によっては、枠線・文字色も調整してください */
body:has(.sr-mv) .Header .contact-Btn--header {
  background-color: #f15a25;
  border-color: #f15a25;
}

/* ============================================================
	タブレット・スマホ（1023px以下）：縦積み（SP案B）
	数値は「スマホデザイン（幅390px）のpx ÷ 3.9 = vw」で換算
============================================================ */
@media screen and (max-width: 1023px) {
  .sr-mv {
    height: auto;
    padding-bottom: 32px;
    background: #fff; /* 地図は下の ::after で敷く（傾けるため） */
  }
  /* 薄くした日本地図。少し傾けて、北海道まで画面に収める */
  .sr-mv::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: calc(var(--sr-header-h) - 6vw);
    right: -12vw;
    width: 128vw;
    aspect-ratio: 1 / 1;
    background: url(assets/img/top/Fv-bg-sp.webp) center / contain no-repeat;
    transform: rotate(-20deg);
    pointer-events: none;
  }
  /* スマホは背景の地図自体を薄くしているので、白い楕円は使わない */
  .sr-mv__copy::before {
    content: "";
    left: calc(var(--sr-side) * -1);
    top: 30%;
    width: calc(100% + var(--sr-side) * 2);
    height: 85%;
    transform: none;
  }
  .sr-mv__inner {
    display: block;
    height: auto;
  }
  .sr-mv__lead {
    display: block;
    max-width: none;
    padding: clamp(96px, 28.2vw, 200px) 0 24px; /* 上に地図をのぞかせる */
  }
  .sr-mv__lead::before,
  .sr-mv__lead::after {
    content: none;
  }
  .sr-mv__tags {
    font-size: 14px;
  }
  .sr-mv__title {
    margin-top: 0.5em !important;
    font-size: clamp(21px, 6.1vw, 34px); /* “社労士”はこの1.2857倍 */
  }
  .sr-mv__text {
    max-width: none;
    margin-top: 14px !important;
    font-size: clamp(14px, 3.6vw, 16px);
    line-height: 1.6;
  }
  .sr-mv__btns {
    gap: 10px;
    margin-top: 18px;
  }
  .sr-mv__btn {
    flex: 1;
    width: auto;
    min-width: 0;
    height: 52px;
    font-size: clamp(14px, 3.85vw, 18px);
  }
  .sr-mv__panel {
    width: auto;
    margin-bottom: 60px;
    box-shadow: 0 8px 24px rgba(20, 70, 100, 0.14);
  }
  .sr-mv__panel-head {
    font-size: clamp(13px, 3.45vw, 16px);
    white-space: normal;
  }
  .sr-mv__item {
    padding: 16px 16px 18px;
  }
  .sr-mv__item-head {
    gap: 12px;
    padding-bottom: 10px;
  }
  .sr-mv__item-num {
    font-size: 38px;
  }
  .sr-mv__item-en {
    font-size: 10px;
  }
  .sr-mv__item-title {
    font-size: 20px;
  }
  .sr-mv__item-page {
    font-size: 12px;
  }
  .sr-mv__list {
    font-size: 14px;
  }

  .sr-mv__dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
  }
  .sr-mv__dots span {
    width: 28px;
    height: 4px;
    background-color: #c9d8e4;
    animation-duration: var(--sr-cycle);
    animation-delay: calc(var(--sr-cycle) / 10);
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
  }
  .sr-mv__dots span:nth-child(1) {
    background-color: var(--sr-blue);
    animation-name: sr-mv-dot-1;
  }
  .sr-mv__dots span:nth-child(2) {
    animation-name: sr-mv-dot-2;
  }
  .sr-mv__dots span:nth-child(3) {
    animation-name: sr-mv-dot-3;
  }
}

/* スマホ（767px以下）はヘッダーが低い */
@media screen and (max-width: 767px) {
  .sr-mv {
    --sr-header-h: 70px;
  }
}

/* 小さいスマホ（374px以下）：業務名が途中で折り返さないよう少し小さく */
@media screen and (max-width: 374px) {
  .sr-mv__item-head {
    gap: 8px;
  }
  .sr-mv__item-num {
    font-size: 26px;
  }
  .sr-mv__item-title {
    font-size: 16px;
  }
}

/* バーの色の切り替え（パネルと同じタイミング） */
@keyframes sr-mv-dot-1 {
  0%,
  23.333% {
    background-color: var(--sr-blue);
  }
  33.333%,
  90% {
    background-color: #c9d8e4;
  }
  100% {
    background-color: var(--sr-blue);
  }
}
@keyframes sr-mv-dot-2 {
  0%,
  23.333% {
    background-color: #c9d8e4;
  }
  33.333%,
  56.667% {
    background-color: var(--sr-blue);
  }
  66.667%,
  100% {
    background-color: #c9d8e4;
  }
}
@keyframes sr-mv-dot-3 {
  0%,
  56.667% {
    background-color: #c9d8e4;
  }
  66.667%,
  90% {
    background-color: var(--sr-blue);
  }
  100% {
    background-color: #c9d8e4;
  }
}

/* 「視差効果を減らす」設定の端末では、フェードなしでパッと切り替え */
@media (prefers-reduced-motion: reduce) {
  .sr-mv__item--2,
  .sr-mv__item--3,
  .sr-mv__dots span {
    animation-timing-function: step-end;
  }
  .sr-mv__btn {
    transition: none;
  }
}

/* ============================================================
	SRアップ21 トップページ（MV以外の追加分）
	・業務内容の見出し下キャッチ（.TopCatch）
	・農業バナー（.TopBnr）
	・下部のテキストリンク3つ（.TopLinks）
============================================================ */

/* ---- 業務内容：見出し下のキャッチ ---- */
.TopCatch {
  color: var(--color-primary);
  font-size: clamp(1.8rem, 1.4vw, 2.6rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .TopCatch {
    font-size: 1.6rem;
    letter-spacing: 0;
  }
}

/* ---- 農業バナー（画像1枚・業務内容の3カードと同じ幅） ---- */
.TopBnr__link {
  display: inline-block; /* 影が画像の大きさにぴったり付くように */
  max-width: 100%;
  vertical-align: top;
  transition:
    transform 0.3s,
    box-shadow 0.3s;
}
/* ホバー：下部リンク（.TopLinks）と同じく、少し上に浮いて影がつく */
.TopBnr__link:hover,
.TopBnr__link:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(77, 77, 77, 0.25);
}
.TopBnr img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; /* 画像の下にできるすき間を消す */
}

/* ---- 下部リンク（社労士の先生方へ／活動状況／求人情報） ---- */
.TopLinks {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.TopLinks__item {
  --tl-color: var(--color-primary);
  display: flex;
  align-items: center;
  gap: 0 1.2em;
  height: 100%;
  padding: 1.6em 1.5em;
  box-sizing: border-box;
  background-color: #fff;
  border-top: 4px solid var(--tl-color);
  border-radius: 6px;
  box-shadow: 0 0 15px rgba(77, 77, 77, 0.18);
  color: #4d4d4d;
  text-decoration: none;
  line-height: 1.5;
  transition:
    transform 0.3s,
    box-shadow 0.3s;
}
.TopLinks__item:visited {
  color: #4d4d4d;
}
.TopLinks__item--sr {
  --tl-color: #f15a24;
}
.TopLinks__item--activity {
  --tl-color: var(--color-primary);
}
.TopLinks__item--recruit {
  --tl-color: #009f42;
}

.TopLinks__item:hover,
.TopLinks__item:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(77, 77, 77, 0.25);
}

/* 丸アイコン */
.TopLinks__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 56px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: var(--tl-color);
  color: #fff;
  font-size: 2.2rem;
}

.TopLinks__body {
  display: flex;
  flex-direction: column;
  gap: 0.25em 0;
  min-width: 0;
  flex: 1;
}
.TopLinks__ttl {
  color: var(--tl-color);
  font-size: clamp(1.7rem, 1.35vw, 2.4rem);
  font-weight: 700;
}
.TopLinks__txt {
  font-size: clamp(1.2rem, 0.9vw, 1.5rem);
}

.TopLinks__arrow {
  flex: none;
  color: var(--tl-color);
  font-size: 1.8rem;
  transition: transform 0.3s;
}
.TopLinks__item:hover .TopLinks__arrow {
  transform: translateX(4px);
}

/* タブレット：3つ並びだと窮屈なので少し詰める */
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .TopLinks {
    gap: 16px;
  }
  .TopLinks__item {
    padding: 1.3em 1em;
    gap: 0 0.8em;
  }
  .TopLinks__icon {
    width: 44px;
    font-size: 1.8rem;
  }
  .TopLinks__ttl {
    font-size: 1.6rem;
  }
}

/* スマホ：縦に1列 */
@media screen and (max-width: 767px) {
  .TopLinks {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .TopLinks__item {
    padding: 1.1em 1.2em;
  }
  .TopLinks__icon {
    width: 46px;
    font-size: 1.9rem;
  }
  .TopLinks__ttl {
    font-size: 1.7rem;
  }
  .TopLinks__txt {
    font-size: 1.3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .TopLinks__item,
  .TopLinks__arrow,
  .TopBnr__link {
    transition: none;
  }
}

/* ===== 入会希望日のカレンダー（MW WP Form datepicker） ===== */

/* 普段は非表示（display に !important は付けないこと） */
#ui-datepicker-div {
  display: none;
  z-index: 1000 !important; /* 見出しなどより手前に表示 */
  width: 300px;
  padding: 12px;
  background: #fff;
  border: 1px solid #ccd6e0;
  border-radius: 8px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  font-size: 14px;
  line-height: 1;
  box-sizing: border-box;
}

/* ヘッダー（年月の選択） */
#ui-datepicker-div .ui-datepicker-header {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 8px;
  padding: 0 36px;
}
#ui-datepicker-div .ui-datepicker-title {
  display: flex;
  align-items: center;
  gap: 4px;
}
#ui-datepicker-div .ui-datepicker-title select {
  width: auto;
  height: auto;
  padding: 4px 6px;
  font-size: 14px;
  border: 1px solid #ccd6e0;
  border-radius: 4px;
  background: #fff;
}

/* 前月・次月ボタン（Prev / Next の文字を矢印に） */
#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: #0b5aa6;
  text-decoration: none;
  cursor: pointer;
}
#ui-datepicker-div .ui-datepicker-prev {
  left: 0;
}
#ui-datepicker-div .ui-datepicker-next {
  right: 0;
}
#ui-datepicker-div .ui-datepicker-prev:hover,
#ui-datepicker-div .ui-datepicker-next:hover {
  background: #eaf2fb;
}
#ui-datepicker-div .ui-datepicker-prev span,
#ui-datepicker-div .ui-datepicker-next span {
  display: none;
}
#ui-datepicker-div .ui-datepicker-prev::before {
  content: "‹";
  font-size: 22px;
}
#ui-datepicker-div .ui-datepicker-next::before {
  content: "›";
  font-size: 22px;
}
#ui-datepicker-div .ui-datepicker-prev.ui-state-disabled,
#ui-datepicker-div .ui-datepicker-next.ui-state-disabled {
  opacity: 0.3;
  cursor: default;
}

/* カレンダー本体 */
#ui-datepicker-div table {
  width: 100%;
  margin: 0;
  border: none;
  border-collapse: collapse;
}
#ui-datepicker-div th,
#ui-datepicker-div td {
  width: auto;
  padding: 2px;
  border: none;
  background: none;
  text-align: center;
}
#ui-datepicker-div th {
  padding: 6px 0;
  font-size: 12px;
  font-weight: bold;
  color: #555;
}
#ui-datepicker-div th:first-child {
  color: #d33;
} /* 日曜 */
#ui-datepicker-div th:last-child {
  color: #0b5aa6;
} /* 土曜 */

#ui-datepicker-div td a,
#ui-datepicker-div td span {
  display: block;
  padding: 8px 0;
  border: 1px solid transparent;
  border-radius: 4px;
  text-align: center;
  text-decoration: none;
}
#ui-datepicker-div td a {
  color: #333;
}
#ui-datepicker-div td a:hover {
  background: #eaf2fb;
}
#ui-datepicker-div td span {
  color: #bbb; /* 選べない日 */
}

/* 今日 */
#ui-datepicker-div .ui-datepicker-today a {
  border-color: #0b5aa6;
}
/* 選択中の日 */
#ui-datepicker-div td a.ui-state-active {
  background: #0b5aa6;
  color: #fff;
}

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

/* ヘッダーの会員ボタン：人のアイコン（20261112） */
.Login-Btn .icon-fa {
  font-size: 13px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .Login-Btn .icon-fa {
    font-size: 17px;
  }
}

/* 専門家紹介の検索条件：スマホでは2列をやめて縦に並べる（20261112）
   PC用の「左右50%ずつ」がスマホでも効いていて、チェックボタンが小さな丸に押し込まれていたため */
@media screen and (max-width: 767px) {
  .SearchCond .Condition__column {
    flex-direction: column;
    gap: 25px 0;
  }
  .SearchCond .Condition__column .col-1 {
    width: 100% !important;
  }
  .SearchCond .Condition__column .col-1.u-mt50 {
    margin-top: 0 !important;
  }
  /* 「性別」「フリーワード」の見出し：u-w30（幅30%）で1文字ずつ折り返していたため全幅に */
  .SearchCond .Condition dl dd dl dt.u-w30 {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 0.5em;
  }
  /* チェックボタン：2行になっても読みやすいように左右に少し余白 */
  .SearchCond .Condition dl dd .checkbox span {
    padding: 0.9em 0.3em;
    line-height: 1.3;
  }
}

/* 会員ページのメニュー：白い文字が読みにくかったため、背景を濃く・透けないように（20261112）
   元：#498f5d → #42798b を 80% の濃さで重ねていた（白文字とのコントラスト約3:1） */
.memGlobalMenu::after {
  background-image: linear-gradient(90deg, #3a7049, #335f6e);
  opacity: 1;
}
.memGlobalMenu .mem-global-menu .sub-menu {
  background-image: linear-gradient(90deg, #3a7049, #335f6e);
}

/* 会員ページ（header-login.php）のハンバーガー：白いヘッダーの上でも見えるよう、常に濃いグレーに（20261112）
   元は白い線で、スクロールしたときだけグレーになっていた。開いているとき（.active）は元の青のまま */
#nav-toggle.nav-toggle-login:not(.active) span {
  background-color: #4d4d4d;
}
#nav-toggle.nav-toggle-login:not(.active) .menu-ttl {
  color: #4d4d4d;
}

/* 会員専用TOP（PgMem-Special）：スマホでバナーが小さすぎ・リンクバナーがはみ出していたため（20261112）
   バナーは1列・全幅で並べ、リンク方法のバナーも縦に並べて画面幅に収める */
@media screen and (max-width: 767px) {
  .PgMem-Special .Cnt--2 .CtBnr__column {
    gap: 12px;
  }
  .PgMem-Special .Cnt--2 .CtBnr .CtBnrItem,
  .PgMem-Special .Cnt--2 .CtBnr .CtBnrItem--wide {
    width: 100%;
  }
  .PgMem-Special .Cnt--2 .CtBnr .CtBnrBreak {
    display: none;
  }
  .PgMem-Special .Cnt--2 .CtBnr .CtBnrItem img.mg1 {
    top: 0;
  }
  .PgMem-Special .Cnt--2 .Box--inline {
    display: block;
  }
  .PgMem-Special .Cnt--2 .MemlinkBnr {
    flex-direction: column;
    align-items: stretch;
    gap: 15px 0;
  }
  .PgMem-Special .Cnt--2 .MemlinkBnr a img {
    width: auto;        /* 小さいバナーを引き伸ばしてぼやけさせない */
    max-width: 100%;    /* 大きいバナーは画面幅に収める */
    height: auto;
  }
}

/* 資料書庫（FileTable）スマホ表示の修正（20261112）
   1) カードが画面幅より広くなり、右にはみ出して横スクロールが出ていたため box-sizing を指定
   2) 「ファイル形式」の色付き●が、項目名ラベル（::before）と同じ場所を使っていて80px幅に引き伸ばされていたため、
      スマホでは ::before をラベルに戻し、●は ::after に移して「ラベル → ● → PDF」の順に並べる */
@media screen and (max-width: 767px) {
  .FileRow {
    box-sizing: border-box;
  }
  .FileTable td {
    box-sizing: border-box;
    overflow-wrap: anywhere;
  }
  .FileRow.pdf .FileTable__kind::before,
  .FileRow.zip .FileTable__kind::before,
  .FileRow.excel .FileTable__kind::before,
  .FileRow.word .FileTable__kind::before {
    content: attr(data-label);
    flex: 0 0 80px;
    width: auto;
    height: auto;
    margin: 0;
    border-radius: 0;
    background: none;
    font-weight: bold;
    font-size: 1.05rem;
    color: #888;
    order: -2;
  }
  .FileRow.pdf .FileTable__kind::after,
  .FileRow.zip .FileTable__kind::after,
  .FileRow.excel .FileTable__kind::after,
  .FileRow.word .FileTable__kind::after {
    content: "";
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    margin: 0 6px 0 0;
    border-radius: 50%;
    align-self: center;
    order: -1;
  }
  .FileRow.pdf .FileTable__kind::after { background: #e53935; }
  .FileRow.zip .FileTable__kind::after { background: #757575; }
  .FileRow.excel .FileTable__kind::after { background: #2e7d32; }
  .FileRow.word .FileTable__kind::after { background: #1565c0; }
}