/******************************************
  reset / base-style
******************************************/
* {
  margin: 0px;
  padding: 0px;
}

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
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,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table.table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  border: 0;
  font-family: inherit;
  /*font-size: 100%;*/
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

:focus {
  outline: 0;
}

ol,
ul,
li {
  list-style: none;
}

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

caption,
th,
td {
  font-weight: normal;
  text-align: left;
}

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

blockquote,
q {
  quotes: "" "";
}

img {
  vertical-align: bottom;
}

a img {
  border: 0;
}

figure {
  margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}

html {
  height: 100%;
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  line-height: normal;
  letter-spacing: normal;
  font-family: -apple-system, "M+ C Type-1 (basic latin) Regular", "メイリオ", "Meiryo", "游ゴシック", "Yu Gothic", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  color: #000;
  font-size: 1.4rem;
  font-size: 14px;
  position: relative;
}

@media screen and (max-width: 990px) {
  body {
    overflow-x: hidden;
  }
}

@media screen and (max-width: 990px) {
  .scl_stop {
    overflow: hidden;
  }

  .fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
  }

  .fixed.active {
    height: 100%;
    overflow-y: auto;
    background: transparent;
  }
}

.hide {
  display: none;
}

.pc {
  display: block !important;
}

.sm {
  display: none !important;
}

@media (max-width: 768px) {
  .pc {
    display: none !important;
  }

  .sm {
    display: block !important;
  }
}

/******************************************
  link
******************************************/
a {
  color: #000;
  text-decoration: none;
  transition: opacity 0.3s ease-out;
  outline: none;
}

a.pop_open {
  cursor: pointer;
}

a.inv {
  color: #fff;
}

a:hover,
a:active,
a:focus {
  color: #000;
  opacity: 0.7;
  text-decoration: none;
  outline: none;
}

a img:hover {
  opacity: 0.7;
}

a img {
  transition: opacity 0.3s ease-out;
}

a.block {
  color: #000;
  display: block;
}

/******************************************

******************************************/
address {
  font-style: normal;
}

ol,
li,
p,
dl {
  font-size: 1.4rem;
  font-size: 14px;
  line-height: 1.8;
}

img,
video {
  width: auto;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border: 0;
}

iframe {
  max-width: 100%;
}

@media screen and (max-width: 990px) {
  iframe {
    height: auto;
  }
}

table,
th,
td {
  border: 0;
  padding: 0;
}

div,
p,
li,
dt,
dd {
  word-wrap: break-word;
}

em {
  font-style: normal;
}

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

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

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

/******************************************
  clearfix
******************************************/
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.clearBoth {
  clear: both;
}

/******************************************
  display
******************************************/
@media screen and (min-width: 991px) {
  .d_pc {
    display: block;
  }
}

@media screen and (max-width: 990px) {
  .d_pc {
    display: none !important;
  }
}

@media screen and (min-width: 991px) {
  .d_sp {
    display: none !important;
  }
}

@media screen and (max-width: 990px) {
  .d_sp {
    display: block;
  }
}

/******************************************
  判別
******************************************/
.isPc {
  display: none;
  width: 1px;
}

@media screen and (max-width: 990px) {
  .isSp {
    display: none;
    width: 2px;
  }
}

/******************************************
  text align
******************************************/
.alignleft {
  float: left !important;
  clear: left !important;
  margin: 3px 1em 1em 0 !important;
}

.alignright {
  float: right !important;
  clear: right !important;
  margin: 3px 0 1em 1em !important;
}

.txtL {
  text-align: left;
}

.center,
.txtC {
  text-align: center;
}

.right,
.txtR {
  text-align: right;
}

.mb0 {
  margin: 0 !important;
}

/******************************************
  img align
******************************************/
.boxImgL {
  text-align: left;
}

.boxImgC {
  text-align: center;
}

.boxImgR {
  text-align: right;
}

.boxTopImage {
  text-align: center;
  margin-bottom: 25px;
}

/******************************************
  layout
******************************************/
.inner,
.wrapper {
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
}

@media screen and (min-width: 1080px) {

  .inner,
  .wrapper {
    width: 1080px;
  }
}

@media screen and (max-width: 1079px) {

  .inner,
  .wrapper {
    width: 100%;
    padding: 0 15px;
  }
}

/******************************************
  layout
******************************************/
/******************************************
  header
******************************************/
#header {
  position: relative;
  width: 100%;
  height: 120px;
}

#header #header-inner {
  position: relative;
  margin: 0 auto;
}

@media screen and (min-width: 1120px) {
  #header #header-inner {
    width: 1120px;
  }
}

@media screen and (max-width: 1119px) {
  #header #header-inner {
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
  }
}

#header #logo {
  position: absolute;
  top: 30px;
}

@media screen and (min-width: 991px) {
  #header #logo {
    left: 0;
  }
}

@media screen and (max-width: 990px) {
  #header #logo {
    left: 50%;
    margin-left: -110px;
  }
}

@media screen and (min-width: 991px) {
  #header #menu {
    display: none;
  }
}

#header #menu span {
  display: block;
  background: #000;
  width: 30px;
  height: 2px;
  position: absolute;
  left: 4px;
  transition: all 0.15s;
  -webkit-transition: all 0.15s;
  -moz-transition: all 0.15s;
}

#header #menu span.l-1 {
  top: 6px;
}

#header #menu span.l-2 {
  top: 18px;
}

#header #menu span.l-3 {
  bottom: 6px;
}

#header #menu.active .l-1 {
  -webkit-transform: translateY(12px) rotate(45deg);
  -ms-transform: translateY(12px) rotate(45deg);
  transform: translateY(12px) rotate(45deg);
}

#header #menu.active .l-3 {
  -webkit-transform: translateY(-12px) rotate(-45deg);
  -ms-transform: translateY(-12px) rotate(-45deg);
  transform: translateY(-12px) rotate(-45deg);
}

#header #menu.active .l-2 {
  display: none;
}

@media screen and (min-width: 991px) {
  #header #gnav {
    display: block;
    position: absolute;
    top: 50px;
    right: 0;
    overflow: hidden;
    display: table;
  }
}

@media screen and (max-width: 990px) {
  #header #gnav {
    display: none;
    position: absolute;
    width: 100%;
    height: auto;
    top: 100px;
    right: 0px;
    color: #fff;
    margin: 0px auto;
    padding: 40px 0;
    z-index: 9999;
    background: rgba(255, 255, 255, 0.9);
  }
}

#header #gnav li {
  font-size: 1.8rem;
  font-size: 18px;
}

@media screen and (min-width: 991px) {
  #header #gnav li {
    line-height: 25px;
    display: table-cell;
    vertical-align: middle;
  }
}

@media screen and (max-width: 990px) {
  #header #gnav li {
    text-align: center;
  }
}

@media screen and (min-width: 991px) {
  #header #gnav li+li {
    padding-left: 30px;
  }
}

@media (max-width: 420px) {
  #header #logo {
    width: 130px;
    margin: 0 auto;
    left: initial;
    position: static;
    padding-top: 10px;
  }

  #header {
    height: 55px;
  }

  #header #menu span.l-1 {
    top: 18px;
    left: 15px;
  }

  #header #menu span.l-2 {
    top: 26px;
    left: 15px;
  }

  #header #menu span.l-3 {
    bottom: 9px;
    left: 15px;
  }

  #header #menu {
    top: 15px;
    width: 30px;
    height: 33px;
  }

  #header #menu.active .l-1 {
    -webkit-transform: translateY(10px) rotate(45deg);
    -ms-transform: translateY(10px) rotate(45deg);
    transform: translateY(10px) rotate(45deg);
  }

  #header #menu.active .l-3 {
    -webkit-transform: translateY(-6px) rotate(-45deg);
    -ms-transform: translateY(-6px) rotate(-45deg);
    transform: translateY(-6px) rotate(-45deg);
  }

  #header #gnav {
    top: 54px;
  }
}

/******************************************
  footer
******************************************/
#footer {
  background: url(../images/bg-footer.png), #000;
  color: #fff;
  padding: 75px 0 80px;
}

#footer a {
  color: #fff;
}

#footer #footer-inner {
  width: 1080px;
  margin: 0 auto;
  line-height: 1;
}

@media screen and (min-width: 1120px) {
  #footer #footer-inner {
    width: 1120px;
  }
}

@media screen and (max-width: 1119px) {
  #footer #footer-inner {
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
  }
}

#footer #footer-main {
  margin: 0 0 45px;
}

@media screen and (min-width: 991px) {
  #footer #footer-left {
    float: left;
    max-width: 326px;
  }
}

#footer #footer-left dt {
  font-size: 2.2rem;
  font-size: 22px;
  margin: 0 0 20px;
}

#footer #footer-left dd {
  line-height: 1.5;
}

@media screen and (max-width: 990px) {
  #footer #footer-left dd {
    margin: 0 0 20px;
  }
}

@media screen and (min-width: 991px) {
  #footer #footer-nav {
    float: right;
    max-width: 704px;
  }
}

@media screen and (min-width: 991px) {
  #footer #footer-nav li {
    display: inline-block;
  }
}

@media screen and (max-width: 990px) {
  #footer #footer-nav li {
    line-height: 2;
  }
}

@media screen and (min-width: 991px) {
  #footer #footer-nav ul.main-menu {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 0 24px;
  }
}

#footer #footer-nav ul.sub-menu {
  border-top: 1px solid #888;
  padding: 24px 0 0;
}

@media screen and (max-width: 990px) {
  #footer #footer-nav ul.sub-menu {
    margin: 24px 0 0;
  }
}

#footer #footer-nav ul.sub-menu li {
  margin: 0 25px 0 0;
}

#footer p.copyright {
  text-align: center;
  font-size: 1.2rem;
  font-size: 12px;
  line-height: 1;
}

/******************************************
  move-top
******************************************/
#move-top {
  margin: -75px auto 20px;
  text-align: right;
}

#move-top img {
  cursor: pointer;
}

#move-top img:hover {
  opacity: .7;
}

/******************************************
  keyvisual
******************************************/
#keyvisual {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}

#keyvisual .phrase {
  color: #fff;
  height: 686px;
  margin-top: -686px;
}

#keyvisual .phrase h2 {
  font-size: 6rem;
  font-size: 60px;
  font-weight: normal;
  padding: 300px 0 0;
}

#keyvisual .phrase p {
  font-size: 2.4rem;
  font-size: 24px;
}

/******************************************
  header
******************************************/
#article {
  position: relative;
}

#article h2 {
  position: relative;
  text-align: center;
  font-weight: normal;
  font-size: 5rem;
  font-size: 50px;
  line-height: 1.0;
  font-family: "Avenir Next", Verdana;
  margin: 0 0 75px;
}

#article h2:after {
  display: block;
  content: "";
  width: 80px;
  height: 4px;
  background: #000;
  margin: 24px auto 0;
}

#article h2 span.sub-ttl {
  display: block;
  font-size: 1.4rem;
  font-size: 14px;
  margin: 24px 0 0;
}

#article .section {
  padding: 40px 0 40px;
}

#article .section.bg-gray {
  background: #f2f2f2;
}

#article #section-lead {
  font-size: 1.6rem;
  font-size: 16px;
  line-height: 1.6;
  margin: 0 auto;
  text-align: left;
  max-width: 980px;
  padding-left: 20px;
  padding-right: 20px;
}

#article #section-lead p:not(:last-child) {
  margin: 0 0 15px;
}

/*
  #article #section-service .grid {
    margin: 0 -20px; }
*/
#article #section-service .grid .box_list {
  vertical-align: top;
  float: left;
  padding: 0 20px;
  box-sizing: border-box;
}

@media screen and (min-width: 991px) {
  #article #section-service .grid .box_list {
    width: 33%;
  }
}

@media screen and (max-width: 990px) {
  #article #section-service .grid .box_list {
    width: 100%;
    margin: 0 0 30px;
  }
}

#article #section-service .grid .box_list a {
  display: block;
}

@media screen and (min-width: 991px) {
  #article #section-service .grid .box_list .media {
    margin: 0 0 24px;
  }
}

@media screen and (min-width: 481px) and (max-width: 990px) {
  #article #section-service .grid .box_list .media {
    float: left;
    padding-right: 2em;
  }
}

@media screen and (max-width: 480px) {
  #article #section-service .grid .box_list .media {
    margin: 0 0 1em;
  }

  #article #section-service .grid .box_list img {
    width: 100%;
  }
}

#article #section-service .grid .box_list p.text {
  text-align: left;
  overflow: hidden;
}

.gallery {
  text-align: center;
}

.gallery .box_gallery {
  display: inline-block;
  text-align: left;
  vertical-align: top;
  max-width: 358px;
  margin: 0 0 70px;
}

.gallery .box_gallery .media {
  margin: 0 0 24px;
  text-align: center;
  max-height: 218px;
  overflow: hidden;
}

.gallery .box_gallery .discript {
  padding: 0 30px;
}

.gallery .box_gallery h3 {
  font-size: 1.6rem;
  font-size: 16px;
  margin: 0 0 6px;
}

.gallery .box_gallery h3 a {
  text-decoration: underline;
}

#article #section-banner {
  text-align: center;
}

#article #section-banner h3.btn-img {
  margin: 0 0 16px;
}

#article #section-banner p.bnr {
  margin: 48px 0 0;
}

#article #section-newslist ul.list-news {
  margin: -16px 0 38px;
}

.home #article #section-newslist ul.list-news {
  overflow: auto;
  height: 290px;
}

#article #section-newslist ul.list-news li {
  padding: 16px 0;
  background: url(../images/arrow-list.png) no-repeat right 10px center;
}

#article #section-newslist ul.list-news li:not(:last-child) {
  border-bottom: 1px solid #ccc;
}

@media screen and (min-width: 991px) {
  #article #section-newslist ul.list-news li a {
    display: table;
    width: 100%;
  }
}

@media screen and (min-width: 991px) {
  #article #section-newslist ul.list-news li span {
    display: table-cell;
  }
}

@media screen and (max-width: 990px) {
  #article #section-newslist ul.list-news li span {
    display: block;
  }
}

@media screen and (min-width: 991px) {
  #article #section-newslist ul.list-news li span.date {
    width: 5em;
    padding-right: 70px;
  }
}

/* 2026/04/01 header.phpから移動 */
.single strong {
  font-weight: bold;
}

.single #article .inner a {
  text-decoration: underline;
}

.single #article .inner p {
  margin-bottom: 1em;
}



/******************************************
  page
******************************************/
.mb40 {
  margin-bottom: 40px !important;
}

.entry-content a {
  text-decoration: underline;
}

.row-eq-height {
  display: flex;
  flex-wrap: wrap;
}

.page h1.h1_black {
  text-align: center;
  font-size: 18px;
  color: #fff;
  background: #000;
  border-radius: 999px;
  padding: 5px 10px;
  max-width: 570px;
  margin: 0 auto 45px;
  font-weight: normal;
}

.head_txt {
  font-size: 16px;
  margin-bottom: 50px;
  text-align: center;
}

@media (max-width: 768px) {
  .head_txt {
    text-align: left;
  }
}

.col3_list li .bg-white {
  background: #fff;
  height: 100%;
}

.col3_list li {
  padding-right: 8px;
  padding-left: 8px;
  margin-bottom: 20px;
}

.col3_list li .media img {
  width: 100%;
}

.col3_list li .media,
.col3_list li .media_txt {
  padding-right: 0;
  padding-left: 0;
}

.col3_list li .media_txt h4 {
  padding: 20px 0 0;
  font-size: 17px;
  margin: 0 20px;
  display: inline-block;
  border-bottom: 1px solid #000;
}

.col3_list li .media_txt p {
  padding: 10px 20px 0;
}

.btn_black {
  text-align: center;
  margin: 20px auto;
  width: 300px;
  padding: 10px 20px;
  background: #000;
  border-radius: 999px;
}

.btn_black a {
  color: #fff;
  display: block;
  font-size: 16px;
  text-decoration: none;
}

/* job-search */
.message {
  text-align: center;
}

.message h3 {
  font-size: 45px;
  color: #8b8989;
  font-weight: normal;
  padding-bottom: 25px;
  background: url(../../images/bg_border.gif) center bottom repeat-x;
  margin-bottom: 1em;
}

.message h4 {
  font-size: 32px;
  color: #239fa7;
  font-weight: normal;
  margin-bottom: 1em;
  line-height: 1.4;
}

.message p {
  font-size: 20px;
  margin-bottom: 100px;
  color: #8b8989;
  line-height: 1.6;
}

.head_border {
  overflow: hidden;
  text-align: center;
  width: 70%;
  margin: 0 auto 2em;
  font-size: 26px;
  color: #239fa7;
  font-weight: normal;
}

.head_border span {
  position: relative;
  display: inline-block;
  padding: 0 15%;
  text-align: left;
}

.head_border span::before,
.head_border span::after {
  position: absolute;
  top: 50%;
  content: '';
  width: 400%;
  height: 4px;
  background-color: #239fa7;
}

.head_border span::before {
  right: 100%;
}

.head_border span::after {
  left: 100%;
}

.page .gallery {
  margin: 0 auto;
  max-width: 1000px;
}

.page .gallery .box_gallery {
  margin: 0 15px 70px;
}

.jobs_bottom {
  text-align: center;
}

.jobs_bottom h4 {
  font-size: 24px;
  margin-bottom: 1em;
  color: #239fa7;
}

.jobs_bottom p {
  font-size: 20px;
  margin-bottom: 1em;
  color: #8b8989;
}

.jobs_btn {
  margin: 0 auto;
  max-width: 340px;
  height: 60px;
  position: relative;
}

.jobs_btn a,
.jobs_btn .alink {
  color: #fff;
  background: #239fa7;
  display: inline-block;
  padding: 10px;
  font-size: 20px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
  text-decoration: none;
}

.jobs_btn span {
  position: absolute;
  background: url(../../images/bg_btn.gif);
  top: 10px;
  display: block;
  height: 50px;
  right: -10px;
  width: 100%;
}

.jobs_bottom p.fs_10 {
  font-size: 10px;
  margin-bottom: 40px;
  color: #8b8989;
}

.kodawari_box {
  display: table;
  vertical-align: middle;
  width: 100%;
}

.kodawari_box .box_inner {
  display: table-cell;
  vertical-align: middle;
  border: 4px solid #239fa7;
  padding: 20px;
}

.kodawari_box p a,
.kodawari_box p .alink {
  color: #239fa7;
  text-decoration: underline;
}

.kodawari_box p a:hover {
  color: #115c61;
  text-decoration: none;
}

.k_box_right .kodawari_box .box_inner {
  padding: 40px 20px;
}

.jobs_bottom .kodawari_box h4 {
  color: #239fa7;
}

.jobs_bottom .kodawari_box h4 i {
  font-size: 40px;
  margin-top: 20px;
}

.k_box_left .kodawari_box {
  height: 46%;
  margin-bottom: 11%;
}

.k_box_right {
  height: 100%;
}

.k_box_right .kodawari_box p {
  font-size: 14px;
}

.k_box_right h5 {
  font-size: 18px;
  font-weight: normal;
  color: #474747;
  margin-bottom: 1em;
  position: relative;
  padding-left: 1.5em;
  display: inline-block;
  font-weight: 600;
}

.k_box_right h5 span {
  font-size: 15px;
  font-weight: normal;
}

.k_box_right h5:before {
  position: absolute;
  color: #239fa7;
  top: 50%;
  left: 10px;
  display: block;
  margin-top: -10px;
  width: 10px;
  height: 10px;
  content: '\f0a3';
  font-family: FontAwesome;
}

.fs_16 {
  font-size: 16px;
}

@media (max-width: 768px) {
  .k_box_left .kodawari_box {
    height: auto;
    margin-bottom: 40px;
  }

  .kodawari_box .box_inner {
    padding: 30px 20px;
  }
}

@media (max-width: 420px) {
  .jobs_btn a {
    font-size: 16px;
  }

  .head_border {
    width: 100%;
    font-size: 22px;
  }

  .head_border span {
    padding: 0 5px;
  }

  .message h3 {
    font-size: 25px;
  }

  .message h4 {
    font-size: 20px;
    padding: 0 20px;
  }

  .message p {
    font-size: 14px;
    padding: 0 20px;
  }

  .jobs_bottom p {
    font-size: 14px;
    text-align: left;
  }

  .pc {
    display: none;
  }
}

.section {
  padding-top: 75px;
  padding-bottom: 80px;
}

.page .page_ttl {
  position: relative;
  text-align: center;
  font-weight: normal;
  font-size: 5rem;
  font-size: 50px;
  line-height: 1.0;
  font-family: "Avenir Next", Verdana;
  margin: 0 0 75px;
}

.page .page_ttl span {
  display: block;
  font-size: 1.4rem;
  font-size: 14px;
  margin: 24px 0 0;
}

.page .page_ttl:after {
  display: block;
  content: "";
  width: 80px;
  height: 4px;
  background: #000;
  margin: 24px auto 0;
}

.bg-gray {
  background: #f2f2f2;
}

/* プライバシーポリシー */
.page-id-75 p {
  margin-bottom: 2em;
}

.page-id-75 h3 {
  font-weight: normal;
  font-size: 17px;
  margin-bottom: 20px;
}

.page-id-75 h4 {
  font-size: 14px;
  font-weight: normal;
}

.page-id-75 ol {
  list-style: decimal;
  padding-left: 20px;
  font-size: 14px;
}

.page-id-75 li {
  list-style: decimal;
  margin-bottom: 1.5em;
}

.page-id-75 li ul {
  padding-left: 1em;
}

.page-id-75 li ul li {
  list-style: disc;
  margin-bottom: 0;
}

/* お問い合わせ */
.page.page-id-52 .head_txt,
.page .page-id-52 .head_txt {
  text-align: left !important:
}

.page-id-52 .dis_table,
.page-id-52 .label_table {
  display: table;
  width: 100%;
  max-width: 100%;
}

.page-id-52 .form_ttl {
  width: 30%;
  height: 70px;
  padding-right: 10px;
  display: table-cell;
  vertical-align: middle;
}

.page-id-52 .form-right {
  width: 70%;
  display: table-cell;
  vertical-align: middle;

}

.page-id-52 .rmk {
  padding-top: 5px;
  color: #888888;
  line-height: 1;
  display: inherit;
  padding-bottom: 10px;
}

.page-id-52 .red {
  font-style: normal;
  background: #ff4444;
  color: #fff;
  font-size: 11px;
  padding: 1px 5px;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  margin-left: 5px;
}

.page-id-52 textarea {
  height: 80px;
}

span.wpcf7-list-item:first-child {
  margin: 0;
}

.page-id-52 input[type="email"],
.page-id-52 input[type="text"],
.page-id-52 input[type="tel"],
.page-id-52 textarea {
  border: 1px solid #ccc;
  width: 100%;
  padding: 10px;
  font-size: 16px;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
}

.page-id-52 button,
.page-id-52 input[type="submit"] {
  text-align: center;
  margin: 40px auto 20px;
  width: 300px;
  padding: 10px 20px;
  background: #000;
  border-radius: 999px;
  color: #fff;
  font-size: 17px;
}

.page-id-52 .conf-submit input,
.page-id-52 .conf-submit textarea {
  border: none;
}

.page-id-52 .conf-submit button,
.page-id-52 .conf-submit input[type="submit"] {
  margin: 40px auto 10px;
}

.page-id-52 .conf-back input {
  margin: 10px auto 40px;
  text-align: center;
  width: 300px;
  padding: 10px 20px;
  background: #fff;
  border-radius: 999px;
  color: #000;
  border: 2px solid #000;
  font-size: 17px;
}

.fs_12 {
  font-size: 12px;
}

.form-submit {
  text-align: center;
}

.conf.page-id-52 .form_ttl {
  background: #edecec;
  padding: 20px;
  border-bottom: 1px solid #cfcece;
  border-left: 1px solid #ccc;
}

.conf.page-id-52 .label_table:first-child {
  margin-top: 20px;
  border-top: 1px solid #ccc;
}

.conf.page-id-52 .form-right {
  background-color: #fff;
  height: 70px;
  border-bottom: 1px solid #cfcece;
  border-right: 1px solid #ccc;
  padding: 0 20px;
}

.conf.page-id-52 .form-right .wpcf7-form-control {
  height: auto;
}

.conf.page-id-52 textarea {
  display: block;
}

.conf.page-id-52 .border-conf-top,
.conf.page-id-52 .border-top .wpcf7c-conf {
  border-top: 1px solid #ccc;
}

.conf.page-id-52 .border-conf-bottom,
.conf.page-id-52 .border-bottom .wpcf7c-conf {
  border-bottom: 1px solid #ccc;
}

.conf.page-id-52 .rmk {
  display: none;
}

.page-id-52 .tac {
  text-align: center;
}

.u_bold {
  text-decoration: underline;
  font-weight: bold;
}

.cr_box .wpcf7-form-control-wrap {
  width: 100%;
  padding: 10px;
  height: 40px;
  display: inline-flex;
  background: #fff;
  border: 1px solid #ccc;

}

.cr_box .wpcf7-form-control-wrap .wpcf7c-conf {
  height: auto;
}

.mt5 textarea {
  margin-top: 5px;
}

.mt5 textarea.wpcf7c-conf {
  margin-top: 0;
}

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

@media (min-width: 768px) {
  .page-id-52 .cr_table .form_ttl.form_ttl-conf {
    padding: 5px 20px;
    height: 40px;
  }
}

@media (max-width: 768px) {

  .page-id-52 .dis_table,
  .page-id-52 .label_table {
    display: block;
  }

  .page-id-52 input[type="checkbox"].wpcf7c-conf,
  .page-id-52 input[type="radio"].wpcf7c-conf {
    height: auto;
  }

  .page-id-52 .mt5 {
    margin-top: 0;
  }

  .page-id-52 .form_ttl {
    width: 100%;
    display: block;
  }

  .page-id-52 .form_ttl.wpcf7c-elm-step1 {
    height: auto;
    margin: 20px 0 5px;
  }

  .page-id-52 .form-right {
    width: 100%;
    display: block;
  }

  .conf.page-id-52 .form-right {
    height: auto;
    padding: 20px;
  }

  .page-id-52 .form_ttl.form_ttl-conf {
    border-bottom: 0;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
  }

  .page-id-52 .form_ttl.form_ttl-conf,
  .page-id-52 input[type="email"].form_ttl.form_ttl-conf,
  .page-id-52 input[type="text"].form_ttl.form_ttl-conf,
  .page-id-52 input[type="tel"].form_ttl.form_ttl-conf,
  .page-id-52 textarea.form_ttl.form_ttl-conf {
    height: auto;
    padding: 10px;
  }

  .page-id-52 .form_ttl.form_ttl-conf,
  .page-id-52 input[type="email"].form_ttl.form_ttl-conf,
  .page-id-52 input[type="text"].form_ttl.form_ttl-conf,
  .page-id-52 input[type="tel"].form_ttl.form_ttl-conf,
  .page-id-52 textarea.form_ttl.form_ttl-conf {
    height: auto;
  }

  .cr_box .wpcf7-form-control-wrap {
    height: auto;
  }

  .page-id-52 .border-top .wpcf7c-conf {
    border-top: none;
  }

  .page-id-52 .border-conf-bottom {
    border-bottom: none;
  }

  span.wpcf7-list-item:first-child {
    margin: 0 0 0 1em;
  }

  .conf.page-id-52 .label_table:first-child {
    margin-top: none;
    border-top: 0;
  }

  .conf.page-id-52 .label_table .form_ttl {
    border-right: 1px solid #ccc;
  }

  .conf.page-id-52 .label_table:first-child .form_ttl {
    border-top: 1px solid #ccc;
  }

  .conf.page-id-52 .form_ttl.wpcf7c-elm-step1 {
    height: auto;
    margin: 0;
  }

  .conf.page-id-52 .form-right {
    border-left: 1px solid #ccc;
  }

  .conf.page-id-52 .label_table:last-child .form_ttl {
    display: none;
  }
}

.sitemap li {
  list-style: disc;
  margin-left: 50px;
  font-size: 20px;
}

.post-45 table th {
  font-weight: bold;
}

.error {
  color: #ff4444;
}

.step_pan {
  margin: 25px 0 40px 0;
  list-style: none;
  overflow: hidden;
  position: relative;
}

.step_pan li {
  float: left;
  width: 33%;
}

.step_pan li span {
  color: #555;
  width: 100%;
  text-decoration: none;
  line-height: 55px;
  height: 55px;
  padding: 0 20px 0 49px;
  background: #dcdcdc;
  position: relative;
  display: block;
  float: left;
}

.step_pan li span:after {
  content: " ";
  display: block;
  width: 0;
  height: 0;
  border-top: 50px solid transparent;
  border-bottom: 50px solid transparent;
  border-left: 30px solid #dcdcdc;
  position: absolute;
  top: 50%;
  margin-top: -50px;
  left: 100%;
  z-index: 2;
}

.step_pan li span:before {
  content: " ";
  display: block;
  width: 0;
  height: 0;
  border-top: 50px solid transparent;
  border-bottom: 50px solid transparent;
  border-left: 30px solid #fff;
  position: absolute;
  top: 50%;
  margin-top: -50px;
  margin-left: 2px;
  left: 100%;
  z-index: 1;
}

.step_pan li:first-child span {
  padding-left: 20px;
}

.step_pan li.last span {
  background: #dcdcdc !important;
  pointer-events: none;
  cursor: default;
  padding-right: 40px;
}

.step_pan li.last span:after {
  border: 0;
}

.step_pan li.active span {
  background: #23282d;
  color: #fff;
}

.step_pan li.active span:after {
  border-left-color: #23282d !important;
}

@media (max-width: 420px) {
  .step_pan .spnone {
    display: none;
  }
}

/* 人材派遣 */
.temp-staff_content h3.tac {
  text-align: center;
  font-weight: normal;
  font-size: 30px;
}

.temp-staff_content .h3_border span {
  padding-left: 45px;
  background: url(http://b-good.jp/wp-content/uploads/2017/05/h3_bg_left.gif) left center no-repeat;
}

.temp-staff_content h5 {
  margin-bottom: 30px;
  margin-left: 30px;
  font-size: 18px;
  font-weight: normal;
}

.temp-staff_content .h3_border {
  font-size: 24px;
  font-weight: normal;
  padding-bottom: 20px;
  background: url(http://b-good.jp/wp-content/uploads/2017/05/h3_bg_border.gif) center bottom repeat-x;
  margin-bottom: 1em;
  margin-top: 2em;
}

.temp-staff_content .h4_border {
  border-bottom: 1px solid #000;
  padding-bottom: 1em;
  font-size: 18px;
  margin-bottom: 1em;
  margin-top: 2em;
}

.temp-staff_content row img {
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}

.btn_area {
  margin: 30px 20px 60px;
}

.btn_area a {
  text-align: center;
  margin: 10px auto;
  width: 90%;
  padding: 20px;
  border-radius: 999px;
  font-size: 17px;
  display: block;
  text-decoration: none;
  height: 80px;
  line-height: 40px;
}

.btn_area .btn-contact a {
  background: #000;
  color: #fff;
  border: 2px solid #000;
}

.btn_area .btn-tel a {
  font-size: 25px;
  background: #fff;
  color: #000;
  border: 2px solid #000;
}

.btn_area .btn-tel a span:before {
  position: absolute;
  top: 50%;
  left: 25%;
  display: block;
  margin-top: -16px;
  width: 10px;
  height: 10px;
  content: '\f095';
  font-family: FontAwesome;
}

.flow li span,
.flow li p,
.flow2 li p {
  padding-left: 200px;
}

.flow {
  background: url(http://b-good.jp/wp-content/uploads/2017/05/line-2.gif) 204px top no-repeat;
}

.flow li,
.flow2 li {
  margin-left: 40px;
  margin-bottom: 45px;
}

.flow li.step04 {
  margin-bottom: 8px;
}

.flow li span.num {
  font-size: 28px;
}

.flow li.step01 span.num {
  background: url(http://b-good.jp/wp-content/uploads/2017/05/step01-1.png) left center no-repeat;
}

.flow li.step02 span.num {
  background: url(http://b-good.jp/wp-content/uploads/2017/05/step02.png) left center no-repeat;
}

.flow li.step03 span.num {
  background: url(http://b-good.jp/wp-content/uploads/2017/05/step03.png) left center no-repeat;
}

.flow li.step04 span.num {
  background: url(http://b-good.jp/wp-content/uploads/2017/05/step04.png) left center no-repeat;
}

@media (max-width: 560px) {

  .flow li,
  .flow2 li {
    margin-left: 0;
    margin-bottom: 25px;
  }

  .flow {
    background: none;
  }

  .flow li p,
  .flow2 li p {
    padding-left: 40px;
  }

  .btn_area {
    margin: 30px 0 60px;
  }

  .btn_area .btn-contact a {
    line-height: 25px;
  }

  .btn_area .btn-tel a span:before {
    left: 15%;
    margin-top: -16px;
  }

  .btn_area .btn-tel a {
    font-size: 20px;
  }
}

.bnb {
  font-weight: bold;
  text-decoration: underline;
  color: #333;
}

.grid.clearfix {
  margin-bottom: 35px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
}

/* 外国人人材活用 */
.foreign_person_content h2 img {
  width: 100%;
}

.foreign_person_content h1.title_black {
  text-align: center;
  font-size: 41px;
  color: #fff;
  background: #000;
  padding: 18px 0;
  margin: 0 auto;
  font-weight: normal;
}


.foreign_person_content .btn_area {
  margin: 30px 0px 60px;
}


.foreign_person_content .btn_area .btn-contact2 a {
  border: 2px solid #000;
  text-align: center;
  margin: 10px auto;
  width: 95%;
  padding: 20px;
  font-size: 17px;
  display: block;
  text-decoration: none;
  height: 80px;
  line-height: 40px;
  border-radius: unset;
  font-weight: bold;
}

.foreign_person_content .btn_area .btn-contact2 a span:after {
  position: absolute;
  right: 50%;
  display: block;
  margin-top: -16px;
  width: 10px;
  height: 10px;
  content: '\f0d7';
  font-family: FontAwesome;
}

.foreign_person_content .btn_area .btn-contact2 {
  padding-right: 0;
  padding-left: 0;

}

.foreign_person_content h3.tac {
  text-align: center;
  font-weight: normal;
  font-size: 30px;
}

.foreign_person_content h5 {
  margin-bottom: 30px;
  margin-left: 30px;
  font-size: 18px;
  font-weight: normal;
}

.foreign_person_content .h3_border {
  font-size: 24px;
  font-weight: normal;
  padding-bottom: 20px;
  background: url(http://b-good.jp/wp-content/uploads/2017/05/h3_bg_border.gif) center bottom repeat-x;
  margin-bottom: 1em;
  margin-top: 2em;
  text-align: center;
  font-weight: bold;
}

.foreign_person_content .h3_border span {
  font-size: 16px;
  padding-left: 13px;
  font-weight: normal;
}

.foreign_person_content .h4_border {
  font-size: 16px;
  font-weight: normal;
  padding-bottom: 20px;
  background: url(http://b-good.jp/wp-content/uploads/2017/05/h3_bg_border.gif) center bottom repeat-x;
  margin-bottom: 1em;
  margin-top: 2em;
  text-align: center;
}

.foreign_person_content .q_and_a_area {
  border: solid 1px #000;
  margin: 20px 0;
}

.foreign_person_content .q_and_a_area div {
  padding: 10px;
  font-size: 12px;
}

.foreign_person_content .q_and_a_area div:nth-child(1) {
  background-color: #000;
  color: #ccc;
  font-size: 14px;
}

.foreign_person_content .underline_y {
  /* border-bottom: solid 5px #ffd36b; */
  color: #e6840a;
  font-weight: bold;
}

/*200326追記*/
.foreign_person_content h2 {
  background-color: #fff;
  text-align: center;
  font-size: 2em;
  font-weight: normal;
}

@media (max-width: 990px) {
  .foreign_person_content h2 {
    font-size: 4.5vw
  }

  .foreign_person_content {
    padding-top: 0;
  }
}


/* 人手不足のお悩みを解決！ */

.form .inner {
  width: 700px;
  padding: 50px 0;
}

.form .inner p {
  padding-bottom: 30px;
}

.form h1.people img {
  width: 100%;
}

.form h1 {
  text-align: center;
}

.form h2 {
  text-align: center;
  padding-bottom: 30px;
  font-size: 25px;
}

.form h3 {
  text-align: center;
}

.form h3.osusume {
  padding-bottom: 6%;
}

.form h1.title_green {
  text-align: center;
  font-size: 30px;
  color: #fff;
  background: #00b050;
  padding: 18px 0;
  margin: 0 auto;
  font-weight: normal;
}

.form hr.line {
  border: 0 !important;
  height: 12px !important;
  background-image: url(https://b-good.jp/wp-content/uploads/2020/06/line.png) !important;
}

.form .inner a {
  color: #00b050;
  text-decoration: underline;
  transition: opacity 0.3s ease-out;
  outline: none;
}

@media screen and (max-width: 1079px) {
  .form .inner {
    width: 100%;
    padding: 40px 15px;
  }

  .form h1.title_green {
    font-size: 4vw;
  }

  .form h2 {
    font-size: 6vw;
  }
}

/* サブスクプリション型正社員・契約社員紹介サービス */
.subscription {
  overflow-x: hidden;
}

.subscription .red {
  color: #ff0000;
}

.subscription h2 img {
  width: 100%;
}

.subscription h2.reason_ttl {
  text-align: center;
  margin: 30px 0 70px;
}

.subscription .btn-contact2 div {
  text-align: center;
  margin: 23px 0;
  font-size: 19px;
}

.subscription .btn-contact2 div span {
  font-size: 14px;
}

.subscription .estimates_btn_area {
  margin: 30px 0;
  text-align: center;
}

.subscription .estimates_btn_area p.red {
  font-size: 29px;
}

.subscription .estimates_btn_area p {
  font-weight: bold;
}

.subscription h1.title_black {
  text-align: center;
  font-size: 41px;
  color: #fff;
  background: #091d40;
  margin: 100px -200% 0;
  padding: 18px 200%;
}

.subscription section p {
  text-align: center;
  margin: 50px;
}

.subscription section h2 {
  text-align: center;
  margin-top: 50px;
}

.subscription .example_area {
  padding-top: 50px;
}

.subscription .example_area h3 {
  text-align: center;
}

.subscription section.fee p.left {
  text-align: left;
  width: 644px;
  margin: 0 auto;
}

.subscription section.support .row p {
  text-align: center;
  margin: 0px;
}

.subscription section.support h3 {
  text-align: center;
}

.subscription .cream {
  background-color: #f4edca;
  margin: 0 -200%;
  padding: 0 200%;
}

.subscription section.support .cream {
  padding: 40px 200%;
}


@media screen and (max-width: 1079px) {
  .subscription .estimates_btn_area p.red {
    font-size: 19px;
  }

  .subscription h1.title_black {
    font-size: 27px;
  }

  .subscription section p {
    margin: 50px 15px;
  }

  .subscription section.support img {
    width: 100%;
  }
}




/**
  リゾマッチLP 
  2025/09/26
  */
.rf {
  --navy-900: #0a1b30;
  --navy-800: #0e2642;
  --navy-700: #163a63;
  --sky-200: #cfe6ff;
  --gray-100: #f7f7f7;
  --gray-200: #f3f4f6;
  --gray-300: #e5e7eb;
  --gray-600: #4b5563;
  --blue-100: #E9F5FB;
  --blue-300: #7CC4E8;
  --blue-700: #165e82;
  --white: #fff;
  --black: #111;
  --orange: #ff8a00;
  --orange-100: #FBF0E9;
  --orange-500: #E18850;
  --orange-700: #DA6A24;
  --radius: 12px;
  --container: min(1080px, 92vw);

  margin: 0;
  font: 16px/1.7 "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #111;


  /* reset-ish */
  & * {
    box-sizing: border-box
  }

  & img {
    max-width: 100%;
    height: auto;
    display: block
  }

  & .container {
    width: var(--container);
    margin-inline: auto;
    padding: 48px 0
  }

  & .section-title {
    font-weight: 800;
    font-size: clamp(20px, 2.4vw, 30px);
    margin: 0 0 60px;
    text-align: center;

    @media screen and (max-width: 650px) {
      font-size: clamp(18px, 2.4vw, 24px);
      margin: 0 0 40px;
    }
  }

  & .section-subtitle {
    font-weight: 800;
    font-size: clamp(18px, 2.0vw, 28px);
    margin: 0 0 40px;
    text-align: center;
  }

  & .visually-hidden {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    overflow: hidden;
    white-space: nowrap;
  }

  & .btn {
    display: inline-block;
    padding: 14px 22px;
    border-radius: 10px;
    text-decoration: none !important;
    font-weight: 800;
  }

  & .mt40 {
    margin-top: 40px;
  }

  & .mb10 {
    margin-bottom: 10px;
  }

  & .mb15 {
    margin-bottom: 15px;
  }

  & .mb20 {
    margin-bottom: 20px;
  }

  & .mb40 {
    margin-bottom: 40px;
  }

  & .bold {
    font-weight: 700;
  }

  & .underline {
    display: inline-block;
    border-bottom: solid 1px #666;
  }

  & .marker-yellow {
    font-weight: bold;
    padding-bottom: 1px;
    border-bottom: solid 2px #d9a22a;
  }

  & .marker-orange {
    background: linear-gradient(transparent 65%, var(--orange) 65%);
    font-weight: bold;
  }

  & .container {
    width: var(--container);
    margin-inline: auto;
    padding: 60px 0;
  }



  /* ---------------------------------------------
     01. HERO（メインビジュアル）
    --------------------------------------------- */
  & .hero {
    position: relative;
    overflow: hidden;
    color: var(--white);
    background: linear-gradient(90deg, #0a1b30 0%, #1b3f73 50%, #3169a3 100%);
  }

  & .hero .container {
    position: relative;
    height: auto;
    min-height: 620px;
    padding: 45px 0;

    @media (max-width: 650px) {
      height: auto;
      padding: 30px 0;
    }
  }

  & .hero .container::before,
  & .hero .container::after {
    content: none;
  }

  & .hero__text {
    position: inherit;
    z-index: 2;
    width: 65%;
    margin-bottom: 20px;

    @media screen and (max-width: 650px) {
      width: 85%;
    }
  }

  & .hero__title {
    font-size: clamp(28px, 4vw, 60px);
    line-height: 1.2;
    margin: 0 0 30px;
    font-weight: 800;
  }

  & .hero__sub {
    color: var(--sky-200);
    margin: 0 0 20px;
    font-size: 18px;
    font-size: clamp(13px, 2vw, 18px);
  }

  & .hero__brand {
    display: inline-block;
    margin: .5rem 0 2rem;
    width: max(180px, 35%);
  }

  & .hero__brand img {
    border-radius: 8px;
    box-shadow: 0 0 8px #fbf5f1;
  }

  & .hero .wordmark {
    position: relative;
    display: inline-block;
  }

  & .hero .wordmark i {
    --logo: url('/wp-content/themes/begood/images/resomatch/logo_resomatch_tr.png');
    width: clamp(200px, 25vw, 400px);
    height: 50px;
    display: block;
    background: #2aa6cd;
    -webkit-mask: var(--logo) center/contain no-repeat;
    mask: var(--logo) center/contain no-repeat;
    filter: drop-shadow(0 2px 10px rgba(0, 160, 220, .32));
  }

  & .hero .glass {
    padding: 10px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 8px 24px rgba(0, 0, 0, .25);
    backdrop-filter: blur(6px);
    margin-bottom: 20px;
  }


  & .hero__quote {
    position: inherit;
    z-index: 2;
    margin: 6px 0 36px;
    padding: 12px 14px;
    background: rgba(255, 255, 255, .06);
    border-left: 4px solid #5fb2ff;
    border-radius: 8px;
    width: 65%;

    @media screen and (max-width: 650px) {
      width: 100%;
      margin-bottom: 25px;
    }
  }

  & .hero__quote p {
    font-size: clamp(12px, 2vw, 16px);
  }

  & .hero__cta {
    @media screen and (max-width: 650px) {
      position: inherit;
      display: flex;
      justify-content: center;
      z-index: 1;
      margin-bottom: 20px;
    }
  }

  & .hero__cta .btn {
    background: var(--orange);
    color: var(--black);
    font-size: 18px;
  }

  & .hero__visual {
    position: absolute;
    right: 0;
    top: 0;
    width: 35%;
    overflow: hidden;
    height: 100%;
    opacity: 0.9;
    z-index: 1;

    @media screen and (max-width: 650px) {
      right: -35px;
      top: -10px;
      width: 50%;
      overflow: hidden;
      height: 100%;
      opacity: 0.9;
    }
  }

  & .hero__visual img {
    position: absolute;
    top: 30px;
  }

  & .hero__badges {
    position: absolute;
    right: 16px;
    bottom: 60px;
    font-size: 1.5rem !important;
    z-index: 2;

    @media screen and (max-width: 650px) {
      position: inherit;
      margin-bottom: 20px;
      right: auto;
      bottom: auto;
      display: flex;
      justify-content: center;
    }
  }

  & .hero__badges .badge {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    padding: 8px 14px 8px 10px;
    border-radius: 999px;
    border: 2px solid rgba(255, 255, 255, .25);
    background: rgba(255, 255, 255, .15);
    font-size: 1.8rem;
    line-height: 1.2;
    text-shadow: 1px 1px 3px #333;

    @media screen and (max-width: 650px) {
      font-size: 1.2rem;
      padding: 5px 10px;
    }
  }

  & .hero__badges .badge .g-logo {
    width: 42px;
  }

  & .hero__badges .badge .stars {
    font-size: 28px;
    color: #D9A22A;

    @media screen and (max-width: 650px) {
      font-size: 18px;
    }
  }

  & .hero__note {
    position: absolute;
    right: 16px;
    bottom: 30px;
    font-size: 1rem;
    z-index: 1;

    @media screen and (max-width: 650px) {
      position: inherit;
      right: auto;
      bottom: auto;
    }
  }


  /* ---------------------------------------------
     02. お悩みチェックリスト
    --------------------------------------------- */
  & .troubles {
    background: var(--blue-100);
  }

  & .troubles__list {
    list-style-type: none;
    background: #fff;
    width: 70%;
    margin: 0 auto;
    padding: 0.5em 1em;
    border: 3px solid var(--blue-700);
    box-shadow: 4px 4px #ccc;
    border-radius: 5px;

    @media screen and (max-width: 650px) {
      width: 100%;
      margin: 0;
      padding: 0.5em;
    }
  }

  & .troubles__list li {
    display: flex;
    align-items: center;
    gap: 0 10px;
    font-size: 18px;
    font-weight: 700;
    padding: .8em;

    @media screen and (max-width: 650px) {
      gap: 0 10px;
      font-size: 16px;
      padding: .6em;
    }
  }

  & .troubles__list li:not(:last-child) {
    border-bottom: dotted 1px #999;
  }

  & .troubles__list li::before {
    display: inline-block;
    width: 22px;
    height: 10px;
    border-bottom: 4px solid var(--blue-300);
    border-left: 4px solid var(--blue-300);
    transform: rotate(-45deg) translateY(-2.5px);
    content: '';
  }


  /* ---------------------------------------------
     03. サービス比較（PC=表 / SP=カード）
    --------------------------------------------- */
  /* ========== ラッパ（横スク許容＋カード外観） ========== */
  & .cmp-table-wrap {
    background: #fff;
    border-radius: 16px;
    padding: 12px;
    overflow-x: auto;
    /* SPで横スク */
    -webkit-overflow-scrolling: touch;
    margin-bottom: 0;
  }

  /* ========== テーブル基本＝罫線ミニマル（横線のみ） ========== */
  & .cmp-table-card {
    width: 100%;
    border-collapse: separate;
    /* 角丸用に separate */
    border-spacing: 0;
    min-width: 700px;
    /* 狭幅端末で横スク */
    background: #fff;

    @media (max-width:650px) {
      min-width: 600px;
    }
  }

  & .cmp-table-card th,
  & .cmp-table-card td {
    padding: 18px 20px;
    vertical-align: middle;
    background: #fff;

    @media (max-width:650px) {
      padding: 12px 10px;
    }
  }

  & .cmp-table-card thead th {
    text-align: center;
    font-weight: 700;
    background: var(--gray-300);
    white-space: nowrap;
  }

  & .cmp-table-card thead .stub {
    background: #fff;
  }

  /* 横線のみ。縦線は引かない */
  & .cmp-table-card tbody tr+tr>* {
    border-top: 1px solid var(--gray-300);
  }

  /* 左端の項目セル */
  & .cmp-table-card .stub {
    text-align: center;
    font-weight: 600;
    color: #111827;
    width: 15%;
  }

  /* ========== リゾマッチ列の強調（2列目） ========== */
  /* 見出しタブ */
  & .cmp-table-card thead th:nth-child(2) {
    position: relative;
    background: var(--orange);
    color: #fff;
    border-top-left-radius: 14px;
    border-top-right-radius: 14px;
    font-size: 130%;
  }

  /* タブの段差（見出し下の帯） */
  & .cmp-table-card thead th:nth-child(2)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -12px;
    height: 12px;
    background: #ffe7e5;
    /* 列の淡背景と同じ色 */
  }

  /* 列全体の淡背景＋内側の縁取り（inset） */
  & .cmp-table-card :is(td, th):nth-child(2) {
    background: var(--orange-100);
    /* 淡いピンク */
    position: relative;
  }

  & .cmp-table-card tbody td:nth-child(2) {
    box-shadow: inset 0 0 0 2px var(--orange);
    /* 内側ライン */
  }

  /* 列“カード”の下角を丸める（最終行のみ） */
  & .cmp-table-card tbody tr:last-child td:nth-child(2) {
    border-bottom-left-radius: 14px;
    border-bottom-right-radius: 14px;
  }

  /* ========== セル内のレイアウト（既存クラスを利用） ========== */
  & .cmp-table-card .cell {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  & .cmp-table-card .mark {
    background: none;

    @media (max-width:650px) {
      width: 26px;
      height: 26px;
    }
  }

  & .cmp-table-card .mark img {
    width: 2em;

    @media (max-width:650px) {
      width: 18px;
      height: 18px;
    }
  }

  /* 画像が「黒ベース（#000〜#222）× 透過背景」を想定 */
  /* 赤（◎・◯） ≈ rgb(226,63,55) */
  & .cmp-table-card .mark img.t-red {
    filter:
      invert(18%)
      /* 黒→白の反転量を軽めに */
      sepia(92%) saturate(4200%) hue-rotate(350deg) brightness(95%) contrast(102%);
  }

  /* 青（△） ≈ rgb(31,122,224) */
  & .cmp-table-card .mark img.t-blue {
    filter:
      invert(24%) sepia(66%) saturate(3400%) hue-rotate(195deg) brightness(94%) contrast(98%);
  }

  /* 黒（✕） ≈ rgb(17,24,39）落ち着いたダークグレー寄せ */
  & .cmp-table-card .mark img.t-black {
    /* 黒ベースなら基本そのまま。色味を整える場合のみ少しだけ締める */
    filter:
      brightness(0.95) contrast(105%);
    /* 完全な真っ黒にしたい場合は↓
    filter: brightness(0) saturate(100%); */
  }

  & .cmp-table-card .text {
    line-height: 1.5;
    flex: 1;
  }

  /* 補足コメント */
  & .cmp-note {
    text-align: center;
    margin-bottom: 60px;

    @media (max-width:650px) {
      text-align: left;
    }
  }

  & .cmp-note p {
    font-size: 16px;
  }


  /* ---------------------------------------------
     04. 比較 補足（5サイト紹介・コンパクト）
    --------------------------------------------- */
  & .section-subtitle {
    font-weight: 600;
  }

  & .sites {
    width: 90%;
    background-color: var(--orange-100);
    border-radius: var(--radius);
    margin: 0 auto;
    padding: 20px;

    @media screen and (max-width: 650px) {
      width: 100%;
    }
  }

  & .sites__ttl {
    font-weight: 700;
    font-size: clamp(16px, 2.3vw, 20px);
    margin: 0 0 15px;
    text-align: center;
  }

  & .sites__lead {
    font-size: 14px;
    color: #666;
    margin: 0 0 30px;
    text-align: center;
  }

  & .sites__list {
    list-style: none;
    display: grid;
    grid-template-columns: 1 1fr;
    gap: 10px;
    margin-bottom: 20px;
    padding: 0;

    @media (min-width: 768px) {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  & .site {
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 10px;
    background: #fff;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
  }

  & .site__head {
    display: flex;
    align-items: center;
    gap: 8px;
  }

  & .site__logo {
    height: 50px;
    filter: grayscale(20%);
    padding-bottom: 8px;
  }

  & .site__usp {
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0;
  }

  & .site__tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
  }

  & .site__tags span {
    font-size: 11px;
    border: 1px solid #eee;
    border-radius: 999px;
    padding: 2px 6px;
    background: #fafafa;
  }

  & .sites__note {
    margin-top: 8px;
    color: #888;
    font-size: 11px;
    text-align: center;
  }


  /* ---------------------------------------------
     05-06. 募集求人施設 一例（グリッド）
    --------------------------------------------- */
  & .facilities {
    background: var(--blue-100);
  }

  & .facilities__grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 40px;

    @media (max-width:650px) {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  & .facility {
    display: flex;
    flex-direction: column;
    height: 240px;
    border: 1px solid #bbb;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;

    @media (max-width:650px) {
      height: 140px;
    }
  }

  & .facility__thumb {
    height: 80%;
    object-fit: cover;
    background: var(--gray-200);
  }

  & .facility__name {
    height: 20%;
    text-align: center;
    padding: 10px 8px;

    @media (max-width:650px) {
      line-height: 1;
      font-size: 14px;
      padding: 5px 4px;
    }
  }


  /* ---------------------------------------------
     07-08. フロー（PC横/ SP縦）
    --------------------------------------------- */
  & .flow {
    background: none;
  }

  & .flow__row {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;

    @media (max-width:900px) {
      grid-template-columns: 1fr;
    }
  }

  & .flow__card {
    border: 2px solid var(--blue-700);
    border-radius: 10px;
    background: #fff;
    padding: 14px;
    position: relative;
    text-align: center;

    @media (max-width:900px) {
      padding: 5px;
    }
  }

  & .flow__title {
    font-weight: 700;
    margin: 4px 0;
  }

  & .flow__desc {
    font-size: 14px;
    color: #333
  }

  & img.flow__img {
    display: inline;
    width: 90px;
    filter: brightness(0) saturate(100%) invert(29%) sepia(60%) saturate(1027%) hue-rotate(164deg) brightness(84%) contrast(86%);

    @media (max-width:900px) {
      width: 70px;
    }
  }

  & .flow__row .flow__card:not(:last-child)::after {
    content: "→";
    position: absolute;
    right: -14px;
    top: 50%;
    transform: translateY(-50%);
    font-weight: 800;
    color: var(--gray-600);

    @media (max-width:900px) {
      content: "↓";
      right: 50%;
      top: auto;
      bottom: -18px;
      transform: translateX(50%);
    }
  }


  /* ---------------------------------------------
     09. Q&A（details/summaryでJS不要）
    --------------------------------------------- */
  & .faq {
    background: var(--gray-300);
  }

  & .faq__list {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  & .faq details {
    border: 1px solid var(--gray-300);
    background: #fff;
    padding: 0;
    border-radius: 10px;
    overflow: hidden;
  }

  & .faq summary {
    position: relative;
    cursor: pointer;
    font-weight: 700;
    list-style: none;
    font-size: 16px;
    background: var(--navy-700);
    color: #fff;
    padding: 10px 10px 10px 45px;

    @media screen and (max-width: 650px) {
      font-size: 15px;
      padding-right: 18px;
    }
  }

  & .faq summary::-webkit-details-marker {
    display: none
  }

  & .faq__body {
    position: relative;
    padding: 10px 10px 10px 45px;
  }

  & .faq summary::before,
  & .faq__body::before {
    position: absolute;
    font-size: 20px;
    left: 15px;
    font-weight: 600;
    transform: translateY(-6px);
  }

  & .faq summary::before {
    content: "Q";
  }

  & .faq__body::before {
    content: "A";
  }

  & .faq summary::after {
    position: absolute;
    right: 20px;
    top: 22px;
    transform: rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform .3s;
  }

  & .faq details[open] summary::after {
    transform: rotate(225deg);

  }

  & .faq details::details-content {
    transition:
      height 0.4s,
      opacity 0.4s,
      content-visibility 0.4s allow-discrete;
    height: 0;
    opacity: 0;
    overflow: clip;
    background-color: #fff;

  }

  & .faq details[open]::details-content {
    opacity: 1;
    height: auto;
  }

  & .faq__note {
    margin-top: 10px;
    padding: 10px 12px;
    border-left: 4px solid var(--navy-700);
    background: var(--gray-200);
    border-radius: 8px
  }


  /* ---------------------------------------------
     10. CTA
    --------------------------------------------- */
  & .cta {
    color: var(--white);
    background: linear-gradient(135deg, var(--navy-800), var(--navy-900))
  }

  & .cta .container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
  }

  & .cta .container::before {
    content: none;
  }

  & .cta__micro {
    font-size: 16px;
    opacity: .9;
    position: relative;
  }

  & .cta__micro::before,
  & .cta__micro::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 22px;
    background: #fff;
    position: absolute;
    top: 0px;
  }

  & .cta__micro::before {
    transform: rotate(-30deg);
    left: -8px;
  }

  & .cta__micro::after {
    transform: rotate(30deg);
    right: -8px;
  }

  & .cta__btn {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: center;
    background: var(--orange);
    color: var(--black);
    justify-self: start;
    width: min(400px, 100%);
    font-size: 18px;
    padding: 1em;
  }

  & .cta__btn img {
    height: 40px;
  }

  & .cta__tel {
    margin-top: 20px;
  }

  & .cta__tel a {
    display: flex;
    align-items: center;
    gap: 15px;
    color: var(--white);
    text-decoration: none;
    font-weight: 800;
    background: rgba(255, 255, 255, 0.1);
    border: solid 1px #fff;
    border-radius: 10px;
    padding: 5px 20px;
  }

  & .cta__tel img {
    width: 30px;
    filter: brightness(0) saturate(100%) invert(96%) sepia(0%) saturate(7476%) hue-rotate(109deg) brightness(101%) contrast(109%);
  }


  /* ---------------------------------------------
    2026/01/13追加
    動画埋め込み（3分で分かる リゾマッチの仕組み）
  --------------------------------------------- */
  & .rm-video {
    padding: 48px 0;
  }

  & .rm-video__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px;
    display: flex;
    gap: 28px;
    align-items: center;

    @media (max-width: 650px) {
      flex-direction: column;
      align-items: stretch;
    }
  }

  & .rm-video__text {
    flex: 0 1 42%;
    min-width: 280px;

    @media (max-width: 650px) {
      flex: none;
      width: 100%;
      min-width: 0;
    }
  }

  & .rm-video__media {
    flex: 1 1 58%;
    min-width: 320px;

    @media (max-width: 650px) {
      flex: none;
      width: 100%;
      min-width: 0;
    }
  }

  & .rm-video__title {
    margin: 0 0 12px 0;
    font-size: 24px;
    line-height: 1.35;

    @media (max-width: 650px) {
      font-size: 20px;
      text-align: center;
    }
  }

  & .rm-video__lead {
    margin: 0 0 14px 0;
    font-size: 16px;
    line-height: 1.8;

    @media (max-width: 650px) {
      text-align: center;
    }
  }

  & .rm-video__points {
    margin: 0 0 12px 0;
    padding-left: 1.2em;
    line-height: 1.8;
    list-style-type: none;
    padding: 1em;
    border: 2px solid #579eba;
    border-radius: 5px;
  }

  & .rm-video__points li {
    display: flex;
    align-items: center;
    gap: 0 5px;
    padding: .3em;
  }

  & .rm-video__points li::before {
    display: inline-block;
    width: 10px;
    height: 5px;
    border-bottom: 2px solid #579eba;
    border-left: 2px solid #579eba;
    transform: rotate(-45deg) translateY(-1.5px);
    content: '';

  }

  & .rm-video__note {
    margin: 0;
    font-size: 13px;
    opacity: 0.8;
  }

  & .rm-video__frame {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
    background: #000;
  }

  & .rm-video__player {
    width: 100%;
    height: 100%;
    display: block;
  }

  & .rm-video__caption {
    margin: 10px 0 0 0;
    font-size: 13px;
    opacity: 0.8;
  }


  /* ---- 2026/03/29 SEO記事へのリンク ---- */
  & .rm-related-section {
    background: #eef4f8;
  }

  & .rm-related-section .container {
    padding: 56px 0;

    @media (max-width: 650px) {
      padding: 40px 0;
    }
  }

  & .rm-related-box {
    max-width: 980px;
    margin: 0 auto;
    padding: 28px 24px;
    border: 1px solid #d7e0e8;
    border-radius: 8px;
    background: #f7fafc;

    @media (max-width: 650px) {
      padding: 20px 16px;
      border-radius: 6px;
    }
  }

  & .rm-related-box__title {
    margin: 0 0 10px;
    font-size: clamp(18px, 2.0vw, 24px);
    line-height: 1.5;
    font-weight: 700;
    color: #143a5a;
    text-align: center;

    @media (max-width: 650px) {
      margin-bottom: 8px;
      line-height: 1.5;
      text-align: center;
    }
  }

  & .rm-related-box__text {
    margin: 0 0 20px;
    font-size: 16px;
    line-height: 1.9;
    color: #333;
    text-align: center;

    @media (max-width: 650px) {
      margin-bottom: 16px;
      font-size: 15px;
      line-height: 1.8;
      text-align: left;
    }
  }

  & .rm-related-box__list {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  & .rm-related-box__item+.rm-related-box__item {
    margin-top: 10px;
  }

  & .rm-related-box__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    border: 1px solid #d7e0e8;
    border-radius: 6px;
    background: #fff;
    color: #143a5a;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;

    @media (max-width: 650px) {
      padding: 14px 14px;
      gap: 12px;
    }
  }

  & .rm-related-box__link:hover {
    background: #f1f6fa;
    border-color: #b8c9d8;
    transform: translateY(-1px);
  }

  & .rm-related-box__link-title {
    display: block;
    font-size: 17px;
    line-height: 1.7;
    font-weight: 700;

    @media (max-width: 650px) {
      font-size: 16px;
      line-height: 1.65;
    }
  }

  & .rm-related-box__arrow {
    flex: 0 0 auto;
    font-size: 24px;
    line-height: 1;
    color: #6b8295;

    @media (max-width: 650px) {
      font-size: 22px;
    }
  }
}


/**
2026/01/07 住所自動入力用
 */
.mw_wp_form .p-country-name {
  display: none !important;
}


/*
2026/03/25 リゾマッチ記事用
*/
.rm-article {
  --rm-container: 1000px;
  --rm-container-narrow: 860px;
  --rm-text: #222;
  --rm-heading: #183b56;
  --rm-border: #d8e0e7;
  --rm-bg-soft: #f5f8fb;
  --rm-link: #0b57a4;

  width: min(100% - 32px, var(--rm-container));
  margin: 0 auto;
  color: var(--rm-text);
  font-size: 16px;
  line-height: 1.9;
}

.rm-article * {
  box-sizing: border-box;
}

.rm-article a {
  color: var(--rm-link);
  text-decoration: underline;
  word-break: break-word;
}

.rm-article a:hover {
  opacity: 0.85;
}

.rm-article p {
  margin: 0 0 1.2em;
  font-size: 16px;
  line-height: 1.9;
}

.rm-article ul,
.rm-article ol {
  margin: 0 0 1.2em 1.4em;
  padding: 0;
  list-style: disc;
  font-size: 16px;
  line-height: 1.9;
}

.rm-article li {
  margin: 0 0 0.5em;
  padding-left: 0.1em;
  list-style: disc;
  font-size: 16px;
  line-height: 1.9;
}

.rm-article ul li::marker {
  color: var(--rm-heading);
}

.rm-article ol li::marker {
  color: var(--rm-heading);
  font-weight: 700;
}

.rm-article strong {
  font-weight: 700;
}

.rm-article .rm-marker {
  display: inline;
  font-weight: 700;
  background: linear-gradient(transparent 58%, #fff2a8 58%);
}

.rm-article__header {
  max-width: var(--rm-container-narrow);
  margin: 0 auto 56px;
}

.rm-article__header h1 {
  margin: 0 0 24px;
  font-size: 34px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--rm-heading);
}

.rm-section {
  max-width: var(--rm-container-narrow);
  margin: 0 auto 64px;
}

.rm-section h2 {
  margin: 0 0 24px;
  padding: 0 0 12px;
  border-bottom: 2px solid var(--rm-heading);
  font-size: 28px;
  line-height: 1.5;
  font-weight: 700;
  color: var(--rm-heading);
}

.rm-subsection {
  margin: 0 0 40px;
}

.rm-subsection h3 {
  margin: 0 0 16px;
  font-size: 21px;
  line-height: 1.6;
  font-weight: 700;
  color: #333;
}

p.rm-note {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.7;
  color: #666;
}

.rm-figure {
  width: min(100%, 960px);
  margin: 36px auto;
}

.rm-figure img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--rm-border);
  border-radius: 8px;
  background: #fff;
}

.rm-figure figcaption {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.7;
  color: #666;
  text-align: center;
}

.rm-figure-placeholder {
  width: min(100%, 960px);
  margin: 36px auto;
  padding: 28px;
  border: 1px solid var(--rm-border);
  background: var(--rm-bg-soft);
  border-radius: 8px;
  text-align: center;
}

.rm-figure-placeholder p {
  margin: 0;
  font-size: 14px;
  color: #5b6670;
}

.rm-faq {
  padding-top: 8px;
}

.rm-faq-list {
  margin: 0;
}

.rm-faq-list dt {
  margin: 0 0 12px;
  padding: 16px 20px;
  background: #eef4f8;
  border-left: 4px solid var(--rm-heading);
  border-radius: 4px;
  font-weight: 700;
  line-height: 1.7;
  font-size: 16px;
}

.rm-faq-list dd {
  margin: 0 0 28px;
  padding: 0 0 0 20px;
  font-size: 16px;
  line-height: 1.7;
}

.rm-faq-list dd ul,
.rm-faq-list dd ol {
  margin: 0.8em 0 1em 1.2em;
  font-size: 16px;
  line-height: 1.7;
}

.rm-faq-list dd li {
  margin: 0 0 0.4em;
  font-size: 16px;
  line-height: 1.7;
}

.rm-faq-list dd ul li::marker,
.rm-faq-list dd ol li::marker {
  color: #666;
}

.rm-link-box {
  max-width: var(--rm-container-narrow);
  margin: 40px auto 56px;
  padding: 24px;
  border: 1px solid var(--rm-border);
  border-radius: 8px;
  background: var(--rm-bg-soft);
}

.rm-link-box__lead {
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.6;
  font-weight: 700;
  color: var(--rm-heading);
}

.rm-link-box__text {
  margin: 0 0 18px;
}

.rm-link-box__button-wrap {
  margin: 0;
}

.rm-link-box__button {
  display: inline-block;
  min-width: 240px;
  padding: 14px 22px;
  border-radius: 999px;
  background: var(--rm-heading);
  color: #fff !important;
  text-decoration: none !important;
  text-align: center;
  font-weight: 700;
  line-height: 1.5;
  transition: opacity 0.2s ease;
}

.rm-link-box__button:hover {
  opacity: 0.88;
}

.rm-inline-link {
  margin: 16px 0 0;
  font-size: 15px;
  line-height: 1.8;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .rm-article {
    width: min(100% - 24px, var(--rm-container));
    font-size: 15px;
    line-height: 1.85;
  }

  .rm-article__header {
    margin-bottom: 40px;
  }

  .rm-article__header h1 {
    margin-bottom: 20px;
    font-size: 27px;
    line-height: 1.45;
  }

  .rm-section {
    margin-bottom: 48px;
  }

  .rm-section h2 {
    margin-bottom: 20px;
    padding-bottom: 10px;
    font-size: 23px;
    line-height: 1.5;
  }

  .rm-subsection {
    margin-bottom: 32px;
  }

  .rm-subsection h3 {
    margin-bottom: 14px;
    font-size: 19px;
    line-height: 1.55;
  }

  .rm-figure {
    margin: 24px auto;
  }

  .rm-figure img {
    border-radius: 6px;
  }

  .rm-figure-placeholder {
    margin: 24px auto;
    padding: 18px 14px;
    border-radius: 6px;
  }

  .rm-article ul,
  .rm-article ol {
    margin-left: 1.2em;
  }

  .rm-faq-list dt {
    padding: 14px 14px 14px 16px;
    font-size: 15px;
  }

  .rm-faq-list dd {
    margin-bottom: 22px;
    padding-left: 16px;
  }

  .rm-faq-list dd ul,
  .rm-faq-list dd ol {
    margin-left: 1.1em;
  }

  .rm-link-box {
    margin: 32px auto 44px;
    padding: 18px 16px;
    border-radius: 6px;
  }

  .rm-link-box__lead {
    margin-bottom: 8px;
    font-size: 19px;
    line-height: 1.55;
  }

  .rm-link-box__text {
    margin-bottom: 14px;
  }

  .rm-link-box__button {
    display: block;
    width: 100%;
    min-width: 0;
    padding: 13px 18px;
    font-size: 15px;
  }

  .rm-inline-link {
    margin-top: 14px;
    font-size: 14px;
    text-align: left;
  }

}

/* CTA */
.rm-cta-box {
  max-width: var(--rm-container-narrow);
  margin: 40px auto 56px;
  padding: 24px;
  border: 1px solid #e4d7c9;
  border-radius: 8px;
  background: #faf6f1;
}

.rm-cta-box__lead {
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.6;
  font-weight: 700;
  color: #7a5a43;
}

.rm-cta-box__text {
  margin: 0 0 18px;
  color: #4a4038;
}

.rm-cta-box__button-wrap {
  margin: 0;
}

.rm-cta-box__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 320px;
  padding: 14px 24px;
  border: 1px solid #b8825f;
  border-radius: 999px;
  background: #b8825f;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700;
  line-height: 1.5;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.rm-cta-box__button:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.rm-cta-box__icon {
  display: inline-flex;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

.rm-cta-box__icon svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.rm-cta-box__button-text {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .rm-cta-box {
    margin: 32px auto 44px;
    padding: 18px 16px;
    border-radius: 6px;
  }

  .rm-cta-box__lead {
    margin-bottom: 8px;
    font-size: 19px;
    line-height: 1.55;
  }

  .rm-cta-box__text {
    margin-bottom: 14px;
  }

  .rm-cta-box__button {
    width: 100%;
    min-width: 0;
    padding: 13px 16px;
    font-size: 15px;
  }

  .rm-cta-box__icon {
    width: 17px;
    height: 17px;
    flex-basis: 17px;
  }
}

/* 2026/04/21 記事（解決方法５選） */
.rm-article ul,
.rm-article ol {
  padding-left: 1.4em;
}

.rm-article li + li {
  margin-top: 0.35em;
}

/* 全体セクション */
.rm-article .rm-section {
  margin-top: 56px;
  padding-top: 0;
}

/* サブセクション */
.rm-article .rm-subsection--column {
  margin-top: 32px;
  padding: 24px 22px;
  border: 1px solid #e5ddd2;
  border-radius: 14px;
  background: #ffffff;
}
.rm-article .rm-subsection--column h3 {
}

.rm-article .rm-subsection h3::before {
  position: absolute;
  top: 0.05em;
  left: 0;
  width: 1.4em;
  height: 1.4em;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8em;
  font-weight: 700;
  content: "";
}

/* メリット、デメリット */
.rm-article .rm-subsection--merit,
.rm-article .rm-subsection--demerit {
  margin-top: 32px;
  padding: 24px 22px;
  border: 1px solid #e5ddd2;
  border-radius: 14px;
  background: #ffffff;
  margin-bottom: 40px;
}
.rm-article .rm-subsection--merit h3,
.rm-article .rm-subsection--demerit h3 {
  position: relative;
  margin: 0 0 14px;
  padding-left: 2em;
}

/* メリット */
.rm-article .rm-subsection--merit {
  border-color: #cfe5d6;
  background: #f4fbf6;
}
.rm-article .rm-subsection--merit h3 {
  color: #215c35;
}
.rm-article .rm-subsection--merit h3::before {
  content: "＋";
  background: #d8efdf;
  color: #215c35;
}

/* デメリット */
.rm-article .rm-subsection--demerit {
  border-color: #ead8c8;
  background: #fff8f2;
}
.rm-article .rm-subsection--demerit h3 {
  color: #8a4b22;
}
.rm-article .rm-subsection--demerit h3::before {
  content: "−";
  background: #f6e3d4;
  color: #8a4b22;
}



/* 冒頭 */
.rm-article .rm-article__header {
  margin-bottom: 48px;
}

.rm-article .rm-figure-placeholder--hero {
  margin-bottom: 28px;
}

.rm-article .rm-article__lead-copy {
  margin: 0 0 28px;
  padding: 28px 24px;
  background: linear-gradient(135deg, #f7f2ea 0%, #fcfaf7 100%);
  border: 1px solid #e7ddcf;
  border-radius: 16px;
}

.rm-article .rm-article__lead-copy-small {
  margin: 0 0 10px;
  font-size: 0.9rem;
  line-height: 1.8;
  color: #6b6257;
}

.rm-article .rm-article__lead-copy h1 {
  margin: 0 0 16px;
  font-size: 2.2rem;
  line-height: 1.3;
  color: #1f1f1f;
}

.rm-article .rm-article__lead-points {
  margin: 0;
  padding-left: 1.2em;
}

.rm-article .rm-article__lead-points li {
  margin-top: 0.25em;
  font-weight: 600;
  color: #3f3a34;
}

/* 図解・画像ダミー */
.rm-article .rm-figure-placeholder {
  margin: 28px 0 0;
  padding: 40px 20px;
  border: 2px dashed #cfc3b2;
  border-radius: 14px;
  background: #faf7f2;
  text-align: center;
}

.rm-article .rm-figure-placeholder p {
  margin: 0;
  color: #7b7268;
  font-size: 0.95rem;
}

.rm-article .rm-figure-placeholder--hero {
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 比較系の見出し下を少し見やすく */
.rm-article .rm-section > ul {
  margin-top: 0.8em;
  margin-bottom: 1.2em;
}

/* 外部リンク */
.rm-article a[href^="http"]:not([href*="b-good.jp"])::after {
  content: "";
  display: inline-block;
font-size: 1.5em;
  width: 0.9em;
  height: 0.9em;
  margin-left: 0.28em;
  vertical-align: -0.25em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42 9.3-9.29H14V3z'/><path fill='black' d='M5 5h6v2H7v10h10v-4h2v6H5V5z'/></svg>") no-repeat center / contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42 9.3-9.29H14V3z'/><path fill='black' d='M5 5h6v2H7v10h10v-4h2v6H5V5z'/></svg>") no-repeat center / contain;
}

/* 著者情報 */
.rm-article .rm-author-box {
  margin-top: 100px;
margin-bottom: 100px;
}
.rm-article .rm-author-box__inner {
  padding: 28px 24px;
  background: #fcfcfc;
  border: 1px solid #ccc;
  border-radius: 16px;
}
.rm-article .rm-author-box__label {
  margin: 0 0 16px;
  font-size: 1em;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #666;
}
.rm-article .rm-author-box__body {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.rm-article .rm-author-box__image {
  flex: 0 0 104px;
}
.rm-article .rm-author-box__image img {
  border-radius: 999px;
}
.rm-article .rm-author-box__image-placeholder {
  width: 104px;
  height: 104px;
  border-radius: 999px;
  background: #efe7dc;
  border: 1px solid #ddd1c1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8a7c69;
  font-size: 0.9rem;
}
.rm-article .rm-author-box__content {
  flex: 1 1 auto;
  min-width: 0;
}
.rm-article .rm-author-box__company {
  margin: 0 0 4px;
  font-size: 0.9em;
  color: #6d6255;
}
.rm-article .rm-author-box__name {
  margin: 0 0 12px;
  font-size: 1em;
  font-weight: 700;
  line-height: 1.5;
  color: #222222;
}
.rm-article .rm-author-box__text {
  margin: 0 0 12px;
  line-height: 1.9;
  font-size: 0.9em;
}
.rm-article .rm-author-box__link {
  margin: 0;
}
.rm-article .rm-author-box__link a {
  color: #1f6fb2;
  text-decoration: underline;
  word-break: break-all;
font-size: 0.9em;
}

/* 目次 */
.rm-toc {
    margin-bottom: 30px;
    padding: 1em 1em 1em 2em;
    border: 1px solid #999;
    background-color: #f7f7f7;
    color: #333333;
}
.rm-toc div {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 5px 0;
}
.rm-toc ol {
    list-style-type: decimal;
    margin: 0;
    padding: 0 1.5em;
    overflow: hidden;
}
.rm-toc ol ol {
    margin-top: 5px;
}
.rm-toc li {
    list-style-type: decimal;
    padding: 5px 0;
}
.rm-toc a {
    color: #166c9d;
}


@media (max-width: 767px) {
  /* 著者情報 */
  .rm-article .rm-author-box {
    margin-top: 42px;
  }
  .rm-article .rm-author-box__inner {
    padding: 22px 16px;
    border-radius: 12px;
  }
  .rm-article .rm-author-box__body {
    gap: 14px;
  }
  .rm-article .rm-author-box__image {
    flex-basis: 72px;
  }
  .rm-article .rm-author-box__image-placeholder {
    width: 72px;
    height: 72px;
    font-size: 0.8rem;
  }
  .rm-article .rm-author-box__company {
    font-size: 0.88rem;
  }
  .rm-article .rm-author-box__name {
    margin-bottom: 10px;
    font-size: 1.05rem;
  }
  .rm-article .rm-author-box__text {
    font-size: 0.95rem;
    line-height: 1.8;
  }

  /* セクション */
  .rm-article {
    font-size: 15px;
    line-height: 1.85;
  }
  .rm-article .rm-section {
    margin-top: 42px;
  }
  .rm-article .rm-subsection {
    margin-top: 26px;
  }
  .rm-article .rm-section h2 {
    margin-bottom: 16px;
    padding-left: 0.75em;
    border-left-width: 5px;
    font-size: 1.35rem;
    line-height: 1.45;
  }
  .rm-article .rm-subsection h3 {
    margin-bottom: 12px;
    font-size: 1.08rem;
  }

  /* リード */
  .rm-article .rm-article__lead-copy {
    padding: 22px 16px;
    border-radius: 12px;
  }
  .rm-article .rm-article__lead-copy-small {
    font-size: 0.84rem;
    line-height: 1.75;
  }
  .rm-article .rm-article__lead-copy h1 {
    margin-bottom: 14px;
    font-size: 1.7rem;
    line-height: 1.35;
  }
  .rm-article .rm-article__lead-points {
    padding-left: 1.1em;
  }

  .rm-article .rm-figure-placeholder {
    padding: 28px 14px;
    border-radius: 12px;
  }
  .rm-article .rm-figure-placeholder--hero {
    min-height: 180px;
  }

}


/* 2026/04/23 事業案内 リンク追加 */
.hr-related {
  padding: 60px 8px;
}
.hr-related__box {
  max-width: 1080px;
  margin: 0 auto;
  padding: 48px 40px;
  background: #fff;
  border: 1px solid #d7e0e8;
  border-radius: 14px;
  text-align: center;
}
.hr-related__title {
  margin: 0 0 20px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  color: #123f73;
}
.hr-related__lead {
  max-width: 860px;
  margin: 0 auto 28px;
  font-size: 1em;
  line-height: 1.9;
  color: #333;
}
.hr-related__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: 1040px;
  margin: 0 auto;
  padding: 22px 28px;
  background: #fff;
  border: 1px solid #cfd8e1;
  border-radius: 10px;
  text-decoration: none!important;
  color: #123f73;
  font-size: 1.1em;
  font-weight: 700;
  line-height: 1.5;
  transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.hr-related__link::after {
  content: "›";
  flex-shrink: 0;
  font-size: 1.8rem;
  line-height: 1;
  color: #6d87a3;
}
.hr-related__link:hover {
  background: #f8fbfd;
  border-color: #b8c8d8;
  transform: translateY(-1px);
}

@media screen and (max-width: 767px) {
  .hr-related {
    padding: 40px 0;
  }
  .hr-related__box {
    padding: 32px 20px;
    border-radius: 10px;
  }
  .hr-related__title {
    font-size: 1.5rem;
    margin-bottom: 16px;
  }
  .hr-related__lead {
    margin-bottom: 20px;
    font-size: 0.95rem;
    line-height: 1.8;
    text-align: left;
  }
  .hr-related__link {
    padding: 18px 16px;
    font-size: 1rem;
    text-align: left;
  }
  .hr-related__link::after {
    font-size: 1.5rem;
  }
}



/* Honeypot 2026/10/12 */
.bgood-honeypot {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

