@charset "utf-8";
/*
Theme Name: 日本建設エンジニアリング株式会社
Version: 0.0.1
*/

* {
  box-sizing: border-box
}

html {
  scroll-padding-top: 76px;
  caret-color: transparent
}

body {
  font-size: 16px;
  line-height: 1.6;
  color: #111;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  position: relative;
  height: 100%
}

.inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2em;
  position: relative;
  z-index: 2
}

.blue {
  color: #0057aa
}

a {
  color: #000
}

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

.center {
  text-align: center
}

.right {
  text-align: right
}

.left {
  text-align: left
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between
}

.marker {background: linear-gradient(transparent 60%, rgba(249, 240, 78, 0.8) 60%);}

.home_search_slider {display: none;}
.home_search_slider.slick-initialized {display: block; }

.youtube_slider_wrap {display: none;}
.youtube_slider_wrap.slick-initialized {display: block; }


.home_pc_mv_bg {
    position:absolute !important;
    z-index:-1;
    top:-2em;
    left:0;
    width:100%;
    height:100%;
    background-position:center !important;
    background-size:cover !important;
    position:absolute;
    transition:all 1.5s ease-in-out;
  }


header {
    background-color: #FFF;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, .5);
    position: sticky;
    width: 100%;
    height: 76px;
    top: 0;
    left: 0;
    z-index: 10000;
}

header .content {
    align-items: center;
    justify-content: space-between;
    gap: 1em
}

header .content .logo {
    text-align: center;
    margin-left: 1em;
}
header .content .logo a {
    align-items: center;
    justify-content: flex-start;
    gap: 0.5em;
    text-decoration: none;
}
header .content .logo a img {

}
header .content .logo a span {
    flex: 1 0 0%;
    display: inline-block;
    font-size: 1em;
    font-weight: 900;
    color: #085b37;
}

header .content .util {
  flex: 1 0 0%;
  align-items: center;
  justify-content: space-between;
  gap: 1em
}

.header_menu {
    margin-left: auto;
    flex: 1 0 0%;
}

.header_menu ul {
  align-items: flex-start;
  justify-content: flex-end;
  gap: 0 1em;
}

.header_menu ul li a {
  font-size: 16px;
  line-height: 28px;
  font-weight: bold;
  letter-spacing: .2px;
  text-decoration: none;
  display: block;
  position: relative;
  z-index: 1;
}
.header_menu ul li a.active,
.header_menu ul li a:hover {
    color:#085b37;
}


.header_menu ul li a:after {
  content: '';
  display: block;
  height: 2px;
  width: 100%;
  left: 0;
  transition-duration: 0.2s;
  opacity: 0;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
  background-color: #085b37;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto
}

.header_menu ul li a.active:after,
.header_menu ul li a:hover:after {
  opacity: 1
}

.header_contact {
    padding: 0.5em 0.5em 0.5em 0;
}

.header_contact ul {
    align-items: stretch;
    justify-content: space-between;
    gap: 0.5em;
}

.header_contact ul li a {
  background: linear-gradient(90deg, #085b37, #0e7a4b, #085b37);
  background-size: 200% 100%;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
  height: 60px;
  padding: 0 1em
}

.header_contact ul li a:hover {
  background-position: 100% 0
}

.header_contact ul li .contact_tel {
  font-size: 27px;
  fill: #FBFBFB;
  color: #FBFBFB;
  border-color: #FBFBFB;
  align-items: center;
  justify-content: space-between;
  gap: .5em;
  padding: 0 .5em;
}

.header_contact ul li .contact_tel svg {
  width: 1em;
  height: 1em
}

.header_contact ul li .contact_tel .box .mini {
  font-size: 10px;
  line-height: 1em;
  font-weight: 600;
  display: block;
  margin-bottom:5px;
}

.header_contact ul li .contact_tel .box .phone {
  color: #FBFBFB;
  font-family: "Poppins", Sans-serif;
  font-size: 20px;
  line-height: 1em;
  font-weight: 800;
  display: block
}

.header_contact ul li .h_link {
  color: #FBFBFB;
  font-size: 16px;
  font-weight: 700;
  height: 100%;
  align-items: center;
  justify-content: space-between;
}

footer {
  background: #fff;
  ;
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
  margin-top: 0;
  margin-bottom: 0;
  padding: 50px 0 0 0
}

footer .inner {
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
}

.footer_content {
  flex: 1 0 0%
}

.footer_menu {
  align-items: flex-start;
  justify-content: center;
  gap: 3em;
  margin-bottom: 2em
}

.footer_menu ul {
  align-items: center;
  justify-content: center;
  gap: 2em
}

.footer_menu ul li {
    font-size: 15px;
    line-height: 1em;
    font-weight: 400;
    text-align: center;
}

.footer_menu ul li+li {
  margin-top: 20px
}

.footer_menu ul li a {
    display: inline-block;
    color: #085b37;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
}

.footer_menu ul li a:hover {
  transform: translateY(-3px)
}

.footer_sns ul {
  align-items: flex-start;
  justify-content: center;
  gap: 2em
}

.footer_sns ul li a {
  border-radius: 46px 46px 46px 46px;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px
}

.footer_sns ul li a svg {
  width: 20px;
  height: 20px;
  fill: #fff
}

.e-fab-youtube {
  background-color: #cd201f
}

.e-fab-instagram {
  background-color: #262626
}

.e-fab-tiktok {
  background-color: #69727d
}

.e-fab-x-twitter {
  background-color: #000
}

.footer_logo {
  width: 40%;
  text-align: center
}

.footer_logo .logo {
  text-align: center;
  margin-bottom: 1em
}

.footer_logo address {
    color: #606060;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.4em;
    font-style: normal;
}

.copyright {
  background-color: #FAFAFA;
  margin: 30px 0 0 0;
  padding: 10px 0 10px 0;
  text-align: center
}

.copyright small {
  color: #606060;
  font-size: 14px;
  font-weight: 500
}

#bottom_tel {
  position: fixed;
  right: 10px;
  bottom: 55px;
  z-index: 10000000;
}

#bottom_tel a {
  display: block;
  background-color: #085b37ba;
  transition: all 0.3s ease-in-out 0s;
  padding: 24px 24px 24px 24px
}

#bottom_tel a:hover {
  background-color: #085b37;
  border-color: #E8E8E8
}

#bottom_tel a svg {
  fill: #fff;
  width: 28px;
  height: 28px;
  vertical-align: bottom
}

#pagetop {
  position: fixed;
  right: 10px;
  bottom: 10px;
  display: none;
  z-index: 10000000;
}

#pagetop svg {
  fill: #085b37;
  width: 35px;
  height: 35px
}

.breadcrumbs_wrap {
  padding: .5em 0;
  color: #085b37;
  font-size: .9em
}

.breadcrumbs_wrap a {
  display: inline-block;
  color: #085b37;
  text-decoration: none
}

.breadcrumbs_wrap a:hover {
  text-decoration: underline
}

.breadcrumbs span {
  display: inline-block
}

.breadcrumbs_wrap a.home i {
  display: inline-block;
  color: #085b37;
  margin-right: .25em
}

.pager {
  padding-top: 3em;
  text-align: center;
  align-items: center;
  justify-content: center
}

.pager span,
.pager a {
  width: 40px;
  height: 40px;
  text-align: center;
  font-size: 18px;
  line-height: 35px;
  display: inline-block;
  color: #FFF;
  margin: 0 5px;
  border: solid 1px #085b37;
  box-sizing: border-box
}

.pager span {
  background: #085b37
}

.pager a {
  background: #fff;
  color: #085b37;
  text-decoration: none
}

.nav_links {
  align-items: flex-start;
  justify-content: flex-start;
  margin-top: 2em
}

.nav_links a {
  color: #085b37;
  text-decoration: none
}

.nav_links a:hover {
  text-decoration: underline
}

.nav_links a+a {
  margin-left: auto
}

.nav_links a:nth-child(1):before {
  font-family: 'Font Awesome 6 Free';
  content: "\f060";
  font-weight: 900;
  color: #085b37;
  opacity: 1;
  margin-right: .25em
}

.nav_links a:nth-child(2):after {
  font-family: 'Font Awesome 6 Free';
  content: "\f061";
  font-weight: 900;
  color: #085b37;
  opacity: 1;
  margin-left: .25em
}

.sec_title_bloc {
  text-align: center
}

.sec_title_bloc figure {
  display: inline-block;
  margin-bottom: .5em
}

.sec_title {
  color: #085b37;
  font-size: 2em;
  font-weight: 900;
}
.sec_title span {
    position: relative;
    display: inline-block;
    padding: 0 2em;
}
.sec_title span:before {
    content: "";
    width: 1.5em;
    height: 1.5em;
    background: url(./images/logo1.png) no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: 2px;
    left: 0;
}
.sec_title span:after {
    content: "";
    width: 1.5em;
    height: 1.5em;
    background: url(./images/logo1.png) no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: 2px;
    right: 0;
}

.sec_title_sub {
    font-family: "Poppins", Sans-serif;
    color: #606060;
    font-size: 1.2em;
    line-height: 1em;
    font-weight: 900;
    margin-top: .25em;
}

.btn_bloc a {
  display: inline-block;
  color: #fff;
  font-size: 18px;
  line-height: 1em;
  font-weight: 700;
  background: linear-gradient(90deg, #085b37, #0e7a4b, #085b37);
  background-size: 200% 100%;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
  padding: 1.2em 1.5em;
  column-width: 300px;
}
.btn_bloc a em {
    font-style: normal;
    font-size: 1.2em;
    font-weight: 900;
}


.btn_bloc a:hover {
  transform: scale(1.02);
  background-position: 100% 0
}

.btn_bloc a i {
  margin-left: .5em
}

.btn_bloc2 a {
  display: inline-block;
  color: #fff;
  font-size: 18px;
  line-height: 1em;
  font-weight: bold;
  background: linear-gradient(90deg, #085b37, #0e7a4b, #085b37);
  background-size: 200% 100%;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
  padding: 1.2em 1.5em;
  border: solid 2px transparent;
  column-width: 300px;
  box-sizing: border-box;
  text-align: center;
}

.btn_bloc2 a em {
    font-style: normal;
    font-size: 1.2em;
    font-weight: 900;
}

.btn_bloc2 a:hover {
  border: solid 2px #085b37;
  background: none;
  ;
  color: #085b37;
  transition: all 0.5s ease-in-out;
  animation: floating-y 1s ease-in-out infinite alternate-reverse
}

@keyframes floating-y {
  0% {
    transform: translateY(0%)
  }

  50% {
    transform: translateY(-10%)
  }

  100% {
    transform: translateY(0%)
  }
}

.btn_bloc2 a i {
  margin-left: .1em
}

.background-overlay {
  filter: brightness(49%) contrast(100%) saturate(100%) blur(0) hue-rotate(0deg);
  background-color: #B4B4B4;
  opacity: .94;
  mix-blend-mode: multiply;
  transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute
}

.background-overlay2 {
  background-color: #B4B4B4;
  opacity: .87;
  mix-blend-mode: multiply;
  transition: background 0.3s, border-radius 0.3s, opacity 0.3s;
  filter: none;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute
}

.slick-next,
.slick-prev {
  width: 65px;
  height: 65px;
  background: #fff !important;
  border-radius: 50%;
  z-index: 100;
  box-shadow: 0 0 5px #666;
  top: 32%;
}

.slick-next:hover,
.slick-prev:hover {
  background: #fff
}

.slick-next:before {
  font-family: 'Font Awesome 6 Free';
  content: "\f105";
  font-weight: 900;
  color: #085b37;
  opacity: 1;
  font-size: 24px
}

.slick-prev:before {
  font-family: 'Font Awesome 6 Free';
  content: "\f104";
  font-weight: 900;
  color: #085b37;
  opacity: 1;
  font-size: 24px
}

.slick-dots {
  position: static;
  margin-top: 1em
}

.slick-dots li {
  margin: 0
}

.slick-dots li button:before {
  font-size: 14px
}

.slick-dots li button:before {
  content: '\2022'
}

.youtube_slider_wrap {
  display: none
}

.youtube_slider_wrap.slick-initialized {
  display: block
}

.slick-slider>div {
  transition: none
}

.page_upper {
  background: url(./images/works_back.webp) no-repeat center;
  background-size: cover;
  position: relative;
  padding: 10em 0
}

.page_upper .inner {
  position: relative;
  z-index: 2
}

.page_upper .content {
  text-align: center
}

.page_upper .content > span {
  font-family: "Poppins", Sans-serif;
  color: #fff;
  font-size: 1.6em;
  line-height: 1em;
  font-weight: 900;
  text-shadow: 0 0 2px #111, 0 1px 2px #111;
}

.page_upper .content h1 {
  color: #fff;
  font-size: 42px;
  line-height: 1.4em;
  font-weight: 700;
  text-shadow: 0 -1px 3px #111, 0 3px 3px #111;
  align-items: center;
  justify-content: center;
  gap: 0.25em;
}
.page_upper .content h1 span {
  position: relative;
  display: inline-block;

}
.page_upper .content h1 i img  {
  width: 1.4em;
  filter: drop-shadow(2px 2px 2px #fff);
}
.post-type-archive-works .page_upper {
  background: url(./images/works_back.webp) no-repeat center;
  background-size: cover
}

.post-type-archive-faq .page_upper {
  background: url(./images/bg_faq.webp) no-repeat center;
  background-size: cover
}

.post-type-archive-notice .page_upper {
  background: url(./images/page_news.webp) no-repeat center;
  background-size: cover
}

.category-column .page_upper {
  background: url(./images/bg_home_business_catch.webp) no-repeat center;
  background-size: cover;
  padding-bottom: 1em;
  padding: 4em 0 2em
}

.category-column .page_upper .content {
  margin-bottom: 2em
}

.page-id-14449 .page_upper {
  background: url(./images/parallax-bg-desk.webp) no-repeat center;
  background-size: cover
}

.page-id-14447 .page_upper {
  background: url(./images/page_business.webp) no-repeat center top 30%;
  background-size: cover;
}

.page-id-14445 .page_upper {
  background: url(./images/bg_sepa_setion.webp) no-repeat center;
  background-size: cover
}

.page-id-14451 .page_upper {
  background: url(./images/bg_privacy.webp) no-repeat center;
  background-size: cover
}

.page-id-14443 .page_upper {
  background: url(./images/bg_contact.webp) no-repeat center;
  background-size: cover
}

.bg {
  background: #F2F4F7
}

.recruit_sec {

}
.recruit_sec_content {
  background: url(./images/recruit-bg.webp) no-repeat center top;
  background-size: cover;
  padding: 4em 0;
  position: relative
}




.recruit_sec .sec_title_bloc {
  padding: 2em 0;
}


.recruit_sec_upper {
  margin-bottom: 3em
}

.recruit_sec_upper p {
  color: #FFF;
  font-size: 1.4em;
  font-weight: 700;
  text-align: center
}

.recruit_sec_upper p+p {
  margin-top: 1em
}

.recruit_sec_entry {
  overflow: hidden
}

.recruit_sec_entry .item {
  color: #fff;
  transition: all 0.3s ease-in-out;
  width: calc(100% / 3 - 2em);
  padding: 2em;
  box-sizing: border-box;
  text-align: center;
  background:linear-gradient(90deg, #085b37, #0e7a4b, #085b37);
}

.recruit_sec_entry .item:hover {
  transform: scale(1.02);
  background-position: 100% 0;
  background:#0005;
}

.recruit_sec_entry .item h3 {
  font-size: clamp(1rem, 0.818rem+0.91vw, 1.5rem);
  line-height: 1.4em;
  font-weight: 700;
  margin-bottom: 1em;
  padding-bottom: 1em;
  position: relative
}

.recruit_sec_entry .item h3:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  background:#fff;
}

.recruit_sec_entry .item p {
  font-size: 1em;
  margin-bottom: 2em
}

.recruit_sec_entry .item .btn_bloc a {
    display: inline-block;
    color: #085b37;
    background: #fff;
    font-size: 1em;
    line-height: 1em;
    font-weight: 700;
    text-decoration: none;
    border-radius: 50px 50px 50px 50px;
    padding: 1em 2em 1em;
}

.recruit_sec_entry .item .btn_bloc a:hover {
  background:linear-gradient(90deg, #085b37, #0e7a4b);
  color: #fff;
}

.recruit_sec_entry .item .btn_bloc a span {
  display: inline-block
}

.recruit_sec_entry .item .btn_bloc a i {
  display: inline-block;
  vertical-align: top;
  font-size: 1.2em
}

.recruit_sec_tel_banner {
  max-width: 890px;
  color: #fff;
  background: linear-gradient(90deg, #085b37, #0e7a4b, #085b37);
  background-size: 200% 100%;
  transition: all 0.3s ease-in-out;
  padding: 1.5em 2.5em;
  margin: 0 auto;
  box-sizing: border-box;
  align-items: center;
  justify-content: space-between
}

.recruit_sec_tel_banner:hover {
  transform: scale(1.02);
  background-position: 100% 0
}

.recruit_sec_tel_banner .tel_desc h3 {
  font-size: 1.2em
}

.recruit_sec_tel_banner .tel_desc p {
  font-size: .9em
}

.recruit_sec_tel_banner .tel_box {
  align-items: center;
  justify-content: space-between;
  gap: .5em
}

.recruit_sec_tel_banner .tel_box i {
  display: inline-block;
  font-size: 3.5em;
  line-height: 1em;
  transform: rotate(-45deg);
  margin-top: -.15em
}

.recruit_sec_tel_banner .tel_box a {
  display: inline-block;
  color: #fff;
  font-family: "Poppins", Sans-serif;
  font-size: 3.2em;
  line-height: 1em;
  font-weight: 700;
  text-decoration: none
}

.home_mv {
    width: 100%;
    min-height: calc(100vh - 76px);
    /*background: url(./images/bg_mv_01.webp) no-repeat;*/
    background-position: center center;
    background-size: cover;
    padding-top: 3em;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    height:941px;
}
.home_mv:before {
    content: "";
    background: url(./images/logo1.png) no-repeat;
    background-size: contain;
    max-width: 300px;
    max-height: 300px;
    width: calc(20vw + 5em);
    height: calc(20vw + 5em);
    position: absolute;
    bottom: 0;
    left: -5em;
    bottom: -6em;
    opacity:.7;
}
.home_mv:after {
    content: "";
    background: url(./images/logo1.png) no-repeat;
    background-size: contain;
    max-width: 300px;
    max-height: 300px;
    width: calc(20vw + 5em);
    height: calc(20vw + 5em);
    position: absolute;
    bottom: 0;
    right: -5em;
    bottom: -6em;
    opacity:.7;
}





.home_mv_bloc {
    width: 90%;
    margin: 0 auto 2em;
    position: relative;
    z-index: 2;
}

.home_mv_bloc h1 {
    color: #085b37;
    text-shadow: 0 -1px 3px #fff, 0 3px 3px #fff;
    font-size: 48px;
    line-height: 1.6em;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.home_mv_bloc h1 strong {
    color: #085b37;
    text-shadow: 0 -1px 3px #fff, 0 3px 3px #fff;
    font-weight: 900;
    font-size: 72px;
    display: inline-block;
}
.home_mv_bloc h1 em {
    color: #085b37;
    text-shadow: 0 -1px 3px #fff, 0 3px 3px #fff;
    font-weight: 900;
    font-size: 72px;
    display: inline-block;
    font-style: normal;
}


.home_mv_bloc p {
  color: #fff;
  font-size: 1.2em;
  line-height: 2em;
  background-image: linear-gradient(90deg, #085b37 5%, #085b3700 45%);
  padding: .5em 1em;
  margin-bottom: 1em
}

.home_mv_youtube_bloc {
  padding: 0 2em
}

.youtube_slider_item {
  margin: 0 1em
}

.youtube_slider_item iframe {
  height: 100%;
  width: 100%;
  display: flex;
  border: none;
  background-color: #000;
  margin-bottom: 1em;
  aspect-ratio: 16 / 9;
  max-width: 392px
}

.youtube_slider_item p {
  display: inline-block;
  width:392px;
  color: #FFF;
  font-size: 14px;
  line-height: 1.4;
  padding:5px 10px;
  background:#085b3799;
}

.home_mv_bottom {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
    max-width: 503px;
    width: 100%;
}
.home_mv_bottom ul {
  align-items: flex-start;
  justify-content: flex-end;
  gap: 3px;
  overflow: hidden
}

.home_mv_bottom ul li {
  max-width: 250px;
  width: 100%
}

.home_mv_bottom ul li a {
  display: inline-block;
  color: #fff;
  font-size: 18px;
  line-height: 1em;
  font-weight: 600;
  background: linear-gradient(90deg, #085b37, #0e7a4b, #085b37);
  background-size: 200% 100%;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
  padding: 1.5em 2em;
  width: 100%;
  text-align: center
}

.home_mv_bottom ul li a:hover {
  transform: scale(1.02);
  background-position: 100% 0
}

.home_mv_bottom ul li a i {
  margin-left: .5em
}

.home_cm {
  padding: 4em 0;
  overflow: hidden
}

.home_cm .inner {
  align-items: center;
  justify-content: space-between;
  gap: 2em
}

.home_cm_upper {
    text-align: center;
}
.home_cm_upper h2 {
    font-size: 26px;
    line-height: 1.8em;
    font-weight: 900;
}
.home_cm_upper h2 em {
    color: #085b37;
    font-size: 40px;
    line-height: 1.4em;
    font-style: normal;
    font-weight: 900;
}

.home_cm_content {
    text-align: center;
    align-items: center;
    justify-content: center;
    gap: 2em;
}

.home_cm_content p {
    font-size: 1.2em;
    line-height: 1.8em;
    font-weight: bold;
    margin-bottom: 1em;
}

.home_cm_content h3 {
  font-size: 32px;
  font-weight: 900;
  margin-bottom: 1em
}

.home_cm_figure {
	figure {
		aspect-ratio: 250/263;
		overflow: hidden;
		max-width: 250px;
		img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			border-radius: 15px;
		}
		&+figure {
			margin-top: 2em;
		}
	}
}



.home_business_title {
    /*background: #F2F4F7; */
    /* padding: 2em 0; */
    margin-bottom: 3em;
}

.home_business_upper {
  text-align: center;
  padding: 0 2em;
  margin-bottom: 3em;
}
.home_business_upper .box {
    display: inline-block;
    text-align: left;
    padding: 2px;
}
.home_business_upper p {
    width:84%;
    margin-right:auto;
    margin-left:auto;
    border-bottom: solid 1px #085b37;
    padding: 1em;
    font-size: 1.1em;
    font-weight: bold;
}
.home_business_upper p em {
    display: inline-block;
    color: #085b37;
    font-size: 1.2em;
    font-weight: 900;
    font-style: normal;

}


.home_business_feature {
    margin-bottom: 3em;
}
.home_business_feature h3 {
    color: #085b37;
    font-size: 1.5em;
    font-weight: 900;
    text-align: center;
    margin-bottom: 1em;
}
.home_business_feature h3 span {

}
.card_wrap {

}
.card_list {
    align-items: stretch;
    justify-content: center;
    gap: 3em 1.5em;
    max-width: 1000px;
    margin: 0 auto;
}


.card_item {
  width: calc(100% / 3 - 1em);
  box-sizing: border-box;
  position: relative;
}
.features.card_item {
  width:400px;
}
.card_box {
  display:flex;
  color: #111;
  gap:10px;
  height: 100%;
}
.card_box i {
  font-family: "Poppins", Sans-serif;
  background: linear-gradient(90deg, #085b37, #0e7a4b);
  color: #fff;
  font-style: normal;
  font-size: 2em;
  font-weight: 900;
  line-height: 0.8em;
  width: 2em;
  display:flex;
  align-items:center;
  text-align: center;
  padding: 0.5em;
}
.card_box p {
  padding: 1em 0.75em 1em;
  font-size: 1em;
  border-style:solid;
  border-color:#085b37;
  border-width:1px 1px 1px 0;
}
.card_box p em {
    font-size: 1.1em;
    font-style: normal;
    font-weight: 900;
    color: #085b37;
}



/*
.card_item:nth-child(1) {border: solid 3px #5181CE;}
.card_item:nth-child(2) {border: solid 3px #1E7CC3;}
.card_item:nth-child(3) {border: solid 3px #2295D1;}
.card_item:nth-child(4) { border: solid 3px #0AA0C0;}
.card_item:nth-child(5) {border: solid 3px #27A88F;}

.card_item:nth-child(1) .card_box {border: solid 3px #5181CE;background: #5181CE;}
.card_item:nth-child(2) .card_box {border: solid 3px #1E7CC3;background: #1E7CC3;}
.card_item:nth-child(3) .card_box {border: solid 3px #2295D1;background: #2295D1;}
.card_item:nth-child(4) .card_box {border: solid 3px #0AA0C0;background: #0AA0C0;}
.card_item:nth-child(5) .card_box {border: solid 3px #27A88F;background: #27A88F;}

.card_item:nth-child(1) .card_box i {background: #5181CE;}
.card_item:nth-child(2) .card_box i {background: #1E7CC3;}
.card_item:nth-child(3) .card_box i {background: #2295D1;}
.card_item:nth-child(4) .card_box i {background: #0AA0C0;}
.card_item:nth-child(5) .card_box i {background: #27A88F;}
*/

.home_business_catch {
  background: #979797 url(./images/bg_home_business_catch.webp) no-repeat center 77%;
  background-size: cover;
  position: relative;
  height: 330px;
  align-items: center;
  justify-content: center;
  text-align: center
}

.home_business_catch_bloc {
  position: relative;
  z-index: 2;
  color: #fff
}

.home_business_catch_bloc h3 {
  font-size: 40px;
  font-weight: 900;
  text-shadow: 0 -1px 3px #111, 0 3px 3px #111
}

.home_business_catch_bloc p {
    font-size: 1em;
    line-height: 1.8em;
    font-weight: 700;
    text-shadow: 0 -1px 3px #111, 0 3px 3px #111;
}

.home_business_content {
  padding: 4em 0;
  overflow: hidden
}

.home_business_content .inner {
  max-width: 1200px
}

.home_business_item {
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
}

.home_business_item+.home_business_item {
  margin-top: 3em
}

.home_business_item figure {
  display: inline-block;
  border-radius: 1.5em;
  overflow: hidden;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .5)
}

.home_business_item .box {
  flex: 1 0 0%;
  padding: 0 4em
}

.home_business_item .box i {
    display: inline-block;
    color: #085b37;
    font-family: "Poppins", Sans-serif;
    font-size: 36px;
    line-height: 1em;
    font-weight: 800;
    font-style: italic;
}

.home_business_item .box h4 {
  font-size: 44px;
  font-weight: 900;
  position: relative;
  padding-bottom: .5em;
  margin-bottom: .5em
}

.home_business_item .box h4:after {
  content: "";
  width: 25%;
  height: 2px;
  border-top: solid 2px #085b37;
  position: absolute;
  bottom: 0;
  left: 0
}

.home_business_item_wrap+.btn_bloc2 {
  text-align: center;
  margin-top: 4em
}

#search {
    background: #F2F4F7;
    padding: 4em 0;
}

.home_search_title {
    padding: 0;
    margin-bottom: 3em;
}

.home_search_upper {
    text-align: center;
    margin-bottom: 3em;
}
.home_search_upper .box {
    display: inline-block;
    text-align: left;
    padding: 2px;
}
.home_search_upper p {
    border-bottom: solid 1px #085b37;
    padding: 1em;
    font-size: 1.1em;
    font-weight: bold;
}
.home_search_upper p em {
    display: inline-block;
    color: #085b37;
    font-size: 1.2em;
    font-weight: 900;
    font-style: normal;

}


.home_search_content {
  text-align: center
}

.home_search_slider_wrap {
  padding: 0 3em;
  margin-bottom: 3em
}

.search_slider_item_cell {
  padding: .5em
}

.search_slider_item {
  background: #fff;
  padding: 1em;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .5);
  display: inline-block;
  border-radius: 1em
}

.search_slider_item .figure_box {
  display: inline-block;
  position: relative
}

.search_slider_item .figure_box figure {
  display: block;
  aspect-ratio: 16 / 9
}

.search_slider_item .figure_box figure img {
  object-fit: cover;
  width: 100%;
  height: 100%
}

.search_slider_item .figure_box p {
  background: #085b37;
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 14px;
  padding: .25em .5em
}

.search_slider_item .data_box h3 {
  font-size: .9em;
}

.search_slider_item .data_box p {
  font-size: .9em;
}

.home_search_content .btn_bloc {
  margin-bottom: 2em
}

.home_search_content .btn_bloc a {

}

.home_search_content .btn_bloc i {
  margin-right: .5em;
  margin-left: 0
}

.home_search_content .btn_bloc span+i {
  margin-left: .5em
}
.home_search_content .figure_box {
  position:relative;
}
.home_search_content .figure_box p {
  position:absolute;
  top:0;
  left:0;
  height:fit-content;
}
.home_search_content .data_box>* {
  text-align:center;
}
.slick-prev, .slick-next {
  top:42%;
  transform:translateY(-50%);
}

.home_parallax {
  min-height: 500px;
  background: url(./images/parallax-bg-desk.webp) no-repeat center;
  background-size: cover;
  background-attachment: fixed
}


.home_company {
    padding: 4em 0;
}
.home_company_title {
    padding: 0;
    margin-bottom: 3em;
}

.home_company_content {

}

.home_company_data {
  align-items: center;
  justify-content: space-between;
  max-width: 1000px;
  gap: 40px;
  flex-direction: row-reverse;
  margin: 0 auto;
}

.home_company_data figure {
  max-width: 360px;
  width: 50%;
  text-align: center;
}

.home_company_bloc {
    padding: 0 2em;
    flex: 1 0 0%;
}

.home_company_bloc dl {
  border-bottom: solid 1px #ADB6BE;
  font-size: .9em;
  align-items: stretch;
  justify-content: space-between
}

.home_company_bloc dl dt {
  padding: 1em;
  min-width: 8em;
  align-items: center;
  justify-content: space-between;
  position: relative
}

.home_company_bloc dl dt:after {
  content: "";
  width: 100%;
  height: 1px;
  border-top: solid 1px #085b37;
  position: absolute;
  bottom: -2px;
  left: 0
}

.home_company_bloc dl dd {
  flex: 1 0 0%;
  text-align: left;
  padding: 1em
}

.home_company_data+.btn_bloc2 {
  text-align: center;
  margin-top: 3em;
}



.home_vision {
  background: #F2F4F7;
  padding: 4em 0;
}
.home_vision_title {
  padding: 0;
  margin-bottom: 3em;
}


.home_vision_data {
  max-width: 64%;
  margin: 0 auto;
  text-align: center;
}
.home_vision_data h3 {
  display: inline-block;
  color: #085b37;
  font-size: 1.6em;
  font-weight: 900;
  margin-bottom: 1em;
}
.home_vision_data h3 span {

}
.home_vision_data p {
  font-size: 1em;
  font-weight: 500;
  text-align: left;
}

.home_vision_data+.btn_bloc2 {
  text-align: center;
  margin-top: 3em;
}



.home_mission {
    padding: 4em 0 0;
}

.home_mission_title {
  padding: 0;
  margin-bottom:3em;
}

.home_mission_content {
    background: #979797 url(./images/bg_home_mission_catch.webp) no-repeat center 44%;
    background-size: cover;
    position: relative;
    height: 330px;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.home_mission_catch_bloc {
    position: relative;
    z-index: 2;
    width:1000px;
}
.home_mission_catch_bloc p {
    width:100%;
    text-align:right;
    color: #fff;
    font-size: 32px;
    font-weight: 900;
    /*text-shadow: 0 -1px 3px #111, 0 3px 3px #111;*/
}

.home_feature {
    padding: 4em 0;
}

.home_feature_title {
  padding: 0;
  margin-bottom:3em;
}

.home_feature_content {
  padding: 0;
}
.home_feature_content h3{
    color: #085b37;
    font-size: 1.5em;
    font-weight: 900;
    text-align: center;
    margin-bottom: 2em;
}

.home_works {
  background: #F2F4F7;
  padding: 0 0 4em;
}

.home_works_upper {
    background: #979797 url(./images/bg_home_works_upper.webp) no-repeat center top;
    background-size: cover;
	background-position: 30%;
    position: relative;
    height: 330px;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-bottom: 3em;
}



.home_works_title {
    padding: 0;
    margin-bottom: 3em;
}

.home_works_content {

}

.home_works_data {
  margin-bottom: 3em
}
.home_works_data h3 {
    color: #085b37;
    font-size: 1.5em;
    font-weight: 900;
    text-align: center;
    margin-bottom: 2em;
}
.works_table {
  width: 100%;
  font-size: 1em;
  max-width: 1140px;
  margin: 0 auto;
  outline:10px solid #fff;
  outline-offset:-10px;
}

.works_table thead th {
    background: #fff;
    border-bottom: solid 1px #085b37;
    color: #111;
    text-align: left;
    padding: 1em;
    font-weight: 400;
}

.works_table tbody td {
  background: #fff;
  padding: 1em;
  text-align: left;
  border-bottom:1px solid #dddddd;
}
.works_table tbody tr:last-child td {
  border-bottom:none;
}
.works_table thead th:not(:last-child),
.works_table tbody td:not(:last-child) {
  padding-left:2em;
}
.works_table tbody tr:nth-child(even) td {
  background: #fff;
}

.home_works_data+.btn_bloc2 {
  text-align: center
}

.home_faq {
    background: #F2F4F7;
    padding: 4em 0;
}

.home_faq_title {
  padding: 0;
  margin-bottom:3em;
}

.home_faq_content {
  padding: 0;
}

.home_faq_data {
  max-width: 740px;
  margin: 0 auto 3em
}

.home_faq_data dl+dl {
  margin-top: 2em
}

.home_faq_data dl dt {
  background: #fff;
  padding: 1.25em 1.5em;
  border-radius: 50px;
  align-items: center;
  justify-content: flex-start;
  gap: 1em;
  cursor: pointer;
  margin-bottom: 1em
}

.home_faq_data dl dt.active {
  background: #085b37;
  color: #fff
}

.home_faq_data dl dt:after {
  content: "＋";
  color: #085b37;
  font-size: 1.5em;
  line-height: 1em;
  font-weight: 900;
  margin-left: auto
}

.home_faq_data dl dt.active:after {
  content: "－";
  color: #fff
}

.home_faq_data dl dt svg {
  width: 1.2em;
  fill: #085b37
}

.home_faq_data dl dt.active svg {
  fill: #fff
}

.home_faq_data dl dt span {
  font-size: 18px;
  font-weight: 700
}

.home_faq_data dl dd {
  background: #fff;
  padding: 1.5em;
  border-radius: 1em;
  display: none
}

.home_faq_data dl dd span {
  font-size: 14px;
  display: inline-block
}

.home_faq_data+.btn_bloc2 {
  text-align: center
}

.sepa_setion {
  background: #979797 url(./images/bg_sepa_setion.webp) no-repeat center center;
  background-size: cover;
  position: relative;
  height: 330px;
  align-items: center;
  justify-content: center;
  text-align: center;
}



.home_article {
  padding: 4em 0
}
.home_article .inner {
    flex-direction: row-reverse;
    gap: 2em;
}

.home_news {
    width: 40%;
    /* padding: 0 2em; */
    box-sizing: border-box;
}

.home_news_title {
  margin-bottom: 2em
}

.home_news_content {
  text-align: center
}

.home_news_data {
  display: inline-block;
  text-align: left
}

.post-type-archive-notice .home_news_content {

}

.single-notice .home_news_content {

}

.post-type-archive-notice .home_news_data {
  width: 100%;
  max-width: 800px
}

.single-notice .home_news_data {
  width: 100%;
  max-width: 800px
}

.home_news_data dl {
  border-bottom: solid 1px #111;
  padding: 0 1em .5em;
  margin-bottom: 1em
}

.home_news_data dl dt {
  font-size: .9em;
  margin-bottom: .25em
}

.home_news_data dl dd {
  font-size: 1em
}

.home_news_data dl dd a {
  text-decoration: none;
  display: inline-block;
  transition: all .3s ease 0s
}

.home_news_data dl dd a:hover {
  transform: scale(1.02);
  color: #00c873
}

.home_news_data+.btn_bloc2 {
  text-align: center;
  margin-top: 2em
}

.home_column {
    /*width: 50%; */
    flex: 1 0 0%;
    /* padding: 0 2em; */
    box-sizing: border-box;
}

.home_column_upper {

}
.home_column_upper p {
    color: #085b37;
    font-size: 1em;
    font-weight: 900;
    text-align: center;
    margin-bottom: 2em;
}


.home_column_title {
  margin-bottom: 2em
}

.home_column_data {
  align-items: flex-start;
  justify-content: space-between;
  gap: 2em
}

.home_works_data_item {
    width: calc(100% / 3 - 1.5em);
}

.home_works_data_item figure {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  margin-bottom: .5em
}

.home_works_data_item figure img {
  transition: .5s all
}

.home_works_data_item:hover figure img {
  transform: scale(1.2);
  transition: .5s all
}

.home_works_data_item h3 {
  font-size: 1em
}

.home_works_data_item p {
  font-size: .8em;
  margin-top: .5em
}

.home_works_data_item a {
  text-decoration: none
}

.home_column_data+.btn_bloc2 {
  text-align: center;
  margin-top: 2em
}

.category-column .home_column_content {

}



.home_column_data_content  {
  flex-direction: row-reverse;
  gap: 5em;
  position: relative;
}

.home_column_ranking {
  width: 36%;
  max-width: 300px;

}
.home_column_ranking h3 {
  width: 100%;
  color: #085b37;
  font-size: 18px;
  line-height: 1;
  font-weight: 900;
  margin-bottom: 1em;
  padding-bottom:.5em;
  border-bottom: solid 2px #085b37;
}

.home_column_ranking_bloc {

}
.ranking_item {

}
.ranking_item + .ranking_item {
  border-top: solid 1px #085b37;
  padding-top: 1em;
  margin-top: 1em;
}
.ranking_item a {
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  text-decoration: none;
}
.ranking_item a:hover {

}
.ranking_item figure {
  width: 40%;
  overflow: hidden;
}
.ranking_item figure {
  position: relative;
}
.ranking_item figure:after {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 42px 42px 0 0;
  border-color: #085b37 transparent transparent transparent;
}

.ranking_item figure:before {
  content: "";
  color: #fff;
  position: absolute;
  top: 1px;
  left: 9px;
  z-index: 1;
  font-family: "Poppins", Sans-serif;
  font-size: 1em;
}

.ranking_item:nth-child(1) figure:before {content: "1";}
.ranking_item:nth-child(2) figure:before {content: "2";}
.ranking_item:nth-child(3) figure:before {content: "3";}
.ranking_item:nth-child(4) figure:before {content: "4";}
.ranking_item:nth-child(5) figure:before {content: "5";}

.ranking_item figure img {
  transform: scale(1);
  transition: .5s all;
}
.ranking_item:hover figure img {
  transform: scale(1.2);
  transition: .5s all
}

.ranking_cell {
  flex: 1 0 0%;
}
.ranking_cell h4 {
  font-size: 1em;
}
.ranking_cell time {
  font-size: .8em;
  margin-top: .5em;
}

.home_column_data_wrap {
  flex: 1 0 0%;
}







.category-column .home_column_data {
  align-items: flex-start;
  justify-content: flex-start;
  gap: 2em 1.5em
}

.category-column .home_works_data_item {
  width: calc(100% / 3 - 1em)
}

.post-type-archive-faq {
  background: #F2F4F7
}

.single-faq {
  background: #F2F4F7
}

.home_column_single {
  max-width: 900px;
  margin: 0 auto;
}

.home_column_single .single_content>*+* {
  margin-top: 1em
}

.home_column_single h2.wp-block-heading {
  background: #f4f9ff;
  padding: .5em;
  border-bottom: solid 5px #085b37
}

.home_column_single h3.wp-block-heading {
  border-bottom: 1px solid #A3A3A3;
  border-left: solid 5px #085b37;
  padding: .5rem 1rem
}

.home_column_single ul.wp-block-list {
  list-style: disc;
  list-style-position: inside;
  padding-left: 1em
}

.about_page_upper {
  margin-bottom: 3em;
  text-align: center;
}

.about_page_upper h2 {
  color: #085b37;
  font-size: 21px;
  font-weight: 900;
  margin-bottom: 0.25em;
}
.about_page_upper p {
  font-weight: bold;
  line-height: 1.8em;
}

.certified_person_data {

}

.certified_person_table {
  align-items: flex-start;
  justify-content: center;
  gap: 1em;
  max-width: 1000px;
  margin: 0 auto;
}

.certified_person_data table {
  width: calc(100% / 2 - 1em);
  border: solid 1px #ADB6BE;
  font-size: .9em
}

.certified_person_data table tr:nth-child(even) {
  background: #F2F4F7;
}

.certified_person_data table td {
  border: solid 1px #ADB6BE;
  padding: 1em;
  font-size: .9em
}
.certified_person_data table td:last-child {
  padding: 1em 0 1em .75em;
}
.certified_person_data table tr:nth-child(3) td:last-child,
.certified_person_data table tr:nth-child(4) td:last-child,
.certified_person_data table tr:nth-child(22) td:last-child {
  padding: 1em 0;
}
.certified_person_data table td:nth-child(2) {
  text-align: center;
}

.philosophy_data {

}

.philosophy_item {
  text-align: center;
  max-width: 600px;
  margin: 0 auto;
}

.philosophy_item+.philosophy_item {
  margin-top: 3em
}

.philosophy_item h3 {
  position: relative;
  margin-bottom: 1em
}

.philosophy_item h3:after {
  content: "";
  /* width: 50%; */
  height: 1px;
  border-top: solid 1px #085b37;
  position: absolute;
  top: 52%;
  transform: translateY(-52%);
  -webkit-transform: translateY(-52%);
  left: 0;
  right: 0;
  margin: auto
}

.philosophy_item h3 span {
  display: inline-block;
  color: #085b37;
  font-size: 1.2em;
  font-weight: 900;
  position: relative;
  z-index: 2;
  background: #F2F4F7;
  padding: 0 1em;
}

.philosophy_item p {
  display: inline-block;
  font-weight: 500
}

.philosophy_item ul {
  display: inline-block;
  width: 100%;
  font-weight: 500;
  text-align: left
}

.philosophy_item ul li {
  position: relative;
  padding-left: 1em
}

.philosophy_item ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0
}


.philosophy_item_sub-title {
	margin-bottom: 5px;
	font-weight: 700;
	text-align: left;
	@media screen and (max-width:768px) {
		font-size:14px;
	  }
}
.philosophy_item_list {
	margin-bottom: 1em;
}

.access_data {

}

.access_data_main {
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 3em;
}

.access_data_main_info_wrap {
  flex: 1 0 0%;
  text-align: center
}

.access_data_main_info {
  display: inline-block;
  text-align: left
}

.access_data_main_info .item+.item {
  margin-top: 1em
}

.access_data_main_info .item .box+.box {
  margin-top: 1em
}

.access_data_main_info .item h3 {
  border-bottom: solid 1px #085b37;
  margin-bottom: .5em;
  font-size: 18px
}

.access_data_main_info .item h4 {
  margin-bottom: .5em
}

.access_data_main_info .item h5 {
  font-size: .9em
}

.access_data_main_info .item h6 {
  font-size: .9em
}

.access_data_main_info .item p {
  font-size: .9em
}

.access_data_main_photo {
  width: 50%;
  justify-content:flex-end;
  gap: 1em
}

.access_data_main_photo figure {
  width: calc(100% / 2 - 1em)
}

.access_data_main_photo figure img {
  display: inline-block
}

.access_data_main_photo figure img+img {
  margin-top: 2em
}

.access_data_main_map {
  width: 100%;
  margin-top: 2em
}

.access_data_main_map iframe {
  aspect-ratio: 16 / 4;
  width: 100%;
  height: 100%;
  border: none
}

.access_data_branch {
  max-width: 1000px;
  margin: 0 auto;
  border: solid 1px #B1B3B6
}

.access_data_branch+.access_data_branch {
  margin-top: 2em
}

.access_data_branch h3 {
  background: #DFDFDF;
  padding: 1em;
  font-size: 1em;
  border-bottom: solid 1px #085b37
}

.access_data_branch_info {
  flex: 1 0 0%;
  padding: 2em
}

.access_data_branch_info .item+.item {
  margin-top: 1em
}

.access_data_branch_info .item .box+.box {
  margin-top: 1em
}

.access_data_branch_info .item h4 {
  font-size: .9em
}

.access_data_branch_info .item h5 {
  font-size: .9em
}

.access_data_branch_info .item h6 {
  font-size: .9em
}

.access_data_branch_info .item p {
  font-size: .9em
}

.access_data_branch_photo {
  width: 36%;
  padding: 0;
  box-sizing: border-box
}

.business_page_upper {
  margin-bottom: 3em;
  text-align: center;
}

.business_page_upper p {
  font-weight: bold;
  line-height: 1.8em;
}

.page-id-14447 .home_business_title {
  background: #fff
}



.business_data_wrap h3 {
  color: #085b37;
  font-size: 1.5em;
  font-weight: 900;
  text-align: center;
  margin-bottom: 2em;
}
.business_data {
  align-items: stretch;
  justify-content: flex-start;
  gap: 3em;
}
.business_data_item {
  border: solid 1px #B1B3B6;
  width: calc(100% / 2 - 1.5em);
  padding: 1.5em 3.5em;
  position: relative;
}
.business_data_item:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 50px 0 0;
  border-color: #085b37 transparent transparent transparent;
}


.business_data_item>*+* {
  margin-top: .5em
}

.business_data_item h3 {
  border-bottom: solid 1px #085b37;
  color: #085b37;
  font-size: 1.2em;
  font-weight: 900;
  padding-bottom: .5em;
  margin-bottom: 1em;
  text-align: center;
}

.business_data_item ul li {
  position: relative;
  padding-left: 1em
}

.business_data_item ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0
}

.recruit_page_upper {
  margin-bottom: 3em;
  text-align: center;
}

.recruit_page_upper h2 {
  color: #085b37;
  font-size: 21px;
  font-weight: 900;
  margin-bottom: 0.25em;
}
.recruit_page_upper p {
  font-weight: bold;
  line-height: 1.8em;
}

.home_recruit_title {
  padding: 0;
  margin-bottom: 3em;
}

.home_recruit_data {

}

.recruit_visit {
  background: #fff;
  align-items: center;
  justify-content: space-between
}

.recruit_visit figure {
  width: 50%
}

.recruit_visit figure img {
  width: 100%
}

.recruit_visit_bloc {
  flex: 1 0 0%;
  padding: 3em
}

.recruit_visit_bloc h3 {
  font-size: 1.2em;
  line-height: 1.8em
}

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

.recruit_interview .item {
  align-items: center;
  justify-content: space-between;
  gap: 0;
  background: #fff;
}




.recruit_interview .item+.item {
  margin-top: 2em;
  background:#fff;
}

.recruit_interview .item .box {
  flex: 1 0 0%;
  background: #F2F4F7;
  padding: 1.5em;
  border-radius: 0.25em;
  background: #fff;
}

.recruit_interview .item .box h3 {
  color: #085b37;
  font-size: 1.2em;
  font-weight: 900;
}

.recruit_interview .item .box p {
  font-size: .9em
}

.job_upper {
  text-align: center;
  margin-bottom: 3em;
}

.job_upper h3 {
  color: #085b37;
  font-size: 21px;
  font-weight: 900;
}

.job_data {
  max-width: 1000px;
  margin: 0 auto;
  font-size: .9em
}

.job_data dl {
  border: solid 1px #CAC6C6;
  border-top: none;
  background: #fff
}

.job_data dl:first-child {
  border-top: solid 1px #CAC6C6
}

.job_data dl dt {
  padding: 1em;
  min-width: 8em
}

.job_data dl dd {
  flex: 1 0 0%;
  padding: 1em;
  border-left: solid 1px #CAC6C6
}

.job_data p {
  margin-top: 1em
}

.recruit_entry_content {
  background: #eaf6fb;
  background-size: cover;
  position: relative;
  padding-top: 4em;
}

.recruit_entry_content .home_recruit_title {
  position: relative;
  z-index: 2
}

.recruit_entry_content .home_recruit_title .sec_title {
  color: #085b37;
}
.recruit_entry_content .home_recruit_title .sec_title_sub {
  color: #085b37;
}

.recruit_entry_content .home_recruit_title .sec_title_text {
  color: #085b37;
  margin-top: 1em
}

.recruit_entry_content .inner {
  position: relative;
  z-index: 2;
      align-items: stretch;
}

.recruit_entry_content .home_recruit_data {
  max-width: 1100px;
  margin: 0 auto;
  padding-bottom: 4em
}

.home_recruit_bloc {
  background: #fff;
  padding: 1.5em;
  text-align: center;
  width: calc(100% / 2 - 1em);
}

.home_recruit_bloc+.home_recruit_bloc {

}

.home_recruit_bloc h3 {
  color: #085b37;
  font-size: 1.4em;
  font-weight: 900;
  position: relative;
  padding-bottom: .5em;
  margin-bottom: .5em;
  text-align: center
}

.home_recruit_bloc h3:after {
  content: "";
  width: 25%;
  height: 2px;
  border-top: solid 2px #085b37;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto
}

.home_recruit_bloc h4 {
  color: #085b37;
  font-size: 1.2em;
  font-weight: 900;
  margin-bottom: .5em;
}


.home_recruit_bloc p {
  display: inline-block;
  text-align: left;
  font-size: .9em
}

.home_recruit_bloc figure {
  margin-top:1em;
}
.home_recruit_bloc p.entry_address {
  background: linear-gradient(90deg, #085b37, #0e7a4b, #085b37);
  background-size: 200% 100%;
  color: #fff;
  display: block;
  padding: 1em;
  margin-top: 1em;
}




.home_recruit_bloc .btn_bloc {
  margin: 1.5em 0
}


.home_recruit_bloc .btn_bloc a {

}

.home_recruit_bloc .btn_bloc i {
  margin-right: .5em;
  margin-left: 0
}

.home_recruit_bloc .btn_bloc span+i {
  margin-left: .5em
}

.privacy_data_upper {
  padding: 0;
  text-align: center;
  margin-bottom: 3em;
}
.privacy_data_upper p {
  font-weight: bold;
  line-height: 1.8em;
}

.privacy_data {

}

.privacy_data_bloc {
  max-width: 1100px;
  margin: 0 auto
}

.privacy_item+.privacy_item {
  margin-top: 1em
}

.privacy_item h2 {
  font-size: 1.1em;
  font-weight: 500
}

.privacy_item p {
  font-size: .9em;
  padding-left: 1em
}

.privacy_item ul {
  font-size: .9em;
  padding-left: 1em
}

.privacy_item ul li {
  position: relative;
  padding-left: 1em
}

.privacy_item ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0
}

.contact_data_upper {
  text-align: center
}
.contact_data_upper p {
  color: #085b37;
  font-size: 21px;
  font-weight: 900;
}

.contact_data {
  padding-bottom: 3em;
}
.contact_data:last-child {
  padding-bottom: 0;
}

.home_contact_title {
  padding: 2em 0
}

.contact_data_bloc .btn_bloc {
  text-align: center
}

.contact_data_bloc .btn_bloc a {

}

.contact_data_bloc .btn_bloc i {
  margin-right: .5em;
  margin-left: 0
}

.contact_data_bloc .btn_bloc span+i {
  margin-left: .5em
}

.contact_tel_bloc {
  text-align: center
}

.contact_tel_bloc a {
  background: linear-gradient(90deg, #085b37, #0e7a4b, #085b37);
  background-size: 200% 100%;
  transition: all 0.3s ease-in-out;
  display: inline-block;
  color: #fff;
  text-decoration: none;
  padding: 1.5em 3em;
  border-radius: 50px
}

.contact_tel_bloc a:hover {
  transform: scale(1.02);
  background-position: 100% 0
}

.contact_tel_bloc .tel_box {
  align-items: center;
  justify-content: space-between;
  gap: .5em
}

.contact_tel_bloc i {
  display: inline-block;
  font-size: 3.5em;
  line-height: 1em;
  transform: rotate(-45deg);
  margin-top: -.15em
}

.contact_tel_bloc span {
  display: inline-block;
  color: #fff;
  font-family: "Poppins", Sans-serif;
  font-size: 3.2em;
  line-height: 1em;
  font-weight: 700;
  text-decoration: none
}

.contact_tel_bloc p {
  margin-top: 1em
}

.contact_data_bottom {
  text-align: center;
  margin-top: 1em
}

.contact_data_bottom p {
  font-size: .9em
}

.contact_mail_bloc {
  padding-top: 3em;
  text-align: center
}

.contact_mail_bloc p {
  font-weight: 500;
  margin-bottom: 1em
}

.contact_mail_bloc dl {
  align-items: center;
  justify-content: center
}

.contact_mail_bloc dl dt {
  font-size: 1.1em;
  font-weight: 700
}

.contact_mail_bloc dl dt:after {
  content: "："
}

.contact_mail_bloc dl dd a {
  color: #085b37;
  font-size: 1.2em;
  font-weight: 500;
  text-decoration: none
}

.contact_mail_bloc dl dd a:hover {
  text-decoration: underline
}




.page_bloc {
  padding: 4em 0;
}
.page-id-14445 .page_bloc.pb0 {
  padding: 0;
}

.breadcrumbs_wrap + .page_bloc {
  padding-top:2em;
}




.wp-block-table table {
  border: solid 1px #085b37;
  width: 100%;
}
.wp-block-table table td {
  border: solid 1px #085b37;
  padding: 0.5em;
}
/*
.footer_sns ul li a {
  background:#085b37 !important;
}
*/
.footer_logo p,
.footer_logo address {
  text-align:left;
}
div.logo {
  display:flex;
  align-items:flex-start;
}
div.logo img {
  width:50px;
  margin-right:.75em;
  transform:translateY(-10%);
}
div.logo p {
  color:#085b37;
  margin-bottom:.5em;
  line-height:1;
}
div.logo p:first-child {
  font-size:1.8em;
  font-style:normal;
  font-weight:bolder;
  margin-bottom:.2em;
}
div.logo p:last-child {
  margin-bottom:.5em;
}
.footer_logo address {
  font-weight:normal;
}
footer .inner.flex {
  margin-bottom:30px;
  align-items:flex-start;
}


.card_item.five i {
  width:fit-content;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.card_item.five i small {
  display:block;
  font-size:.5em;
  margin-bottom:5px;
}

.certified_person_table caption {
  caption-side:bottom;
  text-align: right;
  padding-top: .5em;
}


.access_data_main {
  column-gap:40px;
  row-gap:10px;
}
.access_data_main_info {
  width:100%;
}
.access_data_main_photo {
  height:341px;
  overflow:hidden;
}
.transportationBox {
  justify-content:flex-start;
  flex-wrap: nowrap;
}
.transportationBox h5 {
  margin-right:1em;
  flex-shrink: 0;
}
.transportationBox .box {
  flex-grow:1;
}
.access_data_main_info_wrap.flex {
  flex-direction:row;
}
.access_data_main_info.branch {
  width:60%;
}
.accessText {
  flex:1 1 0;
}


.pager {
  position:absolute;
  width:100%;
}
.page_bloc::after {
  content:"";
  display:block;
  height:3em;
}

section.page_bloc::after {
  content:none;
}

.onlyMobile {
  display:none;
}


.vision_data {

}
.vision_upper {
  margin-bottom: 2em;
}
.vision_upper p {
  color: #085b37;
  font-size: 1.4em;
  font-weight: 900;
  text-align: center;
}

.vision_item {

}
.vision_item + .vision_item {
  margin-top:3em;
}

.vision_item_upper {
  text-align: center;
  margin-bottom: 2em;
}
.vision_item_upper h3 {
  color: #085b37;
  font-size: 1.6em;
  font-weight: 900;
  margin-bottom: 1em;
  text-align: center;
}

.vision_item_upper .dl_box {
  width: 50%;
  margin: 0 auto;
  border: double 3px #085b37;
  padding: 1em;
}
.vision_item_upper .dl_box dl {

  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;

  font-size: 1em;
  font-weight: 700;
}
.vision_item_upper .dl_box dl dt {
  position: relative;
  padding-left: 1em;
}
.vision_item_upper .dl_box dl dd {
  position: relative;
  padding-left: 1em;
  flex: 1 0 0%;
  text-align: left;
}

.vision_item_upper .dl_box dl dt:before {
  content:"・";
  position: absolute;
  top:0;
  left:0;
}
.vision_item_upper .dl_box dl dd:before {
  content:"：";
  position: absolute;
  top:0;
  left:0;
}

.vision_item_upper ul {
  display: inline-block;
  text-align: left;
}
.vision_item_upper ul li {
  position: relative;
  padding-left: 1em;
  font-size: 1em;
  font-weight: 700;
}
.vision_item_upper ul li:before {
  content:"・";
  position: absolute;
  top:0;
  left:0;
}


.vision_item_detail {
  max-width: 64%;
  margin: 0 auto;
}

.vision_box {

}
.vision_box + .vision_box {
  margin-top:1em;
}

.vision_box h4 {
  color: #085b37;
  font-size: 1.1em;
  font-weight: 900;
}
.vision_box p {
  font-size: 1em;
  font-weight: 500;
  padding-left: 1em;
}
.vision_box ul {
  padding-left: 1em;
}
.vision_box ul li {
  position: relative;
  padding-left: 1em;
  font-size: 1em;
  font-weight: 500;
}
.vision_box ul li:before {
  content:"・";
  position: absolute;
  top:0;
  left:0;
}

.vision_box ul ul {
  padding-left:0;
}


/**
 * 建設セミナー(CPD認定) 一覧
 */
.seminar_flow__notice {
  margin-bottom: 1em;
  color: red!important;
}

.post-type-archive-seminar {
  .page_upper {
    background-image: url(./images/page_news.webp);
  }
  .sec_title_bloc {
    margin-bottom: 50px;
  }
  .page_bloc {
    .inner {
      max-width: 900px;
      margin: 0 auto;
    }
  }
  .pager {
    position: static;
  }

  .wp-block-heading {
    margin-bottom: 1em;
  }

  .seminar_basic_price {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 30px;
    dt {
      font-weight: bold;
    }
    @media screen and (max-width:768px) {
      display: block;
      text-align: center;
    }
  }

  /* テーブルスタイル */
  .table_seminar-responsive {

  }
  .table_seminar {
    width: 100%;

    tr {
      th:first-child,
      td:first-child {
        padding-left: 25px;
      }
    }

    th,td {
      padding: 20px 25px 20px 0;
    }

    th {
      white-space: nowrap;
      background-color: #085b37;
      text-align: left;
      font-weight: 600;
      color: #fff;
    }

    td {
      span.hyphen {
        text-align: center;
      }

      &.table_seminar__date {
        white-space: nowrap;
      }

      &.table_seminar__title {
        a {
          text-decoration: underline;
          color: #085b37;
        }
      }

      &.table_seminar__unit {
        text-align: center;
      }

      &.table_seminar__code {
        text-align: center;
      }
    }

    tbody {
      tr {
        &:nth-child(even) {
          background-color: #F8F8F8;
        }
      }
    }
    &.table_seminar--price {
      table-layout: fixed;
      tr {
        th,
        td {
          padding-inline: 25px;
        }
      }
      thead {
        .table_seminar__headcount {
          text-align: center;
        }
        .table_seminar__discount {
          text-align: center;
        }
        .table_seminar__price {
          text-align: center;
        }
      }
      tbody {
        .table_seminar__headcount {
          text-align: center;
        }
        .table_seminar__discount {
          text-align: center;
        }
        .table_seminar__price {
          text-align: center;
        }
      }

    }
  }
  .table_seminar_notice {
    margin-top: 10px;
    text-align: center;
  }

  /* セミナーフロー */
  .seminar_flow {
    counter-reset: seminar-flow;
    list-style-type: none;
    padding: 40px 30px;
    background-color: #fff;
    li {
      position: relative;
      padding-left: 50px;
      margin-bottom: 30px;

      &:before {
        content: counter(seminar-flow);
        counter-increment: seminar-flow;
        position: absolute;
        left: 0;
        top: 0;
        width: 40px;
        height: 40px;
        background-color: #085b37;
        color: #fff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 24px;
        font-weight: bold;
      }
    }

    dl {
      dt {
        font-size: 24px;
        font-weight: bold;
        margin-bottom: 10px;
        color: #085b37;
      }

      dd {
        margin-left: 0;
        a {
          text-decoration: underline;
          color: #085b37;
        }
        strong {

        }
      }
    }
  }

  /* セミナー注意事項 */
  .seminar_notice {
    counter-reset: seminar-notice;
    padding-left: 0;

    > li {
      position: relative;
      list-style-type: none;
      margin-bottom: 10px;
      padding-left: 30px;

      &:before {
        content: counter(seminar-notice) ".";
        counter-increment: seminar-notice;
        position: absolute;
        left: 0;
        font-weight: bold;
      }
    }

    ol {
      list-style-type: lower-alpha;
      padding-left: 30px;
      margin-top: 10px;

      li {
        margin-bottom: 5px;
        font-size: 16px;
      }
    }
  }

  @media screen and (max-width:768px) {
    .sec_title_bloc {
      margin-bottom: 25px;
    }
    .page_bloc {
      padding: 2em 1em!important;
    }
    .table_seminar_responsive {
      overflow-x: scroll;
    }

    .table_seminar {
      tr {
        th:first-child,
        td:first-child {
          padding-left: 15px;
        }
      }

      th,td {
        padding: 10px 15px 10px 0;
        font-size: 14px;
      }

      td {
        &.table_seminar__date {
        }

        &.table_seminar__title {
          a {
            display: block;
            width: 200px;
          }
        }

        &.table_seminar__unit {
        }

        &.table_seminar__code {
        }
      }
    }

    .home_column_single>* {
      font-size: 16px;
    }
    .home_column_single p {
      font-size: 16px!important;
    }

    /* セミナーフロー */
    .seminar_flow {
      padding: 20px 15px;
      li {
        position: relative;
        padding-left: 40px;
        margin-bottom: 20px;

        &:before {
          width: 30px;
          height: 30px;
          font-size: 18px;
        }
      }

      dl {
        dt {
          font-size: 18px;
        }

        dd {
        }
      }
    }

  }
}

/**
 * 建設セミナー(CPD認定) 詳細
 */

.single-seminar {
  .single_content {
    .single_content_header {
      margin-bottom: 30px;
      .single_content_title {
        position: relative;
        padding-bottom: 20px;
        line-height: 140%;
        text-align: center;
        &::after {
          content: "";
          position: absolute;
          left: 0;
          bottom: 0;
          width: 100%;
          height: 5px;
          background: rgb(255,255,255);
          background: linear-gradient(90deg, rgba(255,255,255,0) 0%, #085b37 50%, rgba(255,255,255,0) 100%);
        }

      }
      .single_content_meta {
        display: flex;
        justify-content: center;
        gap: 10px;
        margin-top: 1em;
        div {
          display: flex;
          align-items: center;
          gap: 10px;
        }
        dt {
          flex-shrink: 0;
          padding-inline: 10px;
          width: fit-content;
          background-color: #EAF1FF;
          border:1px solid #ddd;
          border-radius: 9999px;
          font-size: 14px;
        }

      }
    }

    .table_seminar {
      margin-top: 40px;
      width: 100%;
      border-collapse: separate;
      border-spacing: 5px;

      tr {
        border: none;
      }

      th, td {
        padding: 15px 20px;
        vertical-align: top;
        border: none;
      }

      th {
        width: 25%;
        background-color: #1FABE7;
        text-align: left;
        font-weight: bold;
        color: #fff;
      }

      td {
        width: 75%;
        background-color: #F5F5F5;
        line-height: 1.6;
      }

    }
  }
  @media screen and (max-width:768px) {
    .single_content {
      .single_content_header {
        margin-bottom: 20px;
        .single_content_title {
          position: relative;
          padding-bottom: 10px;
          font-size: 20px;
          &::after {
            height: 3px;

          }

        }
        .single_content_meta {
          flex-wrap: wrap;
          div {
          }
          dt {
           font-size: 12px;
          }
        }
      }
      .table_seminar {
        th, td {
          padding: 10px;
        }
      }
    }
  }
}

.seminar_btn_wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-top: 40px!important;
}

.seminar_btn {
  transition:all 0.4s ease;
  padding: 20px 30px;
  background-color: #085b37;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  font-size: 20px;
  color: #FFF;
  &.seminar_btn--border {
    padding: 15px 20px;
    font-size: 16px;
    background-color: #fff;
    border: 1px solid #085b37;
    color: #085b37;
  }
  &:hover {
    opacity: 0.7;
  }
  @media screen and (max-width:768px) {
    font-size: 16px;
    &.seminar_btn--border {
      font-size: 14px;
    }
  }
}

/* --- 受講料金ページのカスタムデザイン --- */

/* 基本料金の強調 (PC用として前回修正した内容を維持) */
.seminar-basic-price-highlight {
    border: 2px solid #085b37; /* 青色の実線、太さ2px */
    padding: 5px 5px; /* 内側の余白を少し確保 */
    margin: 0 auto 30px auto; /* 中央寄せにして、下に余白 */
    box-sizing: border-box; /* パディングとボーダーを幅に含める */
    max-width: fit-content; /* PCではコンテンツ幅に合わせる */
    min-width: 300px; /* PCでコンテンツが短すぎる場合に備えて最小幅を設定 */
}

/* 基本料金枠内のdl要素（基本料金と価格）の配置 (PC用として前回修正した内容を維持) */
.seminar-basic-price-highlight .seminar_basic_price {
    display: flex; /* Flexboxを使い、dtとddを横並びにする */
    flex-direction: row; /* 横方向に並べる */
    justify-content: center; /* dtとddの組み合わせを中央揃えにする */
    align-items: baseline; /* テキストのベースライン（下揃え）を揃える */
    margin: 0;
    padding: 0;
    white-space: nowrap; /* PCでは改行を強制的に防ぐ */
    flex-wrap: nowrap; /* PCでは折り返さない */
    gap: 8px; /* Flexアイテム間の間隔をgapで設定 (PC) */
}

.seminar-basic-price-highlight .seminar_basic_price dt,
.seminar-basic-price-highlight .seminar_basic_price dd {
    margin: 0;
    padding: 0;
    white-space: nowrap; /* PC表示では改行しないように維持 */
    flex-shrink: 0;
}

.seminar-basic-price-highlight .seminar_basic_price dt {
    font-size: 1.2em;
}

.seminar-basic-price-highlight .seminar_basic_price dd {
    font-size: 1.1em;
    font-weight: bold;
    color: #333;
    white-space: nowrap; /* PC表示では改行しないように維持 */
}

.seminar-basic-price-highlight .price-unit-label {
    font-size: 1em;
    margin-right: 0;
}

.seminar-basic-price-highlight .price-value {
    font-size: 1.4em;
    color: #085b37;
    display: inline-block;
    margin: 0 5px;
}


/* プランと団体割引のグループ化と区切り線 (変更なし) */
.seminar-price-group {
    border: 1px solid #e0e0e0;
    padding: 20px;
    margin-bottom: 30px;
    background-color: #f9f9f9;
    text-align: center;
}

.seminar-price-group h3,
.seminar-price-group h4 {
    text-align: center;
    color: #085b37;
    margin-top: 0;
    margin-bottom: 15px;
}

/* 通常料金の文章に青い下線を引く（dtとdd両方にかかるように） (変更なし) */
.seminar-price-group .seminar_basic_price {
    display: inline-flex;
    align-items: baseline;
    border-bottom: 2px solid #085b37;
    padding-bottom: 2px;
    margin-bottom: 15px;
    white-space: nowrap;
    flex-wrap: nowrap;
    justify-content: center;
}

.seminar-price-group .seminar_basic_price dt,
.seminar-price-group .seminar_basic_price dd {
    margin: 0;
    padding: 0;
    line-height: 1.5;
    white-space: nowrap;
    flex-shrink: 0;
}

.seminar-price-group .seminar_basic_price dt {
    margin-right: 5px;
}


/* 団体割引テーブルの調整 (変更なし) */
.seminar-price-group .table_seminar_responsive table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
    margin-left: auto;
    margin-right: auto;
}

.seminar-price-group .table_seminar_responsive th,
.seminar-price-group .table_seminar_responsive td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: center;
}

.seminar-price-group .table_seminar_responsive th {
    background-color: #085b37;
    color: #ffffff;
}

/* --- スマートフォンなど画面幅が狭い場合のみ適用するスタイル (Media Queries) --- */
@media (max-width: 768px) { /* 768px以下の画面幅で適用 */

    /* 基本料金の枠 */
    .seminar-basic-price-highlight {
        max-width: 90%; /* ★画面幅の90%に調整（左右の余白を少し増やす） */
        padding: 0px 5px; /* ★内側のパディングを調整（上下を増やし、左右も微調整） */
        min-width: unset;
        box-sizing: border-box;
    }

    /* 基本料金のdl要素（横並び）の挙動をスマホ用に調整 */
    .seminar-basic-price-highlight .seminar_basic_price {
        flex-direction: column; /* ★強制的に縦並びにする */
        align-items: center; /* ★縦並びにした項目を中央揃え */
        flex-wrap: nowrap; /* 折り返しはさせない（dt, ddで個別に制御） */
        white-space: normal; /* dl全体での改行を許可 */
        gap: 0; /* 縦並びなのでgapをなくす */
    }

    .seminar-basic-price-highlight .seminar_basic_price dt,
    .seminar-basic-price-highlight .seminar_basic_price dd {
        white-space: normal; /* ★各要素内で改行を許可 */
        flex-basis: auto;
        flex-shrink: 1;
        width: 100%; /* ★各要素が横幅いっぱいに広がるように（中央寄せのため） */
        text-align: center; /* ★各要素のテキストを中央揃え */
        min-width: 0;
    }

    .seminar-basic-price-highlight .seminar_basic_price dt {
        font-size: 1.1em; /* ★スマホで文字サイズを調整（見やすい大きさに） */
        margin-bottom: 5px; /* ★ddとの間に適切な余白 */
    }

    .seminar-basic-price-highlight .seminar_basic_price dd {
        font-size: 1.1em; /* ★スマホで文字サイズを調整（見やすい大きさに） */
        margin-top: 0; /* 上の余白を削除 */
    }

    .seminar-basic-price-highlight .price-value {
        font-size: 1.3em; /* ★スマホで金額も調整（見やすい大きさに） */
        display: inline; /* インライン表示を維持 */
        margin: 0 3px; /* 左右の余白を微調整 */
    }
    .seminar-basic-price-highlight .price-unit-label {
        font-size: 1.0em; /* ★スマホでラベルも調整（見やすい大きさに） */
        display: inline; /* インライン表示を維持 */
        margin-right: 0;
    }


    /* 通常料金の下線部分が中央に来るように調整 (変更なし) */
    .seminar-price-group .seminar_basic_price {
        display: flex;
        width: 100%;
        box-sizing: border-box;
        padding: 0 5px;
        white-space: normal;
        flex-wrap: wrap;
        justify-content: center;
    }

    .seminar-price-group .seminar_basic_price dt,
    .seminar-price-group .seminar_basic_price dd {
        white-space: normal;
        flex-basis: auto;
        flex-shrink: 1;
    }

    .seminar-price-group .seminar_basic_price dt {
        margin-right: 3px;
    }

    /* 団体割引のテーブルのフォントサイズ調整 (変更なし) */
    .seminar-price-group .table_seminar_responsive th,
    .seminar-price-group .table_seminar_responsive td {
        font-size: 0.8em;
        padding: 5px;
    }
}

/* 600px以下のデバイス用の調整（上記768pxの設定をさらに調整） */
@media (max-width: 600px) {
    /* 必要であれば、さらに細かい調整をここに記述 */
    .seminar-basic-price-highlight {
        max-width: 90%; /* 枠の最大幅を少し緩めてみる */
        padding: 0px 5px; /* パディングも微調整 */
    }

    .seminar-basic-price-highlight .seminar_basic_price dt {
        font-size: 1.0em; /* フォントサイズを再調整 */
    }
    .seminar-basic-price-highlight .seminar_basic_price dd {
        font-size: 1.0em; /* フォントサイズを再調整 */
    }
    .seminar-basic-price-highlight .price-value {
        font-size: 1.2em; /* フォントサイズを再調整 */
    }
    .seminar-basic-price-highlight .price-unit-label {
        font-size: 0.9em; /* フォントサイズを再調整 */
    }
}

.philosophy_item p {
  max-width: 600px;      /* PC用の読みやすい幅 */
  margin: 0 auto;        /* 中央寄せ */
  word-break: break-word; /* 長い単語が崩れないように */
  display: block;        /* ←追加：pタグを縦に並べる */
  width: 100%;           /* ←追加：最大幅600pxの中でフルに使う */
  text-align: left;    /* ←任意：中央揃えしたい場合だけ */
}

.philosophy-lead {
  margin-bottom: 1em !important;
}

@media screen and (max-width: 768px) {
  .philosophy_item p {
    max-width: 98%;
    padding: 0 10px;
  }
}

.space-C{
margin:0 0 2em;
}

@media (max-width: 600px) {
  h2.section-title-health .marker {
    font-size: clamp(14px, 4vw, 20px); /* 自然に縮める */
    white-space: nowrap; /* 改行禁止 */
  }
}