@charset "utf-8";
/* ==========================================================================
Layout [ header / main / side / footer... ]
========================================================================== */

body {
  padding-top: 120px;
}

/* Header
---------------------------------------------------------------*/
header {
  position: fixed;
  background: #fff;
  top: 0;
  left: 0;
  width: 100%;
  height: 120px;
  padding: 0 20px;
  z-index: 9999;
}
.header_inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  height: 100%;
}
.logo_tokyo {
  position: absolute;
  width: 80px;
  top: 17px;
  left: 0;
  font-size: 0;
}
.logo {
  position: absolute;
  top: 16px;
  left: 510px;
  font-size: .875rem;
  font-weight: bold;
}
.logo__en {
  position: absolute;
  top: 5px;
  left: 100px;
  width: 400px;
}
#btnMenuWrap,
#btnMenu {
  display: none;
}
.h_nav {
  display: flex;
  justify-content: space-between;
  width: 100%;
  position: absolute;
  bottom: 8px;
  left: 0;
}
.h_nav li {
  border-left: 1px solid rgba(14,95,185,.2);
  flex-grow: 1;
}
.h_nav li a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 4px;
  position: relative;
  transition: .3s;
}
.h_nav li:not(.h_nav_companies) a:hover{
  background: #F8F8F8;
  opacity: 1;
  color: #108478;
}
.h_nav_companies {
  padding-left: 14px;
}
.h_nav_companies a {
  background-color: #DDE5E5;
  display: flex;
  border-radius: 5px;
}
.h_nav_sub1 {
  display: none;
}
.h_nav_pdf {
  display: none;
}
.h_nav_home {
  position: absolute;
  top: 12px;
  right: 364px;
  font-size: .9375rem;
  display: flex;
  gap: 4px;
  align-items: center;
  height: 36px;
}
.h_nav_home:before {
  content: "";
  display: block;
  background-image: url(./assets/images/common/icon_home.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center top;
  width: 12px;
  height: 14px;
}
.h_nav_contact {
  position: absolute;
  top: 12px;
  right: 180px;
  background: #08433D;
  background: linear-gradient(90deg, rgba(8, 67, 61, 1) 0%, rgba(16, 132, 120, 1) 33%, rgba(16, 132, 120, 1) 66%, rgba(8, 67, 61, 1) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .875rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 170px;
  height: 36px;
  border-radius: 50px;
  gap: 10px;
  transition: .1s;
}
.h_nav_contact:before {
  content: "";
  background: #064B44;
  background: linear-gradient(90deg, rgba(6, 75, 68, 1) 0%, rgba(16, 113, 104, 1) 33%, rgba(16, 113, 104, 1) 66%, rgba(6, 75, 68, 1) 100%);
  display: block;
  position: absolute;
  left: 0;
  top: 4px;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  z-index: -1;
  transition: .1s;
}
.h_nav_contact:after {
  content: "";
  display: block;
  background-image: url(./assets/images/common/icon_mail.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 16px;
  height: 12px;
}
.h_nav_contact:hover {
  opacity: 1 !important;
  margin-top: 3px;
}
.h_nav_contact:hover:before {
  top: 1px;
}
.h_nav_contact:active {
  margin-top: 4px;
  border: 2px inset rgba(13, 118, 108, 1);
}
.h_nav_contact:active:before {
  top: 0px;
}
.h_nav_mypage {
  position: absolute;
  top: 12px;
  right: 0;
  background: #ECAE33;
  background: linear-gradient(90deg, rgba(236, 174, 51, 1) 0%, rgba(255, 218, 143, 1) 33%, rgba(255, 218, 143, 1) 66%, rgba(236, 174, 51, 1) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .875rem;
  font-weight: bold;
  text-align: center;
  width: 170px;
  height: 36px;
  border-radius: 50px;
  gap: 10px;
  transition: .1s;
}
.h_nav_mypage:before {
  content: "";
  background: #C98F1C;
  background: linear-gradient(90deg, rgba(201, 143, 28, 1) 0%, rgba(255, 198, 84, 1) 33%, rgba(255, 198, 84, 1) 66%, rgba(201, 143, 28, 1) 100%);
  display: block;
  position: absolute;
  left: 0;
  top: 4px;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  z-index: -1;
  transition: .1s;
}
.h_nav_mypage:after {
  content: "";
  display: block;
  background-image: url(./assets/images/common/icon_arrow04.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  transition: .3s;
}
.h_nav_mypage:hover {
  opacity: 1 !important;
  margin-top: 3px;
}
.h_nav_mypage:hover:before {
  top: 1px;
}
.h_nav_mypage:active {
  margin-top: 4px;
  border: 2px inset rgba(236, 174, 51, 1);
}
.h_nav_mypage:active:before {
  top: 0px;
}
.h_nav_mypage:active:after {
  right: 6px;
}
.h_nav_sns {
  display: none;
}
.h_nav li a br.u-tab {
  display: none !important
}
@media screen and (max-width:1180px){
  .logo {
    font-size: .8125rem;
    left: 410px;
  }
  .logo__en {
    width: 300px;
    top: 11px;
  }
}
@media screen and (max-width:1060px){
  .h_nav_companies {
    padding-left: 6px;
  }
  .h_nav li a {
    font-size: .8125rem;
  }
}
@media screen and (max-width:1060px){
  .logo {
    left: 100px;
    top: 15px;
  }
  .logo__en {
    top: 32px;
    left: 99px;
  }
}
@media screen and (max-width:940px){
  .h_nav li:first-of-type {
    flex-shrink: 0;
  }
  .h_nav li a br.u-pc {
    display: none !important
  }
  .h_nav li a br.u-tab {
    display: block !important
  }
  .h_nav li a {
    font-feature-settings: 'palt';
  }
  .h_nav_companies {
    max-width: 160px;
  }
}
@media screen and (max-width:900px){
  .logo__en {
    width: 236px;
  }
}
@media screen and (max-width:820px){
  .h_nav_home {
    right: 310px
  }
  .h_nav_contact {
    width: 140px;
    right: 160px;
  }
  .h_nav_mypage {
    width: 150px;
  }
}

/* Main
---------------------------------------------------------------*/
.subpage #main {
  background-image: url(./assets/images/common/bg1.webp), url(./assets/images/common/bg_lower.png);
  background-size: 100% auto, 100% auto;
  background-repeat: no-repeat, repeat-y;
  background-position: center top, center top 13vw;
}
.subpage.award #main {
  background-image: url(./assets/images/common/bg4.png), url(./assets/images/common/bg_lower.png);
  background-size: 1920px auto, 100% auto;
}
@media screen and (min-width:1920px){
  .subpage.award #main {
    background-image: url(./assets/images/common/bg4.png), url(./assets/images/common/bg_lower.png);
    background-size: 100% auto, 100% auto;
  }
}
.subpage.awardceremony2024 #main ,
.subpage.awardceremony2025 #main {
  background-image: url(./assets/images/common/bg5.png), url(./assets/images/common/bg_lower.png);
  background-size: 1920px auto, 100% auto;
}
@media screen and (min-width:1920px){
  .subpage.awardceremony2024 #main ,
  .subpage.awardceremony2025 #main {
    background-image: url(./assets/images/common/bg5.png), url(./assets/images/common/bg_lower.png);
    background-size: 100% auto, 100% auto;
  }
}
.subpage.r7_first #main ,
.subpage.r7_second #main ,
.subpage.r6_first #main ,
.subpage.r6_second #main ,
.subpage.forum #main ,
.subpage.forums #main {
  background-image: url(./assets/images/common/bg3.png), url(./assets/images/common/bg_lower.png);
  background-size: 1920px auto, 100% auto;
}
@media screen and (min-width:1920px){
  .subpage.r7_first #main ,
  .subpage.r7_second #main ,
  .subpage.r6_first #main ,
  .subpage.r6_second #main ,
  .subpage.forum #main ,
  .subpage.forums #main {
    background-image: url(./assets/images/common/bg3.png), url(./assets/images/common/bg_lower.png);
    background-size: 100% auto, 100% auto;
  }
}

/* footer
---------------------------------------------------------------*/
#footer {
  margin-top: 64px;
}
.footer_inner {
  padding: 0 20px;
}
.f_header {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  padding-top: 38px;
  padding-bottom: 16px;
}
.f_logo_tokyo {
  width: 87px;
  margin-right: 33px;
}
.f_logo_tokyo img {
  width: 100%;
}
.f_logo {
  display: flex;
  flex-direction: column;
}
.f_logo_ja {
  font-size: 1rem;
  font-weight: 500;
}
.f_logo_en {
  width: 380px;
  margin-right: 24px;
}
.f_contact {
  margin-left: auto;
  margin-right: 30px;
}
.f_contact_lead {
  font-size: 1rem;
  font-weight: bold;
  color: #108478;
  margin-bottom: 10px;
}
.f_contact .f_contact_tel {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.625rem;
  font-weight: 500;
  color: #108478;
  line-height: 1;
  margin-bottom: 6px;
}
.f_contact_tel:before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-image: url(./assets/images/common/icon_tel.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.f_nav_contact {
  position: relative;
  flex-shrink: 0;
  background: #08433D;
  background: linear-gradient(90deg, rgba(8, 67, 61, 1) 0%, rgba(16, 132, 120, 1) 33%, rgba(16, 132, 120, 1) 66%, rgba(8, 67, 61, 1) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .875rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 180px;
  height: 36px;
  border-radius: 50px;
  gap: 10px;
  transition: .1s;
}
.f_nav_contact:before {
  content: "";
  background: #064B44;
  background: linear-gradient(90deg, rgba(6, 75, 68, 1) 0%, rgba(16, 113, 104, 1) 33%, rgba(16, 113, 104, 1) 66%, rgba(6, 75, 68, 1) 100%);
  display: block;
  position: absolute;
  left: 0;
  top: 4px;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  z-index: -1;
  transition: .1s;
}
.f_nav_contact:after {
  content: "";
  display: block;
  background-image: url(./assets/images/common/icon_mail.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 16px;
  height: 12px;
}
.f_nav_contact:hover {
  opacity: 1 !important;
  margin-top: 3px;
}
.f_nav_contact:hover:before {
  top: 1px;
}
.f_nav_contact:active {
  margin-top: 4px;
  border: 2px inset rgba(13, 118, 108, 1);
}
.f_nav_contact:active:before {
  top: 0px;
}
.f_contact_txt {
  font-size: 0.8125rem;
  margin-bottom: 4px;
}
.f_contact_txt2 {
  font-size: 0.875rem;
  margin-bottom: 4px;
}
.f_contact_txt3 {
  font-size: 0.8125rem;
}
.f_nav_wrap {
  max-width: 1280px;
  margin: 0 auto;
  border-top: 1px solid #DCDCDC;
  padding-top: 24px;
  padding-bottom: 24px;
}
.f_nav {
  display: flex;
  gap: 16px;
  margin-bottom: 32px;
}
.f_nav_beginner {
  font-size: .875rem;
  font-weight: bold;
  color: #108478;
  display: flex;
  gap: 8px;
  align-items: center;
}
.f_nav_beginner:before {
  content: "";
  display: block;
  width: 12px;
  height: 17px;
  background-image: url(./assets/images/common/icon_beginner.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.f_nav li a {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: .875rem
}
.f_nav li a:after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background-image: url(./assets/images/common/icon_arrow02.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.f_nav2 {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 32px;
  font-size: .875rem;
  font-weight: bold;
  margin-bottom: 32px;
}
.f_nav_sub {
  display: flex;
}
.f_nav_sub li:not(:last-of-type) {
  padding-right: 10px;
  margin-right: 10px;
  border-right: 1px solid #000;
}
.f_nav_sub li a {
  line-height: 1.1;
  display: block;
  font-size: .8125rem;
}
.copyright {
  position: relative;
  background: #108478;
  padding: 0 20px;
  font-weight: bold;
  font-size: .875rem;
}
.copyright_inner {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  color: #fff;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.f_nav_sns {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: -15px;
}
.f_nav_sns_item {
  border-radius: 100px;
  box-shadow: 0 3px 6px rgba(0,0,0,.16);
}

@media screen and (max-width:1240px){
  .f_logo_en {
    width: 300px;
  }
}
@media screen and (max-width:1060px){
  .f_logo_ja {
    font-size: .875rem;
  }
  .f_logo_en {
    width: 250px;
  }
}

/* ==========================================================================
Project [ articles / ranking / promo... ]
========================================================================== */
/* index */
.mv {
  padding: 0 20px;
}
.mv_inner {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 95px;
  position: relative;
}
.mv_slider {
  margin-inline: auto;
  overflow: hidden;
  width: 100%;
  max-width: 1200px;
  margin-bottom: 24px;
}
.mv_slider_item:not(:first-of-type) {
  display: none;
}
.mv_slider.slick-slider .mv_slider_item {
  display: block;
}
.slick-img img {
  width: 100%;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}
.mv_logo {
  position: absolute;
  z-index: 2;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 789px;
  width: 100%;
}
.mv_logo img {
  width: 100%;
}
.mv_txt {
  position: absolute;
  top: 160px;
  left: 0;
  z-index: 1;
  text-align: center;
  font-size: .875rem;
  margin: 0 auto;
  width: 100%;
}
.mv_txt p {
  line-height: 1.8;
  margin-bottom: 5px;
  text-shadow: 0 0 10px #fff;
  font-weight: 500;
}
@media screen and (min-width:1600px){
  .mv_inner {
    max-width: calc(100% - 360px);
    padding-top: 5.9375vw;
  }
  .mv_slider {
    max-width: 100%;
    max-height: calc(100vh - 120px - 5.9375vw);
  }
  .mv_logo {
    top: 1.875vw;
    max-width: 49.3125vw;
  }
  .mv_txt {
    top: 10vw;
    left: 0;
    font-size: .875vw;
  }
  .mv_txt p {
    margin-bottom: .3125vw;
  }
}
@media screen and (max-width:1240px){
  .mv_inner {
    max-width: 100%;
    padding-top: 7.66129vw;
  }
  .mv_slider {
    max-width: 100%;
    max-height: calc(100vh - 120px - 7.66129vw);
  }
  .mv_logo {
    top: 2.421935vw;
    max-width: 63.629vw;
  }
  .mv_txt {
    top: 12.90322vw;
    left: 0;
    font-size: 1.1290vw;
  }
  .mv_txt p {
    margin-bottom: .403225vw;
  }
}
.mv_bnr {
  display: flex;
  max-width: 1200px;
  margin: 0 auto 24px;
  gap: 40px;
  // justify-content: space-between;
  justify-content: center;
}
.mv_bnr_item01 {
  width: 580px;
}
.mv_bnr_item02 {
  width: 580px;
}
.news {
  background: #F8F8F8;
  padding: 24px 20px;
}
.news_inner {
  max-width: 1200px;
  margin: 0 auto;
}
.news_head_ttl {
  font-size: 2.375rem;
  font-weight: bold;
  margin-bottom: 4px;
}
.news_list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 20px;
}
.news_item {
  width: calc(50% - 10px);
  display: flex;
  padding: 20px 30px 20px 0;
  border-bottom: 1px solid #D3D3D3;
  gap: 10px;
  position: relative;
}
a.news_item:after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background-image: url(./assets/images/common/icon_arrow02.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.news_item_img {
  width: 140px;
  flex-shrink: 0;
  overflow: hidden;
}
.news_item_img img {
  transition: .6s;
}
a.news_item:hover img {
  transform: scale(1.1);
}
.news_item_info {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.news_time {
  color: #108478;
  font-size: 1rem;
  margin-right: 12px;
  font-weight: 500;
}
.news_cat {
  display: flex;
  gap: 4px;
  font-size: .8125rem;
}
.news_cat span {
  background-color: #108478;
  color: #fff;
  text-align: center;
  padding: 2px 16px;
  border-radius: 50px;
  border: 1px solid #108478;
}
.news_cat .news_cat_info {
  background-color: #fff;
  color: #108478;
}
.news_new {
  font-size: 1rem;
  font-weight: 500;
  color: #BE1111;
  margin-left: 8px;
}
.news_ttl {
  font-size: 1rem;
}
.news_list_btn {
  display: none;
}
@media screen and (max-width:1040px){
  .news_item_info {
    flex-wrap: wrap;
  }
}
.top_cont01 {
  background-image: url(./assets/images/common/bg1.webp), url(./assets/images/common/bg2.webp);
  background-size: 100% auto, 100% auto;
  background-repeat: no-repeat, no-repeat;
  background-position: center top, center bottom;
  padding-bottom: 120px;
}
.top_about {
  padding: 64px 20px 0;
  margin: 0 auto 134px;
}
.about_flow_lead {
  display: flex;
  background-image: url(./assets/images/top/flow_bg.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  margin-bottom: 10px;
}
.about_flow_lead_item {
  width: 33.333333%;
  font-size: 1.375rem;
  font-weight: bold;
  color: #fff;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.about_flow_cont {
  display: flex;
}
.about_flow_cont_item {
  width: 33.333333%;
  padding: 0 8px;
  position: relative;
}
.about_flow_cont_item01 .about_flow_cont_item_wrap {
  padding-top: 22px;
}
.about_flow_cont_item01 .about_flow_cont_item_img {
  position: absolute;
  top: 0;
  right: 30px;
}
.about_flow_cont_item02 .about_flow_cont_item_img {
  max-width: 301px;
  margin: 0 auto;
}
.about_flow_cont_item03 .about_flow_cont_item_wrap:nth-of-type(1) {
  padding-top: 22px;
}
.about_flow_cont_item03 .about_flow_cont_item_wrap:nth-of-type(1) .about_flow_cont_item_img {
  position: absolute;
  top: 0;
  right: 10px;
  width: 86px;
}
.about_flow_cont_item03 .about_flow_cont_item_wrap:nth-of-type(1) .about_flow_cont_item_img img {
  width: 100%;
}
.about_flow_cont_item03 .about_flow_cont_item_wrap:nth-of-type(1) .about_flow_cont_item_fuki {
  margin-right: 94px;
}
.about_flow_cont_item03 .about_flow_cont_item_wrap:nth-of-type(2) .about_flow_cont_item_img {
  position: absolute;
  top: 0;
  right: 30px;
}
.about_flow_cont_item02 .about_flow_cont_item_wrap + .about_flow_cont_item_wrap {
  margin-top: 26px;
}
.about_flow_cont_item_wrap {
  position: relative;
}
.about_flow_cont_item_wrap + .about_flow_cont_item_wrap {
  margin-top: 30px;
}
.about_flow_cont_item_fuki {
  position: relative;
  width: fit-content;
  padding: 0 0 6px;
  border-bottom: 1px solid #108478;
  background-color: #F2F6F5;
  isolation: isolate;
  margin: 0 10px;
  color: #000;
  font-size: .875rem;
  font-weight: 500;
  margin-bottom: 20px;
  font-feature-settings: 'palt';
}
.about_flow_cont_item_fuki:before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 75px;
  width: 15px;
  height: 15px;
  box-sizing: border-box;
  background-color: #F2F6F5; /* 背景色と同じ色を指定 */
  rotate: 135deg;
  z-index: -1;
}
.about_flow_cont_item_fuki:after {
  content: "";
  position: absolute;
  top: calc(100% + 7px);
  left: 72px;
  z-index: -1;
  width: 26px;
  height: 1px;
  box-sizing: border-box;
  background-color: #108478;
  rotate: 33deg;
  z-index: 1;
}
.about_flow_cont_item_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 100%;
  max-width: 360px;
  height: 45px;
  border-radius: 50px;
  gap: 10px;
  transition: .1s;
  position: relative;
  padding: 0 32px;
}
.about_flow_cont_item_btn:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 4px;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  z-index: -1;
  transition: .1s;
}
.btn03.about_flow_cont_item_btn:after {
  content: "";
  display: block;
  background-image: url(./assets/images/common/icon_arrow02.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 18px;
  height: 18px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  transition: .3s;
}
.about_flow_cont_item_btn:hover {
  opacity: 1 !important;
  margin-top: 3px;
  margin-bottom: -3px;
}
.about_flow_cont_item_btn:hover:before {
  top: 1px;
}
.btn03.about_flow_cont_item_btn:hover:after {
  right: 10px;
}
.btn03.about_flow_cont_item_btn:active {
  margin-top: 4px;
  margin-bottom: -4px;
  border: 2px inset rgba(13, 118, 108, 1);
}
.btn03.about_flow_cont_item_btn:active:before {
}
.btn03.about_flow_cont_item_btn:active:after {
  right: 6px;
}
@media screen and (max-width:1240px){
  .about_flow_cont_item_fuki {
    font-size: .8125rem;
  }
  .about_flow_cont_item03 .about_flow_cont_item_wrap:nth-of-type(1) .about_flow_cont_item_fuki br.u-pc {
    display: none !important;
  }
  .about_flow_cont_item_btn {
    font-feature-settings: 'palt';
    font-size: .875rem;
  }
  .about_flow_cont_item01 .about_flow_cont_item_wrap:nth-of-type(1) .about_flow_cont_item_img {
    width: 70px;
    top: 20px;
    right: 16px;
  }
  .about_flow_cont_item01 .about_flow_cont_item_wrap:nth-of-type(2) .about_flow_cont_item_img {
    width: 90px;
    top: 21px;
    right: 16px;
  }
  .about_flow_cont_item03 .about_flow_cont_item_wrap:nth-of-type(2) .about_flow_cont_item_img {
    width: 70px;
    top: 20px;
    right: 16px;
  }
}
@media screen and (max-width:1000px){
  .about_flow_cont_item01 .about_flow_cont_item_wrap:nth-of-type(1) .about_flow_cont_item_img ,
  .about_flow_cont_item01 .about_flow_cont_item_wrap:nth-of-type(2) .about_flow_cont_item_img ,
  .about_flow_cont_item03 .about_flow_cont_item_wrap:nth-of-type(2) .about_flow_cont_item_img {
    display: none;
  }
  .about_flow_cont_item03 .about_flow_cont_item_wrap:nth-of-type(2) .about_flow_cont_item_fuki br.u-pc {
    display: none !important;
  }
  .about_flow_lead_item {
    font-size: 1.25rem;
  }
}
.top_forum {
  max-width: 1240px;
  margin: 0 auto 120px;
  padding: 0 20px;
}
.top_forum_wrap {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 40px;
}
.top_forum_img {
  width: 498px;
  text-align: center;
}
.top_forum_body {
  width: 682px;
}
.top_forum_feature {
  margin-top: 32px;
  margin-bottom: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.top_forum_feature_item {
  display: flex;
  gap: 10px;
  color: #108478;
  font-size: 1.125rem;
  font-weight: 500;
}
.top_forum_feature_item span {
  padding-top: 6px;
}
.top_forum_feature_item:before {
  content: "";
  display: block;
  width: 42px;
  height: 36px;
  flex-shrink: 0;
  background-image: url(./assets/images/common/icon_check01.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.top_forum_place {
  display: flex;
  gap: 20px;
}
@media screen and (max-width:1040px){
  .top_forum_place {
    flex-wrap: wrap;
  }
}
.top_forum_place_info {
  
}
.top_forum_place_dl {
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
}
.top_forum_place_dl dt {
  width: 5em;
  font-weight: 500;
  color: #108478;
}
.top_forum_place_dl dd {
  width: calc(100% - 5em - 20px);
}
.top_forum_place_map {
  flex-shrink: 0;
}
.top_forum_place_map a {
  font-size: .875rem;
  font-weight: 500;
  color: #108478;
  border: 1px solid #108478;
  padding: 2px 16px;
  border-radius: 50px;
}
#about .cont_inner > p {
  text-align: center;
}
#about .aboutlogo_img {
  width: 340px;
}
#about .aboutlogo_img img:nth-of-type(1) {
  width: 150px;
  height: fit-content;
}
#about .aboutlogo_img img:nth-of-type(2) {
  width: 150px;
  height: fit-content;
}
.top_company {
  max-width: 1320px;
  margin: 0 auto 80px;
  padding: 0 20px;
}
.top_company_inner {
  max-width: 1200px;
  margin: 0 auto;
}
.top_company_wrap > p {
  margin-bottom: 40px;
}
@media screen and (max-width:1240px){
  .top_company_wrap > p > br.u-pc {
    display: none !important;
  }
}
.top_company_feature {
  display: flex;
  justify-content: center;
  gap: 12px;
  max-width: 1044px;
  margin: 0 auto 16px;
}
.top_company_feature_item {
  width: 252px;
  background-color: #F2F6F5;
  border: 2px solid #108478;
  border-radius: 10px;
  padding: 16px 10px;
  text-align: center;
}
body.consult .top_company_feature_item ,
body.expert .top_company_feature_item {
  width: 340px;
}
.top_company_feature_item_img {
  width: 80px;
  margin: 0 auto;
  margin-bottom: 16px;
}
.top_company_feature_item_txt {
  font-size: 1.125rem;
  font-weight: bold;
}
.top_company_feature_item_txt span {
  display: block;
}
.top_company_feature_note {
  max-width: 1044px;
  margin: 0 auto;
  font-weight: 500;
  font-size: 1rem;
  text-align: left !important;
}
.top_company_info .dl {
  max-width: 820px;
  margin: 0 auto 40px;
}
#about .wrap02 {
  max-width: 1040px;
  margin-top: 64px;
  position: relative;
  z-index: 2;
  padding: 32px 48px 40px;
}
#about .wrap02 .catch {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-size: 1.125rem;
  line-height: 1.8;
  color: #108478;
}
#about .wrap02 .catch .prefix {
  background: #fff;
  display: inline-flex;
  align-items: flex-end;
  padding: 4px 1.35em 10px;
  border-radius: 10px;
  vertical-align: middle;
  font-weight: bold;
  font-size: .9375rem;
  line-height: 1;
  color: #108478;
  position: relative;
  border: 1px solid #108478;
}
#about .wrap02 .catch .prefix::after {
  content: "";
  background: #fff;
  display: block;
  width: 13px;
  height: 16px;
  -webkit-clip-path: path("M12.6746 6.58568C13.6657 7.21427 13.6657 8.78573 12.6746 9.41432L2.64005 15.7788C1.64898 16.4074 0.410156 15.6216 0.410156 14.3644V1.63555C0.410156 0.37838 1.64898 -0.407355 2.64005 0.221233L12.6746 6.58568Z");
          clip-path: path("M12.6746 6.58568C13.6657 7.21427 13.6657 8.78573 12.6746 9.41432L2.64005 15.7788C1.64898 16.4074 0.410156 15.6216 0.410156 14.3644V1.63555C0.410156 0.37838 1.64898 -0.407355 2.64005 0.221233L12.6746 6.58568Z");
  position: absolute;
  top: calc(50% - 8px);
  left: calc(100% - 7.5px);
}
#about .wrap02 .catch .prefix::before {
  content: "";
  background: #108478;
  display: block;
  width: 13px;
  height: 16px;
  -webkit-clip-path: path("M12.6746 6.58568C13.6657 7.21427 13.6657 8.78573 12.6746 9.41432L2.64005 15.7788C1.64898 16.4074 0.410156 15.6216 0.410156 14.3644V1.63555C0.410156 0.37838 1.64898 -0.407355 2.64005 0.221233L12.6746 6.58568Z");
          clip-path: path("M12.6746 6.58568C13.6657 7.21427 13.6657 8.78573 12.6746 9.41432L2.64005 15.7788C1.64898 16.4074 0.410156 15.6216 0.410156 14.3644V1.63555C0.410156 0.37838 1.64898 -0.407355 2.64005 0.221233L12.6746 6.58568Z");
  position: absolute;
  top: calc(50% - 8px);
  left: calc(100% - 6px);
  z-index: -1;
}
#about .wrap02 .catch .prefix svg {
  margin-right: 3px;
}
#about .wrap02 .catch .prefix strong {
  font-size: 1.375rem;
}
#about .wrap02 .catch .prefix small {
  font-size: .8125rem;
  color: #108478;
}
#about .wrap02 .heading {
  -webkit-text-fill-color: currentColor;
  color: #108478;
  text-align: center;
  font-size: 1.75rem;
  font-weight: bold;
}
#about .wrap02 p {
  font-size: 1rem;
}
#about .wrap02 .btn_wrap {
  margin-bottom: 6px;
}
#about .wrap02 .btn03 {
  min-height: 54px;
  line-height: 1.4;
  font-size: 1rem;
  padding: 0 24px;
  max-width: 480px;
}
#about .wrap02 .btn03:before {
  top: 6px;
}
#about .wrap02 .btn03:hover {
  margin-top: 3px;
  margin-bottom: -3px;
}
#about .wrap02 .btn03:hover:before {
  top: 3px;
}
#about .wrap02 .btn03:after {
  display: none;
}
.section-home-wrap {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  align-items: center;
  margin: 20px auto 0;
}
.section-home-wrap > div:not(.link) {
  width: 432px;
}
.section-home-wrap > div.link {
  width: 480px;
}

.top_case {
  max-width: 1360px;
  margin: 0 auto 120px;
  padding: 0 50px;
}
.top_case_ttl {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  max-width: 1240px;
  margin: 0 auto 24px;
}
.top_case_ttl .btn04 {
  margin-left: auto;
  width: 480px;
}
@media screen and (max-width:1120px){
  .top_case_ttl .btn04 {
    width: unset;
    padding: 4px 24px 4px 16px;
  }
  .top_case_ttl .btn04 br {
    display: block !important;
  }
}
.top_case_list_wrap {
  position: relative;
  margin-bottom: 80px;
}
.top_case_list {
  /*padding: 0 10px 10px;*/
}
.top_case_item {
  width: 400px;
  background-color: #fff;
  padding: 16px 16px 24px;
  border-radius: 16px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
  margin: 0 10px 10px;
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px 16px;
  outline: unset !important;
}
a.top_case_item:hover {
  cursor: pointer;
}
.top_case_list .slick-track {
  display: flex;
}
.top_case_list .slick-slide {
  height: auto !important;
}
.top_case_item_img {
  width: 110px;
  overflow: hidden;
  border-radius: 10px;
  height: fit-content;
  font-size: 0;
}
.top_case_item_img img {
  transition: .6s;
}
a.top_case_item:hover img {
  transform: scale(1.1);
}
.top_case_item_info {
  width: calc(100% - 110px - 16px);
}
.top_case_item_cats {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 10px;
}
.top_case_item_cat {
  padding: 2px 20px;
  color: #fff;
  font-size: .81259em;
  background-color: #108478;
  border-radius: 20px;
  font-weight: 500;
}
.top_case_item_ttl {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
  color: #108478;
}
.top_case_item_tags {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 4px;
}
.top_case_item_tag {
  border: 1px solid #108478;
  color: #108478;
  font-size: .8125rem;
  padding: 1px 8px;
  height: fit-content;
}
.top_case_list .slick-prev:before ,
.top_case_list .slick-next:before {
  display: none;
}
.top_case_list .slick-prev ,
.top_case_list .slick-next {
  width: 40px;
  height: 62px;
}
.top_case_list .slick-prev {
  background-image: url(./assets/images/common/slider_left.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  left: -45px;
}
.top_case_list .slick-next {
  background-image: url(./assets/images/common/slider_right.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  right: -45px;
}
.top_case_list_btn {
  display: none;
  position: absolute;
  bottom: -30px;
  margin-left: 20px;
}
.top_case_list_btn:hover {
  cursor: pointer;
  opacity: .7;
}
.top_case_list.slick-slider + .top_case_list_btn {
  display: block;
}
.top_case_list_btn.play .btn_play {
  display: none;
}
.top_case_list_btn.stop .btn_stop {
  display: none;
}
.top_case_list .slick-dots {
  text-align: left;
  padding-left: 68px;
  bottom: -23px;
}
.top_case_list .slick-dots li button:before {
  display: none;
}
.top_case_list .slick-dots li {
  padding: 0;
  margin: 0 5px;
  font-size: 0;
  width: 40px;
  height: 6px;
}
.top_case_list .slick-dots li button {
  padding: 0;
  margin: 0;
  font-size: 0;
  background: #108478;
  opacity: .3;
  width: 100%;
  height: 100%;
  border-radius: 1px;
}
.top_case_list .slick-dots li.slick-active button {
  opacity: 1;
}
.top_expert {
  max-width: 1280px;
  margin: 0 auto 120px;
  padding: 0 20px;
}
.top_expert_wrap {
  display: flex;
  gap: 40px 80px;
}
.top_expert_img {
  width: 500px;
  height: fit-content;
  overflow: hidden;
  border-radius: 20px;
}
.top_expert_body {
  width: 660px;
}
.top_expert .btn_wrap {
  margin-top: 40px;
  justify-content: flex-start;
}
.top_consult {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}
.top_consult_wrap {
  display: flex;
  gap: 40px 80px;
}
.top_consult_img {
  width: 500px;
  height: fit-content;
  overflow: hidden;
  border-radius: 20px;
}
.top_consult_body {
  width: 660px;
}
.top_consult .btn_wrap {
  margin-top: 40px;
  justify-content: flex-start;
}
.top_cont02 {
  background-image: url(./assets/images/top/bg3.webp);
  background-size: 100% auto;
  background-position: center bottom;
  background-repeat: no-repeat;
  padding: 120px 20px;
}
.top_award {
  background: #fff;
  max-width: 1280px;
  margin: 0 auto;
  border-radius: 20px;
  padding: 0 40px 72px;
}
.top_award .heading01 + p {
  margin-bottom: 40px;
}
.top_award_date.wrap01 {
  padding: 24px 48px;
  margin-bottom: 40px;
}
.top_award_date_ttl {
  font-size: 1.75rem;
  font-weight: bold;
  text-align: center;
  color: #108478;
  margin-bottom: 16px;
}
.top_award_date_dl {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}
.top_award_date_dl dt {
  color: #108478;
  border: 2px solid #108478;
  font-size: 1.125rem;
  font-weight: 500;
  padding: 1px 23px;
  border-radius: 50px;
}
.top_award_date_dl dd {
  font-size: 1.25rem;
  font-weight: 500;
  color: #108478;
}
.top_award_date_dl dd span:nth-of-type(1),
.top_award_date_dl dd span:nth-of-type(3) {
  font-size: 1.75rem;
}
.top_award_date_dl dd span:nth-of-type(2),
.top_award_date_dl dd span:nth-of-type(4) {
  font-size: 2rem;
}
.top_award_wrap {
  display: flex;
  max-width: 1080px;
  margin: 72px auto 20px;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.top_award_wrap_body {
  width: 510px;
}
.top_award_wrap_ttl {
  font-size: 1.625rem;
  font-weight: bold;
  color: #108478;
  margin-bottom: 14px;
}
.top_award_wrap_img {
  width: 560px;
}
.top_award_wrap_img img {
  margin-left: -130px;
}
.top_award_wrap_dl {
  display: flex;
  flex-wrap: wrap;
}
.top_award_wrap_dl dt {
  width: 100px;
  border-bottom: 1px dotted #108478;
  padding: 10px 0;
  color: #108478;
  font-weight: 500;
}
.top_award_wrap_dl dt:nth-of-type(1) {
  font-size: 1.25rem;
}
.top_award_wrap_dl dd {
  width: calc(100% - 100px);
  border-bottom: 1px dotted #108478;
  padding: 10px 0;
}
.top_award_wrap + p {
  max-width: 1080px;
  margin: 0 auto;
}
.top_award_wrap + p + p {
  max-width: 1080px;
  margin: 0 auto 40px;
}

/* company */
.outline {
  background: #F2F6F5;
}
.outline_acc {
  background: #F0F6F6;
  border-radius: 10px;
}
.outline_acc_btn {
  display: block;
  cursor: pointer;
  font-size: 1rem;
  font-weight: bold;
  margin-top: 8px;
  position: relative;
  padding: 12px 50px 12px 20px;
}
.outline_acc_btn:hover {
  opacity: .7;
  transition: .4s;
}
.outline_acc_btn_icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  display: inline-block;
  vertical-align: middle;
  color: #108478;
  line-height: 1;
  width: 28px;
  height: 28px;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-sizing: content-box;
}
.outline_acc_btn_icon > span {
  width: 14px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  position: relative;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.outline_acc_btn_icon > span::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
  transition: .4s;
}
.outline_acc_btn.open .outline_acc_btn_icon > span::before {
  transform: rotate(180deg);
}
.outline_acc_cont {
  display: none;
  padding: 4px 20px 20px;
}
.outline_acc_table {
  width: 100%;
  table-layout: fixed;
  text-align: center;
  background: #fff;
  border-spacing: 0;
  border-collapse: collapse;
  margin-bottom: 10px;
}
.outline_acc_table th {
  background: #108478;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  padding: 8px;
  border: 1px solid #1C6A62;
  vertical-align: middle;
}
.outline_acc_table td {
  border: 1px solid #1C6A62;
  font-size: 1rem;
  font-weight: 500;
  padding: 8px;
  vertical-align: middle;
}
.outline_acc_table th:nth-of-type(1) ,
.outline_acc_table td:nth-of-type(1) {
  width: 158px;
}
.outline_acc_table th:nth-of-type(2) ,
.outline_acc_table td:nth-of-type(2) {
  width: 300px;
}
.outline_acc_table th:nth-of-type(3) ,
.outline_acc_table td:nth-of-type(3) {
  width: 300px;
}
.outline_acc_table td:nth-of-type(3) {
  color: #108478;
  font-weight: bold;
}
.requirements_wrap {
  border: 2px solid #108478;
  border-radius: 20px;
  padding: 24px 40px 40px;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 32px;
}
.requirements_item {
  width: 50%;
  padding-right: 40px;
  margin-bottom: 24px;
}
.requirements_item:nth-of-type(2) {
  padding-left: 40px;
  padding-right: 0;
  border-left: 1px dashed #108478;
}
.requirements_item_img {
  border-bottom: 1px solid #108478;
  margin-bottom: 10px;
  height: 170px;
}
.requirements_item_img_txt {
  text-align: center;
  font-size: 1.25rem;
  color: #108478;
  margin-bottom: 6px;
}
.requirements_item:nth-of-type(2) .requirements_item_img_txt {
  color: #966f03;
}
.requirements_item_img img {
  width: 126px;
  display: block;
  margin: 0 auto;
}
.requirements_item:nth-of-type(2) .requirements_item_img {
  border-color: #C89409;
}
.requirements_item_lead {
  text-align: center;
  margin-bottom: 13px;
  font-size: 1rem;
}
.requirements_item_check_ttl {
  display: flex;
  gap: 5px;
  align-items: center;
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 16px;
}
.requirements_item_check_ttl:before {
  content: "";
  display: block;
  width: 35px;
  height: 29px;
  flex-shrink: 0;
  background-image: url(./assets/images/common/icon_check02.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.requirements_item_check_lead {
  padding-left: 10px;
  color: #108478;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 4px;
}
.requirements_item_check_txt {
  margin-left: 20px;
  margin-bottom: 16px;
}
#requirements .wrap01 {
  width: 100%;
}
.option_ttl {
  text-align: center;
  color: #108478;
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 24px;
}
.option_list {
  display: flex;
  gap: 16px 0;
  flex-wrap: wrap;
}
.option_item {
  width: 50%;
}
.option_item:nth-of-type(odd) {
  padding-right: 24px;
}
.option_item:nth-of-type(even) {
  padding-left: 24px;
  border-left: 1px dashed #108478;
}
.option_item_lead {

}
.option_item_lead {
  padding-left: 1em;
  position: relative;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 4px;
}
.option_item_lead:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #00AB9D;
  position: absolute;
  top: 8px;
  left: 2px;
}
.option_item_txt {
  font-size: .875rem;
  padding-left: 16px;
}
.requirements_note {
  max-width: 960px;
  margin: 0 auto 44px;
  position: relative;
  z-index: 1;
}
.requirements_note p {
  font-size: 1.125rem;
  padding-bottom: 16px;
}
.flow_list {
  display: flex;
  gap: 10px;
  flex-direction: column;
}
.flow_item {
  border: 2px solid #108478;
  border-radius: 10px;
  padding: 24px;
  display: flex;
  position: relative;
  z-index: 1;
}
.flow_item_num_wrap {
  width: 100px;
  flex-shrink: 0;
  text-align: center;
  margin-right: 24px;
}
.flow_item_num {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #108478;
  color: #fff;
  font-weight: 500;
  width: 100%;
  height: 28px;
  font-size: 1rem;
  border-radius: 30px;
  margin-bottom: 16px;
  letter-spacing: .05em;
  line-height: 1;
}
.flow_item_num span {
  font-size: 1.375rem;
}
.flow_item_num_img {

}
.flow_item_body {
  width: 100%;
}
.flow_item_ttl {
  color: #108478;
  font-size: 1.375rem;
  font-weight: bold;
  margin-bottom: 8px;
}
.flow_item_body_txt {
  width: 470px;
}
.flow_item_body_inner {
  display: flex;
  gap: 20px;
  justify-content: space-between;
}

@media screen and (max-width:1120px){
  .flow_item_body_inner {
    display: block;
    margin-bottom: 20px;
  }
  .flow_item_body_txt {
    width: 100%;
    margin-bottom: 16px;
  }
}
.flow_item_txt {
  font-size: .875rem;
}
.flow_item_modal_btn {
  margin: 20px 0 10px;
  display: block;
  width: 200px;
  height: 26px;
  background: #108478;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 1rem;
  border-radius: 50px;
  font-weight: bold;
  gap: 6px;
  position: relative;
}
.flow_item_modal_btn:after {
  content: "";
  display: block;
  background-image: url(./assets/images/common/icon_external.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 18px;
  height: 17px;
}
.flow_item_modal_btn:before {
  content: "";
  display: block;
  background: #fff;
  border-radius: 50px;
  background-image: url(./assets/images/common/icon_question.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 32px;
  height: 32px;
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
}
.flow_item_btn {
  width: 380px;
}
.flow_item_btn .btn02 {
  min-height: 54px;
  line-height: 1.4;
}
.flow_item_btn .btn02:before {
  top: 6px;
}
.flow_item_btn .btn02:hover {
  margin-top: 3px;
  margin-bottom: -3px;
}
.flow_item_btn .btn02:hover:before {
  top: 3px;
}
.flow_item_btn .btn02:active {
  margin-top: 6px;
  margin-bottom: -6px;
  box-sizing: border-box;
}
.flow_item_btn .btn02:active:before {
  top: 0;
}
.flow_item_btn .btn03 {
  min-height: 54px;
  line-height: 1.4;
  font-size: 1rem;
  padding: 0 24px;
}
.flow_item_btn .btn03:before {
  top: 6px;
}
.flow_item_btn .btn03:hover {
  margin-top: 3px;
  margin-bottom: -3px;
}
.flow_item_btn .btn03:hover:before {
  top: 3px;
}
.flow_item_btn .btn03:active {
  margin-top: 6px;
  margin-bottom: -6px;
  box-sizing: border-box;
}
.flow_item_btn .btn03:active:before {
  top: 0;
}
.flow_note_wrap {
  width: 100%;
  max-width: 892px;
  margin-left: auto;
  background: #F0F6F6;
  position: relative;
  border-radius: 10px;
  padding: 16px 176px 16px 176px;
}
.flow_note_img1 {
  position: absolute;
  left: 50%;
  transform: translateX(-360px);
  width: 62px;
  bottom: 0;
}
.flow_note_txt {
  font-size: .875rem;
}
.flow_note_img2 {
  position: absolute;
  right: 50%;
  transform: translateX(350px);
  width: 134px;
  bottom: 0;
}
.flow_note_img1 img,
.flow_note_img2 img {
  width: 100%;
}
.flow_item_lead {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 4px;
}
.flow_item_check {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 16px;
}
.flow_item_check_txt {
  display: flex;
  gap: 5px;
  align-items: flex-start;
  font-size: .875rem;
}
.flow_item_check_txt:before {
  content: "";
  display: block;
  width: 17px;
  height: 14px;
  flex-shrink: 0;
  background-image: url(./assets/images/common/icon_check02.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: relative;
  top: 3px;
}
.flow_item_body .flow_note_wrap {
  padding: 20px 24px;
}
.flow_note_ttl {
  color: #108478;
  font-size: 1rem;
  font-weight: bold;
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}
.flow_note_ttl span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: bold;
  background: #108478;
  border-radius: 20px;
  width: 48px;
  height: 24px;
  font-size: .875rem;
}
.flow_item_arrow {
  display: block;
  margin: -10px auto 0;
}
.flow_item_body > .flow_item_txt {
  font-size: 1rem;
  margin-bottom: 8px;
}
.flow_item_note {
  font-size: .875rem;
}
.flow_item:last-of-type .flow_item_num_wrap {
  width: 180px;
  margin-top: 20px;
}
@media screen and (max-width:932px){
  .flow_note_wrap {
    padding: 16px 20px;
  }
  .flow_note_img1,
  .flow_note_img2 {
    display: none;
  }
}
#request .wrap01 {
  max-width: 960px;
}
.request_txt {
  font-size: 1rem;
}
.request_wrap {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 36px;
  position: relative;
  z-index: 1;
}
.request_wrap_img {
  width: 380px;
}
.request_wrap_body {
  width: 460px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-align: center;
}
.request_wrap_body .btn03 {
  min-height: 54px;
  line-height: 1.4;
  font-size: 1rem;
  padding: 0 24px;
}
.request_wrap_body .btn03:before {
  top: 6px;
}
.request_wrap_body .btn03:hover {
  margin-top: 3px;
  margin-bottom: -3px;
}
.request_wrap_body .btn03:hover:before {
  top: 3px;
}
.request_wrap_body .btn03:active {
  margin-top: 6px;
  margin-bottom: -6px;
  box-sizing: border-box;
}
.request_wrap_body .btn03:active:before {
  top: 0;
}
a.request_link {
  color: #108478;
  font-size: 1rem;
  font-weight: bold;
  text-decoration: underline;
}
.company_expert_item:not(:last-of-type) {
  margin-bottom: 80px;
}
.company_expert_wrap {
  display: flex;
  gap: 40px;
  justify-content: space-between;
}
.company_expert_img {
  width: 300px;
  height: fit-content;
  overflow: hidden;
  border-radius: 20px;
}
.company_expert_body {
  width: 700px;
}
.company_expert_body .btn_wrap {
  margin-top: 24px;
  justify-content: flex-start;
}
#expert {
  padding-bottom: 120px;
}
#case {
  background: rgba(228,228,228,.3);
  padding-bottom: 10px;
}
#case .cont_inner {
  max-width: 1360px;
  padding: 0 50px;
}
#case .heading03 {
}
#aboutlogo {
  /*padding-bottom: 120px;*/
}
.aboutlogo_ttl {
  text-align: center;
  color: #108478;
  font-size: 1.375rem;
  margin-bottom: 16px;
}
.aboutlogo_img {
  display: flex;
  width: 514px;
  justify-content: space-between;
  align-items: flex-end;
  margin: 0 auto 24px;
}
.aboutlogo_img img:nth-of-type(1) {
  width: 197px;
  height: fit-content;
}
.aboutlogo_img img:nth-of-type(2) {
  width: 196px;
  height: fit-content;
}
.aboutlogo_txt {
  text-align: center;
  font-size: 1.125rem;
}
.jquery-modal {
  z-index: 10000;
  background: rgba(0,0,0,.5);
}
.modal {
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
  max-width: 600px;
  border-radius: 20px;
  padding: 40px 60px 46px;
}
.modal_ttl_wrap {
  margin-bottom: 20px;
  border-bottom: 2px solid #108478;
  padding-bottom: 8px;
}
.modal_logo {
  max-width: 288px;
}
.modal_ttl {
  font-size: 1.375rem;
  font-weight: bold;
  color: #108478;
}
.modal_txt {
  margin-bottom: 20px;
}
.modal_check {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 20px;
  margin-bottom: 24px;
}
.modal_check_item {
  display: flex;
  gap: 5px;
  align-items: center;
  font-size: 1rem;
  font-weight: bold;
}
.modal_check_item:before {
  content: "";
  display: block;
  width: 29px;
  height: 24px;
  flex-shrink: 0;
  background-image: url(./assets/images/common/icon_check02.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.modal_note {
  text-align: center;
  font-weight: bold;
  font-size: 1rem;
  margin-bottom: 8px;
}
#about_mypage .btn02 {
  min-height: 60px;
  line-height: 1.4;
}
#about_mypage .btn02:before {
  top: 6px;
}
#about_mypage .btn02:hover {
  margin-top: 3px;
  margin-bottom: -3px;
}
#about_mypage .btn02:hover:before {
  top: 3px;
}
#about_mypage .btn02:active {
  margin-top: 6px;
  margin-bottom: -6px;
  box-sizing: border-box;
}
#about_mypage .btn02:active:before {
  top: 0;
}
.modal a.close-modal {
  background-image: url(./assets/images/common/modal_close.svg);
  width: 60px;
  height: 60px;
  top: -20px;
  right: -20px;
}

/* companies */
.search_wrap {
  background: #F2F6F5;
  border-radius: 10px;
  padding: 40px 22px;
  position: relative;
  z-index: 1;
}
.search_wrap_ttl {
  text-align: center;
  font-size: 1.875rem;
  font-weight: bold;
  color: #108478;
  margin-bottom: 32px;
}
.bl_search_kw {
  display: flex;
  align-items: center;
  gap: 16px;
  max-width: 746px;
  margin: 0 auto 20px;
}
body.companies .bl_form {
  /*max-width: 824px;*/
  margin-left: auto;
  margin-right: auto;
}
body.companies .bl_form select,
body.companies .bl_form input[type=text],
body.companies .bl_form input[type=email],
body.companies .bl_form input[type=tel],
body.companies .bl_form textarea {
  border: 1px solid #108478;
  padding: 8px;
  height: 50px;
  border-radius: 8px;
  box-sizing: border-box;
  font-size: .875rem;
}
body.companies .bl_form select:focus,
body.companies .bl_form input[type=text]:focus,
body.companies .bl_form input[type=email]:focus,
body.companies .bl_form input[type=tel]:focus,
body.companies .bl_form textarea:focus {
  opacity: 1;
}
body.companies .bl_form textarea {
  height: 150px;
}
body.companies .bl_form input[type=radio],
body.companies .bl_form input[type=checkbox] {
  position: absolute;
  opacity: 0;
  top: 50%;
  left: 0;
  width: 30px;
  height: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin: 0;
  border-radius: 50%;
  font-size: 1em;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  box-sizing: border-box;
  z-index: 2;
}
body.companies .bl_form input[type=radio]:focus,
body.companies .bl_form input[type=checkbox]:focus {
  opacity: 1;
}
body.companies .bl_form input[type=checkbox] {
  border-radius: 8px;
}
body.companies .bl_form .wpcf7-list-item {
  display: block;
  margin-bottom: 3px;
  margin-top: 12px;
  position: relative;
}
body.companies .bl_form .wpcf7-list-item-label {
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  cursor: pointer;
}
body.companies .bl_form .wpcf7-list-item-label:before {
  display: block;
  flex-shrink: 0;
  content: "";
  border-radius: 50%;
  border: 1px solid #108478;
  background: #fff;
  width: 30px;
  height: 30px;
  margin-right: 10px;
}
body.companies .bl_form .wpcf7-list-item-label:after {
  display: block;
  position: absolute;
  content: "";
  border-radius: 50%;
  width: 0px;
  height: 0px;
  left: 7px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border: none;
}
body.companies .bl_form .wpcf7-acceptance .wpcf7-list-item-label:before,
body.companies .bl_form .wpcf7-checkbox .wpcf7-list-item-label:before {
  border-radius: 8px;
}
body.companies .bl_form .wpcf7-acceptance .wpcf7-list-item-label:after,
body.companies .bl_form .wpcf7-checkbox .wpcf7-list-item-label:after {
  border-radius: 8px;
}
body.companies .bl_form input[type=radio]:checked + span.wpcf7-list-item-label::after {
  border: 8px solid #108478;
}
body.companies .bl_form input[type=checkbox]:checked + span.wpcf7-list-item-label::after {
  display: block;
  content: "";
  position: absolute;
  top: 2px;
  left: 16px;
  width: 10px;
  height: 17px;
  border-radius: 0;
  border-bottom: 0.2em solid #108478;
  border-right: 0.2em solid #108478;
  -webkit-transform: translate(-50%, 0) rotate(45deg);
          transform: translate(-50%, 0) rotate(45deg);
}
body.companies .bl_form select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  background-image: url(./assets/images/common/icon_arrow05.svg);
  background-position: top 50% right 10px;
  background-repeat: no-repeat;
  background-size: 9px;
  color: #000;
}
@media all and (min-width: 600px) {
  body.companies .bl_form select {
    background-size: 24px;
  }
}
body.companies .bl_form select:focus {
  box-shadow: 0 0 4px 4px rgba(14, 155, 148, 0.5);
  opacity: 1;
}
body.companies .bl_form_input {
  width: 100%;
}
body.companies .bl_form_input__lg {
  width: 100%;
}
@media all and (min-width: 600px) {
  body.companies .bl_form_input__md {
    max-width: 400px;
  }
}
@media all and (min-width: 600px) {
  body.companies .bl_form_input__sm {
    max-width: 200px;
  }
}
body.companies .bl_form_dl {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  margin-top: 40px;
  margin-bottom: 20px;
}
body.companies .bl_form_dl:first-child {
  margin-top: 0;
}
body.companies .bl_form_dt {
  margin-bottom: 10px;
  padding-top: 10px;
  text-align: left;
}
@media all and (min-width: 600px) {
  body.companies .bl_form_dt {
    width: 24%;
    max-width: 200px;
    margin-bottom: 28px;
  }
}
body.companies .bl_form_dt__lg {
  width: 100%;
  max-width: 100%;
  margin-bottom: 12px;
  text-align: center;
}
body.companies .bl_form_dd {
  width: 100%;
  margin-bottom: 20px;
}
@media all and (min-width: 600px) {
  body.companies .bl_form_dd {
    max-width: 600px;
    width: 72%;
    margin-left: auto;
    margin-bottom: 28px;
  }
}
body.companies .bl_form_dd__lg {
  width: 100%;
  max-width: 100%;
  text-align: center;
}
body.companies .bl_form_dd__lg span {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
body.companies .bl_form_dd_txt {
  padding: 12px 0;
}
body.companies .bl_form_label {
  margin-right: 1em;
}
body.companies .bl_form_btn_wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  gap: 20px;
}
@media all and (min-width: 600px) {
  body.companies .bl_form_btn_wrapper {
    gap: 40px;
  }
}
body.companies .bl_search_grid {
  display: grid;
  gap: 12px;
}
@media all and (min-width: 600px) {
  body.companies .bl_search_grid {
    grid-template-columns: repeat(auto-fill, 173px);
    -webkit-box-pack: center;
            justify-content: center;
  }
}
body.companies .bl_search_grid input,
body.companies .bl_search_grid select {
  display: block;
  width: 100%;
}
body.companies .bl_search_grid select {
  -webkit-padding-end: 26px;
          padding-inline-end: 26px;
  background-size: 9px;
}
body.companies .bl_search_btn-wrap {
  margin: 30px auto 0;
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
}
body.companies .bl_search_btn-wrap .el_btn {
  -webkit-appearance: none;
  background: unset;
  border: unset;
  outline: unset !important;
}
body.companies .bl_search_btn-wrap .el_btn:not(.el_btn__text) {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #08433D;
  background: linear-gradient(90deg, rgba(8, 67, 61, 1) 0%, rgba(16, 132, 120, 1) 33%, rgba(16, 132, 120, 1) 66%, rgba(8, 67, 61, 1) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 178px;
  height: 40px;
  border-radius: 50px;
  gap: 10px;
  transition: .1s;
  margin-bottom: 4px;
}
body.companies .bl_search_btn-wrap .el_btn:not(.el_btn__text):before {
  content: "";
  background: #064B44;
  background: linear-gradient(90deg, rgba(6, 75, 68, 1) 0%, rgba(16, 113, 104, 1) 33%, rgba(16, 113, 104, 1) 66%, rgba(6, 75, 68, 1) 100%);
  display: block;
  position: absolute;
  left: 0;
  top: 4px;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  z-index: -1;
  transition: .1s;
}
body.companies .bl_search_btn-wrap .el_btn:not(.el_btn__text):hover {
  opacity: 1 !important;
  margin-top: 3px;
  margin-bottom: 1px;
  cursor: pointer;
}
body.companies .bl_search_btn-wrap .el_btn:not(.el_btn__text):hover:before {
  top: 1px;
}
body.companies .bl_search_btn-wrap .el_btn:not(.el_btn__text):active {
  margin-top: 4px;
  border: 2px inset rgba(13, 118, 108, 1);
  margin-bottom: 0;
}
body.companies .bl_search_btn-wrap .el_btn:not(.el_btn__text):active:before {
  top: 0px;
}
body.companies .bl_search_btn-wrap .el_btn__text {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  color: #108478;
  display: flex;
  align-items: center;
  gap: 8px;
}
body.companies .bl_search_btn-wrap .el_btn__text:after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background-image: url(./assets/images/common/icon_arrow07.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
body.companies .bl_search_btn-wrap .el_btn__text:hover {
  cursor: pointer;
  opacity: .7;
  transition: .4s;
}
body.companies .bl_search_conditions {
  margin-block: 1.5rem;
  padding: clamp(0.625rem, 0.35rem + 1.2vw, 1.25rem);
  border: 1px solid #748b8c;
}
body.companies .bl_search_conditions .hp_tac {
  color: #108478;
  font-weight: bold;
  font-size: 1.25rem;
  text-align: center;
}
body.companies .bl_search_conditions dl {
  -webkit-margin-before: 2rem;
          margin-block-start: 2rem;
  -webkit-margin-after: -0.5rem;
          margin-block-end: -0.5rem;
}
body.companies .bl_search_conditions dl div {
  display: inline-block;
  -webkit-margin-end: 1.875rem;
          margin-inline-end: 1.875rem;
  -webkit-margin-after: 0.5rem;
          margin-block-end: 0.5rem;
}
body.companies .bl_search_conditions dt {
  display: inline;
  color: #777;
}
body.companies .bl_search_conditions dt::after {
  content: "：";
}
body.companies .bl_search_conditions dd {
  display: inline;
  color: #000;
}

body.companies .bl_search_item label {
  padding-inline: 6px;
  font-size: 0.875rem;
  margin-bottom: 2px;
  display: inline-block;
}

body.companies .bl_search_result > * + * {
  -webkit-margin-before: clamp(1.875rem, 1.325rem + 2.4vw, 3.125rem);
          margin-block-start: clamp(1.875rem, 1.325rem + 2.4vw, 3.125rem);
  font-size: .875rem;
}

body.companies .bl_search_order .bl_form {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
          align-items: center;
  gap: 20px;
  max-width: 100%;
  font-size: .875rem;
}
body.companies .bl_search_order select {
  -webkit-padding-end: 26px;
          padding-inline-end: 26px;
  background-size: 9px;
}

body.companies .bl_search_appendix_txt {
  -webkit-margin-after: 0.5em;
          margin-block-end: 0.5em;
  word-break: auto-phrase;
}
@media all and (min-width: 600px) {
  body.companies .bl_search_appendix_txt {
    -webkit-margin-after: 0;
            margin-block-end: 0;
    text-align: right;
  }
}

body.companies .bl_search_appendix_count {
  min-inline-size: -webkit-fit-content;
  min-inline-size: -moz-fit-content;
  min-inline-size: fit-content;
  align-self: flex-end;
}


@media all and (min-width: 600px) {
  .hp_column_wrap {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
            justify-content: space-between;
  }
}
@media all and (min-width: 600px) {
  .hp_column_col2 > * {
    width: 48%;
  }
}
@media all and (min-width: 600px) {
  .hp_column__reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
            flex-direction: row-reverse;
  }
}
@media all and (min-width: 600px) {
  .hp_column__gap20 {
    gap: 20px;
  }
}
.companies_result_list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
a.companies_result_item {
  background: #F2F6F5;
  border-radius: 10px;
  padding: 19px;
  display: block;
  border: 1px solid #F2F6F5;
}
a.companies_result_item:hover {
  border-color: #108478;
  transition: .3s;
}
.companies_result_item_head {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
}
.companies_result_item_head_img {
  width: 60px;
}
.companies_result_item_head_body {
}
.companies_result_item_head_type {
  font-weight: bold;
  color: #108478;
  font-size: .75rem;
}
.companies_result_item_head_type.plus {
  color: #C89408;
}
.companies_result_item_head_name {
  font-size: 1.25rem;
  font-weight: bold;
  border-bottom: 1px solid #000;
}
.companies_result_item:hover .companies_result_item_head_name {
  border-bottom: 2px solid #000;
}
.companies_result_item_info {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 0;
  padding-bottom: 8px;
  margin-bottom: 8px;
  border-bottom: 1px dashed #108478;
}
.companies_result_item_info dt {
  width: 90px;
  height: fit-content;
  text-align: center;
  background: #108478;
  color: #fff;
  border-radius: 100px;
  margin-right: 16px;
  font-size: .75rem;
  margin-top: 3px;
}
.companies_result_item_info dd {
  width: calc(50% - 6px - 16px - 90px);
  font-size: 1rem;
  padding-right: 12px;
}
.companies_result_item_actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.companies_result_item_actions_ttl {
  font-size: 1rem;
  font-weight: bold;
  color: #108478;
  margin-bottom: 8px;
  width: 100%;
}
.companies_result_item_actions_item {
  width: calc(50% - 3px);
  padding-left: 22px;
  position: relative;
  font-size: .875rem;
}
.companies_result_item_actions_item:before {
  content: "・";
  display: block;
  color: #108478;
  position: absolute;
  top: 0;
  left: 0;
}
.bl_pagination {
  grid-column: full;
  margin-inline: 10px;
}

.bl_pagination_links {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: center;
          justify-content: center;
  gap: 20px 10px;
}
@media all and (min-width: 600px) {
  .bl_pagination_links {
    gap: 16px;
  }
}

.bl_pagination_item {
  -webkit-box-flex: 0;
          flex: 0 0 40px;
  display: grid;
  place-items: center;
  block-size: 40px;
  border: 1px solid #108478;
  border-radius: 40px;
  text-decoration: none;
  color: #108478;
}
.bl_pagination_item.bl_pagination_extract {
  border: none;
}
.bl_pagination_item:not([href]):not(.bl_pagination_extract) {
  background-color: #108478;
  color: #fff;
  pointer-events: none;
}
@media (any-hover: hover) {
  .bl_pagination_item[href]:hover {
    background-color: #F2F6F5;
  }
}

/* companies_detail */
.companies_detail {
  background: #F2F6F5;
  padding: 30px;
  border-radius: 10px;
}
.companies_detail_ttl {
  font-size: 1.875rem;
  font-weight: bold;
  color: #108478;
  margin-bottom: 30px;
}
.companies_detail_head {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 30px;
}
.companies_detail_head_img {
  width: 260px;
  text-align: center;
}
.companies_detail_head_img img {
  width: 160px;
}
.companies_detail_head_info {
  width: calc(100% - 300px);
  display: flex;
  flex-wrap: wrap;
  gap: 10px 0;
}
.companies_detail_head_info dt {
  width: 90px;
  height: fit-content;
  text-align: center;
  background: #108478;
  color: #fff;
  border-radius: 100px;
  margin-right: 16px;
  font-size: .75rem;
  margin-top: 3px;
}
.companies_detail_head_info dd {
  width: calc(100% - 90px - 16px);
  font-size: 1rem;
  padding-right: 12px;
  overflow-wrap: anywhere;
}
.companies_detail_head_info dd a {
  color: #0E5FB9;
  text-decoration: underline;
}
.companies_detail_head_info dd a:after {
  content: "";
  display: inline-block;
  margin-left: 5px;
  background-image: url(./assets/images/common/icon_external2.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
  width: 13px;
  height: 13px;
  position: relative;
  top: 2px;
}
.companies_detail_profile {
  margin-bottom: 40px;
}
.companies_detail_profile_ttl {
  font-size: 1rem;
  font-weight: bold;
  color: #108478;
  margin-bottom: 16px;
}
.companies_detail_profile_txt {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625;
}
.companies_detail_actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
}
.companies_detail_actions_ttl {
  font-size: 1rem;
  font-weight: bold;
  color: #108478;
  margin-bottom: 8px;
  width: 100%;
}
.companies_detail_actions_item {
  width: calc(50% - 8px);
  position: relative;
  font-size: 1.125rem;
  font-weight: bold;
  color: #108478;
  display: flex;
  gap: 10px;
}
.companies_detail_actions_item:before {
  content: "";
  display: block;
  color: #108478;
  width: 42px;
  height: 36px;
  background-image: url(./assets/images/common/icon_check01.svg);
  flex-shrink: 0;
}
.companies_detail_actions_item span {
  padding-top: 4px;
}

/* expert */
.step {
  position: relative;
  padding-top: 22px;
  padding-left: 120px;
  display: flex;
  flex-direction: column;
  gap: 23px;
  margin-bottom: 64px;
}
.step:before {
  content: "";
  display: block;
  width: 196px;
  height: 737px;
  background-image: url(./assets/images/expert/flow_num.svg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
body.award .step:before {
  height: 890px;
  background-image: url(./assets/images/expert/flow_num2.svg);
}
.step_item {
  border: 2px solid #108478;
  background: #fff;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 10px 32px 10px 90px;
  min-height: 120px;
  align-items: center;
}
.step_item_num {
  display: none;
}
.step_item_body {
}
.step_item_body_head {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.step_item_ttl {
  font-size: 1.375rem;
  font-weight: bold;
  color: #108478;
}
.step_item_body_head .flow_item_modal_btn {
  margin: 0;
  margin-left: 32px;
}
.step_item_body_wrap {
}
.step_item_body_txt {
  font-size: .875rem;
}
.step_item_img {
  width: 102px;
  text-align: center;
  flex-shrink: 0;
}
.step_note {
  text-align: center;
  margin-bottom: 64px;
  font-size: .875rem;
}
@media screen and (max-width:900px){
  .step_item_body_head {
    display: block;
  }
  .step_item_body_head .flow_item_modal_btn {
    margin-left: 0;
    margin-top: 10px;
  }
  .step:before {
    width: 210px;
    height: 790px;
    top: 30px;
  }
  .step_item {
    padding-left: 110px;
  }
  body.award .step:before {
    height: 950px;
  }
}
.expert_case_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}
.expert_case_item {
  width: calc((100% - 20px) / 3);
  border-radius: 10px;
  border: 1px solid #E4E4E4;
  background: #fff;
  position: relative;
  padding: 0px 0px 38px;
  box-shadow: 0 3px 6px rgba(0,0,0,.1);
  background-image: url(./assets/images/common/icon_arrow02.svg);
  background-position: right 10px bottom 10px;
  background-repeat: no-repeat;
  background-size: 24px auto;
}
.expert_case_item_btm {
  padding: 10px 20px 0;
}
.expert_case_item_head {
  background-color: #F2F6F5;
  padding: 33px 20px 10px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.expert_case_item_tag {
  border-top: 1px solid #D4D4D4;
  padding-top: 10px;
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 20px;
}
.expert_case_item_tag li {
  color: #108478;
  font-size: 0.8125rem;
  font-weight: 500;
}
.expert_case_item_num {
  background: #108478;
  width: 154px;
  height: 32px;
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 1.25rem;
  letter-spacing: .05em;
  color: #fff;
  margin-bottom: 10px;
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 2;
}
.expert_case_item_img {
  overflow: hidden;
  border-radius: 10px;
  margin-bottom: 10px;
}
.expert_case_item_img img {
  width: 100%;
  transition: .6s;
}
a.expert_case_item:hover .expert_case_item_img img {
  transform: scale(1.1);
}
.expert_case_item_industry {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}
.expert_case_item_industry dt {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #108478;
  width: 80px;
  height: 20px;
  line-height: 18px;
  border-radius: 50px;
  font-size: .875rem;
  font-weight: bold;
  color: #108478;
}
.expert_case_item_industry dd {
  font-size: .875rem;
}
.expert_case_item_ttl {
  font-size: 1rem;
  font-weight: bold;
  color: #108478;
}
.expert_case_item_subttl {
  font-weight: 700;
  border-bottom: 1px dashed #108478;
  line-height: 1.4;
  padding-bottom: 8px;
  margin-bottom: 10px;
}
.expert_case_item_expert {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}
.expert_case_item_expert dt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 82px;
  height: 20px;
  border-radius: 50px;
  font-size: .875rem;
  font-weight: bold;
  background: #108478;
  color: #fff;
}
.expert_case_item_expert dd {
  font-size: .875rem;
  font-weight: bold;
}
.expert_case_item_support {
}
.expert_case_item_support_ttl {
  margin-bottom: 10px;
  width: 86px;
}
.expert_case_item_support_txt {
  font-size: .875rem;
}
.expert_case_single_lead {
  font-size: 1.75rem;
  font-weight: bold;
  background-color: #F5F5F5;
  padding: 16px 40px;
  border-radius: 10px;
  margin-bottom: 24px;
}
.expert_case_single_before {
  border: 2px solid #D4D4D4;
  border-radius: 20px;
  padding: 24px 40px;
}
.expert_case_single_before_ttl {
  background-color: #108478;
  color: #fff;
  width: 200px;
  height: 43px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;
  border-radius: 100px;
}
.expert_case_single_before_list {
  display: flex;
  flex-direction: column;
}
.expert_case_single_before_item {
   padding: 16px 0;
   border-bottom: 1px dotted #D4D4D4;
   font-size: 1rem;
}
.expert_case_single_support {
  background-color: #F2F6F5;
  border-radius: 20px;
  padding: 24px 40px;
}
.expert_case_single_support_ttl {
  text-align: center;
  font-weight: bold;
  font-size: 1.25rem;
  color: #108478;
  margin-bottom: 24px;
}
.expert_case_single_support_list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.expert_case_single_support_item {
  font-size: 1rem;
  font-weight: bold;
}
.expert_case_single_after {
  background-color: #FAFAFA;
  border-radius: 20px;
  border: 2px solid #108478;
  padding: 24px 40px;
}
.expert_case_single_after_ttl {
  background-color: #108478;
  color: #fff;
  width: 200px;
  height: 43px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;
  border-radius: 100px;
}
.expert_case_single_after_list {
  display: flex;
  flex-direction: column;
}
.expert_case_single_after_item {
  padding: 16px 0;
  border-bottom: 1px dotted #108478;
  font-size: 1rem;
  display: flex;
  gap: 5px;
  align-items: center;
  font-size: 1rem;
  font-weight: bold;
}
.expert_case_single_after_item:before {
  content: "";
  display: block;
  width: 35px;
  height: 29px;
  flex-shrink: 0;
  background-image: url(./assets/images/common/icon_check02.svg);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.expert_case_single_after + .expert_case_item_tag {
  padding-top: 32px;
  margin-top: 69px;
}
.expert_case_single_after + .expert_case_item_tag li {
  font-size: 1.375rem;
}
.expert_case_single_arrow {
  display: block;
  width: 129px;
  margin: 4px auto;
}

.introduction_list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 20px;
  margin-bottom: 40px;
}
.introduction_item {
  width: calc(50% - 10px);
  display: flex;
  gap: 20px;
}
.introduction_item_img {
  width: 180px;
  height: 180px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
}
.introduction_item_body {
}
.introduction_item_name {
  font-size: 1.125rem;
  font-weight: bold;
  color: #108478;
  display: flex;
  gap: 4px 10px;
}
.introduction_item_name span {
  font-weight: 500;
}
.introduction_item_outline {
  font-weight: bold;
  margin-bottom: 10px;
}
.introduction_item_belong {
  font-size: .875rem;
}
.introduction_item_title {
  font-size: .875rem;
}
.introduction_item_profile {
  padding-top: 10px;
  margin-top: 10px;
  border-top: 1px solid #108478;
  font-size: .875rem;
  font-weight: 400;
}

.expert_case_single {
  max-width: 960px;
}
.expert_case_single_head {
  border-bottom: 1px solid #108478;
  padding-bottom: 16px;
  margin-bottom: 24px;
}
.expert_case_single_head_num {
  background: #108478;
  width: 154px;
  height: 32px;
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 1.375rem;
  letter-spacing: .05em;
  color: #fff;
  margin-bottom: 10px;
}
.expert_case_single_ttl {
  color: #108478;
  font-weight: bold;
  font-size: 2rem;
}
.expert_case_single_wrap {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 40px;
}
.expert_case_single_img {
  width: 400px;
  border-radius: 10px;
  overflow: hidden;
  max-height: fit-content;
}
.expert_case_single_info_wrap {
  width: 600px;
  background-color: #F5F5F5;
  padding: 20px 40px;
  border-radius: 10px;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.expert_case_single_info_wrap > img {
  width: 100px;
  flex-shrink: 0;
}
.expert_case_single_info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
}
.expert_case_single_industry {
  display: flex;
  gap: 8px;
  justify-content: center;
}
.expert_case_single_industry dt {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #108478;
  width: 100px;
  height: 32px;
  border-radius: 50px;
  font-size: 1rem;
  font-weight: bold;
  color: #108478;
  background: #fff;
}
.expert_case_single_industry dd {
  font-size: 1.125rem;
  padding-top: 3px;
  font-weight: bold;
}
.expert_case_single_expert {
  display: flex;
  gap: 8px;
}
.expert_case_single_expert dt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 32px;
  border-radius: 50px;
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  background: #108478;
}
.expert_case_single_expert dd {
  font-size: 1.125rem;
  padding-top: 3px;
  font-weight: bold;
}

/* award */
.lv_award_img {
  position: relative;
  overflow: hidden;
  margin-top: 40px;
  padding-bottom: 20px;
}
.lv_award_img_center {
  width: 584px;
  position: relative;
  z-index: 1;
  margin: 0 auto;
}
.lv_award_img_center img {
  border: 6px solid #fff;
  box-shadow: 0 3px 10px rgba(0,0,0,.06);
}
.lv_award_img_left {
  width: 619.5px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  margin-left: -550px;
}
.lv_award_img_right {
  width: 610.5px;
  position: absolute;
  top: 0;
  right: 50%;
  transform: translateX(50%);
  margin-right: -556px;
}
.lv_award_img .btn_wrap {
  margin-top: 32px;
}
.btn03.lv_award_img_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: #108478;
  font-weight: bold;
  text-align: center;
  width: 100%;
  max-width: 480px;
  height: 45px;
  min-height: unset;
  border-radius: 50px;
  gap: 10px;
  transition: .1s;
  position: relative;
  padding: 0 32px;
}
.btn03.lv_award_img_btn:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 4px;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  z-index: -1;
  transition: .1s;
}
.btn03.lv_award_img_btn:after {
  content: "";
  display: block;
  background-image: url(./assets/images/common/icon_arrow02.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 18px;
  height: 18px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  transition: .3s;
}
.btn03.lv_award_img_btn:hover {
  opacity: 1 !important;
  margin-top: 3px;
  margin-bottom: -3px;
}
.btn03.lv_award_img_btn:hover:before {
  top: 1px;
}
.btn03.lv_award_img_btn:hover:after {
  right: 10px;
}
.btn03.lv_award_img_btn:active {
  margin-top: 4px;
  margin-bottom: -4px;
  border: 2px inset rgba(13, 118, 108, 1);
}
.btn03.lv_award_img_btn:active:before {
}
.btn03.lv_award_img_btn:active:after {
  right: 6px;
}
.award_btns {
  background-color: #F5F5F5;
}

/* awardcerenony */
.awardceremony_intro {
  text-align: center;
  font-size: 1.125rem;
  font-weight: bold;
}
.awardceremony_list {
  display: flex;
  gap: 40px;
}
.awardceremony_list + .awardceremony_list {
  margin-top: 100px
}
.awardceremony_item {

}
.awardceremony_item_logo {
  max-width: 480px;
  margin: 0 auto 20px;
}
.awardceremony_item_head {
  display: flex;
  flex-direction: row-reverse;
  gap: 40px;
  justify-content: space-between;
  margin-bottom: 40px;
}
.awardceremony_item_img {
  width: calc((100% - 40px) / 2);
  height: fit-content;
  border-radius: 20px;
  overflow: hidden;
}
.awardceremony_item_info {
  width: calc((100% - 40px) / 2);
}
.awardceremony_item_info_lead {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.awardceremony_item_info_company {
  font-size: 1.5625rem;
  font-weight: bold;
  color: #108478;
  margin-bottom: 24px;
}
.awardceremony_item_info_list {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}
.awardceremony_item_info_list a {
  text-decoration-line: underline;
  color: #0E5FB9;
}
.awardceremony_item_body {
  background-color: #E9EEEE;
  border-radius: 10px;
}
.awardceremony_item_acc_btn {
  display: flex;
}
.awardceremony_item_acc_interview_img {
  height: fit-content;
  border-radius: 10px;
  overflow: hidden;
  margin-top: 40px;
}

.awardceremony_item_acc_btn {
  display: block;
  cursor: pointer;
  font-size: 1.25rem;
  font-weight: bold;
  color: #108478;
  margin-top: 8px;
  position: relative;
  padding: 20px 50px 20px 20px;
}
.awardceremony_item_acc_btn:hover {
  opacity: .7;
  transition: .4s;
}
.awardceremony_item_acc_btn_icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  display: inline-block;
  vertical-align: middle;
  color: #108478;
  line-height: 1;
  width: 36px;
  height: 36px;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-sizing: content-box;
  background-color: #fff;
  border-radius: 100px;
}
.awardceremony_item_acc_btn_icon > span {
  width: 16px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  position: relative;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.awardceremony_item_acc_btn_icon > span::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
  transition: .4s;
}
.awardceremony_item_acc_btn.open .awardceremony_item_acc_btn_icon > span::before {
  transform: rotate(180deg);
}
.awardceremony_item_acc_cont {
  padding: 20px 20px 40px;
  display: none;
}
.awardceremony_item_acc_img_list {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  margin-bottom: 32px;
}
.awardceremony_item_acc_img_item {
  width: calc((100% - 50px) / 3);
  height: fit-content;
  overflow: hidden;
  border-radius: 10px;
}
.awardceremony_item_acc_interview {
  display: flex;
  gap: 40px;
  justify-content: space-between;
}
.awardceremony_item_acc_interview_left {
  width: calc((100% - 40px) / 2);
}
.awardceremony_item_acc_interview_company {
  font-size: 1.125rem;
  font-weight: 500;
}
.awardceremony_item_acc_interview_name {
  font-size: 1.125rem;
  font-weight: 400;
}
.awardceremony_item_acc_interview_movie {
  margin-top: 24px;
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.awardceremony_item_acc_interview_movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.awardceremony_item_acc_interview_right {
  width: calc((100% - 40px) / 2);
}
.awardceremony_item_acc_interview_txt {
  font-size: 1.125rem;
  font-weight: 400;
}
.awardceremony_list_col2 .awardceremony_item {
  width: calc((100% - 40px) / 2);
}
.awardceremony_list_col2 .awardceremony_item_head {
  flex-direction: column;
  justify-content: flex-start;
}
.awardceremony_list_col2 .awardceremony_item_img ,
.awardceremony_list_col2 .awardceremony_item_info {
  width: 100%;
}
.awardceremony_list_col2 .awardceremony_item_acc_img_list {
  flex-direction: column;
  align-content: center;
  width: 290px;
  margin-left: auto;
  margin-right: auto;
}
.awardceremony_list_col2 .awardceremony_item_acc_img_item {
  width: 100%;
}
.awardceremony_list_col2 .awardceremony_item_acc_interview {
  flex-direction: column;
  gap: 24px;
}
.awardceremony_list_col2 .awardceremony_item_acc_interview_left,
.awardceremony_list_col2 .awardceremony_item_acc_interview_right {
  width: 100%;
}

/* contact */
body:not(.companies) .bl_form {
  max-width: 824px;
  margin-left: auto;
  margin-right: auto;
}
body:not(.companies) .bl_form select,
body:not(.companies) .bl_form input[type=text],
body:not(.companies) .bl_form input[type=email],
body:not(.companies) .bl_form input[type=tel],
body:not(.companies) .bl_form textarea {
  border: 1px solid #108478;
  padding: 8px;
  height: 50px;
  border-radius: 8px;
  box-sizing: border-box;
  font-size: 1rem;
  line-height: 1.5;
}
body:not(.companies) .bl_form select:focus,
body:not(.companies) .bl_form input[type=text]:focus,
body:not(.companies) .bl_form input[type=email]:focus,
body:not(.companies) .bl_form input[type=tel]:focus,
body:not(.companies) .bl_form textarea:focus {
  opacity: 1;
}
body:not(.companies) .bl_form textarea {
  height: 150px;
}
body:not(.companies) .bl_form input[type=radio],
body:not(.companies) .bl_form input[type=checkbox] {
  position: absolute;
  opacity: 0;
  top: 50%;
  left: 0;
  width: 30px;
  height: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin: 0;
  border-radius: 50%;
  font-size: 1em;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  box-sizing: border-box;
  z-index: 2;
}
body:not(.companies) .bl_form input[type=radio]:focus,
body:not(.companies) .bl_form input[type=checkbox]:focus {
  opacity: 1;
}
body:not(.companies) .bl_form input[type=checkbox] {
  border-radius: 8px;
}
body:not(.companies) .bl_form .wpcf7-list-item {
  display: block;
  margin-bottom: 3px;
  margin-top: 12px;
  position: relative;
}
body:not(.companies) .bl_form .wpcf7-list-item-label {
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  cursor: pointer;
}
body:not(.companies) .bl_form .wpcf7-list-item-label:before {
  display: block;
  flex-shrink: 0;
  content: "";
  border-radius: 50%;
  border: 1px solid #108478;
  background: #fff;
  width: 30px;
  height: 30px;
  margin-right: 10px;
}
body:not(.companies) .bl_form .wpcf7-list-item-label:after {
  display: block;
  position: absolute;
  content: "";
  border-radius: 50%;
  width: 0px;
  height: 0px;
  left: 7px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border: none;
}
body:not(.companies) .bl_form .wpcf7-acceptance .wpcf7-list-item-label:before,
body:not(.companies) .bl_form .wpcf7-checkbox .wpcf7-list-item-label:before {
  border-radius: 8px;
}
body:not(.companies) .bl_form .wpcf7-acceptance .wpcf7-list-item-label:after,
body:not(.companies) .bl_form .wpcf7-checkbox .wpcf7-list-item-label:after {
  border-radius: 8px;
}
body:not(.companies) .bl_form input[type=radio]:checked + span.wpcf7-list-item-label::after {
  border: 8px solid #108478;
}
body:not(.companies) .bl_form input[type=checkbox]:checked + span.wpcf7-list-item-label::after {
  display: block;
  content: "";
  position: absolute;
  top: 2px;
  left: 16px;
  width: 10px;
  height: 17px;
  border-radius: 0;
  border-bottom: 0.2em solid #108478;
  border-right: 0.2em solid #108478;
  -webkit-transform: translate(-50%, 0) rotate(45deg);
          transform: translate(-50%, 0) rotate(45deg);
}
body:not(.companies) .bl_form select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg width="24" height="14" viewBox="0 0 24 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.5875 13.4125C11.3688 14.1937 12.6375 14.1937 13.4188 13.4125L23.4188 3.41249C24.2001 2.63124 24.2001 1.36249 23.4188 0.581238C22.6376 -0.200012 21.3688 -0.200012 20.5875 0.581238L12 9.16874L3.41255 0.587487C2.6313 -0.193763 1.36255 -0.193763 0.581299 0.587487C-0.199951 1.36874 -0.199951 2.63749 0.581299 3.41874L10.5813 13.4187L10.5875 13.4125Z" fill="%232f2f2f"/></svg>');
  background-position: top 50% right 10px;
  background-repeat: no-repeat;
  background-size: 16px;
  color: #108478;
}
@media all and (min-width: 600px) {
  body:not(.companies) .bl_form select {
    background-size: 24px;
  }
}
body:not(.companies) .bl_form select:focus {
  box-shadow: 0 0 4px 4px rgba(14, 155, 148, 0.5);
  opacity: 1;
}
body:not(.companies) .bl_form_input {
  width: 100%;
}
body:not(.companies) .bl_form_input__lg {
  width: 100%;
}
@media all and (min-width: 600px) {
  body:not(.companies) .bl_form_input__md {
    max-width: 400px;
  }
}
@media all and (min-width: 600px) {
  body:not(.companies) .bl_form_input__sm {
    max-width: 200px;
  }
}
body:not(.companies) .bl_form_dl {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  margin-top: 40px;
  margin-bottom: 20px;
}
body:not(.companies) .bl_form_dl:first-child {
  margin-top: 0;
}
body:not(.companies) .bl_form_dt {
  margin-bottom: 10px;
  padding-top: 10px;
  text-align: left;
}
@media all and (min-width: 600px) {
  body:not(.companies) .bl_form_dt {
    width: 24%;
    max-width: 200px;
    margin-bottom: 28px;
  }
}
body:not(.companies) .bl_form_dt__lg {
  width: 100%;
  max-width: 100%;
  margin-bottom: 12px;
  text-align: center;
}
body:not(.companies) .bl_form_dd {
  width: 100%;
  margin-bottom: 20px;
}
@media all and (min-width: 600px) {
  body:not(.companies) .bl_form_dd {
    max-width: 600px;
    width: 72%;
    margin-left: auto;
    margin-bottom: 28px;
  }
}
body:not(.companies) .bl_form_dd__lg {
  width: 100%;
  max-width: 100%;
  text-align: center;
}
body:not(.companies) .bl_form_dd__lg span {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
body:not(.companies) .bl_form_dd_txt {
  padding: 12px 0;
}
body:not(.companies) .bl_form_label {
  margin-right: 1em;
}
body:not(.companies) .bl_form_btn_wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 1fr;
  gap: 20px;
}
@media all and (min-width: 600px) {
  body:not(.companies) .bl_form_btn_wrapper {
    gap: 40px;
  }
}

.el_must {
  display: inline-block;
  width: 42px;
  padding: 3px 0 4px 0;
  border-radius: 4px;
  background-color: rgb(171, 35, 35);
  line-height: 1;
  text-align: center;
  font-size: 0.75rem;
  color: #fff;
  vertical-align: 2px;
}
@media all and (min-width: 600px) {
  .el_must {
    font-size: 0.875rem;
    vertical-align: 1px;
  }
}

.cont .step_confirm,
.cont .step_thanks {
  display: none;
}
/*.cont .wpcf7-response-output {
  display: none;
}*/
.btn01.btn_submit {
  width: 400px;
  border: unset;
}
.btn09.btn_back {
  width: 300px;
  margin: 0 auto;
}
.btn01.btn_submit:disabled {
  pointer-events: none;
  width: 400px;
  color: #222;
  background: #EEF8F7;
  background: linear-gradient(90deg, #A8A8A8 0%, #E7E7E7 33%, #E7E7E7 66%, #A8A8A8 100%);
}
.btn01.btn_submit:disabled:before {
  background: #108478;
  background: linear-gradient(90deg, #7D7D7D 0%, #CCCCCC 33%, #CCCCCC 66%, #7D7D7D 100%);
}
.btn01.btn_submit:disabled:after {
  background-image: url(./assets/images/common/icon_arrow04.svg);
}
form.submitting .wpcf7-spinner {
  margin: 0 auto;
  display: block;
}

/* faq */
.el_index {
  display: flex;
  flex-direction: column;
}
.el_index > a {
  display: block;
  width: 100%;
  padding: 16px 40px 16px 0;
  border-bottom: 1px solid #CEDAD8;
  font-size: 1.125rem;
  color: #108478;
  position: relative;
}
.el_index > a:after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: .1s;
  background-image: url(./assets/images/common/icon_arrow02.svg);
  transform: rotate(90deg) translateY(-50%);
  transform-origin: top;
  right: 14px;
}
.el_index > a .hp_fzM {
  font-size: 1rem;
}

.el_faq {
  border: 1px solid #108478;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 32px;
}
.el_faq + .el_faq {
  margin-top: 16px;
}
.el_faq summary {
  list-style: none;
  cursor: pointer;
  padding: 20px;
  position: relative;
}
.el_faq summary::-webkit-details-marker {
  display: none;
}
.el_faq summary::after {
  content: none;
}
.el_faq_a_outer {
  padding: 0 20px 20px;
}
.el_faq_q {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 1.125rem;
  color: #108478;
  padding: 6px 50px 6px 0;
  font-weight: bold;
}
.el_faq_a {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

/* Q / A文字用 */
.el_faq_icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  min-width: 24px;
  line-height: 1;
  font-size: 2rem;
  font-weight: 700;
  color: #108478;
}
.el_faq_a .el_faq_icon {
  color: #966f03;
}
.el_faq_icon + p {
  line-height: 1.8;
}

/* 開閉アイコン */
.el_faq_icon_toggle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  display: inline-block;
  vertical-align: middle;
  color: #108478;
  line-height: 1;
  width: 28px;
  height: 28px;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-sizing: content-box;
}
.el_faq_icon_toggle > span {
  width: 14px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.el_faq_icon_toggle > span::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
  transition: transform .4s;
}
.el_faq[open] .el_faq_icon_toggle > span::before,
.el_faq.open .el_faq_icon_toggle > span::before {
  transform: rotate(180deg);
}


.accessibility #main ,
.privacy #main ,
.policy #main {
  line-height: 1.8;
}

/* accessibility */
.accessibility-table table {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
}
.accessibility-table table th {
  background-color: #F7F7F7;
  padding: 6px 20px;
  border: 1px solid #C5C5C5;
  border-bottom: none;
  text-align: center;
  vertical-align: middle;
  font-size: var(--fz-16);
}
.accessibility-table table td {
  border: 1px solid #C5C5C5;
  padding: 10px 12px;
  text-align: center;
  vertical-align: middle;
  font-size: var(--fz-14);
}
.accessibility-table table .wd30 {
  width: 40%;
  text-align: left;
}
.accessibility-table table .wd20 {
  width: 20%;
  text-align: left;
}
.accessibility-table table th.wd30 ,
.accessibility-table table th.wd20 {
  text-align: center;
}

/* サイトマップ */
.sitemap_wrap {
  display: flex;
  justify-content: space-between;
  background: #fff;
  border-radius: 8px;
  padding: 24px 32px;
}
.sitemap_col1 {
  width: 100%;
}
.sitemap_col2 {
  flex-basis: 100%;
  display: flex;
  gap: 24px;
}
.sitemap_col1 a {
  padding-left: 20px;
  background-image: url(./assets/images/common/icon_home.svg);
  background-size: 13px 15px;
  background-repeat: no-repeat;
  background-position: center left;
  font-weight: 500;
}
.sitemap_col2 > ul {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 32px 24px;
  width: calc((100% - 24px) / 2);
}
.sitemap_col2 > ul > li {
  width: 100%;
  font-size: 1rem;
}
.sitemap_col2 > ul > li > ul {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 14px;
  width: 100%;
  padding-left: 16px;
  margin: 16px 0 0;
}
.sitemap_col2 > ul > li > ul > li {
  width: 100%;
  font-size: .875rem;
}
.sitemap_col2 > ul > li > a {
  font-weight: 500;
  padding-left: 14px;
  background-image: url(./assets/images/common/icon_arrow05.svg);
  background-size: 8px 12px;
  background-repeat: no-repeat;
  background-position: center left;
}

/* column */
.column_flex {
  display: flex;
  gap: 24px;
  margin-top: 40px;
}
.column_flex_left {
  width: 200px;
}
.column_flex_right {
  width: calc(100% - 24px - 200px);
}
.column_flex_img {
  overflow: hidden;
  border-radius: 10px;
}
.column_flex_name {
  margin-top: 10px;
  font-size: 1rem;
}
.column_feature {
  display: flex;
  gap: 24px;
  align-items: center;
  margin-top: 32px;
}
.column_feature_img {
  width: 150px;
}
.column_single {
}
.column_single p {
  margin-top: 32px;
  line-height: 2;
  letter-spacing: .03em;
  font-weight: 400;
}
.column_img {
  max-width: 800px;
  height: fit-content;
  border-radius: 10px;
  overflow: hidden;
  margin: 0 auto;
}
.column_single .column_img_caption {
  text-align: center;
  margin-top: 10px;
  display: block;
}
.column_single .heading04 {
  line-height: 2;
  font-size: 1.375rem;
}

/* forum */
.forum_wrap {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 18px;
}
.forum_wrap + .btn_wrap {
  margin-bottom: 80px;
}
.forum_wrap_left {
  width: 560px;
  min-width: 0;
}
.forum_wrap_right {
  width: 440px;
  min-width: 0;
}
.forum_wrap_img {
  width: 360px;
  margin: 0 auto 10px;
  text-align: center;
}
.forum_wrap_right .btn {

}
body.forum .top_company_feature_item {
  width: 340px;
}
.program_wrap {
  margin-bottom: 40px;
}
.program_item {
  display: flex;
  border-bottom: 1px dotted #108478;
  padding: 16px 0;
}
.program_item_time {
  width: 190px;
  font-size: 1.5rem;
  font-weight: bold;
  color: #108478;
}
.program_item_body {
  width: calc(100% - 190px);
}
.program_item_ttl {
  font-size: 1.5rem;
  font-weight: bold;
  color: #108478;
}
.program_item_lead {
  font-size: 1.375rem;
  font-weight: bold;
  color: #108478;
  margin-top: 16px;
}
.program_item_toudan1 {
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 30px;
}
.program_item_toudan1_bg {
  border-radius: 10px;
  padding: 16px;
  background-color: #F2F6F5;
}
.program_item_toudan1_img {
  width: 180px;
  height: fit-content;
  overflow: hidden;
  border-radius: 10px;
  flex-shrink: 0;
}
.program_item_toudan1_info {

}
.program_item_toudan1_ttl {
  font-size: 1.125rem;
  font-weight: bold;
  color: #108478;
  margin-bottom: 16px;
}
.program_item_toudan1_txt {
  font-size: .9375rem;
}
.program_item_txt {
  margin-top: 24px;
  font-size: 1rem;
}
.program_item_toudan2 {
  margin-top: 24px;
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.program_item_toudan2_item {
  width: 180px;
}
.program_item_toudan2_img {
  width: 180px;
  height: fit-content;
  overflow: hidden;
  border-radius: 10px;
  margin-bottom: 10px;
}
.program_item_toudan2_info {
  text-align: center;
}
.program_item_toudan2_ttl {
  font-size: 1.125rem;
  font-weight: bold;
  color: #108478;
}
.program_item_toudan2_txt {
  font-size: .9375rem;
  font-weight: bold;
}
.program_item_toudan2_img_mc {
  border-radius: 200px;
}
.forum_benefit {
  background-color: #F2F6F5;
  border-radius: 10px;
  padding: 50px 24px 24px;
  position: relative;
}
.forum_benefit_icon {
  position: absolute;
  width: 80px;
  height: 80px;
  left: 50%;
  transform: translateX(-50%);
  top: -40px;
}
.forum_benefit_ttl {
  text-align: center;
  font-size: 1.625rem;
  margin-bottom: 8px;
}
.forum_benefit_wrap {
  display: flex;
  flex-direction: row-reverse;
  gap: 40px;
  max-width: 770px;
  margin: 0 auto;
  text-align: center;
}
.forum_benefit_wrap_img {
  width: 146px;
  height: 146px;
  border-radius: 100px;
  flex-shrink: 0;
}
.forum_benefit_wrap_txt {
  padding-top: 10px;
}
.forum_place {
  display: flex;
  gap:24px;
  justify-content: space-between;
}
.forum_place_info {
  width: 560px;
}
.forum_place_dl {

}
.forum_place_dl {
}
.forum_place_dl > dt {
  width: 112px;
  height: fit-content;
  border-radius: 50px;
  flex-shrink: 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
  background-color: #108478;
  text-align: center;
  padding: 3px 8px;
  min-width: 112px;
  margin-bottom: 16px;
}
.forum_place_dl > dd {
  margin-bottom: 24px;
}
.forum_place_map {
  width: 480px;
  height: 300px;
}
.forum_place_map_wrap ,
.forum_place_map_wrap iframe {
  width: 100%;
  height: 100%;
}

/* forums */
.forums_list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-bottom: 80px;
}
.forums_item {
  background: #fff;
  border: 1px solid #E4E4E4;
  box-shadow: 0 3px 6px rgba(0,0,0,.1);
  border-radius: 10px;
  overflow: hidden;
  width: calc( (100% - 40px) / 2 );
  background-image: url(./assets/images/common/icon_arrow02.svg);
  background-repeat: no-repeat;
  background-size: 24px auto;
  background-position: right 10px bottom 10px;
}
.forums_item_img {
}
.forums_item_img img {
  width: 100%;
}
.forums_item_ttl {
  color: #fff;
  font-size: 1.75rem;
  font-weight: bold;
  background: #108478;
  text-align: center;
  padding: 10px;
}
.forums_item_body {
   padding: 16px 20px 48px;
   position: relative;
}
.forums_item_dl {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 0;
  margin-bottom: 8px;
}
.forums_item_dl dt {
  width: 90px;
  font-weight: bold;
  font-size: 1rem;
}
.forums_item_dl dd {
  width: calc(100% - 90px);
  font-weight: bold;
  font-size: 1rem;
  color: #108478;
}
.forums_item_program {
}
.forums_item_program_ttl {
  color: #108478;
}
.forums_item_program_txt {
  font-size: .875rem;
}
.forums_item_program_panel {
  display: flex;
  gap: 20px;
  margin-top: 20px;
}
.forums_item_program_panel_item {
  width: 210px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  text-align: center;
}
.forums_item_program_panel_item_img {
  width: 140px;
  height: fit-content;
  overflow: hidden;
  border-radius: 10px;
}
.forums_item_program_panel_item_name {
  font-size: .875rem;
}
.forums_item_okada {
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 100px;
  overflow: hidden;
  top: 80px;
  right: 20px;
}
.forums_item_r7_second .forums_item_program li:nth-of-type(1) ,
.forums_item_r7_second .forums_item_program li:nth-of-type(2) {
  padding-right: 130px;
}

/* forum_single */
.forum_end {
  width: 104px;
  height: 24px;
  font-size: 1rem;
  color: #fff;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 30px;
  background-color: #BE1111;
}
.forum_single_wrap {
  display: flex;
  flex-direction: row-reverse;
  gap: 24px;
}
.forum_single_wrap_img {
  width: 310px;
  height: fit-content;
  border-radius: 10px;
  overflow: hidden;
}
.forum_single_wrap .forum_single_wrap_img + .dl {
  width: 624px;
}
.forum_single_wrap2 {
  display: flex;
  gap: 20px;
  margin-bottom: 24px;
}
.forum_single_wrap2_img {
  width: 200px;
  height: fit-content;
  overflow: hidden;
  border-radius: 10px;
  flex-shrink: 0;
}
.forum_single_wrap2_img
.forum_single_wrap2_body {

}
.forum_single_wrap2_body_ttl {
  color: #108478;
  font-weight: bold;
  font-size: 1.125rem;
  margin-bottom: 16px;
}
.forum_single_txt {
  font-size: 1rem;
}
.forum_single_img_wrap {
  display: flex;
  gap: 20px;
  margin: 24px 0;
}
.forum_single_img {
  height: fit-content;
  overflow: hidden;
  border-radius: 10px;
}
.forum_special {
}
.forum_special_item:not(:last-of-type) {
  border-bottom: 1px solid #E4E4E4;
  margin-bottom: 40px;
  padding-bottom: 40px;
}
.forum_special_company {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 16px;
}
.forum_special_company_logo {
  width: 260px;
}
.forum_special_company_name a {
  color: #108478;
  text-decoration: underline;
  font-size: 1.125rem;
  font-weight: bold;
}
.forum_special_company_name span {
  display: block;
}
.forum_single_panel {
  display: flex;
  gap: 40px;
  justify-content: center;
  margin: 40px auto;
}
.forum_single_panel_item {
  display: flex;
  align-items: center;
  text-align: center;
  flex-direction: column;
  gap: 16px;
}
.forum_single_panel_item_img {
  width: 250px;
  height: fit-content;
  overflow: hidden;border-radius: 10px;
}
.column_movie {
  margin-top: 24px;
  position: relative;
  padding-bottom: 43.25%;
  height: 0;
  overflow: hidden;
}
.column_movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ==========================================================================
Component [ grid / button / form / media... ]
========================================================================== */

/* wrap */
.cont {
  padding: 64px 20px;
}
.cont_ttl {
  font-size: 1.75rem;
  font-weight: bold;
  text-align: center;
  padding: 0 10px 19px;
  max-width: 960px;
  margin: 0 auto 32px;
  position: relative;
}
.cont_ttl:after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background: #79FF12;
  background: linear-gradient(90deg, rgba(121, 255, 18, 0) 0%, rgba(16, 132, 120, 1) 33%, rgba(16, 132, 120, 1) 66%, rgba(121, 255, 18, 0) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.cont_inner {
  max-width: 1040px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.cont_inner_s {
  /*max-width: 960px;*/
}
.container {
  
}
.wrap01 {
  background: #F2F6F5;
  padding: 40px 48px;
  border-radius: 20px;
  margin: 0 auto;
  max-width: 1280px;
}
.wrap02 {
  background: #F8F8F8;
  padding: 40px 48px;
  border-radius: 20px;
  margin: 0 auto;
  max-width: 1280px;
}
.wrap03 {
  background: #fff;
  padding: 40px 48px;
  border-radius: 20px;
  margin: 0 auto;
  max-width: 1280px;
  border: 1px solid #108478;
}

/* list */
.list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.list li {
  padding-left: 1em;
  position: relative;
}
.list li:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #108478;
  position: absolute;
  top: 8px;
  left: 2px;
}
.ol li {
  counter-increment: orderdlist;
  padding-left: 28px;
  position: relative;
}
.ol li:before {
  content: counter(orderdlist) ". ";
  color: #108478;
  position: absolute;
  top: 0;
  left: 0;
}
.ol {
  list-style: none;
  counter-reset: orderdlist;
}
.list2 {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 26px;
}
.list2 li {
  padding-left: 28px;
  position: relative;
  font-size: 1.125rem;
  font-weight: 400;
}
.list2 li:before {
  content: "・";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.dl {
  display: flex;
  gap: 20px 30px;
  flex-wrap: wrap;
}
.dl > dt {
  width: 112px;
  height: fit-content;
  border-radius: 50px;
  flex-shrink: 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
  background-color: #108478;
  text-align: center;
  padding: 3px 8px;
  min-width: 112px;
}
.dl > dd {
   width: calc(100% - 142px);
}

/* table */
.table {
  display: flex;
  flex-wrap: wrap;
}
.table dt {
  margin-top: -1px;
  border-top: 1px solid #CEDAD8;
  border-bottom: 1px solid #CEDAD8;
  background-color: #108478;
  color: #fff;
  padding: 10px;
  font-size: 1rem;
  font-weight: bold;
  width: 200px;
  min-height: 60px;
}
.table dd {
  margin-top: -1px;
  border-top: 1px solid #CEDAD8;
  border-bottom: 1px solid #CEDAD8;
  background: #fff;
  padding: 10px 20px;
  width: calc(100% - 200px);
  min-height: 60px;
}
.table02 dt {
  color: #222;
  background-color: #F1F6F6;
  font-weight: 500;
}

/* lv */
.lv {
  max-width: 1080px;
  padding: 36px 20px 0;
  margin: 0 auto;
}
.subpage.r7_first .lv ,
.subpage.r7_second .lv ,
.subpage.r6_first .lv ,
.subpage.r6_second .lv {
  width: fit-content;
}
.lv_txt {
  font-size: 2.375rem;
  font-weight: bold;
  text-align: center;
  color: #108478;
  width: fit-content;
  margin: 0 auto;
}
.lv_txt span {
  display: block;
  margin: 0 auto;
  font-size: 1.625rem;
}
.lv_nav {
  display: flex;
  justify-content: center;
  max-width: 1080px;
  padding: 0 20px;
  margin: 0 auto;
  gap: 20px;
  position: relative;
  z-index: 1;
  margin-top: 40px;
}

/* grid */
.grid {
  clear: both;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
}

/* column */
.col-1 { width: 8.33333333%; }
.col-2 { width: 16.66666667%; }
.col-3 { width: 25%; }
.col-4 { width: 33.33333333%; }
.col-5 { width: 41.66666667%; }
.col-6 { width: 50%; }
.col-7 { width: 58.33333333%; }
.col-8 { width: 66.66666667%; }
.col-9 { width: 75%; }
.col-10 { width: 83.33333333%; }
.col-11 { width: 91.66666667%; }
.col-12 { width: 100%; }

/* btn */
.btn_outer {
  position: relative;
  z-index: 1;
  padding-top: 1px;
}
.btn_wrap {
  display: flex;
  justify-content: center;
  gap: 40px;
  position: relative;
  z-index: 1;
}
.btn {
  background: #ECAE33;
  background: linear-gradient(90deg, rgba(236, 174, 51, 1) 0%, rgba(255, 218, 143, 1) 33%, rgba(255, 218, 143, 1) 66%, rgba(236, 174, 51, 1) 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  font-weight: bold;
  text-align: center;
  width: 100%;
  max-width: 580px;
  min-height: 75px;
  border-radius: 150px;
  gap: 10px;
  transition: .1s;
  position: relative;
  padding: 0 48px;
}
.btn:before {
  content: "";
  background: #C98F1C;
  background: linear-gradient(90deg, rgba(201, 143, 28, 1) 0%, rgba(255, 198, 84, 1) 33%, rgba(255, 198, 84, 1) 66%, rgba(201, 143, 28, 1) 100%);
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  z-index: -1;
  transition: .1s;
}
.btn:after {
  content: "";
  display: block;
  background-image: url(./assets/images/common/icon_arrow04.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 24px;
  height: 24px;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  transition: .1s;
}
.btn:hover {
  opacity: 1 !important;
  margin-top: 6px;
  margin-bottom: -6px;
}
.btn:hover:before {
  top: 4px;
}
.btn:active {
  margin-top: 10px;
  margin-bottom: -10px;
  border: 3px inset rgba(236, 174, 51, 1);
}
.btn:active:before {
  top: 0px;
}
.btn:active:after {
  right: 13px;
  transition: .4s;
}
.btn01 {
  color: #fff;
/*  background: #274269;
  background: linear-gradient(90deg, rgba(39, 66, 105, 1) 0%, rgba(64, 118, 181, 1) 33%, rgba(64, 118, 181, 1) 66%, rgba(39, 66, 105, 1) 100%);*/
  background: #08433D;
  background: linear-gradient(90deg, rgba(8, 67, 61, 1) 0%, rgba(16, 132, 120, 1) 33%, rgba(16, 132, 120, 1) 66%, rgba(8, 67, 61, 1) 100%);
}
.btn01:before {
/*  background: #1A293D;
  background: linear-gradient(90deg, rgba(26, 41, 61, 1) 0%, rgba(56, 105, 173, 1) 33%, rgba(56, 105, 173, 1) 66%, rgba(26, 41, 61, 1) 100%);*/
  background: #064B44;
  background: linear-gradient(90deg, rgba(6, 75, 68, 1) 0%, rgba(16, 113, 104, 1) 33%, rgba(16, 113, 104, 1) 66%, rgba(6, 75, 68, 1) 100%);
}
.btn01:after {
  /*background-image: url(./assets/images/common/icon_arrow03.svg);*/
  background-image: url(./assets/images/common/icon_arrow01.svg);
}
.btn01:active {
  border: 3px inset rgba(13, 118, 108, 1);
}
.btn02 {
  flex-direction: column;
  gap: 0;
}
.btn02 span {
  font-size: .875rem;
}
.btn03 {
  border: 1px solid #108478;
  position: relative;
  color: #108478;
  background: #EEF8F7;
  background: linear-gradient(90deg, rgba(238, 248, 247, 1) 0%, rgba(255, 255, 255, 1) 33%, rgba(255, 255, 255, 1) 66%, rgba(238, 248, 247, 1) 100%);
}
.btn03:before {
  background: #108478;
  background: linear-gradient(90deg, rgba(16, 132, 120, 1) 0%, rgba(200, 224, 218, 1) 33%, rgba(200, 224, 218, 1) 66%, rgba(16, 132, 120, 1) 100%);
}
.btn03:after {
  position: relative;
  top: 0;
  right: 0;
  transform: unset;
  background-image: url(./assets/images/common/icon_pdf.svg);
  width: 20px;
  height: 26px;
}
.btn03:active {
  border: 3px inset rgba(200, 224, 218, 1);
}
.btn03:hover:after {
  right: 0;
}
.btn04 {
  min-height: 40px;
  width: 100%;
  max-width: 480px;
  font-size: 1rem;
  color: #fff;
  padding: 0 24px;
  background: #08433D;
  background: linear-gradient(90deg, rgba(8, 67, 61, 1) 0%, rgba(16, 132, 120, 1) 33%, rgba(16, 132, 120, 1) 66%, rgba(8, 67, 61, 1) 100%);
}
.btn04:before {
  background: #064B44;
  background: linear-gradient(90deg, rgba(6, 75, 68, 1) 0%, rgba(16, 113, 104, 1) 33%, rgba(16, 113, 104, 1) 66%, rgba(6, 75, 68, 1) 100%);
  top: 5px;
}
.btn04:after {
  background-image: url(./assets/images/common/icon_arrow01.svg);
  width: 18px;
  height: 18px;
  right: 10px;
}
.btn04:hover {
  margin-top: 4px;
  margin-bottom: -4px;
}
.btn04:hover:before {
  top: 1px;
}
.btn04:active {
  margin-top: 5px;
  margin-bottom: -5px;
  border: 2px inset rgba(13, 118, 108, 1);
}
.btn04:active:before {
  top: 0;
}
.btn04:active:after {
  right: 5px;
}
.btn05 {
  border: 1px solid #108478;
  position: relative;
  color: #108478;
  background: #EEF5FF;
  background: linear-gradient(90deg, rgba(238, 245, 255, 1) 0%, rgba(255, 255, 255, 1) 33%, rgba(255, 255, 255, 1) 66%, rgba(238, 245, 255, 1) 100%);
}
.btn05:before {
  background: #1A293D;
  background: linear-gradient(90deg, rgba(26, 41, 61, 1) 0%, rgba(56, 105, 173, 1) 33%, rgba(56, 105, 173, 1) 66%, rgba(26, 41, 61, 1) 100%);
}
.btn05:after {
  background-image: url(./assets/images/common/icon_arrow06.svg);
}
.btn05:active {
  border: 3px inset #A5C2E8;
}
.btn05:active:after {
  right: 13px;
}
.btn06 {
  border: 1px solid #108478;
  color: #108478;
  background: #fff;
  box-sizing: border-box;
  max-width: 308px;
  font-size: 1rem;
  min-height: 66px;
  padding: 0 40px 0 26px;
  line-height: 1.3;
}
.btn06:before {
  top: 6px;
  background: #108478;
  background: linear-gradient(90deg, rgba(16, 132, 120, 1) 0%, rgba(200, 224, 218, 1) 33%, rgba(200, 224, 218, 1) 66%, rgba(16, 132, 120, 1) 100%);
}
.btn06:after {
  background-image: url(./assets/images/common/icon_arrow02.svg);
  transform: rotate(90deg) translateY(-50%);
  transform-origin: top;
  right: 14px;
}
.btn06:hover {
  margin-top: 3px;
  margin-bottom: -3px;
}
.btn06:hover:before {
  top: 3px;
}
.btn06:active {
  margin-top: 6px;
  margin-bottom: -6px;
  border: 3px inset rgba(200, 224, 218, 1);
}
.btn06:active:before {
  top: 0px;
}
.btn06:active:after {
  right: 18px;
  transition: .4s border;
}
.btn07 {
  min-height: 40px;
  width: 300px;
  font-size: .875rem;
  color: #108478;
  border: 1px solid #108478;
  padding: 0 24px;
  background: #fff;
  gap: 0;
}
.btn07:before {
  background: #064B44;
  background: linear-gradient(90deg, rgba(6, 75, 68, 1) 0%, rgba(16, 113, 104, 1) 33%, rgba(16, 113, 104, 1) 66%, rgba(6, 75, 68, 1) 100%);
  top: 5px;
}
.btn07:after {
  position: relative;
  top: 0;
  right: 0;
  transform: unset;
  background-image: url(./assets/images/common/icon_pdf.svg);
  width: 11px;
  height: 15px;
}
.btn07:hover {
  margin-top: 3px;
  margin-bottom: -3px;
}
.btn07:hover:before {
  top: 2px;
}
.btn07:active {
  margin-top: 5px;
  margin-bottom: -5px;
  border: 2px inset rgba(13, 118, 108, 1);
}
.btn07:active:before {
  top: 0;
}
.btn07:active:after {
  right: 0;
}
.btn08 {
  border: 1px solid #108478;
  color: #108478;
  background: #EEF8F7;
  background: linear-gradient(90deg, rgba(238, 248, 247, 1) 0%, rgba(255, 255, 255, 1) 33%, rgba(255, 255, 255, 1) 66%, rgba(238, 248, 247, 1) 100%);
}
.btn08:before {
  background: #108478;
  background: linear-gradient(90deg, rgba(16, 132, 120, 1) 0%, rgba(200, 224, 218, 1) 33%, rgba(200, 224, 218, 1) 66%, rgba(16, 132, 120, 1) 100%);
}
.btn08:after {
  background-image: url(./assets/images/common/icon_arrow02.svg);
}
.btn08:active {
  border: 3px inset rgba(200, 224, 218, 1);
}
.btn09 {
  border: 1px solid #108478;
  color: #108478;
  background: #EEF8F7;
  background: linear-gradient(90deg, rgba(238, 248, 247, 1) 0%, rgba(255, 255, 255, 1) 33%, rgba(255, 255, 255, 1) 66%, rgba(238, 248, 247, 1) 100%);
}
.btn09:before {
  background: #108478;
  background: linear-gradient(90deg, rgba(16, 132, 120, 1) 0%, rgba(200, 224, 218, 1) 33%, rgba(200, 224, 218, 1) 66%, rgba(16, 132, 120, 1) 100%);
}
.btn09:after {
  background-image: url(./assets/images/common/icon_arrow02_left.svg);
  right: unset;
  left: 20px;
}
.btn09:active {
  border: 3px inset rgba(200, 224, 218, 1);
}
.btn10 {
  border: 1px solid #108478;
  position: relative;
  color: #108478;
  background: #fff;
  background: linear-gradient(90deg, rgba(238, 248, 247, 1) 0%, rgba(255, 255, 255, 1) 33%, rgba(255, 255, 255, 1) 66%, rgba(238, 248, 247, 1) 100%);
}
.btn10:before {
  background: #108478;
  background: linear-gradient(90deg, #108478 0%, #C8E0DA 33%, #C8E0DA 66%, #108478 100%);
}
.btn10:after {
  background-image: url(./assets/images/common/icon_arrow02.svg);
}
.btn10:active {
  border: 3px inset rgba(13, 118, 108, 1);
}
.btn10:hover:after {
}
.btn__disabled {
  pointer-events: none !important;
  position: relative;
  color: #222;
  background: #EEF8F7;
  background: linear-gradient(90deg, #A8A8A8 0%, #E7E7E7 33%, #E7E7E7 66%, #A8A8A8 100%);
}
.btn__disabled:before {
  background: #108478;
  background: linear-gradient(90deg, #7D7D7D 0%, #CCCCCC 33%, #CCCCCC 66%, #7D7D7D 100%);
}
.btn__comingsoon {
  pointer-events: none !important;
  position: relative;
}
.btn__comingsoon:after {
  content: "Coming soon";
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  background: rgba(0,0,0,.6);
  position: absolute;
  top: 0;
  left: 0;
  right: unset;
  width: 100%;
  height: calc(100% + 10px);
  border-radius: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: unset;
}
.link01 {
  text-decoration: underline !important;
  color: #108478;
}
.link01:before {
  content: "";
  display: inline-block;
  background-image: url(./assets/images/common/icon_arrow02.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 20px;
  height: 20px;
  position: relative;
  top: 4px;
  margin-right: 4px;
}

/* heading */
.heading01 {
  text-align: center;
  font-size: 2.375rem;
  font-weight: bold;
  color: #108478;
  margin-bottom: 24px;
}
.heading02_fuki {
  position: relative;
  display: inline-block;
  margin-bottom: 20px;
  padding: 14px 30px;
  border: 2px solid #108478;
  border-radius: 100px;
  background-color: #F2F6F5;
  text-align: left;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  color: #108478;
}
.heading02_fuki::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 15%;
  border-style: solid;
  border-width: 16px 16px 0 0;
  border-color: #108478 transparent transparent;
  translate: -50% 100%;
  transform: skew(50deg);
  transform-origin: top;
}
.heading02_fuki::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 15%;
  border-style: solid;
  border-width: 11px 11px 0 0;
  border-color: #F2F6F5 transparent transparent;
  translate: calc(-50% - 0px) 100%;
  transform: skew(50deg);
  transform-origin: top;
}
.heading02 {
  position: relative;
  background: #fff;
  font-size: 2rem;
  font-weight: 600;
  color: #108478;
  margin-bottom: 24px;
}
.heading02 > span {
  background: #fff;
  display: inline-block;
  position: relative;
  z-index: 1;
  padding-right: 40px;
}
.heading02 > span span {
  font-size: 1.625rem;
  display: block;
}
.heading02:before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #108478;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.heading03 {
  font-size: 1.75rem;
  font-weight: 600;
  color: #108478;
}
.heading04 {
  font-size: 1.625rem;
  font-weight: 500;
  padding-left: 14px;
  border-left: 6px solid #108478;
  margin-bottom: 32px;
}
.heading05 {
  font-size: 1.375rem;
  font-weight: bold;
  margin-bottom: 24px;
  color: #108478;
}
.heading06 {
  font-size: 1.375rem;
  font-weight: bold;
  margin-bottom: 24px;
  color: #108478;
}
.heading07 {
  font-size: 1.625rem;
  font-weight: bold;
  margin-bottom: 24px;
  color: #108478;
  text-align: center;
  display: flex;
  justify-content: center;
  gap: 8px;
}
.heading07:before {
  content: "＼";
}
.heading07:after {
  content: "／";
}
.heading08 {
  font-size: 1.375rem;
  font-weight: bold;
  margin-bottom: 24px;
}

/* skip */
.skip {
  width: 1px;
  color: #000000;
  font-size: 0.1%;
  line-height: 0.1;
  background-color: #FFFFFF;
  position: absolute;
  left: -3000px;
  z-index: 30000;
}
a.skip {
  background-color: #FFFFFF;
  /* 変更しない */
  text-align: center;
  /* 変更しない */
  padding: 2px 0;
  /* 変更しない */
  top: auto;
  /* 変更しない */
}
a.skip:active {
  display: block;
  width: 99.99%;
  /* 変更しない */
  font-size: 100%;
  /* 変更しない */
  line-height: 1.6;
  /* 変更しない */
  top: 0;
  /* 変更しない */
  left: 0;
  /* 変更しない */
}
a.skip:focus {
  display: block;
  width: 99.99%;
  /* 変更しない */
  font-size: 100%;
  /* 変更しない */
  line-height: 1.6;
  /* 変更しない */
  top: 0;
  /* 変更しない */
  left: 0;
  /* 変更しない */
}

/* breadcrumbs */
.breadcrumbs_wrap {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
  text-align: right;
}
.breadcrumbs_list {
  box-sizing: border-box;
  display: inline-block;
  padding: 20px 0 30px;
}
.breadcrumbs_list > span {
  display: inline-block;
  position: relative;
  font-size: .8125rem;
  margin-left: 1em;
}
.breadcrumbs_list > span:before {
  content: "／";
  font-size: .75rem;
  margin-right: 1em;
}
.breadcrumbs_list > span a {
  color: #108478;
}
.breadcrumbs_list > span br {
  display: none !important
}
.breadcrumbs_list > span:first-of-type {
  margin-right: 0;
}
.breadcrumbs_list > span:first-of-type:before {
  display: none;
}
.breadcrumbs_list > span img {
  position: relative;
  top: -2px;
}

/* suggest */
.bl_search_kw:has(#suggest) {
    position: relative;
    z-index: 2;
}
#suggest {
    --mis: 45px;
    position: absolute;
    left: 45px;
    top: 100%;
    background-color: #FFFFFF;
    border: 1px solid #CCCCFF;
    font-size: .875rem;
    width: calc(100% - 45px);
}
#suggest div {
    display: block;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    padding-inline: 0.5em;
    padding-block: 0.2em;
}
#suggest div.select{ /* キー上下で選択した場合のスタイル */
    color: #FFFFFF;
    background-color: #3366FF;
}
#suggest div.over{ /* マウスオーバ時のスタイル */
    background-color: #99CCFF;
}

.no-results {
  text-align: center;
  padding: 64px 0 120px;
}
.no-results .page-header.hp_tac {
  color: #108478;
  font-weight: bold;
  font-size: 1.25rem;
  text-align: center;
}