@charset "UTF-8";
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** SPスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/
/*@function vw($size, $viewport:1920) {
  $rate: 100 / $viewport;
  @return $rate * $size * 1vw;
}*/
.mokuji_box .mokuji .mokujiinner > .chapter > li {
  padding-left: 0;
}
.mokuji_box .mokuji .mokujiinner > .chapter > li::before {
  content: inherit;
}

.mokuji_box .mokuji .mokujiinner > .chapter > .chapter > li {
  padding-left: 0;
}
.mokuji_box .mokuji .mokujiinner > .chapter > .chapter > li::before {
  content: inherit;
}

.common_sub_h2_ttl02_sml {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-bottom: 10px;
  text-align: center;
}
.common_sub_h2_ttl02_sml_hosoku {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  display: table;
  margin-left: auto;
  margin-right: auto;
  padding: 0 25px;
}
.common_sub_h2_ttl02_sml_hosoku::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 18px;
  height: 2px;
  background: #004ea2;
  margin-top: 1px;
  line-height: 1.4;
}
.common_sub_h2_ttl02_sml_hosoku::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 18px;
  height: 2px;
  background: #004ea2;
  margin-top: 1px;
  line-height: 1.4;
}

.common_sub_menu_box01 ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 2rem 0;
}
.common_sub_menu_box01 ul li a {
  background-color: #004ea2;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  box-sizing: border-box;
  border-radius: 9999px;
  height: 45px;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
}
.common_sub_menu_box01 ul li a::after {
  content: "";
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 15px;
  border-bottom: 2px solid rgb(255, 255, 255);
  border-right: 2px solid rgb(255, 255, 255);
  transition: 0.3s;
  margin-top: -5px;
}
.common_sub_menu_box01 ul li a:hover::after {
  top: calc(50% + 5px);
}
.common_sub_menu_box01 ul li a .btn_txt {
  color: #fff;
  margin-right: 1em;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.common_sub_item_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.common_sub_item_sn {
  text-align: center;
  margin-bottom: 20px;
}
.common_sub_item_sn a {
  display: block;
}
.common_sub_item_sn a:hover .link_line::after {
  width: 0;
  transition: 0.3s;
}
.common_sub_item_sn_img {
  margin-bottom: 10px;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
.common_sub_item_sn_img .mark_txt {
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  color: #fff;
  letter-spacing: 0.05em;
  font-weight: 700;
  border-radius: 0 0 10px 0;
  padding: 5px 15px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.common_sub_item_sn_name {
  color: #354362;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
}
.common_sub_item_sn_name .link_line {
  width: 23px;
  height: 7px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 2;
}
.common_sub_item_sn_name .link_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 7px;
  height: 7px;
  background-color: #004ea2;
  border-radius: 9999px;
}
.common_sub_item_sn_name .link_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 7px;
  width: 16px;
  height: 1px;
  background-color: #004ea2;
}

.common_sub_flow_sec {
  margin-top: 50px;
}
.common_sub_flow_box {
  margin-bottom: 30px;
  margin-top: 40px;
}
.common_sub_flow_box_num {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translate(-50%, 0);
}
.common_sub_flow_box_num .common_en01 {
  font-size: 12px;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #fff;
  text-align: center;
}
.common_sub_flow_box_num .common_en01 .big_txt {
  font-family: "Roboto", serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 1;
  display: block;
}
.common_sub_flow_box_img {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 71px;
  width: 100%;
  margin-bottom: 0.5rem;
}
.common_sub_flow_box_in {
  padding: 40px 20px 20px 20px;
  position: relative;
  background-color: #fff;
  border-radius: 10px;
  margin-bottom: 50px;
  display: flex;
  flex-direction: column;
}
.common_sub_flow_box_in:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -40px;
  height: 40px;
  width: 2px;
  background: #004ea2;
}
.common_sub_flow_box_in_ttl {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
}
.common_sub_flow_box_in_ttl .h3_ttl {
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}

.common_sub_fax_sec {
  margin-top: 30px;
}
.common_sub_fax_box {
  margin-bottom: 15px;
}
.common_sub_fax_box_ttl {
  background-color: #fff;
  border-radius: 20px;
  position: relative;
  padding: 10px 40px 10px 65px;
  min-height: 70px;
  box-sizing: border-box;
  cursor: pointer;
  transition: none;
  margin-bottom: 10px;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
}
.common_sub_fax_box_ttl::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 20px;
  width: 36px;
  height: 36px;
  background: #004ea2;
  border-radius: 50%;
}
.common_sub_fax_box_ttl::after {
  content: "Q";
  position: absolute;
  top: 16px;
  left: 20px;
  width: 36px;
  height: 36px;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-size: 24px;
  color: #fff;
  text-align: center;
}
.common_sub_fax_box_ttl .h3_ttl {
  margin-top: 0.3em;
}
.common_sub_fax_box_ttl .btn {
  position: absolute;
  width: 18px;
  height: 18px;
  top: calc((100% - 18px) / 2);
  right: 1.5rem;
}
.common_sub_fax_box_ttl .btn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  width: 16px;
  height: 2px;
  background-color: #004ea2;
}
.common_sub_fax_box_ttl .btn::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  width: 2px;
  height: 16px;
  background-color: #004ea2;
}
.common_sub_fax_box_ttl.open .btn::after {
  opacity: 0;
}
.common_sub_fax_box_ans {
  background-color: #f5f7fb;
  border-radius: 20px;
  padding: 10px 30px 10px 65px;
  position: relative;
  display: none;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
}
.common_sub_fax_box_ans .common_txt01 {
  margin-top: 0.3em;
}
.common_sub_fax_box_ans a {
  color: #004ea2;
  text-decoration: underline;
}
.common_sub_fax_box_ans::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 20px;
  width: 36px;
  height: 36px;
  background: #829ebc;
  border-radius: 50%;
}
.common_sub_fax_box_ans::after {
  content: "A";
  position: absolute;
  top: 18px;
  left: 20px;
  width: 36px;
  height: 36px;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-size: 24px;
  color: #fff;
  text-align: center;
}

.sub_search_ttl {
  text-align: center;
  margin-bottom: 30px;
  font-size: 18px;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.search .common_sub_container_bg {
  padding-bottom: 70px;
}

.power_device .common_sub_main .common_en01 {
  font-size: 34px;
}

/* power_device */
.sub_power_device_container01_bg {
  padding: 30px 0 0 0;
}
.sub_power_device_container01_bg .common_inner,
.sub_power_device_container01_bg .common_m_inner {
  margin-left: auto;
  margin-right: auto;
}
.sub_power_device_container01_lead {
  margin-bottom: 65px;
  padding: 20px 20px 30px 20px;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
}
.sub_power_device_container01_lead .common_inner {
  width: 100%;
}
.sub_power_device_container01_lead_ttl {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-bottom: 20px;
  text-align: center;
}
.sub_power_device_container01_lead_img {
  margin-top: 20px;
}
.sub_power_device_container01_lead_img img {
  width: 100%;
}
.sub_power_device_container01_lead .ft_contact_btn.btn01 {
  margin-top: 40px;
  margin-bottom: 0;
}
.sub_power_device_container01_lead .ft_contact_btn.btn01 .btn_bf {
  border: 1px solid #007fc8;
  color: #004ea2;
  background: #fff;
}
.sub_power_device_container01_lead .ft_contact_btn.btn01 .btn_bf::after {
  background: #fff;
}
.sub_power_device_container01_lead .ft_contact_btn.btn01 a {
  background: linear-gradient(to right, #004ea2, #14b6f2);
  border: 1px solid #acd5ff;
}
.sub_power_device_container01_lead .ft_contact_btn.btn01 a .icon_txt {
  color: #fff;
}
.sub_power_device_container01_lead .ft_contact_btn.btn01 a .icon_txt::before {
  background: url(../images/common/icon_mail_wh.svg);
  background-size: contain;
}
.sub_power_device_container01_box {
  padding: 30px 0 0 0;
}
.sub_power_device_container01_box_cover {
  padding: 40px 0 0 0;
}
.sub_power_device_container01_box_sec {
  margin-bottom: 50px;
  display: flex;
  flex-wrap: wrap;
}
.sub_power_device_container01_box_disc {
  order: 0;
}
.sub_power_device_container01_box_disc .common_txt01 .cl_txt {
  font-weight: 700;
  color: #ed5e13;
}
.sub_power_device_container01_box_img {
  order: 1;
  margin-top: 20px;
}
.sub_power_device_container01_box_ttl {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  position: relative;
  padding-left: 38px;
}
.sub_power_device_container01_box_ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 10px;
  height: 10px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.sub_power_device_container01_box_ttl::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 10px;
  width: 18px;
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_power_device_container01_box_ttl .common_en01 {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #004ea2;
  display: flex;
  align-items: center;
  margin-right: 10px;
}
.sub_power_device_container01_box_ttl .common_en01 .big_txt {
  font-size: 34px;
  margin-left: 10px;
  font-weight: 500;
  position: relative;
  top: -2px;
  line-height: 1;
}
.sub_power_device_container01_box_ttl .h3_ttl {
  color: #004ea2;
  border: 2px solid #004ea2;
  border-radius: 9999px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 10px;
}
.sub_power_device_container01_box_catch {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 15px;
}
.sub_power_device_container02_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
  background: #f5f7fb;
}
.sub_power_device_container02_tbl .tbl_hosoku {
  font-size: 12px;
}
.sub_power_device_container02_tbl table {
  width: 100%;
  background-color: #fff;
  margin-bottom: 10px;
}
.sub_power_device_container02_tbl table thead th {
  text-align: center;
  background: #004ea2;
  color: #fff;
  padding: 5px;
  text-align: center;
  box-sizing: border-box;
  font-size: 12px;
}
.sub_power_device_container02_tbl table thead th:first-child {
  border-radius: 10px 0 0 0;
}
.sub_power_device_container02_tbl table thead th:last-child {
  border-radius: 0 10px 0 0;
}
.sub_power_device_container02_tbl table thead th:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_power_device_container02_tbl table tbody th {
  padding: 5px;
  text-align: center;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  width: 50%;
  font-size: 12px;
}
.sub_power_device_container02_tbl table tbody th:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_power_device_container02_tbl table tbody td {
  padding: 5px;
  letter-spacing: 0.05em;
  text-align: center;
  box-sizing: border-box;
  width: 25%;
  font-size: 12px;
}
.sub_power_device_container02_tbl table tbody td:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_power_device_container02_tbl table tbody td .bold_txt {
  font-weight: 700;
}
.sub_power_device_container02_tbl table tbody tr:not(:last-child) th,
.sub_power_device_container02_tbl table tbody tr:not(:last-child) td {
  border-bottom: 1px solid #e6e8ed;
}
.sub_power_device_container02_tbl table tbody tr:last-child th {
  border-radius: 0 0 0 10px;
}
.sub_power_device_container02_tbl table tbody tr:last-child td:last-child {
  border-radius: 0 0 10px 0;
}
.sub_power_device_container03_bg {
  display: flex;
  justify-content: center;
  padding: 35px 0 25px 0;
  position: relative;
  background-color: #d2dfee;
}
.sub_power_device_container03_bg::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -12px;
  width: 28px;
  height: 12px;
  background: #d2dfee;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_power_device_container03_ttl {
  background: #004ea2;
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 9999px;
  margin-left: auto;
  margin-right: auto;
  padding: 5px 1em;
  max-width: 17em;
  box-sizing: border-box;
}
.sub_power_device_container03_box {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 0 20px;
  margin-top: 20px;
}
.sub_power_device_container03_box ul li {
  margin-bottom: 10px;
  position: relative;
}
.sub_power_device_container03_box ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 50px;
  height: 50px;
}
.sub_power_device_container03_box ul li.icon01::before {
  background: url(../images/top/top_service_icon04.png) no-repeat left top;
  background-size: contain;
}
.sub_power_device_container03_box ul li.icon02::before {
  background: url(../images/top/top_service_icon05.png) no-repeat left top;
  background-size: contain;
}
.sub_power_device_container03_box ul li.icon03::before {
  background: url(../images/top/top_service_icon06.png) no-repeat left top;
  background-size: contain;
}
.sub_power_device_container03_box ul li.icon04::before {
  background: url(../images/top/top_service_icon01.png) no-repeat left top;
  background-size: contain;
}
.sub_power_device_container03_box ul li .fuki {
  background-color: #fff;
  padding: 7px 15px;
  border-radius: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  min-height: 70px;
  margin-left: 63px;
  display: flex;
  align-items: center;
}
.sub_power_device_container03_box ul li .fuki::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: -11px;
  width: 12px;
  height: 16px;
  background: #fff;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
.sub_power_device_container03_box ul li .fuki .cl_txt {
  color: #004ea2;
}
.sub_power_device_container04_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 30px 0;
  background: #f5f7fb;
}
.sub_power_device_container05_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 30px 0;
}
.sub_power_device_container06_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 10px 0;
  background: #f5f7fb;
}
.sub_power_device_container07_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 35px 0;
}

.power_device .common_sub_menu_box01 ul li {
  width: calc((100% - 1rem) / 2);
  margin-bottom: 15px;
}

.design_prototype .common_sub_menu_box01 ul li {
  width: calc((100% - 10px) / 2);
  margin-bottom: 15px;
}

/* design_prototype */
.design_prototype .common_w_inner .common_en01 {
  font-size: 30px;
  letter-spacing: 0;
}

.sub_design_prototype_container01_bg {
  padding: 30px 0 0 0;
}
.sub_design_prototype_container01_bg .common_inner,
.sub_design_prototype_container01_bg .common_m_inner {
  margin-left: auto;
  margin-right: auto;
}
.sub_design_prototype_container02_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
  background: #f5f7fb;
}
.sub_design_prototype_container03_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0;
  position: relative;
  background-color: #d2dfee;
}
.sub_design_prototype_container03_bg::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -24px;
  width: 80px;
  height: 25px;
  background: #d2dfee;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_design_prototype_container03_ttl {
  background: #004ea2;
  color: #fff;
  font-size: 3.2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 9999px;
  width: 31rem;
  height: 3rem;
  margin-left: auto;
  margin-right: auto;
}
.sub_design_prototype_container03_box {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 0 3rem;
  margin-top: 2.5rem;
}
.sub_design_prototype_container03_box ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}
.sub_design_prototype_container03_box ul li {
  width: calc((100% - 6rem) / 3);
  margin-bottom: 0.5rem;
  position: relative;
}
.sub_design_prototype_container03_box ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 70px;
  height: 70px;
}
.sub_design_prototype_container03_box ul li.icon01::before {
  background: url(../images/top/top_service_icon04.png) no-repeat left top;
  background-size: contain;
}
.sub_design_prototype_container03_box ul li.icon02::before {
  background: url(../images/top/top_service_icon05.png) no-repeat left top;
  background-size: contain;
}
.sub_design_prototype_container03_box ul li.icon03::before {
  background: url(../images/top/top_service_icon06.png) no-repeat left top;
  background-size: contain;
}
.sub_design_prototype_container03_box ul li.icon04::before {
  background: url(../images/top/top_service_icon01.png) no-repeat left top;
  background-size: contain;
}
.sub_design_prototype_container03_box ul li .fuki {
  background-color: #fff;
  padding: 0.5rem 0.75rem 0.5rem 1rem;
  border-radius: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  min-height: 70px;
  margin-left: 90px;
}
.sub_design_prototype_container03_box ul li .fuki::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: -11px;
  width: 12px;
  height: 16px;
  background: #fff;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
.sub_design_prototype_container03_box ul li .fuki .cl_txt {
  color: #004ea2;
}
.sub_design_prototype_container04_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0 5.5rem 0;
  background: #f5f7fb;
}
.sub_design_prototype_container05_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0 5.5rem 0;
}
.sub_design_prototype_container06_bg {
  display: flex;
  justify-content: center;
  padding: 5rem 0 0.6rem 0;
  background: #f5f7fb;
}
.sub_design_prototype_container07_bg {
  display: flex;
  justify-content: center;
  padding: 5rem 0 1.5rem 0;
}

/*design*/
.design .common_sub_main .common_w_inner {
  background: url(../images/design/design_mainimg.png) no-repeat center center;
  background-size: cover;
}

.sub_design_container01_bg {
  padding: 30px 0 55px 0;
}
.sub_design_container01_bg .common_inner,
.sub_design_container01_bg .common_m_inner {
  margin-left: auto;
  margin-right: auto;
}
.sub_design_container01_bg .common_sub_h2_ttl02_sml {
  margin-bottom: 3rem;
}
.sub_design_container01_bg .common_txt01.center {
  text-align: center;
}
.sub_design_container01_bg .sub_company_txt01 {
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 2rem;
  color: #074e9b;
}
.sub_design_container01_bg .sub_comment_box {
  display: flex;
  gap: 10px;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.sub_design_container01_bg .sub_comment_box .comment_wrap {
  background-color: #ecf1fa;
  border-radius: 15px;
  padding: 1rem;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.sub_design_container01_bg .sub_comment_box .comment_wrap::before {
  position: absolute;
  content: "";
  background-color: #ecf1fa;
  width: 25px;
  height: 20px;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
}
.sub_design_container01_bg .sub_comment_box .comment_wrap.wrap01::before {
  width: 20px;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
}
.sub_design_container01_bg .sub_comment_box .comment_wrap.wrap03::before {
  width: 20px;
  clip-path: polygon(100% 0, 0 0, 0 100%);
}
.sub_design_container01_bg .sub_comment_box .comment_wrap .common_txt01 {
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.6;
}
.sub_design_container01_bg .sub_txt_wrap {
  margin-bottom: 40px;
}
.sub_design_container01_bg .ft_contact_btn.btn01 {
  margin: 0 auto;
}
.sub_design_container01_bg .ft_contact_btn.btn01 .btn_bf {
  border: 1px solid #007fc8;
  color: #004ea2;
  background: #fff;
}
.sub_design_container01_bg .ft_contact_btn.btn01 .btn_bf::after {
  background: #fff;
}
.sub_design_container01_bg .ft_contact_btn.btn01 a {
  background: linear-gradient(to right, #004ea2, #14b6f2);
  border: 1px solid #acd5ff;
}
.sub_design_container01_bg .ft_contact_btn.btn01 .icon_txt {
  color: #fff;
}
.sub_design_container01_bg .ft_contact_btn.btn01 .icon_txt::before {
  background: url(../images/common/icon_mail_wh.svg);
  background-size: contain;
}
.sub_design_container02_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 10px 0;
  position: relative;
  background-color: #f5f7fb;
}
.sub_design_container02_bg .common_sub_h2_ttl02_sml {
  margin-bottom: 25px;
}
.sub_design_container02_bg .sub_design_box {
  margin-bottom: 45px;
}
.sub_design_container02_bg .sub_design_box .sub_h3_ttl {
  font-weight: 700;
  font-size: 18px;
  padding-left: 38px;
  position: relative;
  margin-bottom: 10px;
}
.sub_design_container02_bg .sub_design_box .sub_h3_ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 10px;
  height: 10px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.sub_design_container02_bg .sub_design_box .sub_h3_ttl::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 10px;
  width: 16px;
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_design_container02_bg .sub_design_box > .common_txt01 {
  margin-bottom: 30px;
}
.sub_design_container02_bg .sub_design_box .design_box01_wrap .design_box_in .box_ttl {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background-color: #004ea2;
  padding: 3px 0;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.1rem;
}
.sub_design_container02_bg .sub_design_box .design_box01_wrap .design_box_in .box_ttl .common_en02 {
  font-size: 26px;
  margin-left: 1rem;
  font-weight: 500;
}
.sub_design_container02_bg .sub_design_box .design_box01_wrap .design_box_in .box_flex {
  display: flex;
  padding: 15px;
  background-color: #fff;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  justify-content: space-between;
  margin-bottom: 30px;
}
.sub_design_container02_bg .sub_design_box .design_box01_wrap .design_box_in .box_flex .box_img_wrap {
  width: 40%;
}
.sub_design_container02_bg .sub_design_box .design_box01_wrap .design_box_in .box_flex .box_img_wrap .btn_zoom {
  position: relative;
}
.sub_design_container02_bg .sub_design_box .design_box01_wrap .design_box_in .box_flex .box_img_wrap .btn_zoom::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 5px;
  width: 24px;
  height: 24px;
  background: url(../images/common/icon_zoom.svg) no-repeat left top;
  background-size: contain;
}
.sub_design_container02_bg .sub_design_box .design_box01_wrap .design_box_in .box_flex .box_detail_wrap {
  width: 55%;
}
.sub_design_container02_bg .sub_design_box.box02 .design_box01_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sub_design_container02_bg .sub_design_box.box02 .design_box01_wrap .in01 {
  width: calc(50% - 5px);
}
.sub_design_container02_bg .sub_design_box.box02 .design_box01_wrap .in01 .box_img_wrap {
  margin-bottom: 10px;
}
.sub_design_container02_bg .sub_design_box.box02 .design_box01_wrap .in02 {
  width: calc(50% - 5px);
}
.sub_design_container02_bg .sub_design_box.box02 .design_box01_wrap .in02 .box_img_wrap {
  margin-bottom: 10px;
}
.sub_design_container02_bg .sub_design_box.box02 .design_box01_wrap .in03 {
  width: 100%;
  margin-top: 30px;
}
.sub_design_container02_bg .sub_design_box.box02 .design_box01_wrap .in03 .box_comment_wrap {
  position: relative;
}
.sub_design_container02_bg .sub_design_box.box02 .design_box01_wrap .in03 .box_comment_wrap::before {
  position: absolute;
  content: "";
  background-color: #004ea2;
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
  width: 34px;
  height: 18px;
  top: -17px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
.sub_design_container02_bg .sub_design_box.box02 .design_box01_wrap .in03 .box_comment_wrap::after {
  position: absolute;
  content: "";
  background-color: #fff;
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
  width: 32px;
  height: 16px;
  top: -15px;
  transform: translateX(-50%);
  left: 50%;
  z-index: 1;
}
.sub_design_container02_bg .sub_design_box.box02 .design_box01_wrap .in03 .box_comment_wrap .comment {
  background-color: #fff;
  border: 1px solid #004ea2;
  font-size: 16px;
  font-weight: 700;
  border-radius: 10px;
  padding: 20px;
  text-align: center;
}
.sub_design_container02_bg .sub_design_box.box02 .design_box01_wrap .in03 .box_comment_wrap .comment .blue {
  color: #004ea2;
}
.sub_design_container03_bg {
  background-image: url(../images/design/design_img09.png) !important;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  justify-content: center;
  padding: 60px 0 40px 0;
  background: #f5f7fb;
}
.sub_design_container03_bg .ft_contact_btn.btn01 {
  margin: 0 auto;
}
.sub_design_container03_bg .ft_contact_btn.btn01 .btn_bf {
  line-height: 1.2;
  padding: 3px 20px;
  top: -1.85em;
}
.sub_design_container04_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
  background-color: #f5f7fb;
}
.sub_design_container05_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
  background-color: #fff;
}
.sub_design_container06_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 30px 0;
  background: #f5f7fb;
  margin-bottom: 30px;
}

/* flap */
.sub_flap_container01_bg {
  display: flex;
  justify-content: center;
  padding: 3.5rem 0 6rem 0;
}
.sub_flap_container01_ttl {
  display: table;
  margin-left: auto;
  margin-right: auto;
  font-size: 18px;
  letter-spacing: 0.05em;
  font-weight: 700;
  position: relative;
  margin-bottom: 20px;
}
.sub_flap_container01_ttl::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 60px;
  height: 60px;
}
.sub_flap_container01_ttl.nomark {
  padding-left: 0;
}
.sub_flap_container01_ttl.jisya {
  display: flex;
  align-items: center;
  padding-left: 70px;
  min-height: 60px;
}
.sub_flap_container01_ttl.jisya::before {
  background: url(../../assets/images/common/icon_jisya_kaihatu.png) no-repeat left top;
  background-size: contain;
}
.sub_flap_container01_ttl.tokkyo {
  padding-left: 70px;
  min-height: 60px;
}
.sub_flap_container01_ttl.tokkyo::before {
  background: url(../../assets/images/common/icon_tokkyo.png) no-repeat left top;
  background-size: contain;
}
.sub_flap_container01_ttl.tokkyo_sinseityu {
  padding-left: 70px;
  min-height: 60px;
}
.sub_flap_container01_ttl.tokkyo_sinseityu::before {
  background: url(../../assets/images/common/icon_sinsetyuu.png) no-repeat left top;
  background-size: contain;
}
.sub_flap_container01_img {
  display: table;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
}
.sub_flap_container01_img img {
  width: 100%;
}
.sub_flap_container01_img .common_txt01 {
  margin-top: 1.5rem;
  line-height: 2.25;
}
.sub_flap_container01_img .common_txt01 .cl_txt {
  color: #ed5e13;
  font-weight: 700;
}
.sub_flap_container01_box01 {
  border-radius: 10px;
  background: #d2dfee;
  padding: 20px;
  display: flex;
  flex-direction: column;
  position: relative;
  margin-bottom: 40px;
}
.sub_flap_container01_box01::after {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  width: 30px;
  height: 24px;
  margin-left: -15px;
  background: #d2dfee;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.sub_flap_container01_box01_list {
  background-color: #fff;
  padding: 20px;
  border-radius: 20px;
  margin-top: 0.75rem;
  flex-grow: 1;
}
.sub_flap_container01_box01 .h3_ttl {
  font-size: 19px;
  text-align: center;
  display: table;
  line-height: 57px;
  min-height: 57px;
  margin-bottom: 1rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 53px;
  position: relative;
}
.sub_flap_container01_box01 .h3_ttl::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 43px;
  height: 57px;
  background: url(../images/flap/flap_icon01.png) no-repeat left top;
  background-size: contain;
}
.sub_flap_container01_box02 {
  border-radius: 10px;
  background: #004ea2;
  padding: 20px;
  display: flex;
  flex-direction: column;
}
.sub_flap_container01_box02_list {
  background-color: #fff;
  padding: 20px;
  border-radius: 20px;
}
.sub_flap_container01_box02 .h3_ttl {
  color: #fff;
  font-size: 19px;
  text-align: center;
  display: table;
  line-height: 57px;
  min-height: 57px;
  margin-bottom: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 53px;
  position: relative;
}
.sub_flap_container01_box02 .h3_ttl::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 43px;
  height: 57px;
  background: url(../images/flap/flap_icon02.png) no-repeat left top;
  background-size: contain;
}
.sub_flap_container02_bg {
  display: flex;
  justify-content: center;
  padding: 5rem 0;
  background: #f5f7fb;
}
.sub_flap_container02_box {
  margin-bottom: 30px;
}
.sub_flap_container02_box .common_sub_h3_ttl {
  padding-bottom: 1rem;
  margin-bottom: 2rem;
}
.sub_flap_container02_tbl table {
  max-width: 800px;
  margin-bottom: 10px;
  border-collapse: separate;
}
.sub_flap_container02_tbl table thead th {
  text-align: center;
  background: #004ea2;
  color: #fff;
  padding: 10px;
  text-align: center;
  box-sizing: border-box;
  width: 25%;
}
.sub_flap_container02_tbl table thead th:first-child {
  border-radius: 10px 0 0 0;
}
.sub_flap_container02_tbl table thead th:last-child {
  border-radius: 0 10px 0 0;
}
.sub_flap_container02_tbl table thead th:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_flap_container02_tbl table tbody tr:not(:last-child) {
  position: relative;
}
.sub_flap_container02_tbl table tbody tr:not(:last-child)::after {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  border-bottom: 1px solid #e6e8ed;
}
.sub_flap_container02_tbl table tbody td {
  padding: 10px;
  letter-spacing: 0.05em;
  text-align: center;
  box-sizing: border-box;
  width: 25%;
  background-color: #fff;
}
.sub_flap_container02_tbl table tbody td:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_flap_container02_tbl table tbody td .bold_txt {
  font-weight: 700;
}
.sub_flap_container02_tbl table tfoot td {
  padding: 10px;
  letter-spacing: 0.05em;
  text-align: center;
  box-sizing: border-box;
  width: 25%;
  border-top: 2px solid #ed5e13;
  border-bottom: 2px solid #ed5e13;
  background-color: #fff;
}
.sub_flap_container02_tbl table tfoot td:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_flap_container02_tbl table tfoot td:first-child {
  border-radius: 0 0 0 10px;
  border-left: 2px solid #ed5e13;
}
.sub_flap_container02_tbl table tfoot td:last-child {
  border-radius: 0 0 10px 0;
  border-right: 2px solid #ed5e13;
}
.sub_flap_container02_tbl table tfoot td .bold_txt {
  font-weight: 700;
}
.sub_flap_container03_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
}
.sub_flap_container03_flex {
  margin-top: 20px;
}
.sub_flap_container03_left {
  margin-bottom: 50px;
}
.sub_flap_container03_left .ft_contact_btn.btn01 {
  margin-top: 40px;
}
.sub_flap_container03_left .ft_contact_btn.btn01 .btn_bf {
  border: 1px solid #007fc8;
  color: #004ea2;
  background: #fff;
  width: 260px;
  font-size: 1.6rem;
  letter-spacing: 0;
  padding: 0;
}
.sub_flap_container03_left .ft_contact_btn.btn01 .btn_bf::after {
  background: #fff;
}
.sub_flap_container03_left .ft_contact_btn.btn01 a {
  background: linear-gradient(to right, #004ea2, #14b6f2);
  border: 1px solid #acd5ff;
}
.sub_flap_container03_left .ft_contact_btn.btn01 a .icon_txt {
  color: #fff;
}
.sub_flap_container03_left .ft_contact_btn.btn01 a .icon_txt::before {
  background: url(../images/common/icon_mail_wh.svg);
  background-size: contain;
}
.sub_flap_container03_left .ft_contact_btn.btn02 {
  margin-top: 2rem;
}
.sub_flap_container03_left .ft_contact_btn.btn02 .btn_bf {
  font-size: 1.6rem;
  border: 1px solid #e76556;
}
.sub_flap_container03_left .ft_contact_btn.btn02 a {
  border: 1px solid #ffc8bf;
}
.sub_flap_container03_box {
  background: #f5f7fb;
  padding: 20px;
  border-radius: 10px;
  flex-grow: 1;
}
.sub_flap_container03_box_inttl {
  background: #004ea2;
  color: #fff;
  height: 36px;
  min-width: 16rem;
  width: 76.9%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 9999px;
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
}
.sub_flap_container03_box_list01 li {
  position: relative;
  padding-left: 1em;
}
.sub_flap_container03_box_list01 li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 10px;
  height: 10px;
  background: #004ea2;
  border-radius: 50%;
}
.sub_flap_container03_box_list02 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sub_flap_container03_box_list02 li {
  width: calc((100% - 2rem) / 2);
  text-align: center;
  margin: 0.25rem 0;
}
.sub_flap_container03_box_list02 li img {
  margin-bottom: 0.5rem;
}
.sub_flap_container03_box_list02 li img {
  border-radius: 20px;
  overflow: hidden;
}
.sub_flap_container04_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
  background: #f5f7fb;
}
.sub_flap_container04_flex {
  margin-top: 2rem;
}
.sub_flap_container04_tbl {
  margin-bottom: 30px;
}
.sub_flap_container04_tbl table {
  max-width: 800px;
}
.sub_flap_container04_tbl table thead th {
  text-align: center;
  background: #004ea2;
  color: #fff;
  padding: 10px;
  text-align: center;
  box-sizing: border-box;
  width: 33.3333333333%;
}
.sub_flap_container04_tbl table thead th:first-child {
  border-radius: 10px 0 0 0;
}
.sub_flap_container04_tbl table thead th:last-child {
  border-radius: 0 10px 0 0;
}
.sub_flap_container04_tbl table thead th:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_flap_container04_tbl table tbody td {
  padding: 10px;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  width: 33.3333333333%;
  background-color: #fff;
}
.sub_flap_container04_tbl table tbody td:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_flap_container04_tbl table tbody td .bold_txt {
  font-weight: 700;
}
.sub_flap_container04_tbl table tbody tr:not(:last-child) td {
  border-bottom: 1px solid #e6e8ed;
}
.sub_flap_container04_tbl table tbody tr:last-child td:first-child {
  border-radius: 0 0 0 10px;
}
.sub_flap_container04_tbl table tbody tr:last-child td:last-child {
  border-radius: 0 0 10px 0;
}
.sub_flap_container04_img {
  display: flex;
  gap: 3rem;
  align-items: center;
}
.sub_flap_container05_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
}
.sub_flap_container05_flex {
  background: #f9f9f9;
  border: 1px solid #004ea2;
  padding: 20px;
  border-radius: 10px;
  margin-top: 2rem;
}
.sub_flap_container05_disc {
  margin-top: 20px;
}
.sub_flap_container05_disc .common_txt01 + .common_txt01 {
  margin-top: 2rem;
}
.sub_flap_container05_disc .cl_txt {
  font-weight: 700;
  color: #ed5e13;
}
.sub_flap_container06_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
  background: #f5f7fb;
}
.sub_flap_container06_h3_ttl {
  border: 1px solid #004ea2;
  border-radius: 9999px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  position: relative;
  background-color: #fff;
  padding: 8px 10px;
  line-height: 1.2;
}
.sub_flap_container06_h3_ttl .deco {
  font-size: 12px;
  font-weight: 500;
}
.sub_flap_container06_h3_ttl::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -16px;
  width: 26px;
  height: 16px;
  background: #004ea2;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_flap_container06_h3_ttl::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -14px;
  width: 24px;
  height: 14px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_flap_container06_tbl {
  margin-top: 2rem;
}
.sub_flap_container06_tbl table {
  width: 800px;
}
.sub_flap_container06_tbl table thead th {
  text-align: center;
  background: #004ea2;
  color: #fff;
  padding: 10px;
  text-align: center;
  box-sizing: border-box;
}
.sub_flap_container06_tbl table thead th:nth-child(1) {
  width: 5%;
  border-radius: 10px 0 0 0;
}
.sub_flap_container06_tbl table thead th:nth-child(2) {
  width: 35%;
}
.sub_flap_container06_tbl table thead th:nth-child(3) {
  width: 30.01%;
}
.sub_flap_container06_tbl table thead th:nth-child(4) {
  width: 13.33%;
}
.sub_flap_container06_tbl table thead th:nth-child(5) {
  width: 16.66%;
  border-radius: 0 10px 0 0;
}
.sub_flap_container06_tbl table thead th:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_flap_container06_tbl table tbody th {
  padding: 10px;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  background-color: #fff;
  width: 6%;
  border-right: 1px solid #e6e8ed;
  text-align: center;
}
.sub_flap_container06_tbl table tbody td {
  padding: 10px;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  background-color: #fff;
  white-space: normal !important;
}
.sub_flap_container06_tbl table tbody td:nth-child(2) .flex {
  display: flex;
  align-items: center;
}
.sub_flap_container06_tbl table tbody td:nth-child(2) .name {
  width: 50%;
  font-weight: 700;
}
.sub_flap_container06_tbl table tbody td:nth-child(2) .img {
  width: 50%;
  position: relative;
}
.sub_flap_container06_tbl table tbody td:nth-child(2) .img a {
  border: none;
}
.sub_flap_container06_tbl table tbody td:nth-child(2) .img a::after {
  content: inherit;
}
.sub_flap_container06_tbl table tbody td:nth-child(2) .img a .btn_zoom {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 24px;
  height: 24px;
  display: block;
  cursor: pointer;
}
.sub_flap_container06_tbl table tbody td:nth-child(2) .img a .btn_zoom::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0px;
  width: 24px;
  height: 24px;
  background: url(../images/common/icon_zoom.svg) no-repeat left top;
  background-size: contain;
}
.sub_flap_container06_tbl table tbody td:nth-child(2) .img a:hover {
  opacity: 0.7;
}
.sub_flap_container06_tbl table tbody td:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_flap_container06_tbl table tbody td .bold_txt {
  font-weight: 700;
}
.sub_flap_container06_tbl table tbody td.td02 {
  width: 35%;
}
.sub_flap_container06_tbl table tbody td.td03 {
  width: 30.01%;
}
.sub_flap_container06_tbl table tbody td.td04 {
  width: 13.33%;
}
.sub_flap_container06_tbl table tbody td.td05 {
  width: 16.66%;
  border-radius: 0 10px 0 0;
}
.sub_flap_container06_tbl table tbody tr:not(:last-child) td {
  border-bottom: 1px solid #e6e8ed;
}
.sub_flap_container06_tbl table tbody tr:last-child td:first-child {
  border-radius: 0 0 0 10px;
}
.sub_flap_container06_tbl table tbody tr:last-child td:last-child {
  border-radius: 0 0 10px 0;
}
.sub_flap_container07_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 0 0;
}
.sub_flap_container07_bg .common_sub_flow_box_in {
  background: #f9f9f9;
}
.sub_flap_container08_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 40px 0;
  background: #f5f7fb;
}
.sub_flap_container09_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
}
.sub_flap_container09_bg .common_sub_item_box {
  max-width: calc(760px + 3rem);
  margin-left: auto;
  margin-right: auto;
}
.sub_flap_container10_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 30px 0;
  background: #f5f7fb;
}

/* flap_ss */
.sub_flap_ss_container01_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 20px 0;
}
.sub_flap_ss_container02_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 25px 0;
  background: #f5f7fb;
}
.sub_flap_ss_container02_sec {
  padding: 2.25rem 0 1rem 0;
}
.sub_flap_ss_container02_flex .common_txt01 .cl_txt {
  font-weight: 700;
  color: #ed5e13;
}
.sub_flap_ss_container02_img {
  margin-bottom: 15px;
}
.sub_flap_ss_container02_img .common_txt01 {
  margin-top: 15px;
}
.sub_flap_ss_container02_ttl {
  margin-bottom: 1.5rem;
}
.sub_flap_ss_container02_ttl .common_en01 {
  margin-right: 2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  color: #c5d1e8;
  font-size: 20px;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.sub_flap_ss_container02_ttl .common_en01 .big_txt {
  font-size: 32px;
  margin-left: 10px;
}
.sub_flap_ss_container02_ttl .h3_ttl {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.sub_flap_ss_container03_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 10px 0;
  background: url(../images/flap_ss/flap_ss_contact.png) no-repeat center top;
  background-size: cover;
}
.sub_flap_ss_container03_bg .ft_contact_btn.btn01 {
  margin-left: auto;
  margin-right: auto;
}
.sub_flap_ss_container03_txt {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 2.5rem;
}
.sub_flap_ss_container04_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0 1rem 0;
  background: #f5f7fb;
}
.sub_flap_ss_container05_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
}
.sub_flap_ss_container06_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 30px 0;
  background: #f5f7fb;
}
.sub_flap_ss_container06_bg .common_sub_item_box {
  max-width: calc(760px + 3rem);
  margin-left: auto;
  margin-right: auto;
}
.sub_flap_ss_container07_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 0 0;
}
.sub_flap_ss_container08_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
  background: #f5f7fb;
}
.sub_flap_ss_container09_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
}
.sub_flap_ss_container10_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
  background: #f5f7fb;
}

/* flap_holder */
.sub_flap_holder_container01_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 10px 0;
}
.sub_flap_holder_container02_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
  background: #f5f7fb;
}
.sub_flap_holder_container02_bg .common_sub_h2_ttl02_sml {
  margin-bottom: 2.5rem;
}
.sub_flap_holder_container02_bf {
  background: #d2dfee;
  padding: 10px;
  position: relative;
  font-weight: 700;
  text-align: center;
  font-size: 16px;
  letter-spacing: 0.05em;
  margin: 1.75rem 0 3rem 0;
}
.sub_flap_holder_container02_bf::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -15px;
  width: 50px;
  height: 15px;
  background: #d2dfee;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_flap_holder_container02_bf .sml_txt {
  font-size: 1rem;
  position: relative;
  top: 0;
}
.sub_flap_holder_container02_box {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 1.25rem;
}
.sub_flap_holder_container02_box .h4_ttl {
  border-radius: 9999px;
  background: #004ea2;
  color: #fff;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  width: 21rem;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.5rem;
  margin-left: auto;
  margin-right: auto;
}
.sub_flap_holder_container02_box_flex {
  text-align: center;
  margin: 3rem 0 0 0;
}
.sub_flap_holder_container02_box_flex .name {
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-grow: 1;
}
.sub_flap_holder_container02_box_flex .img {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-grow: 1;
  margin-bottom: 1.5rem;
}
.sub_flap_holder_container02_box_img {
  display: flex;
  flex-direction: column;
}
.sub_flap_holder_container02_box_hosoku {
  display: flex;
  justify-content: flex-end;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.sub_flap_holder_container02_af {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin: 53px 0 50px 0;
  position: relative;
  color: #004ea2;
}
.sub_flap_holder_container02_af::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -38px;
  width: 76px;
  height: 28px;
  background: #004ea2;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_flap_holder_container02_merit {
  margin-top: 2rem;
}
.sub_flap_holder_container02_merit .common_en01 {
  display: flex;
  align-items: flex-end;
  color: #c5d1e8;
  font-weight: 500;
  font-size: 28px;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}
.sub_flap_holder_container02_merit .common_en01 .big_txt {
  font-size: 38px;
  margin-left: 0.5rem;
  line-height: 1;
}
.sub_flap_holder_container02_merit .merit_txt .bf_txt {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  margin-bottom: 5px;
}
.sub_flap_holder_container02_merit .merit_txt .bf_txt::after {
  content: "";
  position: absolute;
  left: 50%;
  margin-left: -32px;
  bottom: -55px;
  transform: translate(-50%, 0);
  width: 35px;
  height: 64px;
  background: url(../images/common/icon_arrow01.png) no-repeat left top;
  background-size: contain;
  transform: rotate(90deg);
}
.sub_flap_holder_container02_merit .merit_txt .bf_txt .cl_txt {
  color: #ed5e13;
}
.sub_flap_holder_container02_merit .merit_txt .af_txt {
  margin-top: 45px;
  font-size: 22px;
  letter-spacing: 0.05em;
  font-weight: 700;
  position: relative;
  padding-right: 75px;
  display: inline-block;
}
.sub_flap_holder_container02_merit .merit_txt .af_txt.up::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 64px;
  height: 27px;
  background: url(../images/common/icon_up01.png) no-repeat left top;
  background-size: contain;
}
.sub_flap_holder_container02_merit .merit_txt .af_txt.down::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 64px;
  height: 27px;
  background: url(../images/common/icon_down01.png) no-repeat left top;
  background-size: contain;
}
.sub_flap_holder_container02_merit_img {
  background: #fff;
  border-radius: 20px;
  padding: 2.25rem;
  text-align: center;
  margin-top: 30px;
}
.sub_flap_holder_container03_bg {
  display: flex;
  justify-content: center;
  padding: 60px 0 40px 0;
  background: url(../images/flap_holder/flap_holder_contact.png) no-repeat center top;
  background-size: cover;
}
.sub_flap_holder_container03_bg .ft_contact_btn.btn01 {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
}
.sub_flap_holder_container03_bg .ft_contact_btn.btn01 .btn_bf {
  line-height: 1.2;
  padding: 3px 20px;
  top: -1.85em;
}
.sub_flap_holder_container03_txt {
  color: #fff;
  text-align: center;
  line-height: 2;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 2.5rem;
}
.sub_flap_holder_container04_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0 1rem 0;
  background: #f5f7fb;
}
.sub_flap_holder_container05_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0 5rem 0;
}
.sub_flap_holder_container06_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
  background: #f5f7fb;
}
.sub_flap_holder_container06_bg .common_sub_item_box {
  max-width: calc(760px + 3rem);
  margin-left: auto;
  margin-right: auto;
}
.sub_flap_holder_container07_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 0 0;
}

/* su1su2 */
.sub_su1su2_container01_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 50px 0;
}
.sub_su1su2_container01_tbl table {
  border-collapse: collapse;
  border-radius: 10px;
  background-color: #fff;
  overflow: hidden;
  max-width: 800px;
}
.sub_su1su2_container01_tbl table tr:not(:last-child) td {
  border-bottom: 1px solid #e6e8ed;
}
.sub_su1su2_container01_tbl table thead th {
  padding: 10px;
  background: #004ea2;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
  width: 33.3333333333%;
}
.sub_su1su2_container01_tbl table thead th:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_su1su2_container01_tbl table tbody td {
  padding: 10px;
  box-sizing: border-box;
  width: 33.3333333333%;
  background: #f9f9f9;
  font-weight: 500;
  text-align: center;
}
.sub_su1su2_container01_tbl table tbody td:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_su1su2_container01_tbl table tbody td:first-child {
  text-align: center;
}
.sub_su1su2_container01_tbl table tbody tr:not(:last-child) th {
  border-bottom: 1px solid #fff;
}
.sub_su1su2_container02_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 20px 0;
  background: #f5f7fb;
}
.sub_su1su2_container02_bg .common_sub_h2_ttl02_sml {
  margin-bottom: 25px;
}
.sub_su1su2_container02_box {
  margin-bottom: 25px;
}
.sub_su1su2_container02_box_in {
  margin-bottom: 30px;
}
.sub_su1su2_container02_box_no {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  border: 1px solid #004ea2;
  position: relative;
  margin-bottom: 1.5rem;
  border-radius: 9999px;
  background-color: #fff;
  position: relative;
}
.sub_su1su2_container02_box_no::before {
  position: absolute;
  content: "";
  background-color: #004ea2;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  width: 22px;
  height: 15px;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
.sub_su1su2_container02_box_no::after {
  position: absolute;
  content: "";
  background-color: #fff;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  width: 22px;
  height: 15px;
  bottom: -14px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.sub_su1su2_container02_box_no .common_en01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  color: #004ea2;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.sub_su1su2_container02_box_no .common_en01 .big_txt {
  font-size: 28px;
  margin-left: 5px;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
.sub_su1su2_container02_box .h3_ttl {
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.05em;
}
.sub_su1su2_container02_box02_in {
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
}
.sub_su1su2_container02_box02_ct {
  border-radius: 10px;
  background: #fff;
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.sub_su1su2_container02_box02_ct figure {
  text-align: center;
  display: flex;
  flex-direction: column;
}
.sub_su1su2_container02_box02_ct figure .bottom {
  margin-bottom: 2rem;
}
.sub_su1su2_container02_box02_ct figcaption {
  font-weight: 700;
  margin-top: 0.5rem;
  text-align: left;
  margin-bottom: 0.75rem;
}
.sub_su1su2_container02_box02_img {
  flex-grow: 1;
}
.sub_su1su2_container02_box02_list {
  border-radius: 10px;
  background: #f5f7fb;
  padding: 20px;
  position: relative;
}
.sub_su1su2_container02_box02_list::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -17px;
  width: 49px;
  height: 18px;
  background: #f5f7fb;
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
}
.sub_su1su2_container02_box02_list ul li {
  margin-bottom: 0 !important;
  font-weight: 500;
}
.sub_su1su2_container02_box02_list.flex {
  display: flex;
  justify-content: space-between;
}
.sub_su1su2_container02_box02_list.flex ul {
  width: calc(50% - 1rem);
}
.sub_su1su2_container03_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
}
.sub_su1su2_container03_tbl table {
  max-width: 800px;
  border-collapse: collapse;
  border-radius: 10px;
  background-color: #fff;
  overflow: hidden;
}
.sub_su1su2_container03_tbl table tr:not(:last-child) td {
  border-bottom: 1px solid #e6e8ed;
}
.sub_su1su2_container03_tbl table thead th {
  padding: 10px;
  background: #004ea2;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
  width: 33.3333333333%;
  font-weight: 500;
}
.sub_su1su2_container03_tbl table thead th:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_su1su2_container03_tbl table thead th:first-child {
  width: 25%;
}
.sub_su1su2_container03_tbl table thead th:nth-child(2) {
  width: 50%;
}
.sub_su1su2_container03_tbl table thead th:last-child {
  width: 25%;
}
.sub_su1su2_container03_tbl table tbody td {
  padding: 10px;
  box-sizing: border-box;
  width: 33.3333333333%;
  background: #f9f9f9;
  font-weight: 500;
}
.sub_su1su2_container03_tbl table tbody td:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_su1su2_container03_tbl table tbody td:first-child {
  text-align: center;
  width: 25%;
}
.sub_su1su2_container03_tbl table tbody td:nth-child(2) {
  width: 50%;
}
.sub_su1su2_container03_tbl table tbody td:last-child {
  text-align: center;
  font-weight: 900;
  width: 25%;
}
.sub_su1su2_container03_tbl table tbody tr:not(:last-child) th {
  border-bottom: 1px solid #fff;
}
.sub_su1su2_container04_bg {
  display: flex;
  justify-content: center;
  padding: 60px 0 40px 0;
  background: url(../images/flap_holder/flap_holder_contact.png) no-repeat center top;
  background-size: cover;
}
.sub_su1su2_container04_bg .ft_contact_btn.btn01 .btn_bf {
  line-height: 1.2;
  padding: 3px 20px;
  top: -1.85em;
}
.sub_su1su2_container04_bg .ft_contact_btn.btn02 .btn_bf {
  line-height: 1.2;
  padding: 3px 20px;
}
.sub_su1su2_container05_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 20px 0;
}
.sub_su1su2_container06_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
  background: #f5f7fb;
}
.sub_su1su2_container06_tbl {
  margin-left: auto;
  margin-right: auto;
}
.sub_su1su2_container06_tbl table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 10px;
  background-color: #fff;
  overflow: hidden;
}
.sub_su1su2_container06_tbl table tr:not(:last-child) td {
  border-bottom: 1px solid #e6e8ed;
}
.sub_su1su2_container06_tbl table thead th {
  padding: 10px;
  background: #004ea2;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
  width: 50%;
  font-weight: 500;
}
.sub_su1su2_container06_tbl table thead th:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_su1su2_container06_tbl table tbody td {
  padding: 10px;
  box-sizing: border-box;
  width: 50%;
  background: #fff;
  font-weight: 500;
  text-align: center;
}
.sub_su1su2_container06_tbl table tbody td:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_su1su2_container06_tbl table tbody tr:not(:last-child) th {
  border-bottom: 1px solid #fff;
}
.sub_su1su2_container06_tbl .hosoku {
  margin-top: 10px;
}
.sub_su1su2_container06_tbl .hosoku li {
  font-size: 12px;
  position: relative;
  padding-left: 1em;
}
.sub_su1su2_container06_tbl .hosoku li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}

/* power_cycle */
.sub_power_cycle_container01_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 50px 0;
}
.sub_power_cycle_container01_box {
  background: #fff;
  border-radius: 10px;
  padding: 20px 0;
  display: flex;
  justify-content: center;
  filter: drop-shadow(0px 0px 10px rgba(8, 20, 46, 0.2));
  position: relative;
}
.sub_power_cycle_container01_box::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -29px;
  width: 100px;
  height: 30px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_power_cycle_container01_box_inner {
  width: 90.625%;
}
.sub_power_cycle_container01_box .h3_ttl {
  border-radius: 9999px;
  background: #004ea2;
  color: #fff;
  text-align: center;
  font-size: 18px;
  letter-spacing: 0.05em;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 3rem;
  margin-left: auto;
  margin-right: auto;
  padding: 8px 10px;
  line-height: 1.2;
}
.sub_power_cycle_container01_box .common_txt01 + .common_txt01 {
  margin-top: 2rem;
}
.sub_power_cycle_container01_box_tbl {
  margin-top: 2rem;
}
.sub_power_cycle_container01_box_tbl table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 10px;
  background-color: #fff;
  overflow: hidden;
}
.sub_power_cycle_container01_box_tbl table tr:not(:last-child) td {
  border-bottom: 1px solid #e6e8ed;
}
.sub_power_cycle_container01_box_tbl table thead th {
  padding: 10px;
  background: #004ea2;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
  width: 50%;
}
.sub_power_cycle_container01_box_tbl table thead th:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_power_cycle_container01_box_tbl table tbody td {
  padding: 10px;
  box-sizing: border-box;
  width: 50%;
  background: #f9f9f9;
  font-weight: 500;
}
.sub_power_cycle_container01_box_tbl table tbody td:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_power_cycle_container01_box_tbl table tbody td:first-child {
  text-align: center;
}
.sub_power_cycle_container01_box_tbl table tbody tr:not(:last-child) th {
  border-bottom: 1px solid #fff;
}
.sub_power_cycle_container02_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 30px 0;
  background: #f5f7fb;
}
.sub_power_cycle_container02_box {
  margin-bottom: 2.5rem;
  margin-top: 2.5rem;
}
.sub_power_cycle_container02_box_img {
  margin-bottom: 20px;
}
.sub_power_cycle_container02_box_img img {
  border-radius: 10px;
  overflow: hidden;
}
.sub_power_cycle_container02_box figcaption {
  margin-top: 0.5rem;
  text-align: center;
  font-weight: 700;
}
.sub_power_cycle_container02_box_disc {
  padding-bottom: 1.5rem;
}
.sub_power_cycle_container02_box_disc .common_txt01 + .common_txt01 {
  margin-top: 2rem;
}
.sub_power_cycle_container02_box02_img {
  margin-bottom: 20px;
}
.sub_power_cycle_container02_box02_img .common_sub_h3_ttl {
  margin-bottom: 2rem;
}
.sub_power_cycle_container02_box02 figcaption {
  margin-top: 0.5rem;
  text-align: center;
  font-weight: 700;
}
.sub_power_cycle_container03_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
}
.sub_power_cycle_container03_box {
  margin-bottom: 4rem;
}
.sub_power_cycle_container03_box_img {
  margin-bottom: 30px;
}
.sub_power_cycle_container03_box02 {
  background: #f9f9f9;
  border: 1px solid #004ea2;
  border-radius: 20px;
  padding: 2.5rem 3rem;
}
.sub_power_cycle_container03_box02 .h4_ttl {
  border-radius: 9999px;
  background: #004ea2;
  color: #fff;
  text-align: center;
  font-size: 18px;
  letter-spacing: 0.05em;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 3rem;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.2;
  padding: 8px 10px;
}
.sub_power_cycle_container03_box02 .common_sub_lead_center {
  margin-bottom: 2rem;
}
.sub_power_cycle_container03_box02_img {
  margin-bottom: 20px;
}
.sub_power_cycle_container03_box02 figcaption {
  margin-top: 0.5rem;
  text-align: center;
  font-weight: 700;
  display: flex;
  justify-content: center;
}
.sub_power_cycle_container03_box02 figcaption .in_txt {
  margin: 0 1rem;
}
.sub_power_cycle_container04_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
  background: #f5f7fb;
}
.sub_power_cycle_container04_tbl table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 10px;
  background-color: #fff;
  overflow: hidden;
}
.sub_power_cycle_container04_tbl table tr:not(:last-child) td {
  border-bottom: 1px solid #e6e8ed;
}
.sub_power_cycle_container04_tbl table thead th {
  padding: 10px;
  background: #004ea2;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
  width: 33.3333333333%;
  border-bottom: 1px solid #e6e8ed;
}
.sub_power_cycle_container04_tbl table thead th:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_power_cycle_container04_tbl table tbody th {
  padding: 10px;
  box-sizing: border-box;
  width: 33.3333333333%;
  background: #004ea2;
  text-align: center;
  color: #fff;
  font-weight: 500;
}
.sub_power_cycle_container04_tbl table tbody th.pd_sml {
  padding: 15px 20px;
}
.sub_power_cycle_container04_tbl table tbody td {
  padding: 25px 20px;
  box-sizing: border-box;
  width: 33.3333333333%;
  background: #f9f9f9;
  text-align: center;
  font-weight: 500;
}
.sub_power_cycle_container04_tbl table tbody td.pd_sml {
  padding: 15px 20px;
}
.sub_power_cycle_container04_tbl table tbody td:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_power_cycle_container04_tbl table tbody td .td_flex {
  display: flex;
  justify-content: center;
}
.sub_power_cycle_container04_tbl table tbody td .td_flex figure {
  margin: 0.75rem;
}
.sub_power_cycle_container04_tbl table tbody tr:not(:last-child) th {
  border-bottom: 1px solid #e6e8ed;
}
.sub_power_cycle_container04_tbl table tbody tr:not(:last-child) td {
  border-bottom: 1px solid #e6e8ed;
}
.sub_power_cycle_container05_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
}
.sub_power_cycle_container06_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
  background: #f5f7fb;
}
.sub_power_cycle_container07_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
}
.sub_power_cycle_container07_bg .common_sub_item_box .common_sub_item_sn .border {
  border: 1px solid #cccccc;
}
.sub_power_cycle_container08_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
  background: #f5f7fb;
}

/* power_discrete */
.power_discrete .common_w_inner .common_en01 {
  font-size: 32px;
  letter-spacing: 0;
}

.sub_power_discrete_container01_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 10px 0;
}
.sub_power_discrete_container02_bg {
  display: flex;
  justify-content: center;
  padding: 5rem 0;
  background: #f5f7fb;
}
.sub_power_discrete_container03_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
}
.sub_power_discrete_container04_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
  background: #f5f7fb;
}
.sub_power_discrete_container05_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 20px 0;
}
.sub_power_discrete_container05_box_in {
  margin-bottom: 30px;
}
.sub_power_discrete_container05_box_in .h4_ttl {
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
  font-size: 15px;
}
.sub_power_discrete_container05_box_in .comment_name {
  font-size: 13px;
  display: block;
  margin-top: 0.5rem;
}
.sub_power_discrete_container05_box_in .common_sub_list02 {
  border-bottom: 1px solid #dddddd;
  padding-bottom: 5px;
  margin-bottom: 15px;
}
.sub_power_discrete_container05_box_img {
  text-align: center;
  margin: 1.5rem 0 1rem 0;
}
.sub_power_discrete_container06_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
  background: #f5f7fb;
}
.sub_power_discrete_container07_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
}
.sub_power_discrete_container08_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
  background: #f5f7fb;
}

/* imc */
.imc .common_w_inner .common_en01 {
  letter-spacing: 0;
  font-size: 26px;
}

.sub_imc_container01_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 40px 0;
}
.sub_imc_container01_bg .sub_flap_container01_ttl.nomark {
  text-align: center;
}
.sub_imc_container01_bf {
  background: #d2dfee;
  padding: 1.5rem;
  position: relative;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 40px 0 25px 0;
}
.sub_imc_container01_bf::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -14px;
  width: 50px;
  height: 15px;
  background: #d2dfee;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_imc_container01_bf .in_txt {
  position: relative;
  padding-left: 81px;
  font-size: 17px;
  display: block;
}
.sub_imc_container01_bf .in_txt::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0;
  width: 66px;
  height: 66px;
  background: url(../images/imc/imc_ttl_icon.png) no-repeat left top;
}
.sub_imc_container01_bf_txt {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 1.5rem;
  line-height: 1.8;
}
.sub_imc_container01_box {
  border: 1px solid #004ea2;
  background: #f9f9f9;
  border-radius: 10px;
  padding: 20px 25px;
  margin-bottom: 3.5rem;
}
.sub_imc_container01_box_in {
  margin-top: 2rem;
}
.sub_imc_container01_box_disc {
  wmb: 20px;
}
.sub_imc_container01_insec .h3_ttl {
  text-align: center;
  font-size: 18px;
  margin-bottom: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.sub_imc_container01_insec_flex_in {
  margin-bottom: 20px;
}
.sub_imc_container01_insec_img01 {
  text-align: center;
  margin-top: 1.5rem;
}
.sub_imc_container02_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
  background: #f5f7fb;
}
.sub_imc_container02_box {
  background: #fff;
  padding: 20px;
  margin-top: 2.5rem;
}
.sub_imc_container02_box .h3_ttl {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 57px;
}
.sub_imc_container02_box .h3_ttl::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 42px;
  height: 42px;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  border-radius: 50%;
}
.sub_imc_container02_box .h3_ttl::after {
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #fff;
  width: 42px;
  height: 42px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 0.05em;
}
.sub_imc_container02_box .h3_ttl.no01::after {
  content: "01";
}
.sub_imc_container02_box .h3_ttl.no02::after {
  content: "02";
}
.sub_imc_container02_box .h3_ttl.no02 .min {
  font-size: 16px;
}
.sub_imc_container02_box_flex {
  margin-bottom: 40px;
  margin-top: 20px;
  align-items: center;
}
.sub_imc_container02_box_flex_disc {
  margin-bottom: 20px;
}
.sub_imc_container02_box_flex_disc .common_en01 {
  position: relative;
  padding-left: 51px;
  font-weight: 500;
  letter-spacing: 0.05em;
  display: block;
  margin-bottom: 5px;
}
.sub_imc_container02_box_flex_disc .common_en01::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 14px;
  height: 14px;
  border: 1px solid #004ea2;
  border-radius: 9999px;
}
.sub_imc_container02_box_flex_disc .common_en01::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 14px;
  width: 22px;
  height: 1px;
  background-color: #004ea2;
}
.sub_imc_container02_box_flex_disc .listbox {
  background: #f5f7fb;
  box-sizing: border-box;
  padding: 1.5rem 2rem;
  position: relative;
  margin-bottom: 38px;
}
.sub_imc_container02_box_flex_disc .listbox::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -33px;
  width: 49px;
  height: 18px;
  background: #004ea2;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_imc_container02_box_flex02 {
  margin-bottom: 2rem;
}
.sub_imc_container02_box_flex02_disc {
  padding-bottom: 3rem;
}
.sub_imc_container02_box_flex02_img {
  margin-bottom: 45px;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.sub_imc_container02_box_flex02_img::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -35px;
  width: 49px;
  margin-left: -25px;
  height: 18px;
  background: #004ea2;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.sub_imc_container02_box_flex02_img figure {
  width: calc(50% - 1rem);
}
.sub_imc_container02_box_flex02_img figure figurecaption {
  margin-top: 0.5rem;
  display: block;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.sub_imc_container02_box_tbl table {
  max-width: 800px;
  border-collapse: collapse;
  border-radius: 10px;
  background-color: #fff;
  overflow: hidden;
}
.sub_imc_container02_box_tbl table tr:not(:last-child) td {
  border-bottom: 1px solid #e6e8ed;
}
.sub_imc_container02_box_tbl table thead th {
  padding: 10px;
  background: #004ea2;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
  width: 33.3333333333%;
}
.sub_imc_container02_box_tbl table thead th:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_imc_container02_box_tbl table tbody th {
  padding: 10px;
  box-sizing: border-box;
  width: 33.3333333333%;
  background: #4788cf;
  text-align: center;
  color: #fff;
  font-weight: 500;
}
.sub_imc_container02_box_tbl table tbody td {
  padding: 15px 20px;
  box-sizing: border-box;
  width: 33.3333333333%;
  background: #f9f9f9;
}
.sub_imc_container02_box_tbl table tbody td:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_imc_container02_box_tbl table tbody tr:not(:last-child) th {
  border-bottom: 1px solid #fff;
}
.sub_imc_container03_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
}
.sub_imc_container03_box {
  display: table;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2rem;
}
.sub_imc_container03_img {
  margin-bottom: 0.5rem;
}
.sub_imc_container03_hosoku {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.sub_imc_container04_bg {
  display: flex;
  justify-content: center;
  padding: 60px 0 10px 0;
  background: url(../images/imc/imc_contact.png) no-repeat center top;
  background-size: cover;
}
.sub_imc_container04_bg .ft_contact_btn.btn01 {
  margin-left: auto;
  margin-right: auto;
}
.sub_imc_container04_bg .ft_contact_btn.btn01 .btn_bf {
  line-height: 1.2;
  padding: 3px 20px;
  top: -1.85em;
}
.sub_imc_container05_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
}
.sub_imc_container06_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
  background: #f5f7fb;
}
.sub_imc_container07_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
}
.sub_imc_container08_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0;
  background: #f5f7fb;
}

header .hd_btn02 {
  display: none;
}

/* mass_production */
.mass_production .common_sub_main .common_w_inner {
  background: url(../images/massproduction/massproduction_mainimg.png) no-repeat center center;
  background-size: cover;
}
.mass_production .common_sub_main .common_en01 {
  font-size: 30px;
  letter-spacing: 0;
}

.sub_mass_production_container01_bg {
  padding: 30px 0 0 0;
}
.sub_mass_production_container01_bg .common_inner,
.sub_mass_production_container01_bg .common_m_inner {
  margin-left: auto;
  margin-right: auto;
}
.sub_mass_production_container01_bg .common_sub_menu_box01 ul {
  display: flex;
  margin: 4rem 0;
  flex-wrap: wrap;
}
.sub_mass_production_container01_bg .common_sub_menu_box01 ul li {
  width: calc((100% - 1rem) / 2);
  margin-bottom: 15px;
}
.sub_mass_production_container01_bg .common_sub_menu_box01 ul li a {
  text-align: center;
}
.sub_mass_production_container01_lead {
  margin-bottom: 65px;
  padding: 20px 20px 1px 20px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
}
.sub_mass_production_container01_lead .common_inner {
  width: 100%;
}
.sub_mass_production_container01_lead_ttl {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-bottom: 1.5rem;
}
.sub_mass_production_container01_lead_img {
  margin: 20px 0 40px 0;
}
.sub_mass_production_container01_lead_img img {
  width: 100%;
}
.sub_mass_production_container01_lead .ft_contact_btn.btn01 {
  margin-right: 0;
  margin-top: 2.5rem;
}
.sub_mass_production_container01_lead .ft_contact_btn.btn01 .btn_bf {
  border: 1px solid #007fc8;
  color: #004ea2;
  background: #fff;
}
.sub_mass_production_container01_lead .ft_contact_btn.btn01 .btn_bf::after {
  background: #fff;
}
.sub_mass_production_container01_lead .ft_contact_btn.btn01 a {
  background: linear-gradient(to right, #004ea2, #14b6f2);
  border: 1px solid #acd5ff;
}
.sub_mass_production_container01_lead .ft_contact_btn.btn01 a .icon_txt {
  color: #fff;
}
.sub_mass_production_container01_lead .ft_contact_btn.btn01 a .icon_txt::before {
  background: url(../images/common/icon_mail_wh.svg);
  background-size: contain;
}
.sub_mass_production_container01_box {
  padding: 10px 0 0 0;
}
.sub_mass_production_container01_box_cover {
  padding: 4rem 0 0 0;
}
.sub_mass_production_container01_box_cover .sub_mass_production_container01_box_sec:nth-child(2n+0) .sub_mass_production_container01_box_disc {
  order: 1;
}
.sub_mass_production_container01_box_cover .sub_mass_production_container01_box_sec:nth-child(2n+0) .sub_mass_production_container01_box_img {
  order: 0;
}
.sub_mass_production_container01_box_sec {
  margin-bottom: 50px;
}
.sub_mass_production_container01_box_disc {
  margin-bottom: 20px;
}
.sub_mass_production_container01_box_disc .common_txt01 .cl_txt {
  font-weight: 700;
  color: #ed5e13;
}
.sub_mass_production_container01_box_ttl {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  position: relative;
  padding-left: 38px;
}
.sub_mass_production_container01_box_ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 10px;
  height: 10px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.sub_mass_production_container01_box_ttl::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 10px;
  width: 18px;
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_mass_production_container01_box_ttl .common_en01 {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #004ea2;
  display: flex;
  align-items: center;
  margin-right: 10px;
}
.sub_mass_production_container01_box_ttl .common_en01 .big_txt {
  font-size: 34px;
  margin-left: 10px;
  font-weight: 500;
  position: relative;
  top: -2px;
  line-height: 1;
}
.sub_mass_production_container01_box_ttl .h3_ttl {
  color: #004ea2;
  border: 2px solid #004ea2;
  border-radius: 9999px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 10px;
}
.sub_mass_production_container01_box_catch {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 1.5rem;
}
.sub_mass_production_container01_box_catch .common_en02 {
  font-size: 26px;
}
.sub_mass_production_container02_bg {
  display: flex;
  justify-content: center;
  padding: 3.5rem 0;
  position: relative;
  background-color: #d2dfee;
}
.sub_mass_production_container02_bg::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -24px;
  width: 80px;
  height: 25px;
  background: #d2dfee;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_mass_production_container02_ttl {
  background: #004ea2;
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 9999px;
  margin-left: auto;
  margin-right: auto;
  padding: 5px 1em;
  max-width: 17em;
  box-sizing: border-box;
}
.sub_mass_production_container02_box {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 0 20px;
  margin-top: 20px;
}
.sub_mass_production_container02_box ul li {
  margin-bottom: 10px;
  position: relative;
}
.sub_mass_production_container02_box ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 50px;
  height: 50px;
}
.sub_mass_production_container02_box ul li.icon01::before {
  background: url(../images/top/top_service_icon04.png) no-repeat left top;
  background-size: contain;
}
.sub_mass_production_container02_box ul li.icon02::before {
  background: url(../images/top/top_service_icon05.png) no-repeat left top;
  background-size: contain;
}
.sub_mass_production_container02_box ul li.icon03::before {
  background: url(../images/top/top_service_icon06.png) no-repeat left top;
  background-size: contain;
}
.sub_mass_production_container02_box ul li.icon04::before {
  background: url(../images/top/top_service_icon01.png) no-repeat left top;
  background-size: contain;
}
.sub_mass_production_container02_box ul li .fuki {
  background-color: #fff;
  padding: 7px 15px;
  border-radius: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  min-height: 70px;
  margin-left: 63px;
  display: flex;
  align-items: center;
}
.sub_mass_production_container02_box ul li .fuki::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: -11px;
  width: 12px;
  height: 16px;
  background: #fff;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
.sub_mass_production_container02_box ul li .fuki .cl_txt {
  color: #004ea2;
}
.sub_mass_production_container03_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0 5.5rem 0;
  background: #f5f7fb;
}
.sub_mass_production_container04_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0 5.5rem 0;
}
.sub_mass_production_container04_bg .common_sub_item_box {
  gap: 3.5rem;
}
.sub_mass_production_container04_bg .common_sub_item_box .sub_mass_production_h3_ttl {
  border: 1px solid #004ea2;
  border-radius: 9999px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  height: 60px;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.4;
  text-align: center;
  position: relative;
  background-color: #f5f7fb;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #074e9b;
  width: 100%;
}
.sub_mass_production_container04_bg .common_sub_item_box .sub_mass_production_h3_ttl::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -16px;
  width: 26px;
  height: 16px;
  background: #004ea2;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_mass_production_container04_bg .common_sub_item_box .sub_mass_production_h3_ttl::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -15px;
  width: 25px;
  height: 16px;
  background: #f5f7fb;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_mass_production_container04_bg .common_sub_item_box .sub_mass_production_h3_ttl .deco {
  font-size: 1.4rem;
  font-weight: 500;
}
.sub_mass_production_container05_bg {
  display: flex;
  justify-content: center;
  padding: 5rem 0 5.5rem 0;
  background: #f5f7fb;
}
.sub_mass_production_container06_bg {
  display: flex;
  justify-content: center;
  padding: 5rem 0 5.5rem 0;
}
.sub_mass_production_container06_bg .common_sub_item_box .sub_item_dd_wrap {
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 10px;
}
.sub_mass_production_container06_bg .common_sub_item_box .sub_item_dd_wrap dl {
  display: flex;
  border-bottom: 1px solid #e6e8ed;
}
.sub_mass_production_container06_bg .common_sub_item_box .sub_item_dd_wrap dl:last-of-type {
  border-bottom: none;
}
.sub_mass_production_container06_bg .common_sub_item_box .sub_item_dd_wrap dl dt {
  font-weight: 500;
  background-color: #004ea2;
  color: #fff;
  width: 36%;
  padding: 20px;
  display: flex;
  align-items: center;
}
.sub_mass_production_container06_bg .common_sub_item_box .sub_item_dd_wrap dl dd {
  color: #354362;
  background-color: #f9f9f9;
  font-weight: 500;
  width: 64%;
  padding: 20px;
  display: flex;
  align-items: center;
}
.sub_mass_production_container07_bg {
  display: flex;
  justify-content: center;
  padding: 5rem 0 1.5rem 0;
  background: #f5f7fb;
}
.sub_mass_production_container08_bg {
  display: flex;
  justify-content: center;
  padding: 5rem 0 1.5rem 0;
}

/*prototype:スライダー*/
.sub_slider_wrap {
  overflow: hidden;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
}

.swiper-container {
  padding: 30px 0;
  position: relative;
  overflow: hidden;
  margin: 0 6rem;
}

.swiper-slide {
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.swiper-slide img {
  width: 100%;
}

/* ボタンを外に出す */
.custom-prev,
.custom-next {
  position: absolute;
  top: 50%;
  z-index: 10;
  width: 30px;
  height: 30px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

.custom-prev {
  left: 0;
  margin-left: 1rem;
  background-image: url("../images/prototype/prototype_arrow01.png");
  background-size: contain;
}

.custom-next {
  right: 0;
  margin-right: 1rem;
  background-image: url("../images/prototype/prototype_arrow02.png");
  background-size: contain;
}

/*prototype:メイン*/
.sub_prototype_container01_bg {
  padding: 3.5rem 0 5.5rem 0;
}
.sub_prototype_container01_bg .common_inner,
.sub_prototype_container01_bg .common_m_inner {
  margin-left: auto;
  margin-right: auto;
}
.sub_prototype_container01_bg .sub_company_txt01 {
  text-align: center;
  font-size: 2.6rem;
  font-weight: 700;
  margin-bottom: 2rem;
  color: #074e9b;
}
.sub_prototype_container01_bg .sub_company_box {
  margin-bottom: 40px;
}
.sub_prototype_container01_bg .sub_txt_box {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 20px;
  gap: 1rem;
}
.sub_prototype_container01_bg .sub_txt_box .sub_ttl_txt {
  font-size: 16px;
  font-weight: bold;
  position: relative;
  line-height: 1;
}
.sub_prototype_container01_bg .sub_txt_box .sub_ttl_txt::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 40%;
  bottom: 0;
  left: 0;
  background-color: #ffee5f;
  z-index: -1;
}
.sub_prototype_container01_bg .sub_txt_box .sub_ttl_txt .big {
  font-size: 22px;
}
.sub_prototype_container01_bg .sub_txt_box .sub_ttl_txt .big_m {
  font-size: 20px;
}
.sub_prototype_container01_bg .sub_txt_wrap {
  margin-bottom: 35px;
}
.sub_prototype_container01_bg .ft_contact_btn.btn01 {
  margin: 0 auto;
}
.sub_prototype_container01_bg .ft_contact_btn.btn01 .btn_bf {
  border: 1px solid #007fc8;
  color: #004ea2;
  background: #fff;
}
.sub_prototype_container01_bg .ft_contact_btn.btn01 .btn_bf::after {
  background: #fff;
}
.sub_prototype_container01_bg .ft_contact_btn.btn01 a {
  background: linear-gradient(to right, #004ea2, #14b6f2);
  border: 1px solid #acd5ff;
}
.sub_prototype_container01_bg .ft_contact_btn.btn01 .icon_txt {
  color: #fff;
}
.sub_prototype_container01_bg .ft_contact_btn.btn01 .icon_txt::before {
  background: url(../images/common/icon_mail_wh.svg);
  background-size: contain;
}
.sub_prototype_container02_bg {
  display: flex;
  justify-content: center;
  padding: 20px 0 10px 0;
  position: relative;
  background-color: #f5f7fb;
}
.sub_prototype_container02_bg .common_sub_menu_box01 ul li {
  width: calc(50% - 5px);
  margin-bottom: 10px;
}
.sub_prototype_container02_bg .common_sub_menu_box01 ul li a {
  text-align: center;
  line-height: 1.4;
}
.sub_prototype_container03_bg {
  display: flex;
  justify-content: center;
  padding: 60px 0;
  background: #fff;
}
.sub_prototype_container03_bg .common_sub_h2_ttl02_sml {
  color: #354362;
}
.sub_prototype_container03_bg .sub_figure_box.box01 {
  margin-bottom: 60px;
}
.sub_prototype_container03_bg .sub_figure_box .sub_figure_item .sub_figure_block {
  padding: 50px 20px 20px 20px;
  border-radius: 10px;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
  position: relative;
}
.sub_prototype_container03_bg .sub_figure_box .sub_figure_item .sub_figure_block .sub_figure_ttl_wrap {
  position: absolute;
  top: -2rem;
  left: 0;
  width: 100%;
}
.sub_prototype_container03_bg .sub_figure_box .sub_figure_item .sub_figure_block .sub_figure_ttl {
  font-size: 18px;
  color: #fff;
  padding: 8px 20px;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  border-radius: 30px;
  display: table;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  min-width: 12em;
}
.sub_prototype_container03_bg .sub_figure_box .sub_figure_item .sub_figure_block.block01 {
  margin-top: 60px;
}
.sub_prototype_container03_bg .sub_figure_box .sub_figure_item .sub_figure_block.block01 .figure_block_img {
  margin-left: auto;
  margin-right: auto;
  max-width: 200px;
}
.sub_prototype_container03_bg .sub_figure_box .sub_figure_item .sub_figure_block.block02 {
  margin-top: 40px;
  width: 100%;
  padding-top: 60px;
}
.sub_prototype_container03_bg .sub_figure_box .sub_figure_item .sub_figure_block.block02 .sub_figure_block_in_wrap .sub_figure_block_in .figure_block_in_txt {
  font-size: 16px;
  color: #004ea2;
  font-weight: bold;
  background-color: #dbe4f5;
  padding: 1rem;
  border-radius: 10px;
  display: block;
  width: 100%;
  text-align: center;
  margin-bottom: 20px;
}
.sub_prototype_container03_bg .sub_figure_box .sub_figure_item .sub_figure_block.block02 .sub_figure_block_in_wrap .sub_figure_block_in .figure_block_in_img {
  text-align: center;
}
.sub_prototype_container03_bg .sub_figure_box .sub_figure_item .sub_figure_block.block02 .sub_figure_block_in_wrap .sub_figure_block_in.in02 {
  margin-top: 30px;
}
.sub_prototype_container03_bg .sub_figure_box .sub_figure_item .sub_figure_block.block02 .sub_figure_block_in_wrap .sub_figure_block_in.in02 .figure_block_in_img {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
}
.sub_prototype_container03_bg .sub_figure_box .sub_figure_item.item01 .figure_block_txt {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
.sub_prototype_container03_bg .sub_figure_box .sub_figure_arrow01 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px 0 0 0;
}
.sub_prototype_container03_bg .sub_figure_box .sub_figure_arrow01 img {
  transform: rotate(90deg);
  width: 50px;
}
.sub_prototype_container03_bg .sub_figure_box.box02 {
  border: 1px solid #004ea2;
  border-radius: 10px;
  background-color: #f9f9f9;
  padding: 30px 20px 0 20px;
}
.sub_prototype_container03_bg .sub_figure_box.box02 .sub_figure_h3_ttl {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  background-color: #004ea2;
  padding: 5px;
  border-radius: 9999px;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 20px;
}
.sub_prototype_container03_bg .sub_figure_box.box02 .sub_figure_comment_wrap .sub_figure_comment_block {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin-bottom: 40px;
}
.sub_prototype_container03_bg .sub_figure_box.box02 .sub_figure_comment_wrap .sub_figure_comment_block .sub_figure_comment01 {
  padding-left: 2rem;
  width: 77%;
  margin-left: auto;
  margin-right: 0;
  position: relative;
  min-height: 7rem;
}
.sub_prototype_container03_bg .sub_figure_box.box02 .sub_figure_comment_wrap .sub_figure_comment_block .sub_figure_comment01::before {
  position: absolute;
  content: "";
  background-color: #fff;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
  width: 2rem;
  height: 2rem;
  top: 50%;
  transform: translateY(-50%);
  left: 1rem;
}
.sub_prototype_container03_bg .sub_figure_box.box02 .sub_figure_comment_wrap .sub_figure_comment_block .sub_figure_comment01::after {
  position: absolute;
  content: "";
  background-image: url(../images/top/top_service_icon02.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 7rem;
  height: 7rem;
  top: 50%;
  transform: translateY(-50%);
  left: -6.5rem;
}
.sub_prototype_container03_bg .sub_figure_box.box02 .sub_figure_comment_wrap .sub_figure_comment_block .sub_figure_comment01 .comment {
  font-weight: bold;
  background-color: #fff;
  border-radius: 20px;
  padding: 1.5rem 2rem;
  display: block;
}
.sub_prototype_container03_bg .sub_figure_box.box02 .sub_figure_comment_wrap .sub_figure_comment_block .sub_figure_arrow02 {
  height: 5rem;
  position: relative;
}
.sub_prototype_container03_bg .sub_figure_box.box02 .sub_figure_comment_wrap .sub_figure_comment_block .sub_figure_arrow02::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  background-color: #004ea2;
  width: 42px;
  height: 16px;
  clip-path: polygon(100% 0, 0 0, 49% 100%);
}
.sub_prototype_container03_bg .sub_figure_box.box02 .sub_figure_comment_wrap .sub_figure_comment_block .sub_figure_comment02 {
  border: 1px solid #004ea2;
  border-radius: 20px;
  height: 100%;
  padding: 2rem;
  background-color: #fff;
}
.sub_prototype_container04_bg {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 6rem 0 5.5rem 0;
  background-color: #f5f7fb;
}
.sub_prototype_container04_bg .common_txt01.center {
  text-align: center;
}
.sub_prototype_container04_bg .common_sub_h2_ttl02_sml {
  margin-bottom: 30px;
}
.sub_prototype_container04_bg .common_sub_h2_ttl02_sml_hosoku02 {
  font-size: 17px;
  text-align: center;
  font-weight: bold;
}
.sub_prototype_container04_bg .common_sub_h2_ttl02_sml_hosoku02 span {
  padding: 0 10px;
  position: relative;
  display: block;
}
.sub_prototype_container04_bg .common_sub_h2_ttl02_sml_hosoku02 span::before {
  position: absolute;
  content: "";
  background-color: #004ea2;
  width: 1px;
  height: 30px;
  transform: rotate(-30deg) translateY(-50%);
  top: 50%;
  left: 5px;
}
.sub_prototype_container04_bg .common_sub_h2_ttl02_sml_hosoku02 span::after {
  position: absolute;
  content: "";
  background-color: #004ea2;
  width: 1px;
  height: 30px;
  transform: rotate(30deg) translateY(-50%);
  top: 50%;
  right: 5px;
}
.sub_prototype_container04_bg .sub_figure_h3_ttl {
  background: #004ea2;
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 9999px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
  margin-top: 30px;
  max-width: 17em;
  padding: 5px 0;
}
.sub_prototype_container04_bg .sub_contents_box .sub_contents_block.block01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sub_prototype_container04_bg .sub_contents_box .sub_contents_block.block01 .common_sub_item_sn .common_sub_item_sn_name {
  text-align: left;
}
.sub_prototype_container04_bg .sub_contents_box .sub_contents_block.block01 .common_sub_item_sn .common_sub_item_sn_name .min {
  font-size: 12px;
  font-weight: 500;
  display: block;
}
.sub_prototype_container04_bg .sub_contents_box .sub_contents_block.block01 .common_sub_item_sn .common_sub_item_sn_img {
  background-color: #fff;
}
.sub_prototype_container04_bg .sub_contents_box .sub_contents_block.block02 {
  border: 1px solid #004ea2;
  border-radius: 10px;
  background-color: #fff;
  padding: 10px;
  text-align: center;
  margin-bottom: 50px;
  flex-wrap: wrap;
}
.sub_prototype_container04_bg .sub_contents_box .sub_contents_block.block02 .common_txt01 {
  line-height: 1.6;
}
.sub_prototype_container04_bg .sub_contents_box.box01 .common_sub_item_sn {
  width: 100%;
}
.sub_prototype_container04_bg .sub_contents_box.box01 .common_sub_item_sn_img {
  padding: 20px 0 0 0;
}
.sub_prototype_container04_bg .sub_contents_box.box02 .common_sub_item_sn {
  width: calc(50% - 5px);
}
.sub_prototype_container04_bg .sub_contents_box.box02 .common_sub_item_sn_img {
  padding: 40px 0 20px 0;
}
.sub_prototype_container04_bg .sub_table_wrap {
  margin-top: 4rem;
}
.sub_prototype_container05_bg {
  background-image: url(../images/design/design_img09.png) !important;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  justify-content: center;
  padding: 60px 0 40px 0;
  background: #f5f7fb;
}
.sub_prototype_container05_bg .btn01 {
  margin: 0 auto;
}
.sub_prototype_container05_bg .btn01 .btn_bf {
  line-height: 1.2;
  padding: 3px 20px;
  top: -1.85em;
}
.sub_prototype_container06_bg {
  display: flex;
  justify-content: center;
  padding: 70px 0 10px 0;
  background: #fff;
}
.sub_prototype_container06_bg .sub_h2_ttl_wrap {
  display: flex;
  justify-content: center;
}
.sub_prototype_container06_bg .sub_h2_ttl_wrap .common_sub_h2_ttl02_sml {
  display: inline-block;
  position: relative;
  margin-bottom: -40px;
}
.sub_prototype_container06_bg .sub_h2_ttl_wrap .h2_sub_ttl {
  background-image: url(../images/prototype/prototype_img37.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 138px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #fff;
  font-size: 14px;
  position: absolute;
  top: -40px;
  left: 0;
}
.sub_prototype_container06_bg .sub_contents_txt_wrap .common_txt01 {
  margin: 50px auto 30px auto;
}
.sub_prototype_container06_bg .sub_contents_txt_wrap .common_txt01 .cl_txt {
  font-weight: 700;
  color: #ed5e13;
}
.sub_prototype_container06_bg .sub_contents_img_box.box01 {
  margin-bottom: 40px;
}
.sub_prototype_container06_bg .sub_contents_img_box .contents_img_block {
  margin-bottom: 40px;
}
.sub_prototype_container06_bg .sub_contents_img_box .common_txt01 {
  text-align: center;
  font-weight: bold;
  margin-top: 5px;
}
.sub_prototype_container06_bg .sub_contents_img_box.box02 {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
.sub_prototype_container06_bg .sub_contents_img_box.box02 .contents_img_block {
  position: relative;
}
.sub_prototype_container06_bg .sub_contents_img_box.box02 .contents_img_block .img_wrap {
  position: relative;
  width: 100%;
}
.sub_prototype_container06_bg .sub_contents_img_box.box02 .contents_img_block .img_wrap img {
  width: 100%;
}
.sub_prototype_container06_bg .sub_contents_img_box.box02 .contents_img_block .img_wrap::before {
  content: "";
  position: absolute;
  background-color: #004ea2;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  width: 18px;
  height: 18px;
  left: 50%;
  transform: translateX(-50%);
  bottom: -60px;
}
.sub_prototype_container06_bg .sub_contents_img_box.box02 .contents_img_block:last-of-type .img_wrap::before {
  display: none;
}
.sub_prototype_container06_bg .sub_contents_img_box.box02 .contents_img_block .img_sub_num {
  background: linear-gradient(to right, #004ea2, #14b6f2);
  width: 42px;
  height: 42px;
  border-radius: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -18px;
  left: 10px;
  color: #fff;
  font-weight: 500;
  z-index: 10;
}
.sub_prototype_container06_bg .sub_contents_img_box.box02 .common_txt01 {
  font-size: 16px;
}
.sub_prototype_container06_bg .sub_h3_ttl_wrap .sub_h3_ttl {
  font-size: 22px;
  font-weight: bold;
  color: #004ea2;
  padding: 0 8rem;
  margin: 0 auto;
  width: fit-content;
  position: relative;
}
.sub_prototype_container06_bg .sub_h3_ttl_wrap .sub_h3_ttl::before {
  position: absolute;
  content: "";
  height: 1px;
  width: 60px;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  background-color: #004ea2;
}
.sub_prototype_container06_bg .sub_h3_ttl_wrap .sub_h3_ttl::after {
  position: absolute;
  content: "";
  height: 1px;
  width: 60px;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  background-color: #004ea2;
}
.sub_prototype_container06_bg .sub_h3_ttl_wrap .common_txt01 {
  margin: 20px 0 30px 0;
  text-align: center;
}
.sub_prototype_container07_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 30px 0;
  background: #f5f7fb;
}
.sub_prototype_container07_bg .common_txt01 {
  text-align: center;
  margin-top: 20px;
}
.sub_prototype_container07_bg .sub_contents_block {
  margin-top: 30px;
}
.sub_prototype_container07_bg .sub_contents_block .common_sub_item_sn {
  margin-bottom: 20px;
}
.sub_prototype_container08_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 0 0;
  background: #fff;
  margin-bottom: 6rem;
}
.sub_prototype_container08_bg .common_sub_h2_ttl02_sml {
  margin-bottom: 3rem;
}
.sub_prototype_container08_bg .common_txt01.center {
  text-align: center;
}
.sub_prototype_container08_bg .sub_prototype_h3_ttl {
  border: 1px solid #004ea2;
  border-radius: 9999px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  height: 60px;
  max-width: 520px;
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3rem;
  line-height: 1.4;
  text-align: center;
  position: relative;
  background-color: #f5f7fb;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #074e9b;
  width: 100%;
}
.sub_prototype_container08_bg .sub_prototype_h3_ttl::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -16px;
  width: 26px;
  height: 16px;
  background: #004ea2;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_prototype_container08_bg .sub_prototype_h3_ttl::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -15px;
  width: 25px;
  height: 16px;
  background: #f5f7fb;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_prototype_container08_bg .sub_prototype_h3_ttl .deco {
  font-size: 1.4rem;
  font-weight: 500;
}
.sub_prototype_container09_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
  background: #fff;
}
.sub_prototype_container09_bg .common_sub_h2_ttl02_sml {
  margin-bottom: 3rem;
}
.sub_prototype_container09_bg .contents_img_wrap {
  display: flex;
  justify-content: center;
  margin: 0 0 30px 0;
}
.sub_prototype_container09_bg .sub_contents_box.box02 .sub_contents_block {
  margin-bottom: 40px;
}
.sub_prototype_container09_bg .sub_contents_box.box02 .contents_img_wrap {
  margin: 20px 0;
}
.sub_prototype_container09_bg .sub_contents_box.box03 .sub_contents_block_wrap .sub_contents_block.block02 {
  display: flex;
  align-items: center;
  justify-content: center;
}
.sub_prototype_container09_bg .sub_contents_box.box03 .sub_contents_block_wrap .sub_contents_block.block02 .common_btn01 {
  max-width: 46rem;
  width: 100%;
  height: 70px;
}
.sub_prototype_container09_bg .sub_contents_box.box03 .sub_contents_block_wrap .contents_img_wrap {
  margin-top: 15px;
}
.sub_prototype_container10_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 0 0;
  background: #f5f7fb;
}
.sub_prototype_container11_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 40px 0;
  background: #fff;
}
.sub_prototype_container12_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 30px 0;
  background: #f5f7fb;
}

.scroll {
  overflow: auto;
  white-space: nowrap;
}

.scroll table {
  margin-bottom: 10px;
}

.scroll::-webkit-scrollbar {
  height: 5px;
}

.scroll::-webkit-scrollbar-track {
  background: #F1F1F1;
}

.scroll::-webkit-scrollbar-thumb {
  background: #BCBCBC;
}

.scroll::-webkit-scrollbar {
  /* スクロールバー本体 */
  width: 5px;
  background: #F1F1F1;
}

.scroll::-webkit-scrollbar:horizontal {
  /* 横方向のスクロールバー本体 */
  width: 5px;
  background: #F1F1F1;
}

.scroll::-webkit-scrollbar-thumb {
  /* スクロールバーの動く部分 */
  background: #CCCCCC;
  border-radius: 10px;
}

.scroll::-webkit-scrollbar-thumb:horizontal {
  /* 横方向のスクロールバーの動く部分 */
  background: #BCBCBC;
  border-radius: 10px;
}

.scroll::-webkit-scrollbar-track-piece:start {
  /* スクロールバーの動く部分の前 */
  background: #F1F1F1;
}

.scroll::-webkit-scrollbar-track-piece:end {
  /* スクロールバーの動く部分の後ろ */
  background: #F1F1F1;
}

.scroll::-webkit-scrollbar-corner {
  /* スクロールバー角 */
  background: transparent;
}

.document_detail .document_detail_flex .document_detail_wrap .detail_list_block {
  border-radius: 10px;
  padding: 20px;
}

.ank {
  padding-top: 50px;
  margin-top: -50px;
}

.common_sub_h3_ttl {
  font-size: 18px;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 10px;
  position: relative;
  padding-bottom: 20px;
}
.common_sub_h3_ttl::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0px;
  width: 10px;
  height: 10px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.common_sub_h3_ttl::after {
  content: "";
  position: absolute;
  bottom: 5px;
  left: 10px;
  width: calc(100% - 5px);
  height: 1px;
  background: #004ea2;
}

.common_sub_list01 li {
  color: #004ea2;
  position: relative;
  padding-left: calc(8px + 0.6em);
  font-weight: 700;
  letter-spacing: 0.05em;
}
.common_sub_list01 li:not(:last-child) {
  margin-bottom: 0.5rem;
}
.common_sub_list01 li::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  border-radius: 50%;
  position: absolute;
  top: 0.6em;
  left: 0;
}

.common_sub_list02 li {
  position: relative;
  padding-left: calc(10px + 0.5em);
  letter-spacing: 0.05em;
}
.common_sub_list02 li:not(:last-child) {
  margin-bottom: 0.5rem;
}
.common_sub_list02 li::before {
  content: "";
  width: 10px;
  height: 10px;
  border: 0;
  background: #004ea2;
  border-radius: 50%;
  position: absolute;
  top: 0.6em;
  left: 0;
}

.common_package_tbl table thead th {
  width: calc((100% - 130px) / 4);
}

.common_cl_txt {
  color: #ed5e13;
  font-weight: 700;
}

.top_trend_list_img a img.logo {
  border-radius: 0;
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}

.wp-block-button .wp-block-button__link {
  border: none;
  padding: 0.667em 0.667em calc(0.667em + 2px) 0.667em;
  font-size: 16px;
}

.wp-block-button .wp-block-button__link::after {
  content: inherit;
}

.wp-block-button .wp-block-button__link strong {
  font-size: 16px;
}/*# sourceMappingURL=sp03.css.map */