@charset "utf-8";

/* CSS Document */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  word-wrap: break-word;
  word-break: normal;
}

.wp-block-image figure {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

figure {
  margin: 30px 0;
}

@font-face {
  font-family: "futura";
  font-weight: normal;
  font-style: normal;
  src: url(../img/Futura-Dem.ttf);
}

body {
  /*font-family: "Yu Mincho", "游明朝", "游明朝体", "	Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro", "MS Mincho", "ＭＳ 明朝", "	MS PMincho", "ＭＳ Ｐ明朝", "Sawarabi Mincho";*/
  /*font-family: 'Roboto', sans-serif;*/
  background-color: #fff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro W6", "メイリオ", "Meiryo", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #23221f;

  /* font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
    "メイリオ", "Meiryo", sans-serif;
  font-weight: 500; */
}

img {
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: middle;
}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

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

td,
th {
  padding: 0;
}

table {
  background-color: transparent;
}

table col[class*="col-"] {
  display: table-column;
  position: static;
  float: none;
}

table td[class*="col-"],
table th[class*="col-"] {
  display: table-cell;
  position: static;
  float: none;
}

.header_links li,
.work_info li,
.system_detail li,
.breadcrumb ul li,
.sidebar_cat_links li,
.footer_links > ul > li > ul > li,
.footer_links > ul > li,
.g-nav .list li,
.mg_category_links li,
.resolve_ul li,
.lp_feature_ul li,
.footer_in2 ul,
.news_list li,
.sidebar_cat li {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0px;
}

.fixedcontainer {
  width: 1240px;
  margin: 0 auto;
  padding: 0px;
}

.fixedcontainer2 {
  width: 1080px;
  margin: 0 auto;
  padding: 0px;
}

.fixedcontainer3 {
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
  padding: 0px;
}

a {
  color: inherit;
}

a:visited,
a:link,
a:hover,
a:active,
a:focus {
  text-decoration: none;
  outline: none;
}

a:hover {
  transition: 0.6s;
}

.red {
  color: #ed1c24;
}

.bkyellow {
  background-color: #fff100;
}

.bold {
  font-weight: bold;
}

.btline {
  text-decoration: underline;
}

.underline {
  text-decoration: underline;
}

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

.text-left {
  text-align: left;
}

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

.visible-sp {
  display: none;
}

.hidden-sp {
  display: block;
}

.visible-xs {
  display: none;
}

.hidden-xs {
  display: block;
}

.visible-500 {
  display: none;
}

.hidden-500 {
  display: block;
}

.flex {
  display: -webkit-flex;
  display: -webkit-box;
  display: -moz-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}

/*-------------header----------------------*/
.header {
  width: 100%;
  border-bottom: 1px solid #d8d8d8;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1000;
  box-shadow: 0 0 6px rgb(0 0 0 / 24%);
  background-color: #fff;
}

.header.v2 {
  padding: 12px 0 16px;
  box-shadow: 0 0 4px rgb(0 0 0 / 24%);
}

.header.v2 .header_in {
  align-items: stretch;
}

.header.v2 .header_in .header_left {
  align-items: end;
}

.header.v2 .header_in .header_left .header_links {
  margin: 0 20px 0 32px;
  align-items: end;
  gap: 12px;
}

.header.v2 .header_in .header_left .header_links .hover_menu,
.header.v2 .header_in .header_left .header_links li {
  margin: -8px 0;
  margin-left: unset;
  padding: 8px;
}

.header.v2 .header_in .header_left .header_links .hover_menu:after,
.header.v2 .header_in .header_left .header_links li:after {
  z-index: 2;
}

.header.v2 .header_in .header_left .header_links .hover_menu p,
.header.v2 .header_in .header_left .header_links a {
  font-weight: bold;
}

.header.v2 .header_in .header_left .header_links .hover_menu .dropdown {
  top: 60px;
}

.header.v2 .header_in .header_left .header_links .hover_menu:hover .dropdown {
  top: 64px;
}

.header.v2 .header_in .header_right {
  flex-direction: column;
  align-items: end;
}

.header.v2 .header_in .header_right .header_btn2 {
  margin-bottom: 6px;
}

.header_links > li {
  position: relative;
}

.header_links > li:after {
  content: "";
  width: 100%;
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transition: transform 0.3s ease;
  background-color: #ff931e;
}

.header_links > li:hover:after {
  transform: scaleX(1);
}

.hover_menu_back {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
  background-color: rgba(0, 0, 0, 0.2);
}

.hover_menu_back.is-hover {
  display: block;
}

/* 20231222 */
.dropdown {
  width: 100%;
  height: 0;
  overflow: hidden;
  position: fixed;
  top: 79px;
  left: 0;
  z-index: 1;
  transition: 0.5s;
  background-color: #fff;
}

.hover_menu:hover .dropdown {
  height: auto;
}

.dropdown .menu {
  display: flex;
  display: flex;
  width: 100%;
  max-width: 1340px;
  margin: 0 auto;
  padding: 40px 0;
}

.dropdown .func_list_link {
  width: 20%;
}

.dropdown .func_list_link {
  padding-left: 0;
  font-size: 24px;
  font-weight: bold;
}

.dropdown .func_list_link a:before {
  content: none;
}

.dropdown ul {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
}

.dropdown ul li {
  margin-right: 96px;
  /* width: 20%; */
  padding: 10px 0;
}

.dropdown ul li a {
  display: block;
  padding-left: 24px;
  position: relative;
}

.dropdown ul li.func_list_link a {
  padding-left: 0;
  font-size: 24px;
  font-weight: bold;
}

.dropdown ul li.func_list_link a:before {
  content: none;
}

.dropdown ul li a:before {
  content: "";
  width: 15px;
  height: 2px;
  margin-top: -1px;
  position: absolute;
  top: 50%;
  left: 0;
  background-color: #ff931e;
}

.dropdown ul li a:after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transition: transform 0.3s ease;
  background-color: #ff931e;
}

.dropdown ul li a:hover:after {
  transform: scaleX(1);
}

.dropdown ul li a:hover {
  color: #ff931e;
}
/* 20231222 */

.header_in {
  /* margin: 0 auto; */
  display: flex;
  /* max-width: 1340px; */
  padding: 0 80px;
  /* align-items: center; */
  justify-content: space-between;
  gap: 10px;
  font-size: 14px;
}

.header_left {
  display: flex;
  align-items: center;
  gap: 20px;
}

.header_links {
  display: flex;
}

.header_links > li {
  margin-left: 30px;
  padding: 28px 0;
}

.header_right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.header_right > a {
  display: inline-block;
  margin-left: 10px;
  padding: 8px 15px;
  border-radius: 30px;
  line-height: 1;
  color: #fff;
}

.header_right .header-panel > a {
  display: inline-block;
  margin-left: 10px;
  /* padding: 8px 15px; */
  padding: 16px 30px;
  border-radius: 60px;
  font-size: 16px;
  line-height: 1;
  color: #fff;
}

@media (max-width: 1372px) {
  .header_right .header-panel > a {
    padding: 8px 10px;
    font-size: 13px;
  }
}

.header_right > a:hover {
  box-shadow: 0 4px 8px rgb(0 0 0 / 24%);
}

.header_btn1,
.header_column {
  background-color: #ff931e;
}

.header_btn2 {
  background-color: #23221f;
}

.header_btn3 {
  margin-left: 10px !important;
  border: 2px solid #ff931e;
  background-color: #fff;
  font-weight: 700;
  color: #ff931e !important;
}

/*-----------        -----------------*/
.top_main_in {
  max-width: 1000px;
  margin: 0 auto;
  padding: 80px 0;
  background: rgba(130, 130, 130, 0.58);
  text-align: center;
  color: #fff;
}

.top_main_logo {
  margin-bottom: 30px;
  text-align: center;
}

.top_main_ttl {
  text-shadow: 0 4px 3px rgba(0, 0, 0, 0.3);
  font-size: 56px;
  font-weight: 900;
  line-height: 1.4;
}

.top_main_ttl span {
  font-size: 50px;
}

.main_in {
  display: flex;
  flex-direction: row-reverse;
  justify-content: start;
}

.main {
  padding: 80px 0;
  background-position: center;
  background-size: cover;
}

.main_in {
  max-width: 1200px;
  margin: 0 auto;
}

.main_in h1 {
  margin: 2rem 0;
  padding: 0 1rem 0 5rem;
  text-shadow: 0 4px 3px rgb(0 0 0);
  font-size: 48px;
  line-height: 1.5;
  text-align: left;
  color: white;
}

.main_in h1 .small {
  margin-top: 16px;
  font-size: 24px;
}

.main#lp2 .main_in,
.main#lp3 .main_in {
  justify-content: space-around;
}

.main#lp2 .main_in h1,
.main#lp3 .main_in h1,
.main#lp7 .main_in h1 {
  padding: 1.5rem 1rem 2.5rem 1rem;
  text-shadow: 0 4px 3px rgb(110, 110, 110);
  font-size: 40px;
  line-height: 1.8;
  letter-spacing: 0.2rem;
}

.main_img {
  margin-top: 40px;
}

.main_btn {
  display: flex;
  margin-left: 40px;
  align-items: center;
  justify-content: center;
}

.main_btn a {
  display: inline-block;
  width: 230px;
  padding: 20px 0;
  border-radius: 40px;
  text-align: center;
}

.main_btn a:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.24);
}

.top_main {
  /* 20230718 */

  overflow: hidden;

  /* 20230718 */
  position: relative;
  background-position: center;
  background-size: cover;
}

/* 20230718 */
.top_main .attention {
  width: auto;
  margin: 1rem;
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 12px;
  color: white;
}
/* 20230718 */

.top_main .ps {
  position: absolute;
  right: 10px;
  bottom: 20px;
  left: 10px;
  font-size: 12px;
  text-align: right;
  color: white;
}

#top {
  background-image: url(../img/fv.webp);
}

#lp1 {
  background-image: url(../img/fv1.webp);
}

#lp2 {
  background-image: url(../img/fv-lp2.webp);
}

#lp3 {
  background-image: url(../img/fv-lp3.png);
}

.medical#lp3 {
  background-image: url(../img/lp_medial_banner.webp);
}

#lp4 {
  background-image: url(../img/fv-lp4.webp);
}

#lp5 {
  background-image: url(../img/fv-lp5.webp);
}

#lp6 {
  background-image: url(../img/fv-lp6.webp);
}

#lp7 {
  background-image: url(../img/fv-lp7.jpg);
}

#lp8 {
  background-image: url(../img/fv-lp8.jpg);
}

#lp9 {
  background-image: url(../img/fv-lp9.jpg);
}

#lp10 {
  background-image: url(../img/fv-lp10.jpg);
}

#lp11 {
  background-image: url(../img/fv-lp11.jpg);
}

#lp12 {
  background-image: url(../img/fv-lp12.jpg);
}

.top_main_btn_wrap {
  margin-top: 30px;
  text-align: center;
}

.top_main_btn_wrap a {
  display: inline-block;
  width: 280px;
  margin: 0 20px;
  padding: 13px 0;
  border-radius: 50px;
  background-color: #f3932a;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  /* 	border: 4px solid #f3932a; */
}

.top_main_btn_wrap a.white {
  background-color: white;
  color: #f3932a;
}

.top_main_btn_wrap a.black {
  background-color: #23221f;
  color: #fff;
}

.top_main_btn_wrap a.white.border {
  border: 1px solid lightgray;
}

.top_main_btn_wrap a:hover {
  box-shadow: 0 7px 5px rgba(135, 61, 19, 0.3);
}

.btn1 {
  background-color: #fff;
}

.btn2 {
  margin-left: 20px;
  background-color: #333;
  color: #fff;
}

.concept_content {
  width: 630px;
}

.concept_ttl {
  margin-bottom: 20px;
  font-size: 32px;
}

.concept {
  background-color: #f8f7f6;
}

.sec {
  padding: 80px 0;
}

.sec.dx {
  background-color: #313234;
  color: white;
}

.sec.dx h1,
.sec.dx h2,
.sec.dx .single_date,
.sec.dx .single_updated_date {
  color: white;
}

.sec.dx .content {
  margin: auto;
}

.sec.single .inner .content .thumbnail {
  text-align: center;
}

.concept .fixedcontainer {
  margin-bottom: 80px;
  position: relative;
}

.concept_ttl span {
  color: #ff931e;
}

.concept_txt {
  font-size: 18px;
  color: #706d65;
}

.concept_btn {
  margin-top: 40px;
}

.btn3 {
  display: inline-block;
  width: 380px;
  padding: 20px 0;
  border-radius: 40px;
  background-color: #ff931e;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
  color: #fff;
}

.btn3:hover {
  box-shadow: 0 4px 8px rgb(0 0 0 / 24%);
}

.concept_img {
  width: 710px;
  position: absolute;
  top: 0;
  left: 630px;
}

.concept2_in {
  display: flex;
  padding: 50px;
  border: 2px solid #ff931e;
  border-radius: 8px;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
}

.concept2_ttl {
  font-size: 24px;
}

.title {
  margin-bottom: 40px;
  padding-bottom: 10px;
  position: relative;
  font-size: 40px;
  text-align: center;
}

/* 20230909 */
.title b {
  margin: 0 4px;
  font-size: 62px;
  font-weight: bold;
}
/* 20230909 */

/* 20240310 */
.single_content .smartf-column-author {
  margin: 20px 0;
  padding: 15px;
  border: 2px solid black;
}

.single_content .smartf-column-author h2 {
  margin: 0 0 10px;
  padding: 0;
  border-bottom: unset;
  font-size: 16px !important;
}

.single_content .smartf-column-author .profile {
  display: flex;
}

.single_content .smartf-column-author .profile .picture {
  width: 100px;
  height: 100px;
  margin-right: 10px;
}

.single_content .smartf-column-author .profile .picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single_content .smartf-column-author .profile .detail {
  width: auto;
  padding: 4px;
  flex: 1;
}

.single_content .smartf-column-author .profile .detail h3 {
  margin: 0 0 5px;
  padding: 0;
  border-left: unset;
  font-size: 14px !important;
}

.single_content .smartf-column-author .profile .detail p {
  margin-bottom: 0;
  font-size: 14px !important;
  line-height: 1.6;
}
/* 20240310 */

.title:after {
  content: "";
  width: 140px;
  height: 5px;
  margin-left: -70px;
  position: absolute;
  bottom: 0;
  left: 50%;
  background-color: #ff931e;
}

.point {
  display: flex;
  margin-bottom: 80px;
  padding: 60px 0;
  position: relative;
  flex-direction: row-reverse;
  align-items: center;
}

.point:after {
  content: "";
  width: 800px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  background-color: #f8f7f6;
}

.point_in {
  width: 620px;
  padding: 80px 60px 60px;
  border-radius: 8px;
  position: relative;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.24);
  background-color: #fff;
}

.point_num {
  position: absolute;
  top: -50px;
  left: 60px;
  font-family: "Futura";
  font-size: 94px;
  color: #ff931e;
}

.point_ttl {
  margin-bottom: 30px;
  font-size: 32px;
}

.point_ttl span {
  color: #ff931e;
}

.point_txt {
  color: #706d65;
}

.point_img {
  width: 620px;
  text-align: center;
}

.point:nth-child(2) {
  flex-direction: initial;
}

.point:nth-child(2):after {
  right: auto;
  left: 0;
}

.point:last-child {
  margin-bottom: 0;
}

.title2 {
  margin-bottom: 40px;
  font-size: 40px;
  text-align: center;
}

.sec#function {
  padding-top: 0;
}

.func_list {
  display: flex;
  flex-wrap: wrap;
}

.func_one {
  display: block;
  width: 360px;
  margin-right: 80px;
  margin-bottom: 80px;
  border: 1px solid #d7d7d7;
  border-top: 10px solid #ff931e;
  border-radius: 6px;
  background-color: #fff;
}

.func_one:nth-child(3n) {
  margin-right: 0;
}

.func_img {
  width: 100%;
  padding: 20px 20px 0 20px;
  text-align: center;
}

.func_img img {
  width: 180px;
}

.func_one:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.24);
}

.func_one:hover .func_ttl {
  color: #ff931e;
}

.func_in {
  padding: 20px;
}

.func_txt {
  color: #706d65;
}

.func_ttl {
  margin-bottom: 10px;
  font-size: 24px;
}

#works {
  background-color: #f8f7f6;
}

#works .btn_wrap {
  margin-top: 0;
}

.title3 {
  margin-bottom: 20px;
  font-size: 40px;
  text-align: center;
}

.sub_ttl {
  margin-bottom: 40px;
  font-size: 24px;
  text-align: center;
}

/* 20230909 */
.sub_ttl.big {
  padding-top: 20px;
  font-size: 32px;
  font-weight: bold;
}

.sub_ttl.big b {
  padding: 0 0.5rem;
  font-size: 42px;
  font-weight: bold;
  color: #f46a4a;
}

.sub_ttl.big span {
  display: inline-block;
  width: 128px;
  height: 100%;
  position: relative;
}

.sub_ttl.big span img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-65%);
  object-fit: contain;
}
/* 20230909 */

.btn_wrap {
  text-align: center;
}

.btn4 {
  display: inline-block;
  width: 300px;
  padding: 15px 0;
  border-radius: 40px;
  transition: scale 0.3s !important;
  background-color: #ff931e;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  color: #fff;
}

.btn_wrap.more {
  margin-top: 0;
  padding: 8px 0;
  font-size: 14px;
  text-align: right;
}

.btn_wrap.more .btn4 {
  width: 160px;
  padding: 8px 0;
  font-size: 16px;
}

.btn_wrap.more a.text {
  padding: 16px 0;
  font-size: 16px;
  font-weight: bold;
}

.btn4.black {
  background: #23221f;
  color: #fff;
}

.btn4:hover {
  /* box-shadow: 0 4px 8px rgb(0 0 0 / 24%); */
  scale: 1.07;
}

.work_list {
  display: flex;
  flex-wrap: wrap;
}

/* 20241128追記 2つ以下の時のみ適用 */
.work_list:not(:has(> *:nth-child(3))) {
  justify-content: center;
}

.work_list:not(:has(> *:nth-child(3))) .work_one {
  margin-left: 80px;
}
/* 20241128追記 ここまで */

.work_one {
  display: block;
  width: 360px;
  margin-right: 80px;
  margin-bottom: 50px;
}

.work_one:nth-child(3n) {
  margin-right: 0;
}

/* 20241205追記 ここから */
.show_case_full-small .work_one.full {
  display: grid;
  width: 100%;
  margin-right: 0;
  margin-bottom: 20px;
  padding: 15px;
  grid-template-columns: 42% 1fr;
  gap: 15px;
  background: #fff;
}
.show_case_full-small .work_img {
  height: auto;
}
.show_case_full-small .work_content {
  padding: 0;
}
.show_case_full-small .work_ttl {
  display: block;
  margin-bottom: 8px;
  overflow: visible;
  font-size: 14px;
  line-height: 1.5;
  white-space: normal;
  text-overflow: clip;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
}
.show_case_full-small .work_client {
  margin-bottom: 8px !important;
  padding-top: 8px;
  padding-bottom: 0 !important;
  border-top: 1px solid #ff931e;
  border-bottom: 0;
  font-size: 13px;
  line-height: 1.5;
}
.show_case_full-small .work_info {
  display: block;
  font-size: 13px;
  font-weight: bold;
  color: #ff931e;
}
.show_case_full-small .work_one.full ul {
  display: block;
}
.show_case_full-small .work_one.full ul li {
  font-size: 12px;
}
.show_case_full-small .work_one.full ul li + li {
  margin-top: 3px;
}
.show_case_full-small .work_one.full ul li:not(:last-child) {
  margin-right: 0;
  padding-right: 0;
  border-right: 0;
  font-size: 12px;
}
/* 20241205追記 ここまで */

/* 20231119 */
.work_one .category_title {
  display: inline-block;
  margin: 0px 0 10px;
  padding: 4px 20px;
  border-radius: 4px;
  background-color: #4e4e4d;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 2px;
  color: white;
}

.work_content {
  width: 320px;
  margin: -40px auto 0;
  padding: 20px;
  border-radius: 6px;
  position: relative;
  z-index: 2;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.24);
  background-color: #fff;
}

a.work_one:hover .work_ttl {
  color: #ff931e;
}

a.work_one:hover .work_client {
  color: #ff931e;
}

a.work_one:hover .work_info {
  color: #ff931e;
}

.work_img {
  height: 240px;
  overflow: hidden;
}

.work_img img {
  width: 100%;
  height: 100%;
  transition: 0.25s;
  object-fit: cover;
}

a.work_one:hover .work_img img {
  transform: scale(1.05);
}

.work_ttl {
  display: -webkit-box;
  margin-bottom: 20px;
  overflow: hidden;
  font-size: 16px;
  white-space: normal;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.work_client {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d6d3d0;
  font-size: 14px;
  color: #706d65;
}

.work_info {
  font-size: 14px;
  color: #706d65;
}

/* 20241007 */
.work_one.full {
  display: block;
  width: 100%;
  margin-right: unset;
  margin-bottom: unset;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.24);
}

.work_one.full figure {
  margin: 0;
}

.work_one.full .work_content {
  width: 100%;
  margin: 0;
  box-shadow: unset;
}

.work_one.full .work_content p {
  margin-bottom: 10px;
  padding-bottom: 8px;
}

.work_one.full .work_ttl {
  margin: 0 0 10px 0;
  padding-left: unset;
  border-left: unset;
}

.work_one.full ul {
  display: flex;
  margin-bottom: 0;
}

.work_one.full ul li {
  margin-left: 0;
}

.work_one.full ul li:not(:last-child) {
  margin-right: 10px;
  padding-right: 10px;
  border-right: 1px solid #d6d3d0;
  font-size: 12px;
  line-height: 1;
}
/* 20241007 */

.btn_wrap {
  margin-top: 50px;
}

.news_list li .news_one {
  border-bottom: 1px solid #d6d3d0;
}

.news_list li:first-child .news_one {
  border-top: 1px solid #d6d3d0;
}

.news_one {
  display: flex;
  padding: 20px;
  align-items: flex-start;
  justify-content: space-between;
}

.news_one:hover .news_ttl {
  color: #ff931e;
}

.news_date {
  display: inline-block;
  width: 110px;
}

.news_cat {
  display: inline-block;
  width: 80px;
  padding: 1px 10px 0px;
  border-radius: 3px;
  background-color: #23221f;
  font-size: 14px;
  text-align: center;
  color: #fff;
}

.news_cat.cat2 {
  background-color: #808080;
}

.news_ttl {
  width: calc(100% - 280px);
}

#video {
  background: url(../img/video_back.webp) no-repeat;
  background-position: center;
  background-size: cover;
}

#video .title {
  color: #fff;
}

#video .title:after {
  background-color: #fff;
}

.video {
  width: 50vw;
  height: 28.125vw;
  margin: 0 auto;
}

.video iframe {
  width: 100%;
  height: 100%;
}

.flow_ttl {
  margin-bottom: 80px;
  padding: 10px 0;
  background-color: #fffaf5;
  font-size: 24px;
  text-align: center;
  color: #ff931e;
}

.flow_list {
  display: flex;
  justify-content: space-between;
}

.flow_one {
  width: 360px;
  padding: 60px 30px 30px;
  border-radius: 6px;
  position: relative;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.24);
  background: #fff;
}

.flow_num {
  width: 85px;
  margin-left: -42.5px;
  position: absolute;
  top: -42.5px;
  left: 50%;
}

.flow_img {
  text-align: center;
}

.flow_img img {
  width: 160px;
}

.flow_one_ttl {
  margin-bottom: 20px;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

.flow_txt {
  color: #706d65;
}

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

#faq {
  background-color: #f8f7f6;
}

.faq_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.faq_one {
  width: 49%;
  margin-bottom: 30px;
  padding: 40px 50px;
  border-radius: 6px;
  background-color: #fff;
}

.faq_one:last-child {
  /* 	margin-bottom: 0; */
}

.ques {
  margin-bottom: 20px;
  padding: 10px 10px 10px 65px;
  position: relative;
  font-size: 18px;
  font-weight: bold;
}

.ques:before {
  content: "";
  width: 50px;
  height: 50px;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/ques.svg) no-repeat;
  background-position: center;
  background-size: contain;
}

.ans {
  padding: 10px 10px 10px 65px;
  position: relative;
}

.ans:before {
  content: "";
  width: 50px;
  height: 50px;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/ans.svg) no-repeat;
  background-position: center;
  background-size: contain;
}

.cta {
  background: url(../img/cta_back.webp) no-repeat;
  background-position: center;
  background-size: cover;
  color: #fff;
}

.cta_btns {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cta_btns a {
  display: inline-block;
  width: 300px;
  margin: 0 20px;
  padding: 15px 0;
  border-radius: 40px;
  transition: scale 0.3s;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

.cta_btns a:hover {
  scale: 1.07;
  box-shadow: none !important;
}

.btn5 {
  transition: scale 0.3s !important;
  background-color: #fff;
  color: #23221f;
}

.btn6 {
  transition: scale 0.3s !important;
  background-color: #23221f;
  color: #fff;
}

/* .cta_btns a:hover {
  box-shadow: ;
} */

.footer_in1 {
  padding: 60px 0 40px;
}

.footer_in1 .fixedcontainer {
  display: flex;
  justify-content: space-between;
}

.footer_info {
  width: 210px;
  font-size: 14px;
}

.footer_links {
  width: calc(100% - 320px);
}

.footer_logo {
  margin-bottom: 40px;
}

.nexta_logo {
  margin-top: 10px;
}

.footer_links > ul {
  display: flex;
  flex-wrap: wrap;
}

.footer_links > ul > li {
  width: 25%;
  margin-bottom: 20px;
}

.footer_links > ul > li > a,
.footer_links > ul > li > span {
  display: inline-block;
  margin-bottom: 10px;
  font-weight: bold;
}

.footer_links > ul > li > ul {
  font-size: 12px;
  line-height: 2;
}

.footer_links a:hover {
  text-decoration: underline;
}

.footer_in2 {
  padding: 10px 0;
  background-color: #f2f2f2;
  font-size: 12px;
  color: #888888;
}

.footer_in2 ul {
  display: flex;
}

.submain {
  display: flex;
  height: 397px;
  align-items: center;
  justify-content: center;
  background-position: center;
  background-size: cover;
}

.fv-news {
  background-image: url(../img/fv-news.webp);
}

.fv-seminar {
  background-image: url(../img/fv-seminar.webp);
}

.fv-work {
  background-image: url(../img/fv-work.webp);
}

.fv-functions {
  background-image: url(../img/function-main.webp);
}

.fv-industries {
  background-image: url(../img/function-main2.webp);
}

.submain_in {
}

.submain_ttl {
  font-size: 36px;
  text-align: center;
  color: #fff;
}

.submain_form {
  margin-top: 25px;
}

.submain_form div {
  display: flex;
  width: 420px;
  padding: 15px;
  border-radius: 40px;
  align-items: center;
  background-color: #fff;
}

.submain_form button {
  width: 30px;
  height: 30px;
  margin-right: 10px;
  border: none;
  background-color: transparent;
  outline: none;
}

.submain_form input {
  width: 100%;
  height: 30px;
  border: none;
  background-color: transparent;
  outline: none;
}

/* 20230728 */
.submain.v2 {
  height: auto;
  padding: 4rem 0;
}

.submain.v2 .submain_in {
  margin-bottom: 2rem;
}

.submain.v2 .submain_ttl {
  font-size: 24px;
  font-weight: normal;
}

.smartf-archive-menu {
  display: flex;
  margin-top: -3rem;
  justify-content: center;
}

.smartf-archive-menu .menu {
  display: flex;
  width: 800px;
  height: 6rem;
  margin: 0 auto;
  padding: 0;
  justify-content: start;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.24);
  background-color: white;
}

.smartf-archive-menu .menu .text {
  margin: auto 3rem;
}

.smartf-archive-menu .menu .items {
  display: flex;
  margin: auto 3rem auto 0;
  list-style: none;
}

.smartf-archive-menu .menu .items li {
  font-size: 13px;
}

.smartf-archive-menu .menu .items li a {
  margin: 0 0.5rem;
  padding: 0.25rem 1.5rem;
  border-radius: 50px;
  -webkit-transition: 0.3s ease;
  -moz-transition: 0.3s ease;
  -ms-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  background-color: #ff931e;
  color: white;
}

.smartf-archive-menu .menu .items li a:hover {
  background-color: #ff8500;
}

.smartf-archive {
  display: flex;
  flex-wrap: wrap;
  gap: 5%;
}

.smartf-archive a {
  display: block;
  width: 30%;
  margin-bottom: 50px;
  border-radius: 8px;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
}

.smartf-archive a:hover {
  box-shadow: 0 4px 8x rgba(0, 0, 0, 0.24);
  -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

.smartf-archive a .image {
  height: 200px;
  overflow: hidden;
}

.smartf-archive a .image img {
  width: 100%;
  height: 100%;
  transition: 0.25s;
  object-fit: cover;
}

.smartf-archive a .info {
  display: flex;
  padding: 20px;
  position: relative;
  z-index: 2;
  flex-direction: column;
  background-color: #fff;
}

.smartf-archive a .info h2 {
  display: -webkit-box;
  margin-bottom: 8px;
  overflow: hidden;
  order: 2;
  font-size: 16px;
  white-space: normal;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.smartf-archive a .info p {
  display: -webkit-box;
  margin-bottom: 4px;
  overflow: hidden;
  order: 2;
  font-size: 14px;
  white-space: normal;
  color: #706d65;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.smartf-archive a .info .attributes {
  display: flex;
  width: 100%;
  padding-bottom: 20px;
  order: 1;
  align-items: center;
  justify-content: space-between;
}

.smartf-archive a .info .attributes .date {
  font-size: 14px;
  font-weight: bold;
  color: #ff931e;
}

.smartf-archive a .info .attributes .type {
  padding: 0 12px 1px;
  border: 1px solid #ff931e;
  border-radius: 50px;
  font-size: 10px;
  color: #ff931e;
}
/* 20230728 */

/* 20230928 */
.smartf-banner-pms {
  display: flex;
  margin: 2rem 0;
  flex-direction: column;
  align-items: center;
}

.smartf-banner-pms .quote {
  display: inline-block;
  margin-bottom: 0.25rem;
  position: relative;
  font-size: 16px;
  font-weight: bold;
  color: #f56a4b;
}

.smartf-banner-pms .quote:before,
.smartf-banner-pms .quote:after {
  content: "";
  width: 2px;
  height: 100%;
  border-left: 1px solid black;
  position: absolute;
  top: 0;
}

.smartf-banner-pms .quote:before {
  left: -18px;
  transform: rotate(-50deg);
}

.smartf-banner-pms .quote:after {
  right: -18px;
  transform: rotate(50deg);
}

.smartf-banner-pms .message {
  margin-bottom: 0.5rem;
  font-size: 16px;
  font-weight: bold;
}

.smartf-banner-pms .card {
  display: flex;
  width: 720px;
  padding: 1.5rem 2rem;
  border-radius: 1rem;
  overflow: hidden;
  position: relative;
  flex-direction: row;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background: transparent;
}

.smartf-banner-pms .card .background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  object-fit: cover;
}

.smartf-banner-pms .card .logo {
  flex: 0 0 240px;
}

.smartf-banner-pms .card .logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.smartf-banner-pms .card .information {
  display: flex;
  padding-left: 1rem;
  flex-direction: column;
}

.smartf-banner-pms .card .information p {
  margin-bottom: 1rem;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.8;
}

.smartf-banner-pms .card .information p b {
  margin-right: 0.5rem;
  font-size: 125%;
  line-height: 80%;
  color: #f56a4b;
}

.smartf-banner-pms .card .information a {
  display: inline-block;
  width: 300px;
  margin: 0 1rem 0.75rem 1rem;
  padding: 0.5rem 1rem;
  border-radius: 32px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background-color: #ff931e;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #fff;
}

.smartf-banner-pms .card .information a.black {
  background-color: #23221f;
  color: #fff;
}
/* 20230928 */

.breadcrumb {
  padding: 10px 0;
  font-size: 12px;
}

.breadcrumb ul {
  display: flex;
}

.inner {
  display: flex;
  /* align-items: flex-start; */
  justify-content: space-between;
}

.sidebar {
  width: 300px;
  border-radius: 6px;
  background-color: #fff;
}

/* 20241121追記 */
.sidebar_head {
  margin-bottom: 15px;
  padding-bottom: 5px;
  border-bottom: 3px solid #ff931e;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

.sidebar_bnr {
  margin-bottom: 20px;
  text-align: center;
  filter: drop-shadow(2px 1px 6px rgba(0, 0, 0, 0.3));
}

.sidebar_bnr a {
  transition: opacity 0.3s;
}

.sidebar_bnr a:hover {
  opacity: 0.7;
}

.sidebar_cat {
  padding: 15px 20px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.24);
}

.sidebar_cat li a {
  display: block;
  padding: 10px 20px;
  position: relative;
  font-weight: bold;
}

.sidebar_cat li a:hover {
  color: #ff931e;
}

.sidebar_cat li a:before {
  content: "";
  width: 8px;
  height: 11px;
  position: absolute;
  top: 15px;
  left: 0;
  background: url(../img/cat-arrow.svg) no-repeat;
  background-position: center;
  background-size: contain;
}

.content {
  width: calc(100% - 340px);
}

/* 20230729 */
.content.full {
  width: 90%;
}

.single_ttl.center {
  text-align: center;
}
/* 20230729 */

.subtitle {
  margin-bottom: 40px;
  font-size: 24px;
}

.company_logo {
  margin-bottom: 40px;
  text-align: center;
}

/* 20231107 */
.company_info {
  display: flex;
  flex-direction: row;
}

.company_info .company_building {
  max-width: 50%;
  margin-right: 16px;
}

.company_info .company_building img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* 20231107 */

.company_info table {
  width: 100%;
  max-width: 50%;
}

.company_info th {
  width: 140px;
  padding: 16px;
  border: 1px solid #d6d3d0;
  font-weight: normal;
  text-align: center;
  vertical-align: top;
}

.company_info td {
  padding: 16px;
  border: 1px solid #d6d3d0;
}

.company_info td a {
  text-decoration: underline;
}

.map {
  margin-top: 40px;
}

.map iframe {
  width: 100%;
  height: 374px;
}

.mg_category_links {
  display: flex;
  align-items: center;
  font-size: 12px;
}

.mg_category_links li {
  margin-left: 50px;
}

.mg_category_links li:first-child {
  margin-left: 0;
  /* color: #FF931E;
	font-size: 16px;
	font-weight: bold; */
}

.mg_category_ttl {
  color: #ff931e;
}

.mg_category {
  display: flex;
  width: 100%;
  max-width: 1100px;
  margin: 0 50px;
  padding: 20px 50px;
  border-radius: 50px;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.24);
  background-color: #fff;
}

.breadcrumb2 {
  border-top: 1px solid #f2f2f2;
  border-bottom: 1px solid #cccccc;
}

.magazine_top {
  padding: 60px 0 30px;
  background-color: #f8f7f6;
}

.magazine_slider {
  width: calc(100% - 60px);
  margin: 0 auto;
}

.magazine_slider_one {
  margin: 0 20px;
}

.magazine_slider_img {
  width: 100%;
  height: 250px;
}

.magazine_slider_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.magazine_info {
  padding: 25px;
  background-color: #fff;
}

.magazine_ttl {
  display: -webkit-box;
  margin-bottom: 15px;
  overflow: hidden;
  font-size: 18px;
  font-weight: bold;
  white-space: normal;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.magazine_txt {
  margin-bottom: 20px;
  font-size: 12px;
  color: #706d65;
}

.magazine_bottom {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
}

.magazine_cat {
  color: #ff931e;
}

.magazine_date {
  color: #706d65;
}

.slick-next:before {
  content: none;
}

.magazine_slider .slick-next,
.magazine_slider .slick-next:hover,
.magazine_slider .slick-next:focus {
  width: 20px;
  height: 40px;
  right: -15px;
  z-index: 1;
  background: url(../img/next.svg) no-repeat;
  background-position: center;
  background-size: contain;
}

.slick-prev:before {
  content: none;
}

.magazine_slider .slick-prev,
.magazine_slider .slick-prev:hover,
.magazine_slider .slick-prev:focus {
  width: 20px;
  height: 40px;
  left: -15px;
  z-index: 1;
  background: url(../img/prev.svg) no-repeat;
  background-position: center;
  background-size: contain;
}

.slick-dots li button:before {
  content: none;
}

.magazine_slider .slick-dots li button {
  width: 16px;
  height: 16px;
  border: 1px solid #23221f;
  border-radius: 50%;
  background-color: transparent;
}

.slick-dots li {
  width: 16px;
  height: 16px;
}

.magazine_slider .slick-dots li.slick-active button {
  background-color: #23221f;
}

.magazine_list {
  display: flex;
  flex-wrap: wrap;
}

.magazine_list.dx {
  display: block;
}

.magazine_list.dx .magazine_one {
  display: flex;
  width: 100%;
}

@media (max-width: 575.98px) {
  .magazine_list.dx .magazine_one {
    display: block;
  }
}

.magazine_list.dx .magazine_img {
  width: 280px;
  height: 280px;
}

@media (max-width: 575.98px) {
  .magazine_list.dx .magazine_img {
    width: 100%;
  }
}

.magazine_list.dx .magazine_ttl {
  margin-bottom: 6px;
  color: white;
}

.magazine_list.dx .tags {
  display: flex;
  margin-bottom: 6px;
  flex-wrap: wrap;
}

.magazine_list.dx .tags .tag {
  margin: 0.25rem 0.25rem;
  padding: 0.25rem 0.5rem;
  border: 1px solid rgb(233, 123, 10);
  font-size: 0.8rem;
  color: rgb(233, 123, 10);
}

.magazine_list.dx .tags .tag:first-of-type {
  margin-left: 0;
}

.magazine_list.dx .magazine_txt {
  font-size: 20px;
  font-weight: bold;
  color: white;
}

@media screen and (max-width: 768px) {
  .magazine_list.dx .magazine_txt {
    font-size: 14px;
  }
}

.magazine_list.dx h4 {
  color: white;
}

.magazine_list.dx .magazine_toc {
  font-size: 12px;
  color: white;
}

.magazine_list.dx .magazine_toc li {
  margin-left: 2rem;
}

.magazine_list.dx section {
  padding: 0 1rem 1rem 2.5rem;
}

@media (max-width: 575.98px) {
  .magazine_list.dx section {
    padding: 0 1rem 1rem;
  }
}

.magazine_img {
  height: 200px;
  margin-bottom: 15px;
}

.magazine_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.magazine_one {
  width: 280px;
  margin-right: 30px;
  margin-bottom: 50px;
}

.magazine_one:nth-child(3n) {
  margin-right: 0;
}

.sidebar_one {
  margin-bottom: 30px;
}

.sidebar_one:last-child {
  margin-bottom: 0;
}

.sidebar_ttl {
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: bold;
  color: #ff931e;
}

.sidebar_cat_links li a {
  display: block;
  margin-bottom: 10px;
  padding-left: 10px;
  position: relative;
  font-size: 13px;
}

.sidebar_cat_links li:last-child a {
  margin-bottom: 0;
}

.sidebar_cat_links li a:hover {
  font-weight: bold;
  text-decoration: underline;
}

.sidebar_cat_links li a:before {
  content: "";
  width: 5px;
  height: 7px;
  position: absolute;
  top: 8px;
  left: 0;
  background: url(../img/sidebar-cat-arrow.svg) no-repeat;
  background-position: center;
  background-size: contain;
}

.sidebar_post_one {
  display: flex;
  margin-bottom: 15px;
  justify-content: space-between;
}

.sidebar_post_one:last-child {
  margin-bottom: 0;
}

.sidebar_post_img {
  width: 100px;
  height: 60px;
}

.sidebar_post_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sidebar_post_ttl {
  display: -webkit-box;
  width: calc(100% - 120px);
  overflow: hidden;
  font-size: 12px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.sidebar_post_one:hover .sidebar_post_ttl {
  text-decoration: underline;
}

.magazine_one:hover .magazine_ttl {
  text-decoration: underline;
}

.magazine_slider_one a:hover .magazine_ttl {
  text-decoration: underline;
}

.content_date {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.date_list {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.single_updated_date {
  margin-left: 20px;
  font-size: 12px;
  color: #808080;
}

.single_date {
  font-size: 12px;
  color: #808080;
}

.single_ttl {
  margin-bottom: 10px;
  font-size: 36px;
  line-height: 1.2;
}

.single_cat {
  font-size: 12px;
  color: #ff931e;
}

.single_cat img {
  margin-right: 10px;
}

.thumbnail {
  margin: 30px 0 50px;
}

.thumbnail img {
  height: auto;
}

.single_content {
  margin-top: 40px;
}

.single_content h2 {
  margin: 30px 0;
  padding: 3px;
  border-bottom: 2px solid #ff931e;
  font-size: 24px;
}

.single_content h3 {
  margin: 20px 0;
  padding-left: 10px;
  border-left: 2px solid #ff931e;
  font-size: 19.2px;
}

.single_content img {
  height: auto;
}

.fixed_bottom {
  padding: 20px;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 1000;
  background-color: #706d65;
  color: #fff;
}

.fixed_bottom_in {
  display: flex;
}

.fixed_bottom_img {
  width: 134px;
  height: 134px;
  /* 	height: 118px; */
  margin-right: 20px;
}

.fixed_bottom_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fixed_bottom_content {
  width: calc(100% - 194px);
}

.fixed_bottom_ttl {
  font-size: 19.2px;
  font-weight: bold;
  line-height: 1.2;
}

.fixed_bottom_txt {
  margin-top: 5px;
  font-size: 12px;
}

.fixed_bottom_btn {
  display: block;
  width: 254px;
  padding: 5px 0;
  border-radius: 30px;
  background-color: #fff;
  font-weight: bold;
  color: #23221f;
}

.fixed_bottom_btn_wrap {
  display: block;
  margin-top: 5px;
  text-align: center;
}

.fixed_bottom_close {
  position: absolute;
  top: 5px;
  right: 5px;
}

.fixed_bottom.hide {
  display: none !important;
}

/* 20230928 */
.fixed_bottom.wide {
  height: 100px;
  padding: unset;
  border-radius: 1rem 1rem 0 0;
  overflow: hidden;
  right: unset;
  left: 50%;
  transform: translatex(-50%);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background: unset;
}

.fixed_bottom.wide .fixedcontainer {
  height: 100%;
}

.fixed_bottom.wide .fixedcontainer .background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  object-fit: cover;
}

.fixed_bottom.wide .fixedcontainer .inner {
  display: flex;
  height: 100%;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

/* 20240408 */
.fixed_bottom.wide .fixedcontainer .inner.v2 {
  justify-content: space-around;
}
/* 20240408 */

.fixed_bottom.wide .fixedcontainer .inner .logo {
  height: 100%;
}

.fixed_bottom.wide .fixedcontainer .inner .logo img {
  height: 100%;
  padding: 0.5rem 0 0.25rem;
  object-fit: contain;
}

/* 20240408 */
.fixed_bottom.wide .fixedcontainer .inner.v2 .logo img {
  padding: 0.5rem 0;
}
/* 20240408 */

.fixed_bottom.wide .fixedcontainer .inner .links {
  display: flex;
  flex-direction: row;
}

.fixed_bottom.wide .fixedcontainer .inner .links .link {
  display: flex;
  padding-left: 2.5rem;
  flex-direction: column;
  color: black;
}

.fixed_bottom.wide .fixedcontainer .inner .links .link .text {
  display: inline-block;
  margin: 0.25rem auto;
  position: relative;
  font-size: 14px;
  font-weight: bold;
}

/* 20241219追記 */
@media screen and (max-width: 767px) {
  .fixed_bottom.wide .fixedcontainer .inner .links .link .text {
    display: none;
  }
}
/* 20241219追記 ここまで */

.fixed_bottom.wide .fixedcontainer .inner .links .link .text:before,
.fixed_bottom.wide .fixedcontainer .inner .links .link .text:after {
  content: "";
  width: 2px;
  height: 100%;
  border-left: 1px solid black;
  position: absolute;
  top: 0;
}

.fixed_bottom.wide .fixedcontainer .inner .links .link .text:before {
  left: -18px;
  transform: rotate(-50deg);
}

.fixed_bottom.wide .fixedcontainer .inner .links .link .text:after {
  right: -18px;
  transform: rotate(50deg);
}

.fixed_bottom.wide .fixedcontainer .inner .links .link .text b {
  margin: 0 0.25rem;
  font-size: 18px;
  line-height: calc(14 / 18);
  color: #f56a4b;
}

.fixed_bottom.wide .fixedcontainer .inner .links .link a {
  display: inline-block;
  width: 300px;
  padding: 0.5rem 1rem;
  border-radius: 32px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background-color: #ff931e;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #fff;
}

.fixed_bottom.wide .fixedcontainer .inner .links .link a.black {
  background-color: #23221f;
  color: #fff;
}

.fixed_bottom.wide .fixed_bottom_close {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  position: absolute;
  top: 8px;
  right: 8px;
  box-shadow: 0 1px 2px rgb(0 0 0 / 25%);
  background-color: white;
}

.fixed_bottom.wide .fixed_bottom_close::before,
.fixed_bottom.wide .fixed_bottom_close::after {
  content: "";
  width: 1px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: black;
}

.fixed_bottom.wide .fixed_bottom_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.fixed_bottom.wide .fixed_bottom_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
/* 20230928 */

.work_top {
  padding: 70px 0;
  background-color: #fbb03b;
}

.work_top_ttl {
  margin-bottom: 30px;
  font-size: 36px;
  text-align: center;
  color: #fff;
}

.work_slider_one {
  display: flex !important;
  margin: 0 80px;
  padding: 30px;
  justify-content: space-between;
  background-color: #fff;
}

.work_slider_img {
  width: 450px;
  height: 300px;
}

.work_slider_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.work_slider_content {
  width: calc(100% - 480px);
}

.work_slider_ttl {
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid #e8e5de;
  font-size: 28px;
}

.work_slider_client {
  margin-bottom: 20px;
}

.work_slider_cats span {
  margin-right: 20px;
  padding: 3px 15px;
  border: 1px solid #e8e5de;
}

.work_top .slick-next,
.slick-next:hover,
.slick-next:focus {
  width: 30px;
  height: 60px;
  right: -15px;
  z-index: 1;
  background: url(../img/next2.svg) no-repeat;
  background-position: center;
  background-size: contain;
}

.work_top .slick-prev,
.slick-prev:hover,
.slick-prev:focus {
  width: 30px;
  height: 60px;
  left: -15px;
  z-index: 1;
  background: url(../img/prev2.svg) no-repeat;
  background-position: center;
  background-size: contain;
}

.work_top .slick-dots li button {
  width: 16px;
  height: 16px;
  border: 1px solid #fff;
  border-radius: 50%;
  background-color: transparent;
}

.work_top .slick-dots li.slick-active button {
  background-color: #fff;
}

.tab {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.tablinks {
  width: 30%;
  padding: 20px 0;
  border: none;
  border-radius: 10px 10px 0 0;
  position: relative;
  background-color: #fbb03b;
  font-size: 22px;
  text-align: center;
  color: #fff;
  outline: none;
}

.tablinks.active {
  padding: 25px 0;
  background-color: #f15a24;
}

.tablinks img {
  height: 24px;
  margin-right: 10px;
}

.tablinks.active::after {
  content: "";
  width: 0;
  height: 0;
  margin: auto;
  border-width: 8px 7px 0 7px;
  border-style: solid;
  border-color: #f15a24 transparent transparent transparent;
  position: absolute;
  right: 0;
  bottom: -8px;
  left: 0;
  z-index: 1;
}

.tabcontent {
  padding: 30px;
  background-color: #f8f7f6;
}

.tabcontent > div {
  display: flex;
  flex-wrap: wrap;
}

.tabcontent a {
  width: 20%;
  padding: 20px;
  border: 1px solid #d6d3d0;
  background-color: #fff;
}

.tabcontent a span {
  display: inline-block;
  margin-left: 10px;
  padding: 0 10px;
  border-radius: 20px;
  background-color: #f8f7f6;
  font-size: 14px;
}

.tabcontent a.active {
  background-color: #fbb03b;
  color: #fff;
}

.tabcontent a:hover {
  background-color: #fbb03b;
  color: #fff;
}

.tabcontent a.active span {
  background-color: #fff;
  color: #23221f;
}

.tabcontent a:hover span {
  background-color: #fff;
  color: #23221f;
}

.tabcontent {
  animation: fadeEffect 1s;
  /* Fading effect takes 1 second */
}

/* Go from zero to full opacity */
@keyframes fadeEffect {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

#work_result {
  padding-bottom: 80px;
}

#work_result .btn_wrap {
  margin-top: 0;
}

.btn5 {
  display: inline-block;
  width: 300px;
  padding: 15px 0;
  border-radius: 40px;
  position: relative;
  background-color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

.btn5:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.24);
}

.btn6:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.24);
}

.btn7 {
  display: inline-block;
  width: 300px;
  padding: 15px 0;
  border: 1px solid #d8d8d8;
  border-radius: 40px;
  position: relative;
  background-color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

.btn7:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.24);
}

.btn7 img {
  position: absolute;
  top: 20px;
  right: 20px;
}

#nayami {
  margin-bottom: 100px;
  padding: 80px 0 20px;
  position: relative;
  background-color: #f8f7f6;
}

.nayami_list {
  display: flex;
  max-width: 1080px;
  margin: 0 auto;
  justify-content: space-between;
}

.nayami_one {
  width: 320px;
}

.nayami_img {
  display: flex;
  width: 100%;
  height: 292px;
  border-radius: 6px;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.24);
  background-color: #fff;
}

.nayami_ttl {
  margin-top: 20px;
  font-size: 19.2px;
  font-weight: bold;
  text-align: center;
}

#nayami::after {
  content: "";
  width: 0;
  height: 0;
  margin: auto;
  border-width: 100px 49vw 0 49vw;
  border-style: solid;
  border-color: #f8f7f6 transparent transparent transparent;
  position: absolute;
  right: 0;
  bottom: -100px;
  left: 0;
  z-index: 1;
}

.resolve_links {
  display: flex;
  justify-content: space-between;
}

.resolve_one {
  display: block;
  width: 33.33%;
  text-align: center;
}

.resolve_one:nth-child(2) {
  border-right: 1px solid #fed9b3;
  border-left: 1px solid #fed9b3;
}

.resolve_num {
  font-family: "futura";
  font-size: 24px;
  font-weight: bold;
  color: #ca781d;
}

.resolve_ttl {
  margin: 10px 0;
  font-size: 19.2px;
  font-weight: bold;
}

.resolve_list {
}

.resolve_div {
  display: flex;
  margin-top: 80px;
  align-items: center;
  justify-content: space-between;
}

.resolve_div:nth-child(2n) {
  flex-direction: row-reverse;
}

.resolve_div > div {
  width: 48%;
}

.resolve_div_num {
  display: flex;
  margin-bottom: 20px;
  align-items: center;
  font-size: 24px;
  font-weight: bold;
  color: #ca781d;
}

.resolve_div_num span {
  margin-right: 20px;
  padding-right: 20px;
  border-right: 1px solid #fed9b3;
  font-family: "futura";
  font-size: 94px;
  line-height: 1;
}

.resolve_div_ttl {
  margin-bottom: 20px;
  font-size: 32px;
  font-weight: bold;
}

.resolve_div_ttl span {
  color: #ff931e;
}

.resolve_ul li {
  padding-left: 24px;
  position: relative;
}

.resolve_ul li:before {
  content: "■";
  position: absolute;
  top: 2px;
  left: 0;
  color: #ff931e;
}

.resolve_img {
  height: 370px;
  border-radius: 6px;
  overflow: hidden;
}

.resolve_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lp_feature_one {
  display: flex;
  margin-top: 50px;
  justify-content: space-between;
}

.lp_feature_content {
  width: 660px;
}

.lp_feature_img {
  width: 420px;
}

.lp_feature_one:nth-child(2n) {
  flex-direction: row-reverse;
}

.lp_feature_ttl {
  margin-bottom: 20px;
  padding-left: 46px;
  position: relative;
  font-size: 32px;
}

.lp_feature_ttl:before {
  content: "";
  width: 30px;
  height: 4px;
  position: absolute;
  top: 25px;
  left: 0;
  background-color: #ff931e;
}

.lp_feature_txt {
  color: #706d65;
}

.lp_feature_points {
  margin-top: 30px;
  padding: 70px 30px 40px;
  border: 1px solid #d6d3d0;
  border-radius: 6px;
  position: relative;
  background-color: #fff;
}

.lp_feature_points_ttl {
  padding: 2px 15px;
  border-radius: 0 0 6px 6px;
  position: absolute;
  top: 0;
  left: 30px;
  background-color: #23221f;
  color: #fff;
}

.lp_feature_ul li {
  padding-left: 30px;
  position: relative;
  line-height: 2;
}

.lp_feature_ul li:before {
  content: "";
  width: 22px;
  height: 22px;
  position: absolute;
  top: 6px;
  left: 0;
  background: url(../img/icon-check.svg) no-repeat;
  background-position: center;
  background-size: contain;
}

.header2 {
  padding: 20px 0;
  z-index: 5;
}

.magazine_slider_img {
  overflow: hidden;
}

.magazine_slider_img img {
  transition: 0.5s;
}

.magazine_slider_one a:hover .magazine_slider_img img {
  transform: scale(1.1);
}

.magazine_img {
  overflow: hidden;
}

.magazine_one .magazine_img img {
  transition: 0.5s;
}

.magazine_one:hover .magazine_img img {
  transform: scale(1.1);
}

.work_slider .slick-list {
  overflow: initial;
}

.work_top {
  overflow: hidden;
}

.work_slider_img {
  overflow: hidden;
}

.work_slider_one .work_slider_img img {
  transition: 0.5s;
}

.work_slider_one:hover .work_slider_img img {
  transform: scale(1.1);
}

.work_slider_ttl {
  transition: 0.25s;
}

.work_slider_one:hover .work_slider_ttl {
  color: #ff931e;
}

.sidebar2 {
  padding: 30px 20px;
  align-self: flex-start;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.24);
}

.easy-wp-page-navigation a,
.easy-wp-page-navigation span {
  border: 1px solid #ff931e !important;
  background: #fff !important;
}

.easy-wp-page-navigation a:hover,
.easy-wp-page-navigation span.current {
  background: #ff931e !important;
  color: #fff !important;
}

.easy-wp-page-navigation a,
.easy-wp-page-navigation span {
  padding: 10px 13px !important;
}

ul.easy-wp-page-nav li {
  margin-right: 10px !important;
}

.header2 .header_right > a:hover {
  box-shadow: initial;
}

.header2 .header_right > a.header_btn1:hover,
.header2 .header_right > a.header_column:hover {
  box-shadow: 0 4px 8px rgb(0 0 0 / 24%);
}

.term_info table {
  width: 100%;
}

.term_info th,
.term_info td {
  padding: 15px;
  border: 1px solid #ccc;
  font-weight: normal;
  text-align: left;
}

.term_info th {
  background-color: #f2f2f2;
}

.summary {
  padding: 30px;
  background: #f8f7f6;
}

.item {
  display: flex;
  padding-bottom: 50px;
  position: relative;
  align-items: flex-start;
  justify-content: space-between;
}

.item:last-child {
  padding-bottom: 0;
}

.item:after {
  content: "";
  width: 8px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 40px;
  z-index: 0;
  background: #e6e5e4;
}

.item:last-child:after {
  content: none;
}

.system_title {
  width: 88px;
  position: relative;
  z-index: 1;
}

.system_title p {
  display: flex;
  width: 100%;
  height: 88px;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: bold;
}

.system_title1 {
  background: #fbb03b;
  color: #fff;
}

.system_title2 {
  background: #fff;
  color: #ca781d;
}

.system_title3 {
  background: #ff931e;
  color: #fff;
}

.system_detail {
  width: calc(100% - 120px);
  padding-top: 20px;
}

.system_detail li {
  padding-left: 23px;
  position: relative;
}

.system_detail li:before {
  content: "●";
  position: absolute;
  left: 0;
}

/* 20231212 */
.single_content ul {
  margin-bottom: 30px;
}
/* 20231212 */

.single_content li {
  margin-left: 20px;
}

.single_content p {
  line-height: 2.4;
}

.single_content ol,
.single_content ul {
  margin-bottom: 30px;
}

.single_content th,
.single_content td {
  padding: 15px;
  border: 1px solid #ccc;
}

.single_content a {
  text-decoration: underline;
  color: #007bff;
}

.single_content th,
.single_content td:nth-child(1) {
  background: #f2f2f2;
}

.smartf-news-form {
  display: flex;
  margin: 2rem;
  justify-content: center;
}

.smartf-news-form .outer {
  width: 75%;
  padding: 4rem;
  background: #fcf5f0;
}

.smartf-news-form .outer .hbspt-form {
  padding: 40px;
  background: white;
}

.smartf-form {
  margin: 40px 0;
  padding: 40px;
  background: #f8f7f6;
}

.smartf-form > div {
  padding: 40px 20px;
  background: #fff;
}

#smartf-form.header {
  margin-bottom: 20px;
  border-bottom: none;
  position: initial;
  box-shadow: none;
  background: transparent;
  font-size: 24px;
  font-weight: bold;
  color: #ff931e;
}

.single_content .smartf-form th,
.single_content .smartf-form td {
  padding: 10px;
  border: none;
}

.single_content .smartf-form th,
.single_content .smartf-form td:nth-child(1) {
  background: transparent;
}

.smartf-form input[type="text"],
.smartf-form input[type="email"] {
  width: 100%;
  height: 40px;
  padding: 0 10px;
  border: 1px solid #cbd6e2;
  background-color: #f5f8fa;
}

.smartf-form .submit-btn input {
  margin: 20px 0;
  padding: 15px 20px;
  border: none;
  border-color: #e58714;
  background: #e58714;
  font-size: 14px;
  color: #ffffff;
}

.review {
  display: flex;
  justify-content: space-between;
}

.smartf-rating {
  width: 34%;
}

.graph {
  width: 66%;
}

.star {
  display: flex;
  align-items: center;
  color: rgb(233, 123, 10);
}

.sky {
  margin-right: 20px;
  font-size: 20px;
}

.score {
  font-size: 30px;
  font-weight: bold;
}

.d-flex {
  display: flex;
  margin-top: 10px;
  justify-content: space-between;
}

.form_title {
  margin-bottom: 50px;
  color: #ff931e;
}

.form_title.small {
  font-size: 1.6rem;
}

.form_title_red {
  margin-bottom: 50px;
  color: #ff0a0a;
}

.form_title.logo {
  font-size: 1.6em;
  color: #23221f;
}

.form_title.black {
  font-size: 1.6rem;
  text-align: center;
  color: black;
}

.form_title.black span {
  margin: 0 0.2rem;
  font-size: 2.2rem;
  color: #ff931e;
}

.form_right {
  width: 600px;
  padding: 30px 50px;
  background: #fff;
}

.back {
  background-color: #fcf5f0;
}

.form_left {
  width: calc(100% - 680px);
}

.price_form {
  max-width: 800px;
  margin: 0 auto;
  padding: 50px;
  border-radius: 20px;
  background: #fff;
}

.price_cards {
  display: flex;
  max-width: 800px;
  margin: 40px auto 60px;
  justify-content: space-between;
}

.price_card {
  width: 48%;
  padding: 30px 20px;
  border-radius: 10px;
  background: #fff;
  text-align: center;
}

.price_card > h3 {
  font-size: 24px;
}

.price_card > .number {
  margin-bottom: 20px;
  position: relative;
  font-size: 24px;
}

.price_card > .number strong {
  font-size: 80px;
  color: #ff931e;
}

.price_card > .number::after {
  content: "";
  width: 25%;
  border-top: 2px solid rgb(77, 77, 77);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.price_card > .description {
  font-weight: bold;
}

.price_card > .sub-description {
  font-size: 12px;
}

#top_price {
  background: linear-gradient(to bottom, #f3954d 0%, #f8ce7a 100%);
  color: #fff;
}

#top_price .price_card {
  color: #333;
}

#top_price .price_form {
  color: #333;
}

#top_price .title:after {
  background: #fff;
}

/* Delete after 保守部品在庫管理システム page is remake  */
.old-site-image-cover {
  display: flex;
  justify-content: center;
}

.old-site-image {
  width: 70%;
}

.old-site-image.single {
  width: 30%;
}

@media (max-width: 768px) {
  .old-site-image {
    width: 100%;
  }

  .old-site-image.single {
    width: 40%;
  }
}

/* Additional Banner */
.fixed_bottom.white {
  padding: 1rem 1rem 1rem 2rem;
  border-radius: 0.5rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 1000;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.125);
  background-color: #f9f9f9;
}

.fixed_bottom.white .fixed_bottom_close {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  position: absolute;
  top: -5px;
  right: -5px;
  box-shadow: 0 1px 2px rgb(0 0 0 / 15%);
  background-color: white;
}

.fixed_bottom.white .fixed_bottom_close::before,
.fixed_bottom.white .fixed_bottom_close::after {
  content: "";
  width: 1px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: black;
}

.fixed_bottom.white .fixed_bottom_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.fixed_bottom.white .fixed_bottom_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.fixed_bottom.white .fixed_bottom_in {
  position: relative;
  justify-content: space-between;
}

.fixed_bottom.white .fixed_bottom_content {
  display: flex;
  width: auto;
  margin-right: 1rem;
  flex-direction: column;
  justify-content: space-between;
}

.fixed_bottom.white .fixed_bottom_content .text {
  display: flex;
  width: 100%;
  padding: 0.675rem 0;
  position: relative;
  flex-direction: column;
  justify-content: space-around;
}

.fixed_bottom.white .fixed_bottom_content .text:before {
  content: "";
  width: calc(100% + 3rem + 67px);
  height: 100%;
  position: absolute;
  top: 0;
  left: -2rem;
  z-index: -1;
  background-color: #ff931e;
}

.fixed_bottom.white .fixed_bottom_content .fixed_bottom_txt {
  margin-top: 0.5rem;
  font-weight: bold;
}

.fixed_bottom.white .fixed_bottom_content .fixed_bottom_txt span {
  color: #3f3f41;
}

.fixed_bottom.white .fixed_bottom_img {
  margin: 0;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 1px 2px rgb(0 0 0 / 50%);
}

.fixed_bottom.white .fixed_bottom_btn_wrap {
  margin-top: 0;
}

.fixed_bottom.white .fixed_bottom_btn_wrap a {
  background-color: #3f3f41;
  color: #ff931e;
}

.fixed_bottom.pure-white {
  padding: 0;
  border-radius: 0.5rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 1000;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.125);
  background-color: white;
}

.fixed_bottom.pure-white .fixed_bottom_close {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  right: 10px;
  box-shadow: 0 1px 2px rgb(0 0 0 / 15%);
  background-color: white;
}

.fixed_bottom.pure-white .fixed_bottom_close::before,
.fixed_bottom.pure-white .fixed_bottom_close::after {
  content: "";
  width: 1px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: black;
}

.fixed_bottom.pure-white .fixed_bottom_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.fixed_bottom.pure-white .fixed_bottom_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.fixed_bottom.pure-white .fixed_bottom_in {
  position: relative;
  justify-content: space-between;
}

.fixed_bottom.pure-white .fixed_bottom_content {
  display: flex;
  width: auto;
  margin-right: 100px;
  padding: 2rem 1rem;
  flex-direction: column;
  justify-content: space-between;
}

.fixed_bottom.pure-white .fixed_bottom_content .text {
  display: flex;
  width: 100%;
  padding: 0 0 1.25rem 0;
  position: relative;
  flex-direction: column;
  justify-content: space-around;
  text-shadow: rgba(0, 0, 0, 0.15) 1px 0 5px;
  letter-spacing: 1px;
}

.fixed_bottom.pure-white .fixed_bottom_content .fixed_bottom_ttl {
  font-size: 24px;
  color: color(srgb 0.2677 0.2382 0.2388);
}

.fixed_bottom.pure-white .fixed_bottom_content .fixed_bottom_ttl span {
  color: color(srgb 0.9638 0.5693 0.3642);
}

.fixed_bottom.pure-white .fixed_bottom_content .fixed_bottom_txt {
  margin-top: 0.25rem;
  font-size: 16px;
  font-weight: bold;
  color: color(srgb 0.2677 0.2382 0.2388);
}

.fixed_bottom.pure-white .fixed_bottom_content .fixed_bottom_txt span {
  color: color(srgb 0.9638 0.5693 0.3642);
}

.fixed_bottom.pure-white .fixed_bottom_img {
  width: unset;
  height: 100%;
  margin-right: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}

.fixed_bottom.pure-white .fixed_bottom_img img {
  object-fit: contain;
  object-position: right;
}

.fixed_bottom.pure-white .fixed_bottom_btn_wrap {
  margin-top: 0;
}

.fixed_bottom.pure-white .fixed_bottom_btn_wrap a {
  width: 196px;
  margin: auto;
  background-color: color(srgb 0.9638 0.5693 0.3642);
  color: white;
}

.fixed_bottom.black {
  padding: 2rem 0 0 0;
  border-radius: 0.5rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 1000;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.125);
  background-color: #f9f9f9;
}

.fixed_bottom.black .fixed_bottom_close {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  box-shadow: 0 1px 2px rgb(0 0 0 / 15%);
  background-color: white;
}

.fixed_bottom.black .fixed_bottom_close::before,
.fixed_bottom.black .fixed_bottom_close::after {
  content: "";
  width: 1px;
  height: 12px;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: black;
}

.fixed_bottom.black .fixed_bottom_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.fixed_bottom.black .fixed_bottom_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.fixed_bottom.black .fixed_bottom_in {
  position: relative;
  justify-content: space-between;
  /* 	background-color: color(srgb 0.1725 0.1726 0.1726); */
}

.fixed_bottom.black .fixed_bottom_content {
  display: flex;
  width: auto;
  padding: 0;
  flex-direction: column;
}

.fixed_bottom.black .fixed_bottom_content .text {
  display: flex;
  width: 100%;
  padding: 0.675rem 1rem 0.675rem 0;
  position: relative;
  flex-direction: column;
  justify-content: space-around;
  text-align: right;
}

.fixed_bottom.black .fixed_bottom_content .text:before {
  content: "";
  width: calc(100% + 156px);
  height: 100%;
  position: absolute;
  left: -156px;
  z-index: -1;
  background-color: color(srgb 0.1725 0.1726 0.1726);
}

.fixed_bottom.black .fixed_bottom_content .text .fixed_bottom_ttl {
  font-size: 22px;
  color: white;
}

.fixed_bottom.black .fixed_bottom_content .fixed_bottom_txt {
  margin-top: 0.5rem;
  font-weight: bold;
}

.fixed_bottom.black .fixed_bottom_content .fixed_bottom_txt span {
  color: #ff931e;
}

.fixed_bottom.black .fixed_bottom_img {
  width: 156px;
  height: 128px;
  margin-right: 0;
  position: relative;
  z-index: 100;
}

.fixed_bottom.black .fixed_bottom_img img {
  height: calc(100% + 2rem);
  padding-left: 0.25rem;
  position: absolute;
  top: -2rem;
  right: 0;
  bottom: 0;
  left: 0;
  object-fit: contain;
}

.fixed_bottom.black .fixed_bottom_btn_wrap {
  display: flex;
  margin: 0.5rem 0;
}

.fixed_bottom.black .fixed_bottom_btn_wrap a {
  margin: 0 auto;
  background-color: color(srgb 0.9638 0.5693 0.3642);
  color: white;
}

/* NEW TOP */
h2.fullline {
  width: auto;
  position: relative;
  font-size: 36px;
  line-height: 1.6;
  color: white;
}

h2.fullline:after {
  content: " ";
  width: calc(100% - 2rem);
  border-bottom: 0.5rem solid #ff931e;
  position: absolute;
  bottom: -0.5rem;
  left: 0;
}

.top_main_in.wide {
  max-width: 1200px;
  padding: 50px 0 60px;
  background: rgb(52 52 52 / 70%);
}

/* 20230717 */
.top_main_ttl.v2 {
  padding: 0 0 0 5rem;
  font-size: unset;
  line-height: unset;
}

.top_main_ttl.v2 h1 {
  font-size: 42px;
  line-height: 1.5;
  text-align: left;
}

/* 20240115 */
.top_main_ttl.v2 h1 .logo {
  display: block;
  margin-bottom: 12px;
}
/* 20240115 */

.top_main_ttl.v2 h1 small {
  font-size: 32px;
}

/* 20240115 */
.top_main_ttl.v2 h1 .subtitle {
  margin: 24px 0;
  font-size: 24px;
}
/* 20240115 */

.top_main_ttl.v2 .top_main_btn_wrap {
  text-align: left;
}

.top_main_ttl.v2 .top_main_btn_wrap a {
  width: 280px;
  /* 20230719 */
  margin: 16px 16px 16px 0;
  text-shadow: none;
  font-size: 18px;
}

.top_main_flex {
  display: flex;
  /* 20230719 */
  margin: 1rem 0;
  align-items: center;
  justify-content: space-between;
}

.top_main_flex.start {
  align-items: start;
}

/* 20230717 */
.top_main_logo {
  width: 440px;
  margin-right: 5rem;
}

/* .top_main_flex .pc {
	width: 440px;
	margin-right: 5rem;
} */
/* 20230717 */

.top_main_logo.space {
  margin: 0 7rem;
}

.top_main_btn_wrap.no-margin {
  margin: 0;
}

.smartf-detachment .headline {
  width: auto;
  margin: 0;
  padding: 0 2rem;
  background: white;
}

.smartf-detachment .headline > img {
  width: 128px;
  height: 128px;
  margin-right: 1rem;
}

.smartf-detachment .headline > h2 {
  margin-bottom: 0;
}

.smartf-detachment .body {
  padding: 4rem 1rem;
  padding-bottom: 2rem;
  border-width: 1px;
  border-style: solid;
  border-radius: 1rem;
}

.pain-and-solve .area {
  margin: 2rem;
}

.pain-and-solve .pain,
.pain-and-solve .transition,
.pain-and-solve .solve {
  margin: 0 1rem;
  font-size: 18px;
  color: #706d65;
}

.pain-and-solve .pain > div,
.pain-and-solve .solve > div {
  margin: 0 1rem;
}

.pain-and-solve .pain img,
.pain-and-solve .solve img {
  width: 108px;
  height: 108px;
  object-fit: contain;
}

.pain-and-solve .transition img {
  object-fit: contain;
}

.pain-and-solve .pain img.wide {
  width: 133.2px;
}

.pain-and-solve .solve img.double {
  width: 216px;
}

.pain-and-solve li {
  margin: 0 1rem;
  padding: 1rem 3.5rem;
  border-radius: 0.5rem;
  box-shadow: -1px 2px 5px 1px #f7cda7;
  background: #fff0e9;
  font-size: 20px;
  font-weight: bold;
}

.pain-and-solve li span {
  margin: 0 0.375rem;
  font-size: 130%;
  color: #ff931e;
}

.smartf-middle-quote {
}

.smartf-middle-quote .fixedcontainer {
  padding: 0 2rem;
}

.smartf-middle-quote h2 {
}

.smartf-middle-quote p {
  width: 75%;
  font-size: 21px;
  color: #e7e7e7;
  word-break: keep-all;
}

.smartf-speciality {
  padding: 0 2rem;
}

.smartf-speciality > .description {
  padding: 2rem 0.75rem;
}

.smartf-speciality > .description h3 {
  font-size: 32px;
  font-weight: bold;
}

.smartf-speciality > .description p {
  color: #706d65;
  word-break: keep-all;
}

.smartf-speciality > .image {
  min-width: 300px;
}

.smartf-speciality > .image img {
  width: 300px;
  height: 300px;
}

.smartf-feature {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid lightgrey;
  align-items: center;
}

.smartf-feature .name {
  width: 220px;
}

.smartf-feature h3 {
  font-size: 20px;
  font-weight: bold;
}

.smartf-feature h3 a {
  text-decoration: revert;
  color: #1558d6;
}

/* 20230727 */
.smartf-feature.overview {
  padding: 0 2rem;
  border-bottom: none;
}

.smartf-feature.overview .badge {
  width: 20%;
  margin-bottom: 1rem;
  padding: 1rem;
}

.smartf-feature.overview .badge img {
  max-width: 60%;
  height: auto;
  margin-bottom: 0.25rem;
}

/* 20240414 */
.smartf-feature.overview .badge .link {
  margin: 0.5rem;
  padding: 0.25rem 1.5rem;
  border-radius: 50px;
  -webkit-transition: 0.3s ease;
  -moz-transition: 0.3s ease;
  -ms-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  background-color: #ff931e;
  color: white;
}

.smartf-feature.overview .badge .link.black {
  background-color: #23221f;
  color: #fff;
}

.smartf-feature.overview .badge .link:hover {
  /* background-color: #ff8500; */
  scale: 1.07;
}
/* 20240414 */

.smartf-feature.overview .sub h4 {
  font-size: 16px;
  text-align: center;
}

.smartf-feature.overview .sub .badge {
  width: calc(100% / 7);
}

.smartf-feature.overview .option {
  margin: 0 3rem;
  position: relative;
}

.smartf-feature.overview .option h3 {
  padding: 1.5rem 3rem;
  background-color: white;
  font-size: 1.1rem;
}

.smartf-feature.overview .option h3:before {
  content: "";
  border-top: 4px solid lightgray;
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  left: 0;
  z-index: -1;
}

.smartf-feature.overview .option .btn_wrap {
  margin-bottom: 2rem;
  font-size: 1.2rem;
  font-weight: bold;
}

.smartf-feature.overview .option .btn_wrap .intro {
  margin-bottom: 2rem;
}

.smartf-feature.overview .option .btn_wrap .intro span {
  padding: 0 0.15rem;
  font-size: 2rem;
  color: #ff931e;
}

.smartf-feature.overview .option .btn_wrap .outro {
  margin: 2rem 0;
}

.smartf-feature.overview .option .btn_wrap .outro span {
  padding: 0 0.15rem;
  border-bottom: 4px solid #ffc483;
  font-size: 1.4rem;
}
/* 20230727 */

.smartf-comparison-table {
  height: 1px;
  margin: 4rem 0 0;
  border-spacing: 1rem 0;
  border-collapse: separate;
}

.smartf-comparison-table.small {
  border-spacing: 0.5rem 0;
}

.smartf-comparison-table thead tr th {
  height: 100%;
  padding: unset;
  border: unset;
  background: unset;
  vertical-align: bottom;
}

.smartf-comparison-table thead tr th .area {
  /* 	height: 100%; */
  padding: 1.5rem 3rem;
}

.smartf-comparison-table.small thead tr th .area {
  padding: 0.5rem 1rem;
}

.smartf-comparison-table thead tr th .area .icon {
  display: inline-block;
  width: 48px;
  height: 48px;
  margin-right: 0.5rem;
}

.smartf-comparison-table thead tr th .area .icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.smartf-comparison-table thead:first-child tr th .area {
  border-radius: 1rem 1rem 0 0;
  overflow: hidden;
  border-top-width: 2px;
}

.smartf-comparison-table.small thead:first-child tr th .area:not(.highlight) {
  width: 140px;
  padding: 0.75rem 1rem 0.5rem;
}

.smartf-comparison-table thead tr th .area.highlight {
  display: flex;
  padding: 0;
  flex-direction: column;

  border-top-color: #ff984d;
  border-left-color: #ff984d;
  border-right-color: #ff984d;
}

.smartf-comparison-table thead tr th .area.highlight .space {
  width: 100%;
  height: 0.5rem;
  background-color: #ff984d;
}

.smartf-comparison-table thead tr th .area.highlight .info {
  padding: 2rem 3rem;
}

.smartf-comparison-table.small thead tr th .area.highlight .info {
  padding: 2rem 1rem 0.5rem;
}

.smartf-comparison-table thead tr th .area,
.smartf-comparison-table tbody tr td .area {
  border: 1px solid #f4f0ef;
  border-left-width: 2px;
  border-right-width: 2px;
}

.smartf-comparison-table tbody tr th .area {
  display: flex;
  height: 100%;
  padding: 0.5rem 1.5rem;
  border: 1px solid white;
  align-items: center;
  justify-content: center;
  background-color: #f4f0ef;
  text-align: center;
}

.smartf-comparison-table tbody tr th {
  padding: unset;
  border: unset;
  background: unset;
}

.smartf-comparison-table tbody tr td {
  height: 100%;
  padding: unset;
  border: unset;
  vertical-align: top;
}

.smartf-comparison-table tbody tr td .area {
  display: flex;
  height: 100%;
  padding: 0.5rem 1.5rem;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.smartf-comparison-table tbody tr td .area.highlight {
  border-left-color: #ff984d;
  border-right-color: #ff984d;
}

.smartf-comparison-table tbody tr:first-child th .area {
  border-radius: 1rem 0 0 0;
}

.smartf-comparison-table tbody tr:last-child th {
  vertical-align: top;
}

.smartf-comparison-table tbody tr:last-child th .area {
  height: calc(100% - 0.75rem);
  border-radius: 0 0 0 1rem;
}

.smartf-comparison-table tbody tr:last-child td .area {
  height: calc(100% - 0.5rem);
  border-radius: 0 0 1rem 1rem;
  border-bottom-width: 2px;
}

.smartf-comparison-table tbody tr:last-child td .area.highlight {
  border-bottom-color: #ff984d;
}

.smartf-comparison-table tbody tr:last-child td .area.highlight {
  display: flex;
  flex-direction: column;
}

.smartf-comparison-table tbody tr:last-child td .area.highlight .space {
  display: block;
  width: 100%;
  height: 0.75rem;
}

.smartf-comparison-table .area {
  font-size: 14px;
}

.smartf-comparison-table.small .area {
  font-size: 80%;
}

.smartf-comparison-table th .area {
  font-size: 16px;
}

.smartf-comparison-table .area .symbol {
  font-size: 36px;
}

.smartf-comparison-table .area.highlight b {
  font-weight: normal;
  color: #ff984d;
}

.smartf-comparison-table .area.highlight .symbol {
  color: #ff984d;
}

.smartf-comparison-table.small .link {
  display: inline-block;
  margin: 0.5rem 0;
  padding: 0.25rem 0.75rem;
  border-radius: 50px;
  -webkit-transition: 0.3s ease;
  -moz-transition: 0.3s ease;
  -ms-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  background-color: #ff931e;
  font-size: 12px;
  color: white;
}

.smartf-comparison-table.small .link:hover {
  background-color: #ff8500;
}

/* 20231220 */
.smartf-rewards {
  padding: 16px 0 24px;
}

.smartf-rewards .rewards {
  display: flex;
  height: 120px;
  padding: 8px 0;
  justify-content: center;
}

.smartf-rewards .rewards .rank {
  margin: 16px 8px;
  padding: 0 8px;
  border-right: 2px solid #d8d7d6;
  object-fit: contain;
}

.smartf-rewards .rewards .reward {
  object-fit: contain;
}

.smartf-rewards .rewards .remark {
  width: 0;
  position: relative;
}

.smartf-rewards .rewards .remark::after {
  content: "※2";
  display: block;
  position: absolute;
  top: 6px;
  right: 6px;
  font-size: 10px;
}

.smartf-rewards .ps {
  margin-top: 8px;
  font-size: 12px;
  text-align: center;
}
/* 20231220 */

/* 20230709 */
.smartf-partner {
  margin-bottom: 3rem;
  padding: 1rem 0;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.smartf-partner .slick-track {
  display: flex;
  height: 64px;
}

.smartf-partner .slick-track .slick-slide {
  display: flex;
  height: auto;
  align-items: center;
  justify-content: center;
  object-fit: contain;
}

.smartf-partner .slick-track .slick-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/* 20230709 */

/* 20230909 */
.smartf-reasons {
  display: flex;
  width: 100%;
  padding: 2rem 0 1rem;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.smartf-reasons .reason {
  width: 31%;
}

.smartf-reasons .reason .card {
  /* 20230921 */
  padding: 2.5rem 1rem 3.5rem;
  /* 20230921 */
  border-radius: 0.5rem;
  overflow: visible;
  position: relative;
  box-shadow: 0px 2px 4px 2px rgb(0 0 0 / 15%);
}

.smartf-reasons .reason .card h3 {
  font-size: 28px;
  text-align: center;
}

.smartf-reasons .reason .card .number {
  width: 64px;
  height: 64px;
  position: absolute;
  top: -12px;
  left: -5px;
}

.smartf-reasons .reason .card .number img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.smartf-reasons .reason .card .number .text {
  width: 100%;
  padding: 5px;
  position: absolute;
  top: 0;
  font-size: 24px;
  font-weight: bolder;
  text-align: center;
  color: white;
}

.smartf-reasons .reason .card .image {
  height: 192px;
  margin: 0 0 0.5rem;
}

.smartf-reasons .reason .card .image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.smartf-reasons .reason ul {
  margin: 2.5rem 0 1rem;
  padding-left: 1.5rem;
  font-weight: bold;
}

.smartf-reasons .reason ul li {
  margin-bottom: 0.5rem;
  font-size: 18px;
}

.smartf-reasons .reason ul li span {
  font-weight: bold;
  color: #f08119;
}

/* 20231010 */
.smartf-reasons .feature {
  width: 32%;
  margin: 0 0.66% 3rem;
}

.smartf-reasons.two-column .feature {
  width: 40%;
}

.smartf-reasons .feature .number {
  width: 100%;
  font-size: 40px;
  font-weight: bolder;
  line-height: 0.9;
  color: #282a27;
  -webkit-text-stroke-width: thin;
}

.smartf-reasons .feature .card {
  margin: 0 0 0.5rem;
  position: relative;
}

.smartf-reasons .feature .card h3 {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  font-size: 28px;
  letter-spacing: 2px;
  text-align: center;
  text-align: center;
  color: white;
}

.smartf-reasons .feature .card h3 span {
  color: #ff931e;
}

.smartf-reasons .feature .card .image img {
  width: 100%;
  object-fit: contain;
}

.smartf-reasons .feature ul {
  margin: 1rem 0;
  padding-left: 1.5rem;
  font-weight: bold;
}

.smartf-reasons .feature ul li {
  margin-bottom: 0.25rem;
  font-size: 15px;
  font-weight: bold;
}

.smartf-reasons .feature ul li span {
  color: #f08119;
}

.smartf-solution .troubles {
  display: flex;
  margin: 4rem 0;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.smartf-solution .troubles .trouble {
  width: 23%;
  margin-bottom: 2rem;
  padding: 2rem;
  border-radius: 0.5rem;
  box-shadow: 0px 2px 4px 2px rgb(0 0 0 / 15%);
}

/* 20231125 */
.smartf-solution.qms .troubles .trouble {
  width: 28%;
}
/* 20231125 */

.smartf-solution .troubles .trouble h3 {
  margin-bottom: 1rem;
  font-size: 18px;
  font-weight: normal;
  text-align: center;
}

.smartf-solution .troubles .trouble h3 b {
  font-weight: bold;
  color: color(srgb 0.3932 0.5213 0.7973);
}

.smartf-solution .troubles .trouble .image {
  height: 150px;
}

.smartf-solution .troubles .trouble .image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.smartf-solution h2.solve {
  padding: 2rem 0;
  position: relative;
  z-index: 1;
  font-size: 36px;
  text-align: center;
}

.smartf-solution .solutions {
  display: flex;
  padding: 3rem 0;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
}

.smartf-solution .solutions .solution {
  width: 48%;
}

.smartf-solution .solutions .solution h3 {
  font-size: 26px;
  text-align: center;
}

.smartf-solution .solutions .solution h3 b {
  color: #f13d2a;
}

.smartf-solution .solutions .solution .image {
  height: 250px;
  margin: 1rem 0;
  padding: 1rem;
}

.smartf-solution .solutions .solution .image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.smartf-solution .solutions .solution .detail {
  display: flex;
}

.smartf-solution .solutions .solution .detail ul {
  display: inline-block;
  margin: 0 auto;
  font-size: 14px;
}

.smartf-solution .solutions .solution .detail ul li {
  margin-bottom: 0.25rem;
  padding-left: 26px;
  position: relative;
  font-weight: bold;
  line-height: 2;
  list-style: none;
}

.smartf-solution .solutions .solution .detail ul li:before {
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  top: 5px;
  left: 0;
  background: url(../img/icon-check.svg) no-repeat;
  background-position: center;
  background-size: contain;
}

.smartf-solution .solutions .solution .detail ul.grid {
  display: grid;
  grid-template-rows: 1fr 1fr 1fr 1fr;
  grid-auto-flow: column;
  grid-gap: 0 2.5rem;
}

/* 20231130 */
.smartf-solution .solutions .solution .detail ul.grid.auto {
  grid-template-rows: unset;
  grid-template-columns: auto auto;
  grid-auto-flow: row;
}
/* 20231130 */

.smartf-solution .top-arrow {
  position: relative;
}

.smartf-solution .top-arrow::after {
  content: "";
  width: 0;
  height: 0;
  border-width: 100px 300px 0 300px;
  border-style: solid;
  border-color: #ffffff transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translatex(-50%);
}
/* 20231010 */

.smartf-specialities {
  width: 1000px;
  margin: auto;
  padding: 1.5rem;
  border-radius: 0.5rem;
  background-color: #fff8ef;
}

.smartf-specialities .specialities {
  display: grid;
  width: 100%;
  grid-template-columns: calc(50% - 0.75rem) calc(50% - 0.75rem);
  gap: 1.5rem;
}

.smartf-specialities .specialities .speciality {
  display: flex;
  border-radius: 0.5rem;
  flex-direction: row;
  align-items: center;
  box-shadow: 0px 2px 4px 2px rgb(0 0 0 / 15%);
  background: white;
}

.smartf-specialities .specialities .speciality .image {
  width: 128px;
  height: 128px;
  margin: 0rem 1rem;
}

.smartf-specialities .specialities .speciality .image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.smartf-specialities .specialities .speciality .description {
  padding: 1rem 1rem 1rem 0;
  font-size: 18px;
  font-weight: bold;
}

.smartf-specialities .summary {
  margin-top: 1.5rem;
  padding: 1.5rem;
  background: unset;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}

.smartf-specialities .summary span {
  display: inline-block;
  width: 72px;
  height: 100%;
  position: relative;
}

.smartf-specialities .summary span img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-60%);
  object-fit: contain;
}

.smartf-implementation {
  margin: 3rem 0 6rem;
}

.smartf-implementation .before,
.smartf-implementation .after {
  display: grid;
  grid-template-columns: calc(40% - 1rem) calc(30% - 1rem) calc(30% - 1rem);
  gap: 1.5rem;
}

.smartf-implementation .card {
  padding: 2rem 1rem 1rem;
  border-radius: 0.5rem;
  box-shadow: 0px 2px 4px 2px rgb(0 0 0 / 15%);
  background: white;
}

.smartf-implementation .card p {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

.smartf-implementation .card p.one-line {
  line-height: 320%;
}

.smartf-implementation .card .images {
  display: flex;
  height: 128px;
  margin: 0.5rem 0;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.smartf-implementation .card .images img {
  height: 100%;
  object-fit: contain;
}

.smartf-implementation .card .images img.symbol {
  height: 20%;
  margin: 0 1rem;
}

.smartf-implementation .to {
  display: flex;
  margin: 2.5rem 0;
  justify-content: center;
}

.smartf-implementation .to:after {
  content: "";
  width: 0;
  height: 0;
  border-width: 40px 200px 0 200px;
  border-style: solid;
  border-color: #fcccb6 transparent transparent transparent;
  position: relative;
}

.smartf-implement-flow {
  display: grid;
  grid-template-columns: 15% 2% 15% 2% 15% 2% 15% 2% 15% 2% 15%;
}

.smartf-implement-flow .step .header {
  display: flex;
  border-bottom: unset;
  position: relative;
  z-index: unset;
  flex-direction: row;
  align-items: end;
  box-shadow: none;
}

.smartf-implement-flow .step .header .label {
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}

.smartf-implement-flow .step .header .number {
  font-size: 32px;
  font-weight: bolder;
  line-height: 1;
  text-align: center;
}

.smartf-implement-flow .step .header p {
  padding: 0 4px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.2;
}

.smartf-implement-flow .step img {
  width: 100%;
  padding: 0 0.5rem;
  object-fit: contain;
}

.smartf-implement-flow .step .footer {
  font-size: 14px;
}

.smartf-implement-flow .arrow {
  width: 100%;
  position: relative;
}

.smartf-implement-flow .arrow:after {
  content: "";
  width: 0;
  height: 0;
  border-width: 16px 0 16px 20px;
  border-style: solid;
  border-color: transparent transparent transparent #3b3738;
  position: absolute;
  top: 116px;
}
/* 20230909 */

/* 20240609 */
.smartf-company-info {
  display: flex;
  margin: 60px 0;
  flex-direction: row;
  justify-content: space-between;
}

.smartf-company-info .card {
  width: 48%;
  padding: 25px 20px;
  border-radius: 0.5rem;
  box-shadow: 0px 2px 4px 2px rgb(0 0 0 / 15%);
}

.smartf-company-info .card h2 {
  margin: 0 0 20px;
  padding-bottom: 4px;
  border: unset;
  position: relative;
  font-size: 24px;
  text-align: center;
}

.smartf-company-info .card h2:after {
  content: "";
  width: 50px;
  height: 2px;
  margin-left: -25px;
  position: absolute;
  bottom: 0;
  left: 50%;
  background-color: #ff931e;
}

.smartf-company-info .card .image {
  height: 320px;
  margin-bottom: 20px;
  object-fit: contain;
}

.smartf-company-info .card .head {
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

.smartf-company-info .card .head span {
  color: #f08119;
}

.smartf-company-info .card .body {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}

.smartf-company-info .card a {
  display: inline-block;
  width: auto;
  padding: 5px 14px 6px;
  border-radius: 32px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  background-color: #ff931e;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  color: #fff;
}
/* 20240609 */

/* 20241122 */
.smartf-company-bnr {
  width: fit-content;
  margin-inline: auto;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
}

.smartf-company-bnr img {
  width: 100%;
  height: auto;
}

.case-button-intro {
  margin: 1rem;
  position: relative;
}

.case-button-intro:before,
.case-button-intro:after {
  content: "";
  width: 2px;
  height: 100%;
  border-left: 2px solid black;
  position: absolute;
  top: 0;
}

.case-button-intro:before {
  left: -32px;
  transform: rotate(-50deg);
}

.case-button-intro:after {
  right: -32px;
  transform: rotate(50deg);
}

.case-button-intro.orange {
  font-size: 1.3em;
  font-weight: bold;
  letter-spacing: 2px;
  color: #f97216;
}

.case-button-intro.orange span {
  font-size: 1.6rem;
}

.case-button-intro.orange:before,
.case-button-intro.orange:after {
  content: "";
  width: 2px;
  height: 80%;
  border-left: 2px solid #f97216;
  position: absolute;
  top: 15%;
}

.case-button-intro.orange:before {
  left: -32px;
  transform: rotate(-30deg);
}

.case-button-intro.orange:after {
  right: -32px;
  transform: rotate(30deg);
}

/* 20231010 */
.btn_case {
  display: flex;
  margin: 1rem 0;
}

.btn_case a {
  display: inline-block;
  margin: 0 auto;
  padding: 0.5rem 1rem;
  border-radius: 40px;
  background-color: #ff931e;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  color: #fff;
}

.bg-light-orange {
  background-color: #fff9f3;
}
/* 20231010 */

/* 20230731 */
ul.check li {
  margin-left: 0;
  padding-left: 30px;
  position: relative;
  position: relative;
  line-height: 2;
  list-style: none;
}

ul.check li:before {
  content: "";
  width: 22px;
  height: 22px;
  position: absolute;
  top: 6px;
  left: 0;
  background: url(../img/checkmark.png) no-repeat;
  background-position: center;
  background-size: contain;
}

.reward.remark.one,
.reward.remark.two {
  position: relative;
}

.reward.remark.one::after,
.reward.remark.two::after {
  display: block;
  position: absolute;
  top: 6px;
  right: 6px;
  font-size: 12px;
}

.reward.remark.one::after {
  content: "※1";
}

.reward.remark.two::after {
  content: "※2";
}

.pc-hidden {
  display: none;
}

.mobile-hidden {
}

/* Bootstrap */
.inline-flex {
  display: inline-flex;
}

.flex-column {
  flex-direction: column;
}

.justify-content-start {
  justify-content: start;
}

.justify-content-end {
  justify-content: end;
}

.justify-content-center {
  justify-content: center;
}

.justify-content-space-between {
  justify-content: space-between;
}

.align-items-center {
  align-items: center;
}

.align-items-baseline {
  align-items: baseline;
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.m-auto {
  margin: auto;
}

.flex-wrap {
  flex-wrap: wrap;
}

/*20230802*/
.mb-0 {
  margin-bottom: 15px !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.my-4 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.my-5 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

/* Fix P>img */
p:has(img.aligncenter) {
  text-align: center;
}

/* 20231119 */
picture {
  display: contents;
}

/* 20240804 */
.smartf-column-cover {
  padding: 40px 0 44px;
  position: relative;
  background-color: #f2f2f2;
}

.smartf-column-cover .background {
  width: auto;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.smartf-column-cover .fixedcontainer {
  position: relative;
  z-index: 2;
}

.smartf-column-cover .background img {
  height: 100%;
}

.smartf-column-cover h1 {
  margin-bottom: 24px;
  z-index: 1000;
  font-size: 36px;
}

.smartf-column-cover p {
  margin-bottom: 24px;
  z-index: 1000;
}

.smartf-column-cover .search {
  display: inline-block;
  width: auto;
  padding: 4px 12px;
  border: 1px solid #a3a3a3;
  border-radius: 40px;
  background-color: white;
}

.smartf-column-cover .search .keyword {
  display: inline-block;
  width: auto;
  padding: 4px 12px;
  border: none;
  position: relative;
}

.smartf-column-cover .search .keyword:focus-visible {
  outline: unset;
}

.smartf-column-cover .search .button {
  width: 28px;
  height: 20px;
  border: none;
  background-color: transparent;
}

.smartf-column-cover .search .button img {
  width: 100%;
  height: 100%;
  transform: translateY(-2px);
  object-fit: contain;
  object-position: left top;
}

.smartf-column-block {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.smartf-column-block.space-top {
  padding-top: 4rem;
}

.smartf-column-block h2 {
  padding-bottom: 2rem;
  font-size: 34px;
}

.smartf-column-block p {
  padding-bottom: 2rem;
}

.smartf-column-search-from {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.smartf-column-search-from .topic {
  width: 100%;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
  overflow: hidden;
  background-color: white;
}

.smartf-column-search-from .topic.small {
  width: calc((100% - (1.5rem * 2)) / 3);
}

.smartf-column-search-from .topic h2 {
  padding: 8px;
  border-bottom: 1px solid #d8d8d8;
  background-color: #ff931e;
  font-size: 26px;
  text-align: center;
  color: white;
}

.smartf-column-search-from .topic .body {
  display: flex;
  padding: 24px;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 14px;
}

.smartf-column-search-from .topic .body a {
  display: inline-block;
  max-width: 100%;
  padding: 2px 10px 1px;
  border: 1px solid #d8d8d8;
  border-radius: 100px;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
}

.smartf-column-search-from .topic .body a:hover {
  border: 1px solid #ff931e;
  background-color: #ff931e;
  font-weight: bold;
  color: white;
}

.smartf-column-cards {
  display: flex;
  width: 100%;
  max-height: 400px;
  overflow: hidden;
  flex-wrap: wrap;
}

.smartf-column-cards.slick-initialized {
  overflow: visible;
}

.smartf-column-cards.no-slick {
  display: flex;
  width: 100%;
  max-height: unset;
  margin-bottom: 16px;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: 16px;
}

.smartf-column-cards.column-3.no-slick {
  gap: unset;
}

.smartf-column-gap {
  width: 50%;
  padding: 0.5rem;
  flex-basis: 50%;
}

.smartf-column-cards.column-3 .smartf-column-gap {
  width: calc(100% / 3);
  flex-basis: 33.33%;
}

.smartf-column-cards .smartf-column-gap .magazine_one {
  margin-right: unset;
  margin-bottom: unset;
}

.smartf-column-cards.no-slick .smartf-column-gap {
  width: 48%;
  flex-basis: unset;
}

.smartf-column-cards.column-3.no-slick .smartf-column-gap {
  width: calc(100% / 3);
  flex-basis: unset;
}

.smartf-column-cards.no-slick .smartf-column-gap .magazine_one {
  display: block;
  width: unset;
}

.smartf-column-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.smartf-column-card .card-info {
  display: flex;
  order: 1;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
}

.smartf-column-card .card-info .category {
  padding: 4px 16px;
  border-radius: 100px;
  background-color: color(srgb 0.1381 0.1332 0.1203);
  color: white;
}

.smartf-column-card .card-main {
  order: 2;
}

.smartf-column-card .card-main .cover {
  height: 200px;
  margin-bottom: 15px;
  overflow: hidden;
}

.smartf-column-card .card-main .cover img {
  transition: 0.5s;
}

.smartf-column-card:hover .card .cover {
  transform: scale(1.1);
}

.smartf-column-card .card-main h3 {
  display: -webkit-box;
  height: 52px;
  margin-bottom: 12px;
  overflow: hidden;
  overflow: hidden;
  font-size: 18px;
  line-height: 26px;
  white-space: normal;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.smartf-column-card .card-main .tags {
  display: flex;
  height: 30px;
  overflow: hidden;
  gap: 8px;
  flex-flow: wrap;
}

.smartf-column-card .card-main .tag {
  display: inline-block;
  max-width: 100%;
  padding: 3px 10px 2px;
  border: 1px solid #ff931e;
  border-radius: 100px;
  font-size: 14px;
  color: #ff931e;
}

.smartf-column-case-cards {
  display: flex;
  width: 100%;
  max-height: 214px;
  overflow: hidden;
  flex-wrap: wrap;
}

.smartf-column-case-cards.slick-initialized {
  overflow: visible;
}

.smartf-column-case-card {
  display: flex;
  /* width: calc(50% - 0.5rem); */
  width: 100%;
  padding: 18px;
  border: 1px solid #d8d8d8;
  border-radius: 8px;
  overflow: hidden;
  flex-direction: row;
}

.smartf-column-case-card .image {
  /* width: 200px; */
  width: 160px;
  /* height: 160px; */
  height: 128px;
  border-radius: 4px;
  overflow: hidden;
  flex-shrink: 0;
}

.smartf-column-case-card .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.smartf-column-case-card .info {
  /* 	margin-left: 12px; */
  margin-left: 20px;
  font-size: 18px;
}

.smartf-column-case-card .info h3 {
  display: -webkit-box;
  height: 86px;
  padding: 4px 0 12px;
  border-bottom: 1px solid color(srgb 0.4597 0.4547 0.4549);
  /* height: 36px; */
  overflow: hidden;
  overflow: hidden;
  line-height: 36px;
  white-space: normal;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.smartf-column-case-card .info .company {
  padding-top: 8px;
  padding-bottom: 0;
  color: color(srgb 0.4597 0.4547 0.4549);
}

.smartf-column-case-cards .slick-prev,
.smartf-column-case-cards .slick-next,
.smartf-column-cards .slick-prev,
.smartf-column-cards .slick-next {
  display: inline-block;
  width: 20px;
  height: 20px;
  padding: 3px;
  border: solid #23221f;
  border-width: 0 3px 3px 0;
}

.smartf-column-case-cards .slick-prev,
.smartf-column-cards .slick-prev {
  left: -25px;
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

.smartf-column-case-cards .slick-next,
.smartf-column-cards .slick-next {
  right: -25px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.smartf-column-case-cards .slick-prev:hover,
.smartf-column-case-cards .slick-next:hover,
.smartf-column-cards .slick-prev:hover,
.smartf-column-cards .slick-next:hover {
  width: 20px;
  height: 20px;
  border: solid #666666;
  border-width: 0 3px 3px 0;
  background: unset;
}

.smartf-column-case-cards .slick-prev:hover,
.smartf-column-cards .slick-prev:hover {
  left: -25px;
}

.smartf-column-case-cards .slick-next:hover,
.smartf-column-cards .slick-next:hover {
  right: -25px;
}

section.light-grey {
  background-color: #f8f7f6;
}

section.archive h1 {
  margin-bottom: 2rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #d8d8d8;
}

.smartf-column-order {
  display: flex;
  flex-direction: column;
}

.smartf-column-order > section.pb-0 {
  padding-bottom: 0;
}

.smartf-column-order > section:last-child {
  margin-bottom: 4rem;
}

section.smartf-column-order-search-from {
  order: 1;
}

section.smartf-column-order-ranking {
  order: 10;
}

section.smartf-column-order-new {
  order: 20;
}

section.smartf-column-order-recommend {
  order: 30;
}

/* .sidebar.column {
  padding: 0.5rem 0;
} */

.header.v2 .header_in .header_left .logo {
  width: 240px;
}

.header.v2 .header_in .header_right {
  width: 240px;
  justify-content: end;
}

.header.v2 .header_in .header_right .search,
.sidebar.column .search {
  display: inline-block;
  width: auto;
  max-width: 100%;
  padding: 4px 12px;
  border: 1px solid #a3a3a3;
  border-radius: 40px;
  background-color: white;
}

.sidebar.column .search {
  margin-bottom: 2rem;
}

.header.v2 .header_in .header_right .search .keyword,
.sidebar.column .search .keyword {
  display: inline-block;
  width: auto;
  max-width: calc(100% - 28px);
  padding: 2px 8px;
  border: none;
  position: relative;
}

.header.v2 .header_in .header_right .search .keyword:focus-visible,
.sidebar.column .search .keyword:focus-visible {
  outline: unset;
}

.header.v2 .header_in .header_right .search .button,
.sidebar.column .search .button {
  width: 22px;
  height: 16px;
  border: none;
  background-color: transparent;
}

.header.v2 .header_in .header_right .search .button img,
.sidebar.column .search .button img {
  width: 100%;
  height: 100%;
  transform: translateY(-2px);
  object-fit: contain;
  object-position: left top;
}

.sidebar.column .sidebar_one {
  padding: 0.75rem 1rem;
  border: 1px solid #a3a3a3;
  border-radius: 8px;
}

.sidebar.column .sidebar_one h3.sidebar_ttl.category {
  font-size: 22px;
  color: unset;
}

.sidebar.column .sidebar_one ul li {
  display: block;
  margin-bottom: 10px;
  padding-left: 12px;
  position: relative;
  font-size: 15px;
  font-weight: bold;
  color: #ff931e;
}

.sidebar.column .sidebar_one ul li:before {
  content: none;
}

.sidebar.column .sidebar_one ul li a {
  margin-bottom: 0;
  padding-left: 0;
  position: relative;
  font-size: 15px;
  cursor: pointer;
}

.sidebar.column .sidebar_one ul li a:hover {
  text-decoration: none;
}

.sidebar.column .sidebar_one ul li a:before {
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 8px solid #ff931e;
  border-right: 6px solid transparent;
  border-bottom: 0;
  border-left: 6px solid transparent;
  position: absolute;
  left: -18px;
  transform: translateY(2px);
}

.sidebar.column .sidebar_one ul li a.close:before {
  border-top: 6px solid transparent;
  border-right: 0;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #ff931e;
  transform: translateY(-1px);
}

.sidebar.column .sidebar_one ul li ul {
  display: block;
  opacity: 1;
  height: auto;
  max-height: 100%;
  margin: 4px 0 12px;
  padding: 0 4px;
  -webkit-transition: all 200ms ease;
  -moz-transition: all 200ms ease;
  -ms-transition: all 200ms ease;
  -o-transition: all 200ms ease;
  transition: all 200ms ease;
  list-style: circle;
}

.sidebar.column .sidebar_one ul li ul.close {
  display: none;
  opacity: 0;
  max-height: 0;
}

.sidebar.column .sidebar_one ul li ul li {
  display: list-item;
  margin-bottom: 4px;
  padding-left: 0;
  position: relative;
  font-weight: normal;
  list-style: disc;
  list-style-position: inside;
  color: #23221f;
}

.sidebar.column .sidebar_one ul li ul li:before {
  display: none;
}

.sidebar.column .sidebar_one ul li ul li a {
  display: inline-block;
  margin-bottom: 0;
  padding-left: 0;
}

.sidebar.column .sidebar_one ul li ul li a:hover {
  text-decoration: none;
}

.sidebar.column .sidebar_one ul li ul li a:before {
  display: none;
}
/* 20240804 */

/* 20241205 テストのみ追記 ここから */
.company-info {
  display: grid;
  margin-bottom: 120px;
  grid-template-columns: 300px 1fr;
  gap: 50px;
}

.company-info-head {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.company-info-dl {
  margin-top: 10px;
  border-top: 1px solid #c5c2bc;
}

.company-info-block {
  display: grid;
  padding: 28px 0;
  border-bottom: 1px solid #c5c2bc;
  grid-template-columns: 180px 1fr;
}

.company-info-dt {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: #b3aea5;
}

.company-info-dd {
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.1em;
}

.company-info-logo {
  width: 180px;
  margin-top: 10px;
}

.company-info-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.company-info-listitem {
}

.company-info-txt + .company-info-txt {
  margin-top: 1.5em;
}

@media screen and (max-width: 767px) {
  .company-info {
    display: block;
    margin-bottom: 100px;
  }

  .company-info-head {
    font-size: 28px;
    text-align: center;
  }

  .company-info-dl {
    margin-top: 40px;
  }

  .company-info-block {
    padding: 25px 0;
    grid-template-columns: 120px 1fr;
  }

  .company-info-dt {
    font-size: 16px;
  }

  .company-info-dd {
    font-size: 16px;
  }

  .company-info-logo {
    width: 160px;
  }
}

/* 20241205 テストのみ追記 ここまで */

/* 20241211 テストのみ追記 ここから */
.form-visual {
  display: grid;
  grid-template-columns: 1fr 460px;
}
.form-visual-main {
  overflow: hidden;
  position: relative;
}
.form-visual-bg img {
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  object-fit: cover;
  object-position: center;
}
.form-visual-imgs {
  max-width: 1250px;
  margin-inline: auto;
  padding: 50px 50px 0;
  position: relative;
  z-index: 1;
}
.form-visual-imgs img {
  width: 100%;
  height: auto;
}
.form-visual-head {
  width: 60%;
  margin-inline: auto;
}
.form-visual-points {
  display: grid;
  margin-top: 15px;
  padding: 0 5% 0 2%;
  grid-template-columns: repeat(3, 1fr);
  gap: 2%;
}
.form-visual-container {
  display: grid;
  margin-top: 40px;
  grid-template-columns: 1fr 40%;
}
.form-visual-txt1 {
  display: flex;
  align-items: center;
  gap: 1%;
  font-size: 42px;
  font-weight: bold;
  white-space: nowrap;
  color: white;
}
.form-visual-txt2 {
  margin-top: 20px;
  font-size: 42px;
  font-weight: bold;
  color: white;
}
.form-visual-logo {
  width: 68%;
  margin-top: 20px;
}
.form-visual-list {
  display: grid;
  margin-top: 15px;
  padding: 0 11% 0 8%;
  grid-template-columns: repeat(8, 1fr);
  gap: 3%;
  list-style: none;
}
.form-visual-item-txt {
  margin-top: 10px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}
.form-visual-note {
  padding: 10px 50px 30px 50px;
  position: relative;
  z-index: 1;
  font-size: 10px;
  text-align: right;
}
.form-visual-form {
  padding: 20px;
  background: #fff;
}
.form-visual-form-txt1 {
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: bold;
}
.form-visual-form-txt2 {
  margin-top: 10px;
  font-size: 14px;
  font-weight: bold;
}
@media screen and (min-width: 1081px) and (max-width: 1536px) {
  .form-visual-imgs {
    padding: 100px 50px 0;
  }
  .form-visual-txt1 {
    font-size: 26px;
  }
  .form-visual-txt2 {
    font-size: 26px;
  }
  .form-visual-list {
    padding: 0 2% 0 1%;
    gap: 2%;
  }
  .form-visual-item-txt {
    font-size: 13px;
  }
}
@media screen and (max-width: 1080px) {
  .form-visual {
    display: block;
  }
  .form-visual-imgs {
    padding: 50px 20px 0;
  }
  .form-visual-head {
    width: 60%;
  }
  .form-visual-points {
    margin-top: 10px;
    padding: 0;
    gap: 1%;
  }
  .form-visual-container {
    display: block;
    margin-top: 30px;
  }
  .form-visual-txt1 {
    justify-content: center;
    font-size: 32px;
  }
  .form-visual-txt1-img {
    width: 52%;
  }
  .form-visual-txt2 {
    margin-top: 15px;
    font-size: 32px;
    text-align: center;
  }
  .form-visual-logo {
    width: 48%;
    margin-top: 20px;
    margin-inline: auto;
  }
  .form-visual-img {
    width: 58%;
    margin-top: 20px;
    margin-inline: auto;
  }
  .form-visual-list {
    width: 64%;
    margin-top: 15px;
    margin-inline: auto;
    padding: 0;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px 6%;
  }
  .form-visual-item-txt {
    margin-top: 5px;
    font-size: 15px;
  }
  .form-visual-note {
    padding: 20px 20px 30px 20px;
    text-align: left;
  }
  .form-visual-form {
    padding: 50px;
  }
  .form-visual-form-txt1 {
    text-align: center;
  }
  .form-visual-form-txt2 {
    text-align: center;
  }
}
@media screen and (max-width: 760px) {
  .form-visual {
    display: block;
  }
  .form-visual-imgs {
    padding: 20px 20px 0;
  }
  .form-visual-head {
    width: 80%;
  }
  .form-visual-points {
    display: flex;
    margin-top: 10px;
    padding: 0;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px 0.5%;
  }
  .form-visual-point {
    width: 49%;
  }
  .form-visual-container {
    display: block;
    margin-top: 30px;
  }
  .form-visual-txt1 {
    max-width: 525px;
    margin-inline: auto;
    font-size: 22px;
  }
  .form-visual-txt1-img {
    width: 70%;
  }
  .form-visual-txt2 {
    margin-top: 15px;
    font-size: 22px;
    text-align: center;
  }
  .form-visual-logo {
    width: 48%;
    max-width: 252px;
    margin-top: 15px;
  }
  .form-visual-img {
    width: 80%;
    max-width: 420px;
    margin-top: 20px;
  }
  .form-visual-list {
    width: 88%;
    max-width: 462px;
    margin-top: 15px;
    gap: 10px 6%;
  }
  .form-visual-item-txt {
    margin-top: 5px;
    font-size: 11px;
  }
  .form-visual-form {
    padding: 20px;
  }
}
/* 20241211 テストのみ追記 ここまで */

/* 20241219 テストのみ追記 ここから */
.case-func {
  margin-bottom: 100px;
}
.case-func-head {
  font-size: 28px;
  text-align: center;
}
.case-func-list {
  display: flex;
  margin-top: 30px;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}
.case-func-item {
  width: 155px;
}
.case-func-link {
  display: block;
  padding: 10px 15px;
  border: 1px solid #9d9b9a;
  border-radius: 20px;
  transition: opacity 0.3s;
  text-align: center;
}
.case-func-link:hover {
  opacity: 0.7;
}
.case-func-txt {
  margin-top: 10px;
  font-size: 18px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .case-func {
    margin-bottom: 70px;
  }
  .case-func-head {
    font-size: 24px;
  }
  .case-func-list {
    margin-top: 20px;
    gap: 20px 15px;
  }
  .case-func-item {
    width: 105px;
  }
  .case-func-link {
    padding: 10px;
    border-radius: 15px;
  }
  .case-func-txt {
    margin-top: 5px;
    font-size: 15px;
  }
}

/* 20241219 テストのみ追記 ここまで */

/* 20241226 追記 ここから */
.bnr_popup {
  visibility: hidden;
  opacity: 0;
  width: 280px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 100;
  transition: opacity 0.3s, visibility 0.3s;
  background: white;
}
.bnr_popup.is-large {
  width: 400px;
}
.bnr_popup.is-show {
  visibility: visible;
  opacity: 1;
}
.bnr_popup_link {
  display: block;
  transition: opacity 0.3s;
}
.bnr_popup_link:hover {
  opacity: 0.7;
}
.bnr_popup_link img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .bnr_popup {
    width: 160px;
    right: 10px;
    bottom: 10px;
  }
  .bnr_popup.is-large {
    width: 200px;
  }
}
/* 20241226 追記 ここまで */

/* 20241226 追記 ここから */
.header_btn2 {
  transition: background-color 0.3s, color 0.3s, scale 0.3s !important;
  /* background: #ff931e;
  color: #fff; */
  font-weight: bold;
}

.header_btn2:hover {
  opacity: 1 !important;
  scale: 1.07;
  /* background: #ffcf40; */
  box-shadow: none !important;
}

.header_btn1,
.header_column {
  border: 1px solid #ff931e;
  transition: background-color 0.3s, color 0.3s, scale 0.3s !important;
  /* background: #fff !important;
  color: #ff931e !important; */
  font-weight: bold;
}

.header_right > .header_btn1:hover,
.header_column:hover {
  opacity: 1 !important;
  scale: 1.07;
  /* background: #fff6c8 !important; */
  box-shadow: none !important;
}

.top_main_btn.white {
  border: 1px solid #ff931e;
  background: #fff !important;
  font-weight: bold;
  color: #ff931e !important;
}
.top_main_btn.black {
  background: #23221f !important;
  color: #fff !important;
}
.top_main_btn {
  transition: background-color 0.3s, color 0.3s, scale 0.3s !important;
  box-shadow: none !important;
  background: #ff931e;
  font-weight: bold;
  color: #fff;
}
.top_main_btn:hover {
  scale: 1.07;
}

/* 20241226 追記 ここまで */

/* 20250124追記 ここから */
.g-nav-tel {
  display: flex;
  align-items: center;
}
.g-nav-tel-head {
  font-size: 12px;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}
.g-nav-tel-container {
  display: flex;
  flex-wrap: wrap;
  /* width: 160px; */
}
.g-nav-tel-link {
  pointer-events: none;
}
.g-nav-tel-icon {
  width: 18px;
}
.g-nav-tel-icon img {
  width: 100%;
  height: auto;
}
.g-nav-tel-num {
  width: calc(100% - 18px);
  font-size: 21px;
  font-weight: bold;
  line-height: 1;
  white-space: nowrap;
  color: #ff9434;
}
.g-nav-tel-time {
  padding-left: 45px;
  font-size: 10px;
}
@media screen and (max-width: 1000px) {
  .g-nav-tel {
    display: block;
    margin-top: 20px;
  }
  .g-nav-tel-link {
    display: block;
    width: fit-content;
    margin-top: 5px;
    margin-inline: auto;
    pointer-events: auto;
  }
  .g-nav-tel-icon {
    width: 22px;
  }
  .g-nav-tel-num {
    width: calc(100% - 22px);
  }
  .g-nav-btns {
    display: flex;
    margin-top: 20px;
    justify-content: center;
    gap: 10px;
  }
  .g-nav-btn1 {
    display: inline-block;
    padding: 8px 10px;
    border-radius: calc(1px / 0);
    background-color: #23221f;
    font-size: 14px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
  }
  .g-nav-btn2 {
    display: inline-block;
    padding: 8px 10px;
    border-radius: calc(1px / 0);
    background-color: #ff931e;
    font-size: 14px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
  }
}
/* 20250124追記 ここまで */

/* 20250208追記 */
.bottom-cv {
  display: none;
  width: 480px;
  height: 140px;
  padding: 26px 23px 0 23px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1;
  filter: drop-shadow(2px 1px 6px rgba(0, 0, 0, 0.3));
}
.bottom-cv.hide {
  display: none !important;
}
.bottom-cv-container {
  display: grid;
  position: relative;
  z-index: 1;
  grid-template-columns: 185px 1fr;
  gap: 18px;
}
.bottom-cv-txt1 {
  margin-top: -5px;
}
.bottom-cv-txt1 img {
  width: 100%;
  height: auto;
}
.bottom-cv-txt2 {
  margin-top: -14px;
  padding: 0 9px 0 14px;
}
.bottom-cv-txt2 img {
  width: 100%;
  height: auto;
}
.bottom-cv-btn:nth-of-type(2) {
  margin-top: 13px;
}
.bottom-cv-btn:nth-of-type(2) .bottom-cv-btn-link {
  background: white;
  color: #23221f;
}
.bottom-cv-btn-link {
  display: grid;
  height: 32px;
  border-radius: calc(1px / 0);
  place-items: center;
  transition: scale 0.15s;
  background: #23221f;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: white;
}
.bottom-cv-btn-link:hover {
  scale: 1.04;
}
.bottom-cv-btn-small {
  font-size: 10px;
}
.bottom-cv-btn-tel {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
  color: white;
}
.bottom-cv-btn-tel-ico {
  display: inline-block;
  width: 10px;
  margin: 0 5px;
  translate: 0 -1px;
}
.bottom-cv-btn-tel-ico img {
  width: 100%;
  height: auto;
}
.bottom-cv-close {
  width: 55px;
  position: absolute;
  top: -20px;
  right: -30px;
  z-index: 1;
  cursor: pointer;
}
.bottom-cv-close img {
  width: 100%;
  height: auto;
}
.bottom-cv-bg img {
  width: 100%;
  min-width: 100%;
  height: auto;
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 500px) {
  .bottom-cv {
    width: calc(100% - 40px);
    padding: 26px 8px 0 8px;
  }
  .bottom-cv-container {
    grid-template-columns: 122px 1fr;
    gap: 5px;
  }
  .bottom-cv-txt2 {
    margin-top: 0;
    padding: 0 7px 0 10px;
  }
  .bottom-cv-btn-link {
    font-size: 12px;
  }
  .bottom-cv-bg img {
    object-fit: fill;
  }
}
/* 20250208追記 ここまで */

/* 20250208追記 */
@media screen and (min-width: 768px) {
  .dropdown.-new ul {
    display: grid;
    padding: 0 20px;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px 20px;
  }
  .dropdown.-new ul li {
    margin: 0 !important;
    padding: 0 !important;
  }

  .dropdown.-new ul li a {
    display: flex;
    height: 100%;
    padding: 8px 18px 8px 8px;
    border-bottom: 1px solid;
    align-items: center;
  }
  .dropdown.-new ul li a::before {
    display: none;
  }
  .dropdown.-new ul li a img {
    width: 32px;
    margin-right: 10px;
  }
  .dropdown.-new ul li a span {
    flex: 1;
  }
}
/* 20250208追記 ここまで */

/* 20250225追記 */
.top_main.typec .top_main_in.wide {
  position: relative;
}
.top_main.typec .ps {
  text-align: left;
}
.top_main_form {
  width: 502px;
  padding: 15px 30px 30px;
  background: #f3932a;
}
.top_main_form-title-txt {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  color: #fff;
}
.top_main_form-iframe {
  margin-top: 10px;
  padding: 20px;
  border-radius: 20px;
  background: #fff;
}
@media screen and (max-width: 999.9px) {
  .top_main_form {
    width: 100%;
    margin-top: 30px;
    padding: 10px 15px 15px;
  }
  .top_main_form-iframe {
    padding: 15px;
  }
  .top_main_form-title-txt {
    font-size: 18px;
  }
}
@media screen and (min-width: 1000px) {
  .top_main.typec {
    display: flex;
  }
  .top_main.typec .top_main_in.wide {
    max-width: 1060px;
    flex: 1;
  }
  .top_main.typec .top_main_ttl.v2.wide {
    padding-left: 3rem;
  }
  .top_main.typec .top_main_logo {
    padding-right: 2rem;
  }
  .top_main.typec .top_main_btn_wrap {
    padding-left: 2rem;
  }
  .top_main.typec .top_main_btn_wrap a {
    display: block;
  }
}
/* 20250225追記 ここまで */

/* 20250225追記 */
.bottom-cv-case {
  display: none;
  width: 280px;
  height: 280px;
  padding: 16px 20px 0 16px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 3;
  filter: drop-shadow(2px 1px 6px rgba(0, 0, 0, 0.3));
}
.bottom-cv-case.hide {
  display: none !important;
}
.bottom-cv-case img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.bottom-cv-case-container {
  position: relative;
  z-index: 1;
}
.bottom-cv-case-txt1 {
  width: 150px;
  margin-inline: auto;
}
.bottom-cv-case-txt2 {
  width: 224px;
  margin-top: 12px;
}
.bottom-cv-case-txt3 {
  width: 224px;
  margin: 6px 0 0 auto;
}
.bottom-cv-case-txt4 {
  width: 95px;
  margin-top: 6px;
  margin-inline: auto;
}
.bottom-cv-case-btn {
  margin-top: 6px;
}
.bottom-cv-case-btn-link {
  display: grid;
  height: 38px;
  border-radius: calc(1px / 0);
  place-items: center;
  transition: scale 0.15s !important;
  background: #23221f;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  color: white;
}
.bottom-cv-case-btn-link:hover {
  scale: 1.04;
}
.bottom-cv-case-download {
  margin-top: 5px;
  text-align: center;
}
.bottom-cv-case-download-link {
  width: fit-content;
  margin-inline: auto;
  padding-bottom: 3px;
  border-bottom: 1px solid;
  transition: color 0.15s !important;
  font-size: 12px;
  color: #ff6501;
}
.bottom-cv-case-download-link svg {
  width: 11px;
  margin-left: 3px;
}
.bottom-cv-case-download-link svg g {
  transition: stroke 0.15s;
}
.bottom-cv-case-download-link:hover {
  color: #2677f9;
}
.bottom-cv-case-download-link:hover svg g {
  margin-left: 3px;
  stroke: #2677f9;
}
.bottom-cv-case-close {
  width: 55px;
  position: absolute;
  top: -20px;
  right: -30px;
  z-index: 1;
  cursor: pointer;
}
.bottom-cv-case-close img {
  width: 100%;
  height: auto;
}
.bottom-cv-case-bg img {
  width: 100%;
  min-width: 100%;
  height: auto;
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 500px) {
}
/* 20250225追記 ここまで */

/* 20250309追記 */
blockquote {
  margin: 1em 0;
  padding: 1em 3em;
  border-left: 4px solid #888;
  border-radius: 4px;
  position: relative;
  background: #f5f5f5;
  font-style: italic;
  color: #333;
}

blockquote p {
  margin: 0 !important;
  line-height: 1.6;
}

blockquote::before {
  content: "“";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 3rem;
  line-height: 1;
  color: #888;
}

blockquote::after {
  content: "”";
  position: absolute;
  right: 0.5em;
  bottom: -0.3em;
  font-size: 3rem;
  line-height: 1;
  color: #888;
}

cite {
  display: block;
  margin-top: 0.5em;
  font-size: 0.9rem;
  text-align: right;
  color: #666;
}

cite::before {
  content: "— ";
}
/* 20250309追記 ここまで */

/* 20250314追記 */
.new-fv {
  padding: 20px;
  overflow: clip;
  position: relative;
}
.new-fv__inner {
  padding: 5.33vw;
  position: relative;
  z-index: 1;
  background: rgb(20 20 20 / 0.8);
  color: white;
}
.new-fv__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2.67vw;
}
.new-fv__list-item {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  gap: 2.67vw;
}
.new-fv__list-item.-wide {
  width: 100%;
}
.new-fv__list-ico {
  width: 5.33vw;
}
.new-fv__list-txt {
  font-size: 3.73vw;
  font-weight: 700;
}
.new-fv__copy {
  margin-top: 5.33vw;
  text-shadow: 0 4px 3px rgb(0 0 0 / 0.3);
  font-size: 6.4vw;
  font-weight: 700;
}
.new-fv__btns {
  margin-top: 10.67vw;
}
.new-fv__btn {
  max-width: 64vw;
  margin-inline: auto;
}
.new-fv__btn + .new-fv__btn {
  margin-top: 4vw;
}
.new-fv__btn-head {
  display: flex;
  width: fit-content;
  margin-inline: auto;
  align-items: center;
  justify-content: center;
  font-size: 4.27vw;
  font-weight: 700;
}
.new-fv__btn-head::before {
  content: "";
  width: 1px;
  height: 4.27vw;
  margin-right: 2.67vw;
  rotate: -25deg;
  background: white;
}
.new-fv__btn-head::after {
  content: "";
  width: 1px;
  height: 4.27vw;
  margin-left: 2.67vw;
  rotate: 25deg;
  background: white;
}
.new-fv__btn-link {
  display: block;
  margin-top: 1.33vw;
  padding: 1.33vw;
  border-radius: calc(1px / 0);
  transition: scale 0.3s;
  box-shadow: 0px 7px 5px 0px rgb(135 60 8 / 0.3);
  background: white;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
  color: #f3932a;
}
.new-fv__btn-link:hover {
  scale: 1.1;
}
.new-fv__btn.-orange .new-fv__btn-link {
  background: #f3932a;
  color: white;
}
.new-fv__img {
  margin-top: 10.67vw;
}
.new-fv__img img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.new-fv__note {
  margin-top: 10.67vw;
  font-size: 3.2vw;
}
.new-fv__bg img {
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  object-fit: cover;
  object-position: left center;
}
@media (min-width: 768px) {
  .new-fv {
    padding: 0 1.67vw;
  }
  .new-fv__inner {
    padding: 4.58vw 2.5vw 1.25vw 4.17vw;
  }
  .new-fv__container {
    display: grid;
    align-items: center;
    grid-template-columns: 55% 1fr;
  }
  .new-fv__list {
    gap: 1.67vw;
  }
  .new-fv__list-item {
    gap: 0.83vw;
  }
  .new-fv__list-item.-wide {
    width: auto;
  }
  .new-fv__list-ico {
    width: 2.5vw;
  }
  .new-fv__list-txt {
    font-size: 1.67vw;
  }
  .new-fv__copy {
    margin-top: 2.5vw;
    font-size: 3.67vw;
  }
  .new-fv__btns {
    display: grid;
    margin-top: 2.5vw;
    padding-right: 4.17vw;
    grid-template-columns: 1fr 1fr;
    gap: 1.25vw;
  }
  .new-fv__btn {
    max-width: auto;
    margin-inline: 0;
  }
  .new-fv__btn + .new-fv__btn {
    margin-top: 0;
  }
  .new-fv__btn-head {
    font-size: 1.5vw;
  }
  .new-fv__btn-head::before {
    height: 1.5vw;
    margin-right: 0.83vw;
  }
  .new-fv__btn-head::after {
    height: 1.5vw;
    margin-left: 0.83vw;
  }
  .new-fv__btn-link {
    margin-top: 0.83vw;
    padding: 0.83vw;
    font-size: 1.67vw;
  }
  .new-fv__img {
    margin-top: 0;
  }
  .new-fv__img img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  .new-fv__note {
    margin-top: 2.92vw;
    font-size: 0.92vw;
    text-align: center;
  }
  .new-fv__bg img {
    object-position: center;
  }
}
@media (min-width: 1200px) {
  .new-fv {
    padding: 0 20px;
  }
  .new-fv__inner {
    max-width: 1160px;
    margin-inline: auto;
    padding: 55px 30px 15px 50px;
  }
  .new-fv__list {
    gap: 20px;
  }
  .new-fv__list-item {
    gap: 10px;
  }
  .new-fv__list-ico {
    width: 30px;
  }
  .new-fv__list-txt {
    font-size: 20px;
  }
  .new-fv__copy {
    margin-top: 30px;
    font-size: 44px;
  }
  .new-fv__btns {
    margin-top: 30px;
    padding-right: 50px;
    gap: 15px;
  }
  .new-fv__btn + .new-fv__btn {
    margin-top: 0;
  }
  .new-fv__btn-head {
    font-size: 18px;
  }
  .new-fv__btn-head::before {
    height: 18px;
    margin-right: 10px;
  }
  .new-fv__btn-head::after {
    height: 18px;
    margin-left: 10px;
  }
  .new-fv__btn-link {
    margin-top: 10px;
    padding: 10px;
    font-size: 20px;
  }
  .new-fv__img {
    margin-top: 0;
  }
  .new-fv__note {
    margin-top: 35px;
    font-size: 11px;
  }
}
/* 20250314追記 ここまで */
.new-fv-form {
  background: #f3932a;
}
.new-fv-form__inner {
  padding: 8vw 5.33vw 2.67vw;
  overflow: clip;
  position: relative;
}
.new-fv-form__container {
  position: relative;
  z-index: 1;
  color: white;
}
.new-fv-form__copy {
  font-size: 6.93vw;
  font-weight: 700;
}
.new-fv-form__logo {
  width: 72.53vw;
  margin-top: 4vw;
  margin-inline: auto;
}
.new-fv-form__logo img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.new-fv-form__txt {
  margin-top: 4vw;
  font-size: 4.27vw;
  font-weight: 700;
  text-align: center;
}
.new-fv-form__img {
  width: 74.67vw;
  margin-top: 2.67vw;
  margin-inline: auto;
}
.new-fv-form__img img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.new-fv-form__btn {
  max-width: 81.33vw;
  margin-top: 4vw;
  margin-inline: auto;
}
.new-fv-form__btn-link {
  display: block;
  padding: 2.67vw;
  border-radius: calc(1px / 0);
  transition: scale 0.3s;
  background: #f3932a;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
  color: white;
}
.new-fv-form__btn-link:hover {
  scale: 1.1;
}
.new-fv-form__note {
  margin-top: 4vw;
  position: relative;
  z-index: 1;
  font-size: 2.67vw;
  text-align: right;
  color: white;
}
.new-fv-form__bg img {
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  object-fit: cover;
  object-position: left center;
}
@media (max-width: 767px) {
  .new-fv-form-form {
    display: none;
  }
}
@media (min-width: 768px) {
  .new-fv-form__inner {
    padding: 6.51vw 1.3vw 1.95vw;
  }
  .new-fv-form__copy {
    font-size: 5.21vw;
    text-align: center;
  }
  .new-fv-form__logo {
    width: 56.77vw;
    margin-top: 2.6vw;
  }
  .new-fv-form__txt {
    margin-top: 3.91vw;
    font-size: 3.13vw;
  }
  .new-fv-form__img {
    width: 52.73vw;
    margin-top: 1.3vw;
  }
  .new-fv-form__btn {
    max-width: 73.44vw;
    margin-top: 3.26vw;
  }
  .new-fv-form__btn-link {
    padding: 1.3vw;
    font-size: 4.17vw;
  }
  .new-fv-form__note {
    margin-top: 3.91vw;
    font-size: 1.43vw;
  }
  .new-fv-form-form {
    padding: 7.81vw;
    background: #f3932a;
  }
  .new-fv-form-form__head {
    font-size: 3.91vw;
    font-weight: 700;
    text-align: center;
    text-align: center;
    color: white;
  }
  .new-fv-form-form__iframe {
    margin-top: 1.3vw;
    padding: 2.6vw;
    border-radius: 20px;
    background: white;
  }
}
@media (min-width: 1200px) {
  .new-fv-form {
    display: grid;
    overflow: clip;
    align-items: center;
    grid-template-columns: 1fr 482px;
  }
  .new-fv-form__inner {
    padding: 3.13vw 2.86vw 0.78vw 5.21vw;
    overflow: visible;
  }
  .new-fv-form__container {
    display: grid;
    align-items: start;
    grid-template-columns: 51% 1fr;
  }
  .new-fv-form__txts {
    grid-area: 1 / 1 / 2 / 2;
  }
  .new-fv-form__copy {
    font-size: 2.29vw;
    text-align: left;
  }
  .new-fv-form__logo {
    width: 27.55vw;
    margin-top: 1.56vw;
    margin-inline: 0;
  }
  .new-fv-form__txt {
    margin-top: 1.56vw;
    font-size: 1.46vw;
    text-align: left;
  }
  .new-fv-form__img {
    width: 100%;
    margin-top: -0.52vw;
    grid-area: 1 / 2 / 3 / 3;
  }
  .new-fv-form__btn {
    max-width: 29.38vw;
    margin-top: 1.3vw;
    margin-inline: 0;
    grid-area: 2 / 1 / 3 / 2;
  }
  .new-fv-form__btn-link {
    padding: 0.52vw;
    font-size: 1.67vw;
  }
  .new-fv-form__note {
    margin-top: 2.08vw;
    font-size: 0.57vw;
  }
  .new-fv-form-form {
    padding: 20px;
  }
  .new-fv-form-form__head {
    font-size: 20px;
  }
  .new-fv-form-form__iframe {
    margin-top: 5px;
    padding: 20px;
  }
  .new-fv-form__bg img {
    object-position: center;
  }
}

/* 20250321追記 */
.ebooks-intro {
  padding: 20px 20px 0;
}
.ebooks-intro__head {
  font-size: 28px;
  text-align: center;
}
.ebooks-intro__txt {
  margin-top: 20px;
  font-size: 16px;
}
.ebooks-sec {
  padding: 20px 20px 0;
}
.ebooks-sec + .ebooks-sec {
  padding-top: 60px;
}
#sec5.ebooks-sec {
  padding-bottom: 100px;
}
.ebooks-sec__head {
  padding-bottom: 10px;
  border-bottom: 2px solid #ff931e;
  font-size: 21px;
}
.ebooks-sec__list {
  margin-top: 20px;
  list-style: none;
}
.ebooks-sec__list-item + .ebooks-sec__list-item {
  margin-top: 50px;
}
.ebooks-sec__list-link {
  display: block;
}
.ebooks-sec__list-thumb {
  border: 1px solid #e6e6e6;
}
.ebooks-sec__list-thumb img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.ebooks-sec__list-title {
  display: -webkit-box;
  margin-top: 10px;
  overflow: hidden;
  font-size: 18px;
  font-weight: 700;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.ebooks-sec__list-txt {
  display: -webkit-box;
  margin-top: 10px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.ebooks-sec__list-btn {
  display: grid;
  margin-top: 15px;
  padding: 10px;
  border: 1px solid #ff931e;
  place-items: center;
  font-weight: 700;
}
.ebooks-sec__anchor {
  display: grid;
  margin-top: 20px;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  list-style: none;
}
.ebooks-sec__anchor-link {
  display: flex;
  padding: 5px 0;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
}
.ebooks-sec__anchor-txt {
  font-size: 18px;
  font-weight: 700;
}
.ebooks-sec__anchor-arrow {
  font-size: 20px;
}
@media (min-width: 768px) {
  .ebooks-intro {
    max-width: 1000px;
    margin-inline: auto;
    padding: 40px 50px 0;
  }
  .ebooks-intro__head {
    font-size: 36px;
  }
  .ebooks-intro__txt {
    margin-top: 30px;
    font-size: 20px;
    text-align: center;
  }
  .ebooks-sec {
    max-width: 1000px;
    margin-inline: auto;
    padding: 40px 50px 0;
  }
  .ebooks-sec + .ebooks-sec {
    padding-top: 100px;
  }
  #sec5.ebooks-sec {
    padding-bottom: 200px;
  }
  .ebooks-sec__head {
    font-size: 24px;
  }
  .ebooks-sec__head.-center {
    text-align: center;
  }
  .ebooks-sec__list {
    display: grid;
    margin-top: 40px;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
  }
  .ebooks-sec__list-item + .ebooks-sec__list-item {
    margin-top: 0;
  }
  .ebooks-sec__list-link:hover .ebooks-sec__list-thumb img {
    scale: 1.1;
  }
  .ebooks-sec__list-link:hover .ebooks-sec__list-title {
    color: #ff931e;
  }
  .ebooks-sec__list-thumb {
    overflow: clip;
  }
  .ebooks-sec__list-thumb img {
    transition: scale 0.3s;
  }
  .ebooks-sec__list-title {
    transition: color 0.3s;
    font-size: 21px;
  }
  .ebooks-sec__list-txt {
    margin-top: 20px;
  }
  .ebooks-sec__list-btn {
    margin-top: 20px;
  }
  .ebooks-sec__anchor {
    margin-top: 40px;
    grid-template-columns: repeat(4, 1fr);
    /* grid-template-columns: repeat(5, 1fr); */
    gap: 0;
  }
  .ebooks-sec__anchor-item + .ebooks-sec__anchor-item {
    border-left: 1px solid #e6e6e6;
  }
  .ebooks-sec__anchor-link {
    display: block;
    padding: 10px 0;
    transition: scale 0.3s;
  }
  .ebooks-sec__anchor-link:hover {
    opacity: 0.7;
  }
  .ebooks-sec__anchor-txt {
    font-size: 21px;
  }
  .ebooks-sec__anchor-arrow {
    margin-top: 10px;
  }
}
/* 20250321追記 ここまで */

/* 20250322追記 */
.bottom-mov {
  display: none;
  width: 350px;
  height: 350px;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 3;
  filter: drop-shadow(2px 1px 6px rgba(0, 0, 0, 0.3));
}
.bottom-mov.hide {
  display: none !important;
}
.bottom-mov-link {
  display: block;
  transition: opacity 0.3s;
}
.bottom-mov-link:hover {
  opacity: 0.7;
}
.bottom-mov-video {
  width: 100%;
  height: auto;
}
.bottom-mov-close {
  width: 40px;
  position: absolute;
  top: -30px;
  right: -15px;
  z-index: 1;
  cursor: pointer;
}
.bottom-mov-close img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 500px) {
  .bottom-mov {
    width: 200px;
    height: 200px;
  }
}
/* 20250322追記 ここまで */

/* 20250417追記 ここから */
.archives-bnr {
  max-width: 800px;
  margin-top: 60px;
  margin-bottom: 60px;
  margin-inline: auto;
}
.archives-bnr-head {
  margin-bottom: 0 !important;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}
.archives-bnr-link {
  display: block;
  transition: opacity 0.3s;
}
.archives-bnr-link.small {
  max-width: 600px;
  margin-inline: auto;
}
.archives-bnr-link:hover {
  opacity: 0.7;
}
/* 20250417追記 ここまで */

/* 20250422追記 ここから */
.work_industry {
  display: grid;
  max-width: 1000px;
  margin: 50px auto;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}
.work_industry_set {
  display: flex;
  flex-direction: column;
  box-shadow: 0px 2px 4px 2px rgb(0 0 0 / 15%);
  background: white;
}
.work_industry_head {
  padding: 8px;
  background: black;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  color: white;
}
.work_industry_list {
  display: grid;
  padding: 30px 30px 0;
  grid-template-columns: 1fr 1fr;
  gap: 2px 5px;
  list-style: none;
}
.work_industry_item {
  font-size: 16px;
}
.work_industry_item::before {
  content: "・";
}
.work_industry_etc {
  margin-top: -22px;
  padding-right: 40px;
  flex-grow: 1;
  text-align: right;
}
.work_industry_txt {
  margin-top: 10px;
  padding-bottom: 30px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 767px) {
  .work_industry {
    display: block;
  }
}
/* 20250422追記 ここまで */

/* 20250428追記 ここから */
.limited-video {
  padding: 40px 50px;
}
.limited-video-title {
  font-size: 32px;
  text-align: center;
  color: #ff931e;
}
.limited-video-container {
  display: grid;
  max-width: 1240px;
  margin-top: 30px;
  margin-inline: auto;
  grid-template-columns: 55% 1fr;
  gap: 30px;
}
.limited-video-video {
}
.limited-video-mov {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  /* width: auto;
  height: calc(100vh - 205px); */
}
.limited-video-form {
  padding: 30px;
  flex: 1;
  background: #fff;
}
.limited-video-info {
  max-width: 1240px;
  margin-inline: auto;
  padding: 0;
}
@media (max-width: 1000px) {
  .limited-video-container {
    display: block;
  }
  .limited-video-form {
    margin-top: 30px;
  }
}
/* 20250428追記 ここまで */

/* 20250530追記 ここから */
.header-panel {
  display: flex;
  height: 100%;
  align-items: center;
}
.header-panel:hover .header-panel-menu {
  visibility: visible;
  opacity: 1;
}
.header-panel-menu {
  visibility: hidden;
  opacity: 0;
  width: 100%;
  padding: 40px;
  position: absolute;
  top: 78px;
  left: 0;
  transition: opacity 0.3s, visibility 0.3s;
  background: #f5f5f5;
}
@media (max-width: 1372px) {
  .header-panel-menu {
    top: 96px;
  }
}
@media (max-width: 1024px) {
  .header-panel-menu {
    top: 49px;
  }
}
.header-panel-menu img {
  max-width: 100%;
  height: auto;
}
.header-panel-container {
  display: grid;
  max-width: 760px;
  margin-inline: auto;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.header-panel-item {
  border-radius: 5px;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
}
.header-panel-link {
  display: block;
  padding: 16px 40px;
  transition: background-color 0.3s;
  background: #fff;
}
.header-panel-link:hover {
  background: #fbefde;
}
/* .header-panel-link:hover .header-panel-btn {
  background: #ff931e;
} */
/* .header-panel-link:hover .header-panel-btn:has(.header-panel-btn-ico) {
  background: #fff;
} */
/* .header-panel-link:hover .header-panel-btn-txt {
  color: #fff;
} */
/* .header-panel-link:hover .header-panel-btn:has(.header-panel-btn-ico) .header-panel-btn-txt {
  color: #ff931e;
} */
/* .header-panel-link:hover .header-panel-btn:has(.header-panel-btn-ico) path {
  fill: #ff931e;
} */
.header-panel-link:hover .header-panel-btn {
  scale: 1.1;
}
.header-panel-head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  color: #ff931e;
}
.header-panel-head-ico {
  width: 18px;
}
.header-panel-head-ico.-large {
  width: 30px;
}
.header-panel-img {
  margin-top: 12px;
}
.header-panel-txt {
  margin-top: 12px;
  padding: 0 18px;
}
.header-panel-btn {
  width: 90%;
  margin-top: 12px;
  margin-inline: auto;
  padding: 8px;
  border: 1px solid #ff931e;
  border-radius: calc(1px / 0);
  /* transition: background-color 0.3s; */
  transition: scale 0.3s;
  background: #fff;
  text-align: center;
}
.header-panel-btn:has(.header-panel-btn-ico) {
  display: flex;
  padding-left: 15px;
  align-items: center;
  justify-content: center;
  gap: 15px;
  background: #ff931e;
}
.header-panel-btn:has(.header-panel-btn-ico) .header-panel-btn-txt {
  color: #fff;
}
.header-panel-btn-txt {
  transition: color 0.3s;
  font-size: 14px;
  color: #ff931e;
}
.header-panel-btn-ico {
  display: block;
  width: 15px;
}
.header-panel-btn-ico path {
  transition: fill 0.3s;
  fill: #fff;
}
@media (max-width: 767px) {
  .header-panel-menu {
    display: none;
  }
}
/* 20250530追記 ここまで */

/* 20250625追記 ここから */
.sidebar_sticky {
  position: sticky;
  top: 100px;
  left: 0;
  z-index: 100;
}
/* 20250625追記 ここまで */

/* 20250827追記 ここから */
.case-top-banner {
  margin-bottom: 60px;
  padding: 0 50px;
}
.case-top-banner-link {
  display: block;
  max-width: 800px;
  margin-inline: auto;
  transition: opacity 0.3s;
}
.case-top-banner-link:hover {
  opacity: 0.7;
}
.case-top-banner-img {
}
.case-top-banner-img img {
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .case-top-banner {
    padding: 0 20px;
  }
}

.sidebar_btn_head {
  font-weight: 700;
  text-align: center;
}
/* 20250827追記 ここまで */

/* 20250916追記 ここから */
.archive-top-text {
  padding: 0 30px;
}
.archive-top-attention {
  margin-top: 20px;
  font-weight: 700;
  text-align: center;
}
.btn4.archive-top-btn {
  display: block;
  width: 100%;
  max-width: 360px;
  margin-top: 5px;
  margin-bottom: 50px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .archive-top-text {
    padding: 0;
  }
}
/* 20250916追記 ここまで */

/* 20250918追記 ここから */
.sidebar_recommended {
  margin-top: 30px;
}
.sidebar_recommended_list {
  list-style: none;
}
.sidebar_recommended_item {
  border-bottom: 1px solid #d8d8d8;
}
.sidebar_recommended_link {
  display: grid;
  padding: 12px 0;
  grid-template-columns: 100px 1fr;
  gap: 15px;
  transition: opacity 0.3s;
  line-height: 1.5;
}
.sidebar_recommended_link:hover {
  opacity: 0.7;
}
.sidebar_recommended_thumbnail img {
  width: 100px;
  height: 60px;
}
.sidebar_recommended_thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sidebar_recommended_head {
  font-size: 14px;
  	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}
/* 20250918追記 ここまで */
