@charset "UTF-8";
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** PCスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/
/*@function vw($size, $viewport:1920) {
  $rate: 100 / $viewport;
  @return $rate * $size * 1vw;
}*/
html {
  scroll-behavior: smooth;
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-size: 62.5%;
  color: #354362;
  line-height: 1.6;
}
@media screen and (max-width: 1294px) {
  html {
    font-size: 56.25%;
    /* 90% */
    /*font-size: 53.125%;*/
    /* 85% */
  }
}

body,
input,
button,
textarea,
select {
  /*font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;*/
  /*font-family: "Noto Sans Japanese","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;*/
  font-family: "Noto Sans CJK JP", "Noto Sans Japanese", "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  /*font-size: 1.6rem;*/
  font-size: 1.8rem;
}

body.fixed {
  overflow: hidden;
}

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

.sp {
  display: none;
}

.pc {
  display: block;
}

.common_container {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}

.common_pcnolink {
  pointer-events: none;
}

.common_w_inner {
  max-width: 1860px;
  width: calc(100% - 6rem);
}

.common_m_inner {
  max-width: 1400px;
  width: 90.625%;
}

.common_inner {
  max-width: 1200px;
  width: 90.625%;
}

.ank {
  padding-top: 10rem;
  margin-top: -10rem;
}

.common_txt01 {
  line-height: 1.8;
  letter-spacing: 0.1em;
  font-size: 1.8rem;
}

.common_tx_c {
  text-align: center;
}

.common_tx_r {
  text-align: right;
}

.common_en01 {
  font-family: "Montserrat", sans-serif;
}

.common_en02 {
  font-family: "Roboto", serif;
}

.common_btn01 {
  width: 28rem;
  height: 6rem;
  max-width: 100%;
}
.common_btn01.wide_size {
  width: 38rem;
  height: 7rem;
  margin-left: auto;
  margin-right: auto;
}
.common_btn01 a {
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  background: linear-gradient(to right, #14b6f2, #004ea2);
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.15);
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
  position: relative;
  overflow: hidden;
}
.common_btn01 a::before {
  background: linear-gradient(to right, #004ea2, #14b6f2);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: all 1s ease-out;
  width: 100%;
}
.common_btn01 a:hover::before {
  opacity: 0;
}
.common_btn01 a:hover .link_line::after {
  width: 0;
  transition: 0.3s;
}
.common_btn01 a .btn_txt {
  position: relative;
  z-index: 2;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.common_btn01 a .link_line {
  width: 23px;
  height: 7px;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translate(0, -50%);
}
.common_btn01 a .link_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 7px;
  height: 7px;
  background: #fff;
  border-radius: 50%;
}
.common_btn01 a .link_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 7px;
  width: 16px;
  height: 1px;
  background: #fff;
  transition: 0.3s;
}

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

.common_top_h2_ttl .common_en01 {
  font-size: 8.4rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #004ea2;
  display: block;
  word-break: break-all;
  line-height: 1;
}
.common_top_h2_ttl .h2_ttl {
  display: inline-block;
  color: #004ea2;
  letter-spacing: 0.05em;
  font-weight: 700;
  position: relative;
  padding-left: 32px;
}
.common_top_h2_ttl .h2_ttl .ttl_line {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  width: 26px;
  height: 10px;
  margin-right: 6px;
  display: inline-block;
}
.common_top_h2_ttl .h2_ttl .ttl_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 10px;
  height: 10px;
  border: 1px solid #004ea2;
  border-radius: 9999px;
}
.common_top_h2_ttl .h2_ttl .ttl_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 10px;
  width: 16px;
  height: 1px;
  background-color: #004ea2;
}

/*----------------------------------------------------------------------------
******************************************************************************
** header
******************************************************************************
----------------------------------------------------------------------------*/
.fix_btn {
  position: fixed;
  bottom: 8rem;
  right: 0;
  opacity: 0;
  z-index: 10;
  transition: 0.2s;
  /*width: 10.52%;*/
}
.fix_btn a {
  position: relative;
  display: block;
  /*transition: opacity 0.5s ease;*/
}
.fix_btn a:hover {
  top: -10px;
}

.fix_btn.show {
  opacity: 1;
  pointer-events: auto;
}

@media screen and (min-width: 1441px) {
  header {
    z-index: 99;
    width: 100%;
    height: 10rem;
    position: fixed;
    left: 50%;
    top: 0;
    box-sizing: border-box;
    max-width: 1920px;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    display: flex;
    align-self: center;
    justify-content: center;
    transition: 0.4s;
    background-color: #fff;
  }
  header .common_w_inner {
    display: flex;
    justify-content: space-between;
  }
  header .hd_logo {
    display: flex;
    align-self: center;
    justify-content: center;
    z-index: 99;
    transition: 0.4s;
    padding-bottom: 10px;
  }
  header .hd_logo img {
    width: 41rem;
  }
}
@media screen and (min-width: 1441px) and (max-width: 1872px) {
  header .hd_logo img {
    width: 32rem;
  }
}
@media screen and (min-width: 1441px) {
  header .hd_logo a:hover {
    opacity: 0.7;
    transition: 0.4s;
  }
  header .global_menu {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  header .global_menu nav {
    display: flex;
    align-items: center;
    height: 10rem;
    transition: 0.4s;
  }
  header .global_menu nav > ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
  }
  header .global_menu nav > ul > li {
    margin-right: 2rem;
    display: flex;
    align-items: center;
  }
  header .global_menu nav > ul > li.sp {
    display: none;
  }
}
@media screen and (min-width: 1441px) and (max-width: 1872px) {
  header .global_menu nav > ul > li {
    margin-right: 1rem;
  }
}
@media screen and (min-width: 1441px) and (max-width: 1648px) {
  header .global_menu nav > ul > li {
    margin-right: 0.5rem;
  }
}
@media screen and (min-width: 1441px) {
  header .global_menu nav > ul > li > a {
    text-decoration: none;
    color: #354362;
    letter-spacing: 0.05em;
    font-weight: 700;
    position: relative;
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1441px) and (max-width: 1648px) {
  header .global_menu nav > ul > li > a {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1441px) {
  header .global_menu nav > ul > li > a::after {
    background: linear-gradient(to right, #004ea2, #14b6f2);
    bottom: -5px;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    transition: all 0.3s;
    width: 0;
    opacity: 0;
  }
  header .global_menu nav > ul > li > a:hover::after {
    width: 100%;
    opacity: 1;
  }
  header .hd_search {
    margin: 0 3.5rem 0 1rem;
  }
}
@media screen and (min-width: 1441px) and (max-width: 1872px) {
  header .hd_search {
    margin: 0 1.5rem 0 0.5rem;
  }
}
@media screen and (min-width: 1441px) {
  header .hd_search_icon {
    cursor: pointer;
  }
  header .hd_search_ct {
    display: none;
    position: fixed;
    width: 100%;
    z-index: 1000;
    top: 10rem;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(8, 24, 46, 0.4);
    overflow: hidden;
    overflow-y: auto;
    padding: 8rem 0 0 0;
    box-sizing: border-box;
  }
  header .hd_search_ct .common_inner {
    margin-left: auto;
    margin-right: auto;
  }
  header .hd_search_box {
    background-color: #fff;
    border-radius: 20px;
    padding: 5rem 10rem 7rem 10rem;
    position: relative;
  }
  header .hd_search_box form {
    display: flex;
    align-items: center;
    height: 7rem;
  }
  header .hd_search_ttl {
    text-align: center;
    font-weight: 700;
    font-size: 2.4rem;
    letter-spacing: 0.05em;
    margin-bottom: 2rem;
  }
  header .hd_search_input {
    display: flex;
    align-items: center;
    background-color: #f5f7fb;
    padding: 0 30px;
    border: none;
    width: calc(100% - 140px);
    height: 70px;
    letter-spacing: 0.05em;
    font-weight: 500;
    outline: none;
  }
  header .hd_search_input:focus {
    outline: none;
  }
  header .hd_search_input::placeholder {
    color: #9da7bd;
    letter-spacing: 0.05em;
    font-weight: 500;
  }
  header .hd_search_btn {
    background: linear-gradient(to right, #004ea2, #14b6f2);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 140px;
    height: 70px;
  }
  header .hd_search_btn span {
    position: relative;
    padding-left: 25px;
    font-size: 1.8rem;
    color: #fff;
    letter-spacing: 0.05em;
  }
  header .hd_search_btn span::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 0px;
    width: 20px;
    height: 20px;
    background: url(../images/common/icon_search_wh.svg) no-repeat left top;
    background-size: contain;
  }
  header .hd_search_close {
    position: absolute;
    top: 3rem;
    right: 3rem;
  }
  header .hd_tel_ttl {
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.2;
  }
  header .hd_tel_tel a {
    background: linear-gradient(to right, #004ea2, #14b6f2);
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 2.8rem;
    font-family: "Roboto", serif;
    font-weight: 700;
    line-height: 1;
    position: relative;
    padding-left: 23px;
    white-space: nowrap;
  }
  header .hd_tel_tel a::before {
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
    width: 18px;
    height: 22px;
    background: url(../images/common/icon_tel_grade.svg) no-repeat left top;
    background-size: contain;
    transform: translate(0, -50%);
  }
  header .hd_tel_time {
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.2;
  }
  header .hd_btn01 {
    position: fixed;
    right: 0;
    top: 8.5rem;
    z-index: 10;
  }
}
@media screen and (min-width: 1441px) and (max-width: 1648px) {
  header .hd_btn01 {
    top: 8.8rem;
  }
}
@media screen and (min-width: 1441px) {
  header .hd_btn01 a {
    position: relative;
  }
  header .hd_btn01 a:hover {
    top: -5px;
  }
}
@media screen and (min-width: 1441px) and (max-width: 1872px) {
  header .hd_btn01 img {
    width: 14rem;
  }
}
@media screen and (min-width: 1441px) {
  header .hd_btn01.stab {
    display: none;
  }
  header .menu_mega {
    display: block;
  }
  header .menu_mega:hover .menu_second-level {
    visibility: visible;
    opacity: 1;
  }
  header .menu_mega_ttl {
    font-weight: 700;
    cursor: pointer;
    position: relative;
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1441px) and (max-width: 1648px) {
  header .menu_mega_ttl {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1441px) {
  header .menu_mega_ttl::after {
    background: linear-gradient(to right, #004ea2, #14b6f2);
    bottom: -5px;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    transition: all 0.3s;
    width: 0;
    opacity: 0;
  }
  header .menu_mega_ttl:hover::after {
    width: 100%;
    opacity: 1;
  }
  header .menu_mega .menu_second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 0;
    position: absolute;
    top: 10rem;
    left: 0;
    width: 100%;
    background: rgba(0, 79, 163, 0.95);
    overflow: hidden;
    padding: 5rem 0 4rem 0;
    transition: all 0.3s ease-out;
  }
  header .menu_mega .menu_second-level .common_inner {
    margin-left: auto;
    margin-right: auto;
  }
  header .menu_mega_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  header .menu_mega_img {
    width: 28.3%;
  }
  header .menu_mega_list {
    width: 65.83%;
  }
  header .menu_mega_list_ct {
    display: block !important;
  }
  header .menu_mega_flex_ttl {
    margin-bottom: 2.5rem;
    display: inline-block;
  }
  header .menu_mega_flex_ttl a {
    color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
    position: relative;
    padding-right: 30px;
  }
  header .menu_mega_flex_ttl a::after {
    content: "";
    width: 12px;
    height: 12px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    margin-top: -4px;
    right: 2px;
    transition: 0.3s;
  }
  header .menu_mega_flex_ttl a:hover {
    opacity: 0.7;
  }
  header .menu_mega_flex_ttl a:hover::after {
    right: -3px;
  }
  header .menu_mega_flex_ttl .aco_btn {
    display: none;
  }
  header .menu_mega_flex_subttl {
    color: #fff;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    font-weight: 700;
    position: relative;
    padding-left: 35px;
    margin-bottom: 2rem;
  }
  header .menu_mega_flex_subttl .mark_line {
    width: 28px;
    height: 12px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
  }
  header .menu_mega_flex_subttl .mark_line::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 0px;
    width: 12px;
    height: 12px;
    border: 1px solid #fff;
    border-radius: 50%;
  }
  header .menu_mega_flex_subttl .mark_line::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 12px;
    width: 16px;
    height: 1px;
    background: #fff;
    transition: 0.3s;
  }
  header .menu_mega_list_flex {
    display: flex;
    flex-wrap: wrap;
  }
  header .menu_mega_list_flex.mb20 {
    margin-bottom: 20px;
  }
  header .menu_mega_list_in {
    width: calc(50% - 3rem);
  }
  header .menu_mega_list_in:not(:last-child) {
    margin-right: 6rem;
  }
  header .menu_mega_list_in ul li {
    margin-bottom: 1rem;
  }
  header .menu_mega_list_in ul li a {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    font-weight: 500;
    color: #fff;
    position: relative;
    padding-right: 35px;
    display: block;
  }
  header .menu_mega_list_in ul li a::after {
    content: "";
    width: 9px;
    height: 9px;
    border: 0;
    border-top: solid 1.5px #fff;
    border-right: solid 1.5px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 2px;
    transition: 0.3s;
  }
  header .menu_mega_list_in ul li a:hover {
    opacity: 0.7;
  }
  header .menu_mega_list_in ul li a:hover::after {
    right: -3px;
  }
  .nav_toggle_pc {
    display: none;
  }
}
@media screen and (max-width: 1440px) {
  header {
    z-index: 999;
    width: 100%;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    background: #fff;
    top: 0;
    left: 0;
  }
  header .common_w_inner {
    display: flex;
    justify-content: space-between;
  }
  header .hd_logo {
    display: flex;
    align-self: center;
    justify-content: center;
    z-index: 99;
    transition: 0.4s;
    padding-bottom: 10px;
  }
  header .hd_logo img {
    width: 41rem;
  }
}
@media screen and (max-width: 1440px) and (max-width: 1872px) {
  header .hd_logo img {
    width: 32rem;
  }
}
@media screen and (max-width: 1440px) {
  header .hd_logo a:hover {
    opacity: 0.7;
    transition: 0.4s;
  }
  header button {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    vertical-align: middle;
    text-align: inherit;
    font: inherit;
    -webkit-appearance: none;
    appearance: none;
  }
  header .nav_toggle_pc {
    cursor: pointer;
    width: 100px;
    height: 100px;
    position: absolute;
    top: 0;
    right: 155px;
    z-index: 999;
  }
  header .nav_toggle_pc span {
    transition: 0.3s;
    border-top: 2px solid #004ea2;
    width: 40px;
    position: absolute;
    top: 35px;
    left: calc((100% - 40px) / 2);
    text-align: center;
  }
  header .nav_toggle_pc span:nth-child(2) {
    top: 48px;
  }
  header .nav_toggle_pc span:nth-child(3) {
    top: 62px;
  }
  header .nav_toggle_pc span.open:nth-child(1) {
    transform: rotate(-45deg);
    top: 48px;
  }
  header .nav_toggle_pc span.open:nth-child(2) {
    display: none;
  }
  header .nav_toggle_pc span.open:nth-child(3) {
    transform: rotate(45deg);
    top: 48px;
  }
  header .global_menu.open {
    top: 0;
  }
  header .global_menu {
    position: fixed;
    top: -500%;
    left: 0;
    width: 100%;
    transition: 0.3s;
    box-sizing: border-box;
    height: 100%;
    z-index: 9;
  }
  header .global_menu .inblock {
    overflow-y: scroll;
    overflow-x: hidden;
    height: calc(100% - 100px);
    box-sizing: border-box;
    position: relative;
    margin-top: 100px;
    background-color: #fff;
    padding-bottom: 40px;
  }
  header .global_menu .hd_nav01 {
    box-sizing: border-box;
    width: 92%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 20px;
    background-color: #004ea2;
    padding: 35px 4%;
  }
  header .global_menu .hd_nav01 > ul {
    margin-top: 15px;
    margin-bottom: 40px;
  }
  header .global_menu .hd_nav01 > ul > li > a {
    color: #fff;
    padding: 15px;
    letter-spacing: 0.05em;
    font-weight: 700;
    position: relative;
    display: block;
    border-bottom: 1px solid #dbdfe7;
  }
  header .global_menu .hd_nav01 > ul > li > a::after {
    content: "";
    width: 10px;
    height: 10px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    margin-top: -5px;
    right: 12px;
    transition: 0.3s;
  }
  header .global_menu .hd_nav01 > ul > li > a:hover {
    opacity: 0.7;
  }
  header .global_menu .hd_nav01 > ul > li > a:hover::after {
    right: 7px;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .acctit {
    color: #fff;
    padding: 10px 4%;
    letter-spacing: 0.05em;
    font-weight: 700;
    border-bottom: 1px solid #dbdfe7;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .common_inner {
    width: 100%;
    max-width: inherit;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_ttl {
    display: none;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_flex_ttl {
    position: relative;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_flex_ttl a {
    color: #fff;
    padding: 15px;
    letter-spacing: 0.05em;
    font-weight: 700;
    display: block;
    border-bottom: 1px solid #dbdfe7;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_flex_ttl a:hover {
    opacity: 0.7;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_flex_ttl .aco_btn {
    position: absolute;
    right: 0;
    top: 0;
    width: 30px;
    height: 53px;
    cursor: pointer;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_flex_ttl .aco_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 50%;
    width: 12px;
    height: 2px;
    background-color: #fff;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_flex_ttl .aco_btn::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 50%;
    width: 2px;
    height: 12px;
    background-color: #fff;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_flex_ttl .aco_btn.open::after {
    display: none;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_img {
    display: none;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_list_ct {
    display: none;
    background-color: #2f73bd;
    border-bottom: 1px solid #dbdfe7;
    padding: 10px calc(4% + 0.5em);
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_list_flex li {
    margin-bottom: 3px;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_list_flex li a {
    color: #fff;
    letter-spacing: 0.05em;
    font-weight: 500;
    font-size: 12px;
    position: relative;
    display: flex;
    align-items: center;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_list_flex li a::after {
    content: "";
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1px;
    transition: 0.3s;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_flex_subttl {
    color: #fff;
    position: relative;
    padding-left: 1em;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-bottom: 3px;
    margin-top: 5px;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_flex_subttl::before {
    border-top: 2px solid #fff;
    content: "";
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 0px;
    width: 0.85em;
    height: 3px;
    margin-top: 1px;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_list_in ul li {
    margin-bottom: 3px;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_list_in ul li a {
    color: #fff;
    letter-spacing: 0.05em;
    font-weight: 500;
    font-size: 12px;
    position: relative;
    display: flex;
    align-items: center;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_list_in ul li a::after {
    content: "";
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1px;
    transition: 0.3s;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_list_in ul li a:hover {
    opacity: 0.7;
  }
  header .global_menu .hd_nav01 > ul > li.menu_mega .menu_mega_list_in ul li a:hover::after {
    right: -4px;
  }
  header .hd_search {
    margin-bottom: 30px;
    display: flex;
    justify-content: center;
  }
  header .hd_search_icon {
    display: none;
  }
  header .hd_search_ct .common_inner {
    width: 100%;
  }
  header .hd_search_box {
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
  }
  header .hd_search_box form {
    display: flex;
    align-items: center;
    height: 40px;
  }
  header .hd_search_ttl {
    display: none;
  }
  header .hd_search_input {
    display: flex;
    align-items: center;
    background-color: #f5f7fb;
    padding: 0 15px;
    border: none;
    width: calc(100% - 75px);
    height: 40px;
    letter-spacing: 0.05em;
    font-weight: 500;
    outline: none;
    border-radius: 10px 0 0 10px;
  }
  header .hd_search_input:focus {
    outline: none;
  }
  header .hd_search_input::placeholder {
    color: #9da7bd;
    letter-spacing: 0.05em;
    font-weight: 500;
    font-size: 13px;
  }
  header .hd_search_btn {
    background: linear-gradient(to right, #004ea2, #14b6f2);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 75px;
    height: 40px;
    border-radius: 0 10px 10px 0;
  }
  header .hd_search_btn span {
    position: relative;
    padding-left: 18px;
    font-size: 13px;
    color: #fff;
    letter-spacing: 0.05em;
  }
  header .hd_search_btn span::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    left: 0px;
    width: 13px;
    height: 13px;
    background: url(../images/common/icon_search_wh.svg) no-repeat left top;
    background-size: contain;
  }
  header .hd_search_close {
    display: none;
  }
  header .hd_tel {
    background-color: #fff;
    padding: 5px;
    box-sizing: border-box;
    border-radius: 9999px;
    text-align: center;
    box-shadow: 0px 0px 13px -6px rgb(8, 24, 46);
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
  }
  header .hd_tel_ttl {
    display: block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.2;
    margin-bottom: 3px;
  }
  header .hd_tel_tel a {
    color: #004ea2;
    font-size: 28px;
    font-family: "Roboto", serif;
    font-weight: 700;
    line-height: 1;
    position: relative;
    padding-left: 23px;
    white-space: nowrap;
    display: inline-block;
  }
  header .hd_tel_tel a::before {
    position: absolute;
    top: 50%;
    left: 0;
    content: "";
    width: 18px;
    height: 22px;
    background: url(../images/common/icon_tel.svg) no-repeat left top;
    background-size: contain;
    transform: translate(0, -50%);
  }
  header .hd_tel_time {
    margin-top: -3px;
    display: block;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.2;
    color: #004ea2;
  }
  header .hd_btn01 {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 10;
  }
  header .hd_btn01 a {
    position: relative;
  }
  header .hd_btn01 a:hover {
    top: -5px;
  }
  header .hd_btn01.pc {
    display: none;
  }
}
/*----------------------------------------------------------------------------
******************************************************************************
** footer
******************************************************************************
----------------------------------------------------------------------------*/
.ft_contact {
  background: url(../images/common/ft_contact_bk.png) no-repeat center top;
  padding: 8rem 0 8rem 0;
  display: flex;
  justify-content: center;
}
.ft_contact_box {
  display: flex;
  justify-content: center;
}
.ft_contact_btn.btn01 {
  margin-right: 3.8rem;
  width: 42rem;
  height: 8rem;
  position: relative;
}
.ft_contact_btn.btn01:hover .btn_bf {
  top: -2rem;
}
.ft_contact_btn.btn01 a {
  background-color: #fff;
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 0px 30px -6px rgb(8, 24, 46);
  position: relative;
  overflow: hidden;
}
.ft_contact_btn.btn01 a .icon_txt {
  position: relative;
  z-index: 2;
  color: #004ea2;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-size: 2rem;
  padding-left: 38px;
}
.ft_contact_btn.btn01 a .icon_txt::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 28px;
  height: 19px;
  background: url(../images/common/icon_mail.svg);
  background-size: contain;
}
.ft_contact_btn.btn01 a:hover {
  box-shadow: none;
}
.ft_contact_btn.btn01 .btn_bf {
  background: linear-gradient(to right, #004ea2, #14b6f2);
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -1.5rem;
  width: 24rem;
  height: 3rem;
  color: #fff;
  z-index: 3;
  border-radius: 9999px;
  padding: 0 3rem;
  display: block;
  letter-spacing: 0.05em;
  font-weight: 700;
  border: 1px solid #fff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ft_contact_btn.btn01 .btn_bf::after {
  content: "";
  position: absolute;
  bottom: -7px;
  transform: translate(-50%, 0);
  left: 50%;
  width: 14px;
  height: 8px;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.ft_contact_btn.btn02 {
  width: 42rem;
  height: 8rem;
  position: relative;
}
.ft_contact_btn.btn02:hover .btn_bf {
  top: -2rem;
}
.ft_contact_btn.btn02 a {
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  background: linear-gradient(to right, #e67f46, #e64661);
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 0px 30px -6px rgb(8, 24, 46);
  position: relative;
  overflow: hidden;
}
.ft_contact_btn.btn02 a::before {
  background: linear-gradient(to right, #e64661, #e67f46);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: all 1s ease-out;
  width: 100%;
}
.ft_contact_btn.btn02 a:hover {
  box-shadow: none;
}
.ft_contact_btn.btn02 a:hover::before {
  opacity: 0;
}
.ft_contact_btn.btn02 a .icon_txt {
  position: relative;
  z-index: 2;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-size: 2rem;
  padding-left: 30px;
}
.ft_contact_btn.btn02 a .icon_txt::before {
  background: url(../images/common/icon_download.svg) no-repeat left top;
  background-size: contain;
  width: 20px;
  height: 27px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  content: "";
}
.ft_contact_btn.btn02 .btn_bf {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -1.5rem;
  width: 24rem;
  height: 3rem;
  background-color: #fff;
  color: #e64860;
  z-index: 3;
  border-radius: 9999px;
  padding: 0 3rem;
  display: block;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ft_contact_btn.btn02 .btn_bf::after {
  content: "";
  position: absolute;
  bottom: -7px;
  transform: translate(-50%, 0);
  left: 50%;
  width: 14px;
  height: 8px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}

.pagetop {
  position: fixed;
  right: 4rem;
  bottom: 3rem;
  z-index: 9;
  opacity: 0;
}
.pagetop a {
  width: 60px;
  height: 60px;
  display: block;
  transition: 0.3s;
}
.pagetop a:hover {
  transition: 0.3s;
  opacity: 0.7;
}
.pagetop.show_top {
  opacity: 1;
}

footer {
  display: flex;
  justify-content: center;
  padding: 7rem 0 4rem 0;
  background-color: #fff;
  position: relative;
}
footer .common_inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
footer .ft_left {
  width: 32rem;
}
footer .ft_left .ft_logo {
  margin-bottom: 2rem;
  width: 100%;
}
footer .ft_left .ft_logo img {
  width: 100%;
}
footer .ft_left .ft_logo a:hover {
  opacity: 0.7;
  transition: 0.4s;
}
footer .ft_left .ft_add {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 2.5rem;
  line-height: 1.8;
  white-space: nowrap;
}
footer .ft_left .ft_add a {
  font-weight: 500;
  color: #354362;
}
footer .ft_left .ft_sns {
  margin-bottom: 3rem;
}
footer .ft_left .ft_sns ul {
  display: flex;
  align-items: center;
}
footer .ft_left .ft_sns ul li {
  margin-right: 2.5rem;
}
footer .ft_left .ft_sns ul li:nth-child(1) {
  width: 40px;
}
footer .ft_left .ft_sns ul li:nth-child(2) {
  width: 31px;
}
footer .ft_left .ft_sns ul li:nth-child(3) {
  width: 36px;
}
footer .ft_left .ft_mail {
  width: 24rem;
}
footer .ft_left .ft_mail .btn_bf {
  color: #004ea2;
  font-size: 1.4rem;
  display: table;
  font-weight: 700;
  padding: 0 18px;
  margin: 0 auto 7px auto;
  position: relative;
  text-align: center;
}
footer .ft_left .ft_mail .btn_bf::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 16px;
  height: 1px;
  transform: rotate(50deg);
  background: #004ea2;
}
footer .ft_left .ft_mail .btn_bf::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 16px;
  height: 1px;
  transform: rotate(-50deg);
  background: #004ea2;
}
footer .ft_left .ft_mail a {
  width: 24rem;
  height: 5.6rem;
  border-radius: 9999px;
  background: linear-gradient(to right, #14b6f2, #004ea2);
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.15);
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.5);
  position: relative;
  overflow: hidden;
}
footer .ft_left .ft_mail a::before {
  background: linear-gradient(to right, #004ea2, #14b6f2);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: all 1s ease-out;
  width: 100%;
}
footer .ft_left .ft_mail a:hover {
  box-shadow: none;
}
footer .ft_left .ft_mail a:hover::before {
  opacity: 0;
}
footer .ft_left .ft_mail a .icon_txt {
  position: relative;
  z-index: 2;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-left: 30px;
  font-size: 1.6rem;
}
footer .ft_left .ft_mail a .icon_txt::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 24px;
  height: 24px;
  background: url(../images/common/icon_mailmag_wh.svg) no-repeat left top;
  background-size: contain;
}
footer .ft_right {
  width: calc(100% - 37rem);
}
footer .ft_menu {
  display: flex;
  flex-wrap: wrap;
}
footer .ft_menu_inttl {
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 1em;
  margin-top: 1rem;
}
footer .ft_menu_inttl.ttl01 {
  margin-top: 2.5rem;
  margin-left: 1em;
}
footer .ft_menu_inttl.ttl02 {
  margin-left: 1em;
}
footer .ft_menu_inttl::before {
  border-top: 2px solid #354362;
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 0.85em;
  height: 3px;
  margin-top: 1px;
}
footer .ft_menu > ul:not(:last-child) {
  margin-right: 2rem;
}
footer .ft_menu > ul > li {
  margin-bottom: 2.5rem;
}
footer .ft_menu > ul > li > a {
  color: #354362;
  font-weight: 700;
  /*letter-spacing: 0.05em;*/
  font-size: 1.6rem;
}
footer .ft_menu > ul > li > a:hover {
  opacity: 0.7;
}
footer .ft_menu > ul > li ul {
  margin: 2.5rem 0 0 1em;
}
footer .ft_menu > ul > li ul.type01 {
  margin: 1rem 0 0 1em;
}
footer .ft_menu > ul > li ul > li {
  margin-bottom: 1rem;
}
footer .ft_menu > ul > li ul > li > a {
  font-weight: 400;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
footer .ft_menu > ul > li ul > li > a:hover {
  opacity: 0.7;
}
footer .ft_menu > ul > li ul > li > ul {
  margin: 1rem 0 0 1em;
}
footer .ft_menu > ul > li ul > li > ul > li {
  margin-bottom: 1rem;
}
footer .ft_menu > ul > li ul > li > ul > li > a {
  font-weight: 400;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
footer .ft_menu > ul > li ul > li > ul > li > a:hover {
  opacity: 0.7;
}

address {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  font-style: normal;
  font-family: "Montserrat", sans-serif;
  padding: 2rem 0;
  text-align: center;
  color: #fff;
  background-color: #004ea2;
}

.sp_tel_bnr_bg {
  display: none;
}

/*----------------------------------------------------------------------------
******************************************************************************
** colorbox
******************************************************************************
----------------------------------------------------------------------------*/
#cboxOverlay {
  background: #000;
}

#cboxLoadedContent {
  background: #fff;
}

#cboxContent {
  background: none;
  margin-top: 0;
}

#cboxLoadedContent {
  padding: 0;
  overflow: auto;
  -moz-box-shadow: 0px 1px 10px #000000;
  -webkit-box-shadow: 0px 1px 10px #000000;
  box-shadow: 0px 1px 10px #000000;
}

#cboxClose {
  background-position: 0;
  right: -28px;
}

#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  text-indent: -9999px;
  width: 18px;
  height: 18px;
  position: absolute;
  top: -20px;
  background: url(../images/common/icon_closebtn.svg) no-repeat 0 0;
  background-size: contain;
  filter: brightness(0) invert(1);
}
#cboxPrevious:hover,
#cboxNext:hover,
#cboxSlideshow:hover,
#cboxClose:hover {
  background-position: 0;
}

/*#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose,
#cboxTitle {
	top: -30px;
}*/
#colorbox,
#cboxOverlay,
#cboxWrapper {
  overflow: visible;
}

#cboxTitle {
  color: #fff;
}

#inline-content {
  /* インラインを使用する時のみ */
  margin: 20px;
}

#ajax-wrap {
  /* ajaxを使用する時のみ */
  margin: 20px;
}

/*----------------------------------------------------------------------------
******************************************************************************
** top
******************************************************************************
----------------------------------------------------------------------------*/
.top_bk01 {
  background: url(../images/top/top_bk01.png) no-repeat center bottom;
  background-size: cover;
}

.top_main_bg {
  width: 100%;
  height: calc(100vh - 10rem);
  display: flex;
  justify-content: center;
  /*min-height: 570px;*/
}
.top_main_bg .common_w_inner {
  background: url(../images/top/top_mainimg.jpg) no-repeat center center;
  background-size: cover;
  border-radius: 20px;
  overflow: hidden;
}
.top_main_inner {
  position: absolute;
  left: 9rem;
  top: 50%;
  transform: translate(0, -50%);
  width: calc(100% - 18rem);
}
.top_main_catch {
  margin-bottom: 3.5rem;
}
.top_main_catch_in {
  background-color: #fff;
  padding: 5px 10px;
  font-size: 5.2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #004ea2;
  display: inline-block;
  line-height: 1.2;
  margin-bottom: 20px;
}
.top_main_catch_in.pc.bottom_none {
  margin-bottom: 0;
}
.top_main_catch_in.sp {
  display: none;
}
.top_main_txt {
  color: #fff;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 2.3;
  margin-bottom: 7rem;
  text-shadow: -2px -3px 10px rgb(37, 65, 88), 2px 3px 10px rgb(37, 65, 88);
}
.top_main_btn {
  display: flex;
}
.top_main_btn_01 {
  width: 36rem;
  height: 8rem;
  margin-right: 2rem;
}
.top_main_btn_01 a {
  border: 1px solid #fff;
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  background: linear-gradient(to right, #14b6f2, #004ea2);
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.15);
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
  position: relative;
  overflow: hidden;
}
.top_main_btn_01 a::before {
  background: linear-gradient(to right, #004ea2, #14b6f2);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: all 1s ease-out;
  width: 100%;
}
.top_main_btn_01 a:hover::before {
  opacity: 0;
}
.top_main_btn_01 a .icon_txt {
  position: relative;
  z-index: 2;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-size: 2rem;
  padding-left: 38px;
}
.top_main_btn_01 a .icon_txt::before {
  background: url(../images/common/icon_mail_wh.svg) no-repeat left top;
  background-size: contain;
  width: 28px;
  height: 19px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  content: "";
}
.top_main_btn_02 {
  width: 36rem;
  height: 8rem;
  position: relative;
}
.top_main_btn_02:hover .btn_bf {
  top: -2rem;
}
.top_main_btn_02 a {
  border: 1px solid #fff;
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  background: linear-gradient(to right, #e67f46, #e64661);
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.15);
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
  position: relative;
  overflow: hidden;
}
.top_main_btn_02 a::before {
  background: linear-gradient(to right, #e64661, #e67f46);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: all 1s ease-out;
  width: 100%;
}
.top_main_btn_02 a:hover::before {
  opacity: 0;
}
.top_main_btn_02 a .icon_txt {
  position: relative;
  z-index: 2;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-size: 2rem;
  padding-left: 30px;
}
.top_main_btn_02 a .icon_txt::before {
  background: url(../images/common/icon_download.svg) no-repeat left top;
  background-size: contain;
  width: 20px;
  height: 27px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  content: "";
}
.top_main_btn_02 .btn_bf {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -1.5rem;
  width: 24rem;
  height: 3rem;
  background-color: #fff;
  color: #e64860;
  z-index: 3;
  border-radius: 9999px;
  padding: 0 3rem;
  display: block;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top_main_btn_02 .btn_bf::after {
  content: "";
  position: absolute;
  bottom: -7px;
  transform: translate(-50%, 0);
  left: 50%;
  width: 14px;
  height: 8px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}

.top_about_bg {
  padding: 8rem 0;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1294px) {
  .top_about_bg {
    padding: 8rem 0 5rem 0;
  }
}
.top_about_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.top_about_box_in {
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: calc((100% - 8rem) / 3);
  padding: 4.5rem 3rem;
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
  text-align: center;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1088px) {
  .top_about_box_in {
    width: 100%;
    margin-bottom: 3rem;
  }
}
.top_about_box_in::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 0.5s ease-out;
}
.top_about_box_in:hover::before {
  opacity: 1;
  transform: scale(1.1, 1.1);
}
.top_about_box_in:hover .top_about_box_ttl,
.top_about_box_in:hover .top_about_box_txt {
  color: #fff;
}
.top_about_box_in.about01::before {
  background: url(../images/top/top_about_img01.jpg) no-repeat center center;
  background-size: cover;
}
.top_about_box_in.about02::before {
  background: url(../images/top/top_about_img02.jpg) no-repeat center center;
  background-size: cover;
}
.top_about_box_in.about03::before {
  background: url(../images/top/top_about_img03.jpg) no-repeat center center;
  background-size: cover;
}
.top_about_box_in .common_btn01 {
  margin-left: auto;
  margin-right: auto;
  margin-top: 3rem;
}
.top_about_box_in ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 1rem;
}
.top_about_box_in ul li {
  width: calc((100% - 2rem) / 3);
  height: 13rem;
}
.top_about_box_in ul li a {
  width: 100%;
  height: 100%;
  border-radius: 20px;
  background: linear-gradient(to right, #14b6f2, #004ea2);
  display: flex;
  justify-content: center;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.15);
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.5);
  position: relative;
  overflow: hidden;
}
.top_about_box_in ul li a::before {
  background: linear-gradient(to right, #004ea2, #14b6f2);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  transition: all 1s ease-out;
  width: 100%;
}
.top_about_box_in ul li a:hover::before {
  opacity: 0;
}
.top_about_box_in ul li a:hover .link_line::after {
  width: 0;
  transition: 0.3s;
}
.top_about_box_in ul li a .icon_txt {
  position: relative;
  z-index: 2;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
  padding-top: 5rem;
  margin-top: 1.5rem;
}
.top_about_box_in ul li a .icon_txt::before {
  content: "";
  position: absolute;
  top: 0;
  transform: translate(-50%, 0);
  left: 50%;
}
.top_about_box_in ul li a .link_line {
  width: 23px;
  height: 7px;
  position: absolute;
  right: 1.5rem;
  bottom: 1.5rem;
}
.top_about_box_in ul li a .link_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 7px;
  height: 7px;
  background: #fff;
  border-radius: 50%;
}
.top_about_box_in ul li a .link_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 7px;
  width: 16px;
  height: 1px;
  background: #fff;
  transition: 0.3s;
}
.top_about_box_in ul li:nth-child(1) .icon_txt::before {
  background: url(../images/top/top_about_icon01.svg) no-repeat left top;
  background-size: contain;
  width: 36px;
  height: 36px;
}
.top_about_box_in ul li:nth-child(2) .icon_txt::before {
  background: url(../images/top/top_about_icon02.svg) no-repeat left top;
  background-size: contain;
  width: 30px;
  height: 38px;
}
.top_about_box_in ul li:nth-child(3) .icon_txt::before {
  background: url(../images/top/top_about_icon03.svg) no-repeat left top;
  background-size: contain;
  width: 35px;
  height: 38px;
}
.top_about_box_ttl {
  font-size: 3.2rem;
  margin-bottom: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
  position: relative;
  z-index: 2;
}
.top_about_box_txt {
  letter-spacing: 0.05em;
  font-weight: 500;
  position: relative;
  z-index: 2;
}

.top_service_bg {
  display: flex;
  justify-content: center;
}
.top_service_bg .common_w_inner {
  padding: 12rem 0 11.5rem 0;
  margin-left: auto;
  margin-right: auto;
  background-color: #074e9b;
  border-radius: 20px;
}
@media screen and (max-width: 1088px) {
  .top_service_bg .common_w_inner {
    padding: 12rem 0 8.5rem 0;
  }
}
.top_service_bg .common_m_inner {
  margin-left: auto;
  margin-right: auto;
}
.top_service_bg .common_txt01 {
  color: #fff;
  text-align: center;
}
.top_service_ttl {
  margin-bottom: 2.5rem;
  display: table;
  margin-left: auto;
  margin-right: auto;
  max-width: 80%;
}
.top_service_catch {
  margin-bottom: 3rem;
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
  text-align: center;
}
.top_service_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 4rem;
}
.top_service_box_in {
  width: calc((100% - 8rem) / 3);
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1088px) {
  .top_service_box_in {
    width: 100%;
    margin-bottom: 3rem;
  }
}
.top_service_box_in_bf {
  background-color: #d2dfee;
  border-radius: 20px 20px 0 0;
  position: relative;
  padding: 4rem 5rem 3rem 5rem;
}
@media screen and (max-width: 1260px) {
  .top_service_box_in_bf {
    padding: 3rem 3rem 2rem 3rem;
  }
}
.top_service_box_in_bf::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -17px;
  width: 36px;
  height: 18px;
  background: #d2dfee;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.top_service_box_in_bf ul li {
  margin-bottom: 1rem;
  position: relative;
  padding-left: 90px;
}
.top_service_box_in_bf ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 70px;
  height: 70px;
}
.top_service_box_in_bf ul li.icon01::before {
  background: url(../images/top/top_service_icon01.png) no-repeat left top;
  background-size: contain;
}
.top_service_box_in_bf ul li.icon02::before {
  background: url(../images/top/top_service_icon02.png) no-repeat left top;
  background-size: contain;
}
.top_service_box_in_bf ul li.icon03::before {
  background: url(../images/top/top_service_icon03.png) no-repeat left top;
  background-size: contain;
}
.top_service_box_in_bf ul li.icon04::before {
  background: url(../images/top/top_service_icon04.png) no-repeat left top;
  background-size: contain;
}
.top_service_box_in_bf ul li.icon05::before {
  background: url(../images/top/top_service_icon05.png) no-repeat left top;
  background-size: contain;
}
.top_service_box_in_bf ul li.icon06::before {
  background: url(../images/top/top_service_icon06.png) no-repeat left top;
  background-size: contain;
}
.top_service_box_in_bf ul li.icon07::before {
  background: url(../images/top/top_service_icon07.png) no-repeat left top;
  background-size: contain;
}
.top_service_box_in_bf ul li.icon08::before {
  background: url(../images/top/top_service_icon08.png) no-repeat left top;
  background-size: contain;
}
.top_service_box_in_bf ul li.icon09::before {
  background: url(../images/top/top_service_icon09.png) no-repeat left top;
  background-size: contain;
}
.top_service_box_in_bf ul li .fuki {
  background-color: #fff;
  padding: 1rem 1.5rem 1rem 2rem;
  border-radius: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  min-height: 70px;
}
.top_service_box_in_bf 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%);
}
.top_service_box_in_bf ul li .fuki .cl_txt {
  color: #004ea2;
}
.top_service_box_in_ct {
  background-color: #fff;
  border-radius: 0 0 20px 20px;
  padding: 3.5rem 5rem 3rem 5rem;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1260px) {
  .top_service_box_in_ct {
    padding: 3.5rem 3rem 2rem 3rem;
  }
}
.top_service_box_in_ct .common_btn01 {
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.5rem;
}
.top_service_box_in_ct ul {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.top_service_box_in_ct ul li {
  position: relative;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-bottom: 1rem;
  padding-left: 41px;
}
.top_service_box_in_ct ul li::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0px;
  width: 31px;
  height: 31px;
  background: url(../images/common/icon_list01.svg) no-repeat left top;
  background-size: contain;
}
.top_service_box_in_ct ul li .cl_txt {
  color: #ed5e13;
}
.top_service_box_in_ttl {
  text-align: center;
  margin-bottom: 2rem;
  font-weight: 700;
  font-size: 2.6rem;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.top_service_box_in_img {
  margin-bottom: 2rem;
  text-align: center;
}
.top_service_box_in_disc {
  flex-grow: 1;
}

.top_transaction_bg {
  padding: 10rem 0;
  display: flex;
  justify-content: center;
}
.top_transaction_bg .common_txt01 {
  text-align: center;
  line-height: 2.5;
  margin-bottom: 6rem;
}
.top_transaction_ttl {
  font-size: 3.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 2rem;
  line-height: 1.2;
}
.top_transaction_box {
  background-color: #fff;
  border-radius: 20px;
  padding: 7rem 10rem 4.5rem 10rem;
}
.top_transaction_box_list {
  margin-top: 4rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  /*display: grid;
  grid-template-columns: 63.33% 34.16%;
  grid-template-rows: 56% 36%;
  gap: 2.51%;*/
}
.top_transaction_box_list_01, .top_transaction_box_list_02, .top_transaction_box_list_03 {
  padding: 6rem 4rem 4rem 4rem;
  border-radius: 20px;
  border: 1px solid #004ea2;
  background-color: #f9f9f9;
  position: relative;
}
.top_transaction_box_list_list {
  display: flex;
  justify-content: space-between;
}
.top_transaction_box_list_list ul li {
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
}
.top_transaction_box_list_01 {
  /*grid-row: 1 / 3;
  grid-column: 1 / 2;*/
  width: 63.33%;
  width: 66%;
  width: 60%;
  /*.top_transaction_box_list_list {
  	ul {
  		display: flex;
  		flex-wrap: wrap;

  		li {
  			flex: 1 1 calc(50% - 0.5em);
  			box-sizing: border-box;
  		}
  	}
  }*/
}
@media screen and (max-width: 1088px) {
  .top_transaction_box_list_01 {
    width: 100%;
  }
}
.top_transaction_box_list_01 .top_transaction_box_list_ttl {
  width: 47.37%;
}
.top_transaction_box_list_cover {
  width: 33.34%;
  width: 31%;
  width: 36%;
}
@media screen and (max-width: 1088px) {
  .top_transaction_box_list_cover {
    width: 100%;
    margin-top: 5rem;
  }
}
.top_transaction_box_list_02 {
  /*grid-row: 1 / 2;
  grid-column: 2 / 3;*/
  margin-bottom: 5rem;
}
.top_transaction_box_list_02 .top_transaction_box_list_ttl {
  width: 63.42%;
}
.top_transaction_box_list_03 {
  /*grid-row: 2 / 3;
  grid-column: 2 / 3;*/
  position: relative;
}
.top_transaction_box_list_03 .top_transaction_box_list_ttl {
  width: 63.42%;
}
.top_transaction_box_list_ttl {
  background-color: #004ea2;
  color: #fff;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 9999px;
  height: 4rem;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -2rem;
}
.top_transaction_box_list_cautxt {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: right;
  width: 100%;
  display: block;
  margin-top: 1.3rem;
}

.top_company_bg {
  padding: 14rem 0;
}
.top_company_bg .common_top_h2_ttl {
  margin-bottom: 3.5rem;
}
.top_company_bg .common_top_h2_ttl .common_en01 {
  white-space: nowrap;
}
@media screen and (max-width: 1260px) {
  .top_company_bg .common_top_h2_ttl .common_en01 {
    font-size: 7.4rem;
  }
}
.top_company_bg .common_inner {
  margin-left: auto;
  margin-right: auto;
}
.top_company_inner {
  width: 95.3125%;
  max-width: calc(100% - (100% - 1200px) / 2);
}
.top_company_box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 8rem;
}
.top_company_box_img {
  width: 57.69%;
}
@media screen and (max-width: 1260px) {
  .top_company_box_img {
    width: 52%;
  }
}
@media screen and (max-width: 1088px) {
  .top_company_box_img {
    width: 100%;
  }
}
.top_company_box_disc {
  width: 42.31%;
  padding-left: 10rem;
  box-sizing: border-box;
}
@media screen and (max-width: 1260px) {
  .top_company_box_disc {
    width: 48%;
    padding-left: 8rem;
  }
}
@media screen and (max-width: 1088px) {
  .top_company_box_disc {
    width: 100%;
    margin-top: 8rem;
    padding-left: 4.6875%;
  }
}
.top_company_box_tbl {
  margin-top: 5rem;
}
.top_company_box_tbl table {
  width: 100%;
}
.top_company_box_tbl table th {
  border-bottom: 1px solid #004ea2;
  width: 5em;
  padding: 2rem 0;
  letter-spacing: 0.05em;
  color: #004ea2;
}
.top_company_box_tbl table td {
  border-bottom: 1px solid #dbdfe7;
  padding: 2rem 0 2rem 3rem;
  width: calc(100% - 5em);
  letter-spacing: 0.05em;
  font-weight: 500;
}
.top_company_box_tbl table td a {
  font-weight: 500;
  color: #354362;
}
.top_company_list ul {
  display: flex;
  justify-content: space-between;
}
.top_company_list ul li {
  width: calc((100% - 10rem) / 5);
}

.top_trend_bg {
  display: flex;
  justify-content: center;
  padding: 10rem 0 12.5rem 0;
  background-color: #f9f9f9;
}
.top_trend_bg .common_top_h2_ttl {
  text-align: center;
  margin-bottom: 7rem;
}
.top_trend_bg .common_btn01 {
  margin-top: 2.5rem;
}
.top_trend_list {
  display: flex;
  flex-wrap: wrap;
}
.top_trend_list_in {
  width: calc((100% - 8rem) / 3);
  margin-bottom: 5rem;
  margin-right: 4rem;
}
.top_trend_list_in:nth-child(3n+0) {
  margin-right: 0;
}
@media screen and (max-width: 1088px) {
  .top_trend_list_in {
    width: calc((100% - 4rem) / 2);
  }
  .top_trend_list_in:nth-child(3n+0) {
    margin-right: 4rem;
  }
  .top_trend_list_in:nth-child(2n+0) {
    margin-right: 0;
  }
}
.top_trend_list_img {
  border-radius: 20px;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.5);
  margin-bottom: 3rem;
}
.top_trend_list_img a {
  position: relative;
  overflow: hidden;
  display: block;
  border-radius: 20px;
}
.top_trend_list_img a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(0, 78, 162, 0.3), rgba(20, 182, 242, 0.3));
  opacity: 0;
  transition: all 0.5s ease-out;
  z-index: 2;
}
.top_trend_list_img a img {
  border-radius: 20px;
  overflow: hidden;
  width: 100%;
  transition: all 0.5s ease-out;
}
.top_trend_list_img a:hover::before {
  opacity: 1;
}
.top_trend_list_img a:hover img {
  transform: scale(1.1, 1.1);
}
.top_trend_list_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
.top_trend_list_date {
  color: #004ea2;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-family: "Roboto", serif;
  font-size: 1.8rem;
}
.top_trend_list_cate {
  background-color: #004ea2;
  color: #fff;
  font-size: 1.4rem;
  border-radius: 9999px;
  padding: 2px 20px;
  letter-spacing: 0.05em;
}
.top_trend_list_ttl {
  letter-spacing: 0.05em;
  font-size: 1.8rem;
  font-weight: 700;
}
.top_trend_list_ttl a {
  color: #354362;
  text-decoration: none;
}

.parallax {
  display: flex;
  width: 100%;
  height: 440px;
  justify-content: center;
  align-items: center;
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.parallax.pala_img01 {
  background-image: url(../images/top/top_parallax_img01.jpg);
}

.top_news_bg {
  display: flex;
  justify-content: center;
  padding: 10rem 0 11rem 0;
  background-color: #fff;
}
.top_news_ttl {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 7rem;
}
.top_news_btn a {
  letter-spacing: 0.05em;
  font-size: 1.4rem;
  font-weight: 500;
  color: #004ea2;
  text-decoration: none;
  position: relative;
  padding: 0 12px 2px 0;
  display: block;
}
.top_news_btn a::before {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 1px;
  background: #004ea2;
  transform: scale(1);
  transform-origin: right;
  transition: transform 0.3s;
}
.top_news_btn a::after {
  content: "";
  width: 7px;
  height: 7px;
  border: 0;
  border-top: solid 1px #004ea2;
  border-right: solid 1px #004ea2;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -3.5px;
  right: 2px;
  transition: 0.3s;
}
.top_news_btn a:hover::before {
  transform: scale(0, 1);
}
.top_news_btn a:hover::after {
  right: -3px;
  transition: 0.3s;
}
.top_news_list ul {
  border-top: 1px solid #dbdfe7;
}
.top_news_list ul li a {
  padding: 4.5rem 4rem;
  border-bottom: 1px solid #dbdfe7;
  display: flex;
  text-decoration: none;
  position: relative;
}
.top_news_list ul li a::after {
  content: "";
  width: 14px;
  height: 14px;
  border: 0;
  border-top: solid 2px #004ea2;
  border-right: solid 2px #004ea2;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -7px;
  right: 4rem;
  transition: 0.3s;
}
.top_news_list ul li a:hover .top_news_list_ttl {
  color: #004ea2;
}
.top_news_list ul li a:hover::after {
  right: 3rem;
  transition: 0.3s;
}
.top_news_list_date {
  font-family: "Roboto", serif;
  color: #004ea2;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-right: 4rem;
}
.top_news_list_cate {
  background-color: #004ea2;
  color: #fff;
  min-width: 12rem;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2.6rem;
  padding: 0.2rem 1rem;
  line-height: 1.2;
  margin-right: 3.5rem;
  border-radius: 9999px;
}
.top_news_list_ttl {
  color: #354362;
  letter-spacing: 0.05em;
}

.top_bnr_bg {
  display: flex;
  justify-content: center;
  padding: 5.5rem 0;
  background-color: #f5f7fb;
}
.top_bnr_box ul {
  display: flex;
  justify-content: space-between;
}
.top_bnr_box ul li {
  width: calc((100% - 10rem) / 6);
}
.top_bnr_box ul li a:hover {
  opacity: 0.7;
}
.top_bnr_box ul li img {
  width: 100%;
}

/*----------------------------------------------------------------------------
******************************************************************************
** sub
******************************************************************************
----------------------------------------------------------------------------*/
main {
  margin-top: 10rem;
}
@media screen and (max-width: 1440px) {
  main {
    margin-top: 100px;
  }
}

.common_sub_main {
  display: flex;
  justify-content: center;
  height: 36rem;
  width: 100%;
}
.common_sub_main .common_w_inner {
  height: 36rem;
  border-radius: 20px;
  overflow: hidden;
  background: url(../images/news/news_mainimg.jpg) no-repeat center center;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
}
.common_sub_main_box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.common_sub_main .h1_ttl {
  color: #fff;
  letter-spacing: 0.05em;
  font-weight: 700;
  position: relative;
  padding-left: 35px;
}
.common_sub_main .h1_ttl .ttl_line {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  width: 26px;
  height: 10px;
  margin-right: 6px;
  display: inline-block;
}
.common_sub_main .h1_ttl .ttl_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 10px;
  height: 10px;
  background-color: #fff;
  border-radius: 9999px;
}
.common_sub_main .h1_ttl .ttl_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 10px;
  width: 16px;
  height: 1px;
  background-color: #fff;
}
.common_sub_main .common_en01 {
  font-size: 8rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #fff;
  line-height: 1.2;
  white-space: nowrap;
  display: block;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
}

.news .common_w_inner {
  background: url(../images/news/news_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.access .common_w_inner {
  background: url(../images/access/access_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.company .common_w_inner {
  background: url(../images/company/company_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.profile .common_w_inner {
  background: url(../images/profile/profile_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.philosophy .common_w_inner {
  background: url(../images/philosophy/philosophy_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.history .common_w_inner {
  background: url(../images/history/history_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.odt .common_w_inner {
  background: url(../images/odt/odt_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.contact .common_w_inner {
  background: url(../images/contact/contact_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.technical .common_w_inner {
  background: url(../images/technical/technical_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.trend .common_w_inner {
  background: url(../images/trend/trend_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.privacy_policy .common_w_inner {
  background: url(../images/privacy_policy/privacy_policy_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.search .common_w_inner {
  background: url(../images/search/search_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.mass_production .common_w_inner {
  background: url(../images/mass_production/mass_production_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.power_device .common_w_inner {
  background: url(../images/power_device/power_device_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.su1su2 .common_w_inner {
  background: url(../images/su1su2/su1su2_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.flap .common_w_inner {
  background: url(../images/flap/flap_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.flap_ss .common_w_inner {
  background: url(../images/flap_ss/flap_ss_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.flap_holder .common_w_inner {
  background: url(../images/flap_holder/flap_holder_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.power_discrete .common_w_inner {
  background: url(../images/power_discrete/power_discrete_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.power_cycle .common_w_inner {
  background: url(../images/power_cycle/power_cycle_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.imc .common_w_inner {
  background: url(../images/imc/imc_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.design_prototype .common_w_inner {
  background: url(../images/design_prototype/design_prototype_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

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

.prototype .common_w_inner {
  background: url(../images/prototype/prototype_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.document .common_w_inner {
  background: url(../images/document/document_mainimg.jpg) no-repeat center center;
  background-size: cover;
}

.sub_container_bg {
  display: flex;
  justify-content: center;
}

.breadcrumb {
  padding: 1.5rem 0;
  display: flex;
  justify-content: center;
}

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

.breadcrumb_list span {
  position: relative;
  letter-spacing: 0.05em;
  line-height: 1.4;
  font-size: 1.6rem;
  font-weight: 500;
}

.breadcrumb_list a {
  margin-right: 15px;
  letter-spacing: 0.05em;
  line-height: 1.4;
  font-size: 1.6rem;
  color: #004ea2;
  position: relative;
  padding-right: 18px;
  display: block;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 6px;
}

.breadcrumb_list a::after {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -3.5px;
  content: "";
  width: 7px;
  height: 7px;
  border-top: 1.5px solid #004ea2;
  border-right: 1.5px solid #004ea2;
  transform: rotate(45deg);
}

.breadcrumb_list a:hover {
  text-decoration: none;
}

.wp-pagenavi {
  clear: both;
  text-align: center;
  margin-top: 7rem;
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.wp-pagenavi a,
.wp-pagenavi span {
  width: 36px;
  height: 36px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Roboto", serif;
  color: #004ea2;
  font-weight: 500;
  font-size: 1.6rem;
  border: none !important;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
  border: 1px solid #004ea2 !important;
  color: #004ea2 !important;
}

.wp-pagenavi span.pages {
  border-radius: 0;
  border: none !important;
  background-color: inherit !important;
  color: #354362 !important;
}

.wp-pagenavi .nextpostslink {
  background-color: #004ea2;
  position: relative;
  margin-left: 1rem;
}
.wp-pagenavi .nextpostslink::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  margin-left: -6px;
}

.wp-pagenavi .previouspostslink {
  position: relative;
  background-color: #004ea2;
  margin-right: 1rem;
}
.wp-pagenavi .previouspostslink::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  margin-left: -3px;
}

.common_sub_h2_ttl {
  padding-left: 48px;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  line-height: 1.4;
  margin-bottom: 3rem;
}
.common_sub_h2_ttl::before {
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 28px;
  height: 3px;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  content: "";
}

.common_sub_h2_ttl02 {
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-bottom: 3rem;
  text-align: center;
}

.common_sub_h2_ttl02_sml {
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-bottom: 1rem;
  text-align: center;
}
.common_sub_h2_ttl02_sml_hosoku {
  font-size: 2rem;
  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: 3px;
  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: 3px;
  background: #004ea2;
  margin-top: 1px;
  line-height: 1.4;
}

.common_sub_h2_ttl03 {
  text-align: center;
  padding-bottom: 2rem;
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  line-height: 1.4;
  margin-bottom: 5rem;
}
.common_sub_h2_ttl03::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 60px;
  height: 3px;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  content: "";
}

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

.common_sub_lead .common_txt01 {
  line-height: 2;
}
.common_sub_lead .common_txt01:not(:last-child) {
  margin-bottom: 4rem;
}

.common_sub_lead_center {
  text-align: center;
  margin-bottom: 5rem;
}
.common_sub_lead_center .common_txt01 {
  line-height: 2;
}
.common_sub_lead_center .common_txt01:not(:last-child) {
  margin-bottom: 4rem;
}

.common_sub_h2_ttl02_sml + .common_sub_lead_center,
.common_sub_h2_ttl02_sml + .common_sub_lead {
  margin-top: 2.5rem;
}

.common_sub_tbl01 table {
  width: 100%;
}
.common_sub_tbl01 table th {
  padding: 2.5rem 4.5rem;
  border-bottom: 1px solid #004ea2;
  width: 25rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #004ea2;
  box-sizing: border-box;
  vertical-align: top;
}
.common_sub_tbl01 table td {
  padding: 2.5rem 4.5rem;
  width: calc(100% - 25rem);
  border-bottom: 1px solid #dbdfe7;
  letter-spacing: 0.05em;
  font-weight: 500;
  box-sizing: border-box;
}
.common_sub_tbl01 table td a {
  border-bottom: 1px solid #004ea2;
  color: #004ea2;
  position: relative;
  padding-right: 10px;
}
.common_sub_tbl01 table td a::after {
  content: "";
  width: 7px;
  height: 7px;
  border: 0;
  border-top: solid 1.5px #004ea2;
  border-right: solid 1.5px #004ea2;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -3.5px;
  right: 0;
  transition: 0.3s;
}
.common_sub_tbl01 table td a:hover::after {
  right: -5px;
}

.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: 1rem;
}
.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 + 1em);
  letter-spacing: 0.05em;
}
.common_sub_list02 li:not(:last-child) {
  margin-bottom: 1rem;
}
.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_sub_link_list01 ul {
  display: flex;
  flex-wrap: wrap;
}
.common_sub_link_list01 ul li {
  width: calc((100% - 8.1rem) / 4);
  height: 24rem;
}
@media screen and (max-width: 980px) {
  .common_sub_link_list01 ul li {
    width: calc((100% - 3rem) / 2);
  }
}
.common_sub_link_list01 ul li:not(:last-child) {
  margin-right: 2.7rem;
}
@media screen and (max-width: 980px) {
  .common_sub_link_list01 ul li:not(:last-child) {
    margin-right: 0;
  }
}
@media screen and (max-width: 980px) {
  .common_sub_link_list01 ul li:nth-child(2n+1) {
    margin-right: 3rem;
  }
  .common_sub_link_list01 ul li:nth-child(1), .common_sub_link_list01 ul li:nth-child(2) {
    margin-bottom: 3rem;
  }
}
.common_sub_link_list01 ul li a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #354362;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
.common_sub_link_list01 ul li a .link_line {
  width: 32px;
  height: 10px;
  position: absolute;
  right: 2rem;
  bottom: 2rem;
}
.common_sub_link_list01 ul li a .link_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 50%;
}
.common_sub_link_list01 ul li a .link_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 10px;
  width: 22px;
  height: 2px;
  background: #fff;
  transition: 0.3s;
}
.common_sub_link_list01 ul li a::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  transition: transform 0.6s ease;
}
.common_sub_link_list01 ul li a::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  transition: transform 0.6s ease;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
  opacity: 0;
}
.common_sub_link_list01 ul li a:hover .link_line::after {
  width: 0;
  transition: 0.3s;
}
.common_sub_link_list01 ul li a:hover::before {
  transition: transform 0.6s ease;
  transform: scale(1.1);
}
.common_sub_link_list01 ul li a:hover::after {
  transition: transform 0.6s ease;
  opacity: 1;
}
.common_sub_link_list01 ul li.message_link a::before {
  background: url(../images/common/link_message_img01.jpg) no-repeat center center;
  background-size: cover;
}
.common_sub_link_list01 ul li.profile_link a::before {
  background: url(../images/common/common_link_profile.png) no-repeat center center;
  background-size: cover;
}
.common_sub_link_list01 ul li.philosophy_link a::before {
  background: url(../images/common/common_link_philosophy.png) no-repeat center center;
  background-size: cover;
}
.common_sub_link_list01 ul li.history_link a::before {
  background: url(../images/common/link_history_img01.jpg) no-repeat center center;
  background-size: cover;
}
.common_sub_link_list01 ul li.access_link a::before {
  background: url(../images/common/common_link_access.png) no-repeat center center;
  background-size: cover;
}
.common_sub_link_list01_ttl {
  background-color: rgba(255, 255, 255, 0.75);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2.5rem 4rem;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
}
.common_sub_link_list01_ttl .common_en01 {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: block;
}
.common_sub_link_list01_ttl .div_ttl {
  font-size: 2.6rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.4;
}

.common_sub_link_list02 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.common_sub_link_list02 ul li:nth-child(1) {
  width: calc(50% - 2rem);
  height: 36rem;
  margin-bottom: 4.5rem;
}
.common_sub_link_list02 ul li:nth-child(2) {
  width: calc(50% - 2rem);
  height: 36rem;
  margin-bottom: 4.5rem;
}
.common_sub_link_list02 ul li:nth-child(3), .common_sub_link_list02 ul li:nth-child(4), .common_sub_link_list02 ul li:nth-child(5) {
  width: calc((100% - 6rem) / 3);
  height: 28rem;
}
.common_sub_link_list02 ul li a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #354362;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.5);
}
.common_sub_link_list02 ul li a .link_line {
  width: 32px;
  height: 10px;
  position: absolute;
  right: 2rem;
  bottom: 2rem;
}
.common_sub_link_list02 ul li a .link_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 50%;
}
.common_sub_link_list02 ul li a .link_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 10px;
  width: 22px;
  height: 2px;
  background: #fff;
  transition: 0.3s;
}
.common_sub_link_list02 ul li a::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  transition: transform 0.6s ease;
}
.common_sub_link_list02 ul li a::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  transition: transform 0.6s ease;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
  opacity: 0;
}
.common_sub_link_list02 ul li a:hover .link_line::after {
  width: 0;
  transition: 0.3s;
}
.common_sub_link_list02 ul li a:hover::before {
  transition: transform 0.6s ease;
  transform: scale(1.1);
}
.common_sub_link_list02 ul li a:hover::after {
  transition: transform 0.6s ease;
  opacity: 1;
}
.common_sub_link_list02 ul li.message_link a::before {
  background: url(../images/common/link_message_img01.jpg) no-repeat center center;
  background-size: cover;
}
.common_sub_link_list02 ul li.profile_link a::before {
  background: url(../images/common/common_link_profile.png) no-repeat center center;
  background-size: cover;
}
.common_sub_link_list02 ul li.philosophy_link a::before {
  background: url(../images/common/common_link_philosophy.png) no-repeat center center;
  background-size: cover;
}
.common_sub_link_list02 ul li.history_link a::before {
  background: url(../images/common/link_history_img01.jpg) no-repeat center center;
  background-size: cover;
}
.common_sub_link_list02 ul li.access_link a::before {
  background: url(../images/common/common_link_access.png) no-repeat center center;
  background-size: cover;
}
.common_sub_link_list02_ttl {
  background-color: rgba(255, 255, 255, 0.75);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 2.5rem 4rem;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
}
.common_sub_link_list02_ttl .common_en01 {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: block;
}
.common_sub_link_list02_ttl .div_ttl {
  font-size: 2.6rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.4;
}

.common_sub_menu_box01 ul {
  display: flex;
  justify-content: space-between;
  margin: 4rem 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: 6rem;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
}
.common_sub_menu_box01 ul li a::after {
  content: "";
  width: 10px;
  height: 10px;
  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: 3rem;
  margin-top: 5rem;
}
.common_sub_item_sn {
  text-align: center;
  width: 38rem;
}
.common_sub_item_sn a {
  display: block;
  position: relative;
}
.common_sub_item_sn a img {
  transition: all 0.5s ease-out;
}
.common_sub_item_sn a:hover img {
  transform: scale(1.1, 1.1);
}
.common_sub_item_sn a:hover .link_line::after {
  width: 0;
  transition: 0.3s;
}
.common_sub_item_sn_img {
  margin-bottom: 1rem;
  position: relative;
  border-radius: 20px;
  overflow: hidden;
}
.common_sub_item_sn_img::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(0, 78, 162, 0.3), rgba(20, 182, 242, 0.3));
  opacity: 0;
  transition: all 0.5s ease-out;
  z-index: 2;
}
.common_sub_item_sn_img.before_none::before {
  display: none;
}
.common_sub_item_sn_img:hover::before {
  opacity: 1;
}
.common_sub_item_sn_img.border {
  border: 1px solid #cccccc;
}
.common_sub_item_sn_img .mark_txt {
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  border-radius: 0 0 20px 0;
  padding: 7px 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 5;
}
.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: 4rem;
}
.common_sub_flow_box {
  margin-bottom: 3rem;
  display: flex;
  flex-wrap: wrap;
  margin-top: 8rem;
}
.common_sub_flow_box_num {
  width: 76px;
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  position: absolute;
  top: -38px;
  left: 50%;
  transform: translate(-50%, 0);
}
.common_sub_flow_box_num .common_en01 {
  font-size: 1.4rem;
  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: 2.8rem;
  line-height: 1;
  display: block;
}
.common_sub_flow_box_img {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 71px;
  width: 100%;
  margin-bottom: 1rem;
}
.common_sub_flow_box_in {
  width: calc((100% - 115px) / 3);
  padding: 6rem 3rem 3rem 3rem;
  position: relative;
  background-color: #fff;
  border-radius: 20px;
  margin-right: 25px;
  margin-bottom: 78px;
  display: flex;
  flex-direction: column;
}
.common_sub_flow_box_in::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  height: 2px;
  background: #004ea2;
}
.common_sub_flow_box_in_ttl {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 2rem;
}
.common_sub_flow_box_in_ttl .h3_ttl {
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
.common_sub_flow_box_in:nth-child(1)::after, .common_sub_flow_box_in:nth-child(2)::after, .common_sub_flow_box_in:nth-child(4)::after, .common_sub_flow_box_in:nth-child(5)::after {
  width: 25px;
  right: -25px;
}
.common_sub_flow_box_in:nth-child(3) {
  margin-right: 40px;
}
.common_sub_flow_box_in:nth-child(3)::after {
  width: 40px;
  right: -40px;
}
.common_sub_flow_box_in:nth-child(4) {
  margin-left: 40px;
}
.common_sub_flow_box_in:nth-child(4)::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  height: 2px;
  background: #004ea2;
  width: 40px;
  left: -40px;
}

.common_sub_fax_sec {
  margin-top: 4rem;
}
.common_sub_fax_box {
  margin-bottom: 3rem;
}
.common_sub_fax_box_ttl {
  background-color: #fff;
  border-radius: 20px;
  position: relative;
  padding: 18px 30px 18px 92px;
  min-height: 8rem;
  box-sizing: border-box;
  cursor: pointer;
  transition: none;
  margin-bottom: 2rem;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
}
.common_sub_fax_box_ttl::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 30px;
  width: 42px;
  height: 42px;
  background: #004ea2;
  border-radius: 50%;
}
.common_sub_fax_box_ttl::after {
  content: "Q";
  position: absolute;
  top: 18px;
  left: 30px;
  width: 42px;
  height: 42px;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-size: 2.4rem;
  color: #fff;
  text-align: center;
}
.common_sub_fax_box_ttl .h3_ttl {
  margin-top: 0.5em;
}
.common_sub_fax_box_ttl .btn {
  position: absolute;
  width: 18px;
  height: 18px;
  top: calc((100% - 18px) / 2);
  right: 3rem;
}
.common_sub_fax_box_ttl .btn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  width: 18px;
  height: 3px;
  background-color: #004ea2;
}
.common_sub_fax_box_ttl .btn::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  width: 3px;
  height: 18px;
  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: 30px 30px 30px 92px;
  position: relative;
  display: none;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
}
.common_sub_fax_box_ans a {
  color: #004ea2;
  text-decoration: underline;
}
.common_sub_fax_box_ans::before {
  content: "";
  position: absolute;
  top: 30px;
  left: 30px;
  width: 42px;
  height: 42px;
  background: #829ebc;
  border-radius: 50%;
}
.common_sub_fax_box_ans::after {
  content: "A";
  position: absolute;
  top: 30px;
  left: 30px;
  width: 42px;
  height: 42px;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-size: 2.4rem;
  color: #fff;
  text-align: center;
}

.mokuji_box {
  background-color: #f9f9f9;
  border: 1px solid #074e9b;
  width: 100%;
  padding: 5rem 6rem;
  margin-top: 4rem;
  margin-bottom: 6rem;
  border-radius: 20px;
}
.mokuji_box .mokuji_title {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 38px;
  margin-bottom: 3rem;
}
.mokuji_box .mokuji_title::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 10px;
  height: 10px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.mokuji_box .mokuji_title::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 10px;
  width: 16px;
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.mokuji_box .mokuji {
  width: 100%;
}
.mokuji_box .mokuji .mokujiinner {
  width: 100%;
}
.mokuji_box .mokuji .mokujiinner .chapter {
  width: 100%;
  counter-reset: listnum;
  list-style: none;
}
.mokuji_box .mokuji .mokujiinner > .chapter > li {
  width: 100%;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
  margin-top: 2rem;
  position: relative;
  padding-left: 2em;
  font-size: 2rem;
}
.mokuji_box .mokuji .mokujiinner > .chapter > li::before {
  counter-increment: listnum;
  content: counter(listnum) ".";
  position: absolute;
  left: 0;
  top: 0.2em;
  font-size: 2.4rem;
  font-family: "Roboto", serif;
  font-weight: 500;
  line-height: 1;
}
.mokuji_box .mokuji .mokujiinner > .chapter > li a {
  color: #004ea2;
  text-decoration: underline;
  display: inline;
}
.mokuji_box .mokuji .mokujiinner > .chapter > .chapter {
  padding-left: 2em;
  margin-top: 1.5rem;
}
.mokuji_box .mokuji .mokujiinner > .chapter > .chapter > li {
  width: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 3em;
  font-size: 1.8rem;
}
.mokuji_box .mokuji .mokujiinner > .chapter > .chapter > li:not(:last-child) {
  margin-bottom: 5px;
}
.mokuji_box .mokuji .mokujiinner > .chapter > .chapter > li::before {
  counter-increment: listnum;
  content: counters(listnum, "-") ". ";
  position: absolute;
  left: 0;
  top: 0.3em;
  font-size: 2rem;
  font-family: "Roboto", serif;
  font-weight: 500;
  line-height: 1;
}
.mokuji_box .mokuji .mokujiinner > .chapter > .chapter > li a {
  color: #004ea2;
  text-decoration: underline;
  display: inline;
}

.common_sub_article_ttl {
  font-size: 2.8rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  position: relative;
}
.common_sub_article_ttl::after {
  position: absolute;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #004ea2, #14b6f2);
}
.common_sub_article_flex {
  display: flex;
  align-items: center;
}
.common_sub_article_date {
  display: block;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-right: 2.5rem;
  font-family: "Roboto", serif;
  font-size: 1.6rem;
  color: #004ea2;
}
.common_sub_article_cat {
  display: flex;
}
.common_sub_article_cat li {
  color: #fff;
  background: #004ea2;
  display: inline-block;
  font-size: 1.4rem;
  padding: 0 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 26px;
  border-radius: 9999px;
  min-width: 12rem;
  box-sizing: border-box;
  white-space: nowrap;
}
.common_sub_article_cat li:not(:last-child) {
  margin-right: 10px;
}
.common_sub_article_newmark {
  color: #fff;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  padding: 8px 15px;
  border-radius: 5px;
  margin-right: 2.5rem;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.2;
  font-family: "Montserrat", sans-serif;
}
.common_sub_article_mainimg {
  margin: 4rem 0 4rem 0;
}
.common_sub_article_blog + .common_btn01 {
  margin-top: 8rem;
}
.common_sub_article_blog .wp-block-image {
  margin: 4rem 0 4rem 0;
  overflow: hidden;
}
.common_sub_article_blog .wp-block-image img {
  border-radius: 2rem;
  overflow: hidden;
}
.common_sub_article_blog .wp-block-image.alignright {
  text-align: right;
}
.common_sub_article_blog .wp-block-image.aligncenter {
  display: flex;
  justify-content: center;
}
.common_sub_article_blog h2 {
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 2rem;
  margin-top: 4rem;
  position: relative;
  padding-left: 2.5rem;
}
.common_sub_article_blog h2::after {
  background: #004ea2;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 2px;
  height: 100%;
}
.common_sub_article_blog h3 {
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 2rem;
  padding-left: 40px;
  position: relative;
}
.common_sub_article_blog h3::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0px;
  width: 10px;
  height: 10px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.common_sub_article_blog h3::after {
  content: "";
  position: absolute;
  top: calc(0.5em + 5px);
  left: 10px;
  width: 16px;
  height: 1px;
  background: #004ea2;
}
.common_sub_article_blog h4 {
  font-size: 2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 2rem;
}
.common_sub_article_blog p {
  letter-spacing: 0.08em;
  line-height: 2.125;
  margin-bottom: 4rem;
}
.common_sub_article_blog a {
  color: #004ea2;
  border-bottom: 1px solid #004ea2;
  display: inline-block;
  line-height: 1.4;
  position: relative;
  padding-right: 13px;
}
.common_sub_article_blog a::after {
  content: "";
  width: 7px;
  height: 7px;
  border: 0;
  border-top: solid 1.5px #004ea2;
  border-right: solid 1.5px #004ea2;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -3.5px;
  right: 0;
  transition: 0.3s;
}
.common_sub_article_blog a:hover::after {
  right: -5px;
}
.common_sub_article_blog .eye {
  border-radius: 20px;
  background-color: #f5f7fb;
  padding: 5rem 6rem;
  margin: 5rem 0 4rem 0;
}
.common_sub_article_blog .eye .eye__title {
  color: #fff;
  background: #004ea2;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 9999px;
  margin-bottom: 4rem;
  width: calc(100% - 180px);
  height: 40px;
  margin-left: auto;
  margin-right: 0;
  padding: 2rem 0;
  font-size: 2.4rem;
  font-weight: bold;
}
.common_sub_article_blog .eye .eye__wrap {
  display: flex;
  justify-content: space-between;
}
.common_sub_article_blog .eye .eye__img {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 40px;
}
.common_sub_article_blog .eye .eye__comment {
  width: calc(100% - 180px);
  background-color: #fff;
  border-radius: 20px;
  padding: 4rem;
  position: relative;
  margin-bottom: 0;
}
.common_sub_article_blog .eye .eye__comment::before {
  background-color: #fff;
  -webkit-clip-path: polygon(0 50%, 100% 100%, 100% 0);
  clip-path: polygon(0 50%, 100% 100%, 100% 0);
  content: "";
  display: block;
  height: 28px;
  position: absolute;
  left: -20px;
  top: 56px;
  width: 20px;
}

.common_sub_container_bg {
  display: flex;
  justify-content: center;
  padding: 7.5rem 0 9rem 0;
}
.common_sub_layout_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.common_sub_layout_box02 .common_sub_main_content {
  width: 100%;
}
.common_sub_layout_box02 .common_sub_menu {
  width: 100%;
  margin-top: 70px;
}
.common_sub_main_content {
  width: calc(100% - 290px);
}
@media screen and (max-width: 980px) {
  .common_sub_main_content {
    width: 100%;
  }
}
.common_sub_menu {
  width: 240px;
}
@media screen and (max-width: 980px) {
  .common_sub_menu {
    width: 100%;
    margin-top: 8rem;
  }
}
.common_sub_menu_box {
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
  border-radius: 20px;
  position: sticky;
  top: 12rem;
}
.common_sub_menu_ttl {
  border-radius: 20px 20px 0 0;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  height: 6rem;
  display: flex;
  align-items: center;
  padding: 0 3rem;
}
.common_sub_menu_ttl .div_ttl {
  color: #fff;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  display: inline-block;
  margin-right: 1rem;
}
.common_sub_menu_ttl .common_en01 {
  color: #c8e2ff;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.common_sub_menu_list {
  border-radius: 0 0 20px 20px;
}
.common_sub_menu_list ul li a {
  padding: 1.2rem 3rem;
  box-sizing: border-box;
  color: #354362;
  display: block;
  position: relative;
  font-size: 1.6rem;
}
.common_sub_menu_list ul li a::after {
  content: "";
  width: 10px;
  height: 10px;
  border: 0;
  border-top: solid 1.5px #004ea2;
  border-right: solid 1.5px #004ea2;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -5px;
  right: 3rem;
  transition: 0.3s;
}
.common_sub_menu_list ul li a:hover::after {
  right: 2.5rem;
  transition: 0.3s;
}
.common_sub_menu_list ul li:not(:last-child) a {
  border-bottom: 1px solid #dbdfe7;
}

.news_detail .common_inner {
  max-width: 910px;
}

.sub_news_list ul {
  border-top: 1px solid #dbdfe7;
}
.sub_news_list ul li a {
  padding: 3.5rem 6.5rem 3.5rem 2.5rem;
  border-bottom: 1px solid #dbdfe7;
  display: flex;
  text-decoration: none;
  position: relative;
}
.sub_news_list ul li a::after {
  content: "";
  width: 14px;
  height: 14px;
  border: 0;
  border-top: solid 2px #004ea2;
  border-right: solid 2px #004ea2;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -7px;
  right: 4rem;
  transition: 0.3s;
}
.sub_news_list ul li a:hover .top_news_list_ttl {
  color: #004ea2;
}
.sub_news_list ul li a:hover::after {
  right: 3rem;
  transition: 0.3s;
}
.sub_news_list_date {
  font-family: "Roboto", serif;
  color: #004ea2;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-right: 2.5rem;
  font-size: 1.6rem;
}
.sub_news_list_cate {
  background-color: #004ea2;
  color: #fff;
  min-width: 12rem;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2.6rem;
  padding: 0.2rem 1rem;
  line-height: 1.2;
  margin-right: 2rem;
  border-radius: 9999px;
}
.sub_news_list_ttl {
  color: #354362;
  letter-spacing: 0.05em;
}

/* access */
.sub_access_container01_bg {
  display: flex;
  justify-content: center;
  padding: 7.5rem 0 9rem 0;
}
.sub_access_container02_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0 10rem 0;
}
.sub_access_insec:not(:first-child) {
  padding-top: 9rem;
}
.sub_access_map iframe {
  width: 100%;
  border: none;
  border-radius: 20px;
  margin-bottom: 3rem;
  overflow: hidden;
}
.sub_access_disc {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 5rem;
  gap: 3rem 0;
}
@media screen and (max-width: 980px) {
  .sub_access_disc {
    gap: 0;
  }
}
.sub_access_disc_img {
  width: 50%;
  margin-right: 5rem;
}
@media screen and (max-width: 980px) {
  .sub_access_disc_img {
    width: 100%;
    margin-bottom: 30px;
    margin-right: 0;
  }
}
.sub_access_disc_img img {
  width: 100%;
  max-width: inherit;
}
.sub_access_disc_list {
  width: 45.8%;
  background-color: #f9f9f9;
  border: 1px solid #074e9b;
  padding: 2rem 5rem;
  border-radius: 20px;
}
@media screen and (max-width: 980px) {
  .sub_access_disc_list {
    width: 100%;
  }
}
.sub_access_disc_list dl {
  display: flex;
  flex-wrap: wrap;
}
.sub_access_disc_list dl dt {
  position: relative;
  width: calc(10em + 36px);
  box-sizing: border-box;
  padding-left: 36px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 1rem 0;
}
.sub_access_disc_list dl dt::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0px;
  width: 10px;
  height: 10px;
  border: 1px solid #004ea2;
  border-radius: 9999px;
}
.sub_access_disc_list dl dt::after {
  content: "";
  position: absolute;
  top: calc(0.5em + 5px);
  left: 10px;
  width: 16px;
  height: 1px;
  background-color: #004ea2;
}
.sub_access_disc_list dl dd {
  width: calc(100% - (10em + 36px));
  box-sizing: border-box;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin: 1rem 0;
}

/* message */
.message .common_w_inner {
  background: url(../images/message/message_mainimg.jpg);
}

.sub_message_container01_bg {
  display: flex;
  justify-content: center;
  padding: 7.5rem 0 9rem 0;
}
.sub_message_container02_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0 10rem 0;
}
.sub_message_ttl {
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 4rem;
  line-height: 1.8;
  margin-top: 4rem;
}
.sub_message_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sub_message_box_disc {
  width: 55.42%;
  width: 54%;
}
.sub_message_box_disc .common_txt01 {
  line-height: 2.25;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.sub_message_box_disc .common_txt01:not(:last-child) {
  margin-bottom: 3rem;
}
.sub_message_box_img {
  width: 38.33%;
  width: 39%;
}
.sub_message_box_img figure > img {
  width: 100%;
}
.sub_message_box_img figcaption {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sub_message_box_img figcaption .bf_txt {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-right: 2rem;
  display: inline-block;
}

/* company */
.sub_company_container01_bg {
  display: flex;
  justify-content: center;
  padding: 7.5rem 0 12.5rem 0;
}
.sub_company_container02_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
  background: url(../images/company/company_sec02_bk.jpg) no-repeat center center;
  background-size: cover;
}
.sub_company_container03_bg {
  display: flex;
  justify-content: center;
  padding: 9.5rem 0 12rem 0;
}
.sub_company_container03_bg .common_en01 {
  margin-bottom: 1rem;
}
.sub_company_box {
  background-color: #f9f9f9;
  border: 1px solid #074e9b;
  border-radius: 20px;
  padding: 5rem;
  margin-top: 5rem;
  margin-bottom: 8rem;
}
.sub_company_box_img {
  display: flex;
  justify-content: center;
}
.sub_company_box_ttl {
  border-radius: 9999px;
  color: #fff;
  margin: 0 auto 1.5rem auto;
  background-color: #004ea2;
  color: #fff;
  height: 4rem;
  width: 36rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.sub_company_box_txt01 {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
.sub_company_box_txt01 .cl_txt {
  color: #004ea2;
  font-size: 2.6rem;
  background: linear-gradient(transparent 30%, #ffee5f 70%);
}
.sub_company_box_txt02 {
  text-align: center;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.sub_company_bnr {
  width: 82rem;
  height: 16rem;
  margin-left: auto;
  margin-right: auto;
}
.sub_company_bnr a {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  border-radius: 20px;
  position: relative;
  width: 100%;
  height: 100%;
}
.sub_company_bnr a::before {
  background: url(../images/company/company_img02.jpg) no-repeat center center;
  background-size: cover;
  width: 100%;
  height: 100%;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
}
.sub_company_bnr a::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  transition: transform 0.6s ease;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
  opacity: 0;
}
.sub_company_bnr a .btn_txt {
  color: #fff;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 2;
}
.sub_company_bnr a .link_line {
  width: 32px;
  height: 10px;
  position: absolute;
  right: 5rem;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 2;
}
.sub_company_bnr a .link_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 10px;
  height: 10px;
  background-color: #fff;
  border-radius: 9999px;
}
.sub_company_bnr a .link_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 10px;
  width: 22px;
  height: 2px;
  background-color: #fff;
  margin-top: 0.5px;
}
.sub_company_bnr a:hover::after {
  transition: transform 0.6s ease;
  opacity: 1;
}
.sub_company_bnr a:hover .link_line::after {
  width: 0;
  transition: 0.3s;
}

/* profile */
.sub_profile_container01_bg {
  display: flex;
  justify-content: center;
  padding: 7.5rem 0 9rem 0;
}
.sub_profile_container01_bg .access_link {
  margin-top: 1.5rem;
}
.sub_profile_container01_bg .access_link a {
  color: #004ea2;
  font-weight: 500;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 19px;
  padding-right: 12px;
  border-bottom: 1px solid #004ea2;
}
.sub_profile_container01_bg .access_link a::before {
  background: url(../images/common/icon_map.svg) no-repeat left top;
  position: absolute;
  top: calc(50% - 10px);
  left: 0;
  width: 14px;
  height: 21px;
  content: "";
}
.sub_profile_container01_bg .access_link a::after {
  content: "";
  width: 7px;
  height: 7px;
  border: 0;
  border-top: solid 1px #004ea2;
  border-right: solid 1px #004ea2;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -3.5px;
  right: 0;
  transition: 0.3s;
}
.sub_profile_container01_bg .access_link a:hover::after {
  right: -5px;
}
.sub_profile_container01_bg .access_block dt {
  padding-left: 1.2em;
  position: relative;
  margin-bottom: 0.5rem;
  font-weight: 700;
}
.sub_profile_container01_bg .access_block dt::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 10px;
  height: 10px;
  background: #004ea2;
  border-radius: 50%;
}
.sub_profile_container01_bg .access_block:not(:last-child) {
  margin-bottom: 2rem;
}
.sub_profile_container01_bg .img_expansion {
  display: inline-block;
}
.sub_profile_container01_bg .img_expansion dl dt {
  margin-bottom: 10px;
}
.sub_profile_container01_bg .img_expansion dl dd a {
  display: flex;
  align-items: flex-end;
  border: none;
}
.sub_profile_container01_bg .img_expansion dl dd a::after {
  content: inherit;
}
.sub_profile_container01_bg .img_expansion dl dd a .btn_zoom {
  position: relative;
  width: 40px;
  height: 40px;
  display: block;
  margin-left: 20px;
  cursor: pointer;
}
.sub_profile_container01_bg .img_expansion dl dd a .btn_zoom::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0px;
  width: 40px;
  height: 40px;
  background: url(../images/common/icon_zoom.svg) no-repeat left top;
  background-size: contain;
}
.sub_profile_container01_bg .img_expansion dl dd a:hover {
  opacity: 0.7;
}
.sub_profile_container01_bg .link_list li:not(:last-child) {
  margin-bottom: 0.5rem;
}
.sub_profile_container02_bg {
  display: flex;
  justify-content: center;
  padding: 9.5rem 0;
  background-color: #f5f7fb;
}
.sub_profile_container02_bg .common_sub_lead_center {
  margin-bottom: 6.5rem;
}
.sub_profile_container03_bg {
  display: flex;
  justify-content: center;
  padding: 9.5rem 0 4.5rem 0;
}
.sub_profile_container04_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0 10rem 0;
}
.sub_profile_logo {
  padding: 4rem 8rem 5rem 8rem;
  border-radius: 20px;
  border: 1px solid #004ea2;
  background-color: #f9f9f9;
  margin-bottom: 5rem;
}
.sub_profile_logo_ttl {
  text-align: center;
  margin-bottom: 4rem;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.sub_profile_logo_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.sub_profile_logo_img {
  width: 32rem;
}
@media screen and (max-width: 980px) {
  .sub_profile_logo_img {
    max-width: 32rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3rem;
  }
}
.sub_profile_logo_disc {
  line-height: 2.25;
  letter-spacing: 0.05em;
  width: calc(100% - 38.5rem);
}
@media screen and (max-width: 980px) {
  .sub_profile_logo_disc {
    width: 100%;
  }
}
.sub_profile_awardlist_name {
  font-weight: 700;
  letter-spacing: 0.05em;
  display: block;
  margin-bottom: 1.5rem;
  line-height: 1.4;
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sub_profile_awardlist ul {
  display: flex;
  flex-wrap: wrap;
}
.sub_profile_awardlist ul li {
  width: calc((100% - 6rem) / 3);
  margin-right: 3rem;
  margin-bottom: 5rem;
  display: flex;
  flex-direction: column;
}
.sub_profile_awardlist ul li:nth-child(3n+0) {
  margin-right: 0;
}
@media screen and (max-width: 980px) {
  .sub_profile_awardlist ul li {
    width: calc((100% - 3rem) / 2);
  }
  .sub_profile_awardlist ul li:nth-child(3n+0) {
    margin-right: 3rem;
  }
  .sub_profile_awardlist ul li:nth-child(2n+0) {
    margin-right: 0;
  }
}

/* philosophy */
.sub_philosophy_container01_bg {
  display: flex;
  justify-content: center;
  padding: 7.5rem 0 9rem 0;
}
.sub_philosophy_container01_insec:not(:last-child) {
  margin-bottom: 9rem;
}
.sub_philosophy_container02_bg {
  display: flex;
  justify-content: center;
  padding: 11rem 0 12rem 0;
  background-color: #f5f7fb;
}
.sub_philosophy_container02_bg .sub_odt_quality_box {
  background-color: #fff;
}
.sub_philosophy_container03_bg {
  display: flex;
  justify-content: center;
  padding: 13rem 0 6rem 0;
}
.sub_philosophy_container03_bg .sub_odt_quality_box {
  border: 1px solid #004ea2;
}
.sub_philosophy_container04_bg {
  display: flex;
  justify-content: center;
  padding: 6rem 0 10rem 0;
}
.sub_philosophy_box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-top: 6rem;
}
.sub_philosophy_box_disc {
  width: 38.3%;
}
@media screen and (max-width: 980px) {
  .sub_philosophy_box_disc {
    width: 100%;
  }
}
.sub_philosophy_box_img {
  width: 61.7%;
}
@media screen and (max-width: 980px) {
  .sub_philosophy_box_img {
    width: 100%;
    margin-top: 5rem;
  }
}
.sub_philosophy_box_catch:not(:last-child) {
  margin-bottom: 6rem;
}
.sub_philosophy_box_catch .common_en01 {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-left: 51px;
  position: relative;
  color: #004ea2;
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
}
.sub_philosophy_box_catch .common_en01 .mark_line {
  width: 36px;
  height: 14px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.sub_philosophy_box_catch .common_en01 .mark_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 14px;
  height: 14px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.sub_philosophy_box_catch .common_en01 .mark_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 14px;
  width: 22px;
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_philosophy_box_catch .div_ttl {
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #004ea2;
}
.sub_philosophy_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 4.5rem;
}
.sub_philosophy_list_in {
  width: calc(50% - 2rem);
  margin-bottom: 3rem;
  border-radius: 20px;
  min-height: 18rem;
  box-sizing: border-box;
  padding: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: url(../images/philosophy/philosophy_list_bk.png) no-repeat center center;
  background-size: cover;
  overflow: hidden;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
}
.sub_philosophy_list_txt {
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  font-size: 2.4rem;
  margin-top: 2rem;
}
.sub_philosophy_list_ttl {
  position: absolute;
  left: 2.3rem;
  top: 1.3rem;
  padding-right: 46px;
  display: inline-block;
}
.sub_philosophy_list_ttl .common_en02 {
  color: rgba(255, 255, 255, 0.4);
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 6.8rem;
  line-height: 1;
  mix-blend-mode: overlay;
  line-height: 1;
}
.sub_philosophy_list_ttl .mark_line {
  width: 36px;
  height: 10px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
  mix-blend-mode: overlay;
}
.sub_philosophy_list_ttl .mark_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0;
  width: 10px;
  height: 10px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
}
.sub_philosophy_list_ttl .mark_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 10px;
  width: 26px;
  height: 1px;
  background: rgba(255, 255, 255, 0.5);
  transition: 0.3s;
}

/* history */
.sub_history_container01_bg {
  padding: 4rem 0 2rem 0;
  display: flex;
  justify-content: center;
}
.sub_history_box {
  position: relative;
  padding-top: 10rem;
  padding-bottom: 3rem;
}
.sub_history_box::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 3rem;
  content: "";
  height: 100%;
  background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 0.1%, #004ea2 5%, #14b6f2 92%, rgba(255, 255, 255, 0) 99%, rgb(255, 255, 255) 100%);
}
.sub_history_box_in {
  overflow: hidden;
  padding-left: 7.5px;
}
.sub_history_box_in > img {
  float: right;
  margin-left: 3rem;
  margin-top: 1.5rem;
  margin-bottom: 3.5rem;
}
.sub_history_box_in dl {
  margin-bottom: 5rem;
}
.sub_history_box_in dl dt {
  font-size: 4.2rem;
  font-family: "Roboto", serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-left: 114px;
  color: #004ea2;
  position: relative;
}
.sub_history_box_in dl dt .mark_line {
  width: 99px;
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.sub_history_box_in dl dt .mark_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0;
  width: 14px;
  height: 14px;
  border: 1px solid #004ea2;
  background-color: #fff;
  box-sizing: border-box;
  border-radius: 50%;
}
.sub_history_box_in dl dt .mark_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 14px;
  width: 85px;
  height: 1px;
  background-color: #004ea2;
  transition: 0.3s;
}
.sub_history_box_in dl dd {
  line-height: 2.25;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-left: 114px;
}

/* odt */
.sub_odt_container00_bg {
  padding: 7.5rem 0 6rem 0;
  text-align: center;
  display: flex;
  justify-content: center;
}
.sub_odt_container01_bg {
  padding: 0 0 6rem 0;
  background: url(../images/odt/sub_odt_sec01.png) no-repeat center bottom;
  background-size: cover;
}
.sub_odt_container01_bg .common_inner {
  margin-left: auto;
  margin-right: auto;
}
.sub_odt_container01_insec {
  display: flex;
  padding: 6rem 0 9rem 0;
}
.sub_odt_container01_insec:nth-child(1) {
  padding-top: 0;
}
.sub_odt_container01_insec:nth-child(2n+1) {
  justify-content: flex-end;
}
.sub_odt_container01_insec:nth-child(2n+0) .sub_odt_point_img {
  order: 0;
}
.sub_odt_container01_insec:nth-child(2n+0) .sub_odt_point_disc {
  order: 1;
}
.sub_odt_container01_inner {
  width: 90.625%;
  max-width: calc(100% - (100% - 1200px) / 2);
}
.sub_odt_container02_bg {
  display: flex;
  justify-content: center;
  padding: 11rem 0 11.5rem 0;
}
.sub_odt_container03_bg {
  display: flex;
  justify-content: center;
  background-color: #f5f7fb;
  padding: 10rem 0 12rem 0;
}
.sub_odt_container04_bg {
  display: flex;
  justify-content: center;
  padding: 8rem 0;
}
.sub_odt_container04_bg .common_w_inner {
  background: #004ea2;
  padding: 6rem 0 8rem 0;
  border-radius: 20px;
  display: flex;
  justify-content: center;
}
.sub_odt_container04_bg .common_inner {
  position: relative;
}
.sub_odt_container04_ttl {
  text-align: center;
  position: relative;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
  width: 126.8rem;
  height: 10.3rem;
}
@media screen and (max-width: 1440px) {
  .sub_odt_container04_ttl {
    max-width: 100%;
  }
}
.sub_odt_container04_ttl .common_sub_h2_ttl02 {
  color: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  z-index: 2;
}
.sub_odt_container04_ttl .img_txt {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.sub_odt_container04_list {
  margin-top: 6rem;
}
.sub_odt_container04_list ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sub_odt_container04_list ul li {
  width: calc((100% - 6rem) / 3);
}
@media screen and (max-width: 980px) {
  .sub_odt_container04_list ul li {
    width: 100%;
  }
  .sub_odt_container04_list ul li:not(:last-child) {
    margin-bottom: 3rem;
  }
}
.sub_odt_container04_list ul li a {
  background: #fff;
  display: flex;
  padding: 2.5rem;
  align-items: center;
  border-radius: 20px;
  height: 14rem;
  box-sizing: border-box;
  position: relative;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
}
.sub_odt_container04_list ul li a:hover {
  box-shadow: none;
}
.sub_odt_container04_list ul li a:hover .link_line::after {
  width: 0;
  transition: 0.3s;
}
.sub_odt_container04_list ul li a .icon_txt {
  position: relative;
  z-index: 2;
  color: #354362;
  font-weight: 700;
  letter-spacing: 0.05em;
  font-size: 2.2rem;
  line-height: 1.2;
  min-height: 8rem;
  padding-left: 9.5rem;
  display: flex;
  align-items: center;
}
.sub_odt_container04_list ul li a .icon_txt::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 8.4rem;
  height: 8.4rem;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  border-radius: 50%;
}
.sub_odt_container04_list ul li a .icon_txt::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
.sub_odt_container04_list ul li a .link_line {
  width: 23px;
  height: 7px;
  position: absolute;
  right: 2rem;
  bottom: 2rem;
}
.sub_odt_container04_list ul li a .link_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 7px;
  height: 7px;
  background: #004ea2;
  border-radius: 50%;
}
.sub_odt_container04_list ul li a .link_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 7px;
  width: 16px;
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_odt_container04_list ul li:nth-child(1) a .icon_txt::after {
  background: url(../images/top/top_about_icon01.svg) no-repeat left top;
  background-size: contain;
  width: 44px;
  height: 44px;
  left: calc((8.4rem - 44px) / 2);
}
.sub_odt_container04_list ul li:nth-child(2) a .icon_txt::after {
  background: url(../images/top/top_about_icon02.svg) no-repeat left top;
  background-size: contain;
  width: 38px;
  height: 44px;
  left: calc((8.4rem - 38px) / 2);
}
.sub_odt_container04_list ul li:nth-child(3) a .icon_txt::after {
  background: url(../images/top/top_about_icon03.svg) no-repeat left top;
  background-size: contain;
  width: 42px;
  height: 46px;
  left: calc((8.4rem - 42px) / 2);
}
.sub_odt_point_flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.sub_odt_point_disc {
  width: calc(42.3% - 6rem);
}
@media screen and (max-width: 980px) {
  .sub_odt_point_disc {
    width: 100%;
    order: 0 !important;
  }
}
.sub_odt_point_disc .common_txt01 {
  line-height: 2;
  text-align: justify;
}
.sub_odt_point_disc .common_txt01 .cl_txt {
  color: #ed5e13;
  font-weight: 700;
}
.sub_odt_point_img {
  width: 57.7%;
}
@media screen and (max-width: 980px) {
  .sub_odt_point_img {
    width: 100%;
    margin-top: 5rem;
    order: 1 !important;
  }
}
.sub_odt_point_no {
  margin-bottom: 3rem;
  position: relative;
  padding-left: 51px;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.05em;
  font-size: 2.2rem;
  font-weight: 500;
  color: #004ea2;
  display: flex;
  align-items: center;
  line-height: 1;
}
.sub_odt_point_no .mark_line {
  width: 36px;
  height: 14px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.sub_odt_point_no .mark_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 14px;
  height: 14px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.sub_odt_point_no .mark_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 14px;
  width: 22px;
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_odt_point_no .big_txt {
  font-size: 4.8rem;
  margin-left: 1.5rem;
  line-height: 1;
  display: block;
  margin-bottom: 0.5rem;
}
.sub_odt_point_ttl {
  font-size: 2.8rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-bottom: 2rem;
}
.sub_odt_quality_box {
  background-color: #f9f9f9;
  border-radius: 20px;
  padding: 7rem 8rem;
  margin-top: 6rem;
}
.sub_odt_quality_box ol li {
  list-style-type: none;
  counter-increment: cnt;
  position: relative;
  margin: 0;
  padding: 0 0 0 2.5em;
  line-height: 1.8;
}
.sub_odt_quality_box ol li::before {
  content: "0" counter(cnt) ".";
  color: #004ea2;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-family: "Roboto", serif;
  position: absolute;
  top: 0;
  left: 0;
}
.sub_odt_quality_box ol li:not(:last-child) {
  margin-bottom: 1rem;
}
.sub_odt_quality_box ol li .in_bold {
  font-weight: 700;
}
.sub_odt_quality_box ol li .in_txt {
  display: block;
  margin-top: 0.5rem;
  margin-bottom: 2rem;
}
.sub_odt_quality_box:nth-child(1) .sub_odt_quality_in {
  margin: 2rem;
}
.sub_odt_quality_box:nth-child(2) .sub_odt_quality_in {
  align-items: center;
}
.sub_odt_quality_box .common_txt01 {
  line-height: 2;
}
.sub_odt_quality_box .common_txt01 + .common_txt01 {
  margin-top: 2rem;
}
.sub_odt_quality_box .common_txt01 + ol {
  margin-top: 2rem;
}
.sub_odt_quality_box ol + .common_txt01 {
  margin-top: 2rem;
}
.sub_odt_quality_ttl {
  position: relative;
  padding-bottom: 19px;
  margin-bottom: 1.5rem;
}
.sub_odt_quality_ttl .h3_ttl {
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.sub_odt_quality_ttl .mark_line {
  width: 100%;
  height: 14px;
  position: absolute;
  left: 0;
  bottom: 0;
}
.sub_odt_quality_ttl .mark_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 14px;
  height: 14px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.sub_odt_quality_ttl .mark_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 14px;
  width: calc(100% - 14px);
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_odt_quality_in {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sub_odt_quality_inbox01 {
  width: 100%;
  margin-bottom: 6rem;
}
.sub_odt_quality_inbox02 {
  width: calc(50% - 2rem);
  margin-bottom: 1rem;
}
@media screen and (max-width: 980px) {
  .sub_odt_quality_inbox02 {
    width: 100%;
    margin-bottom: 6rem;
  }
}
.sub_odt_quality_inbox03 {
  width: calc(50% - 2rem);
  margin-bottom: 1rem;
}
@media screen and (max-width: 980px) {
  .sub_odt_quality_inbox03 {
    width: 100%;
  }
}
.sub_odt_quality_syo {
  text-align: right;
  font-size: 1.6rem;
}
.sub_odt_quality_img {
  width: 250px;
}
@media screen and (max-width: 980px) {
  .sub_odt_quality_img {
    margin-left: auto;
    margin-right: auto;
  }
}
.sub_odt_quality_disc {
  width: calc(100% - 315px);
}
@media screen and (max-width: 980px) {
  .sub_odt_quality_disc {
    width: 100%;
    margin-top: 6rem;
  }
}
.sub_odt_up_sec:nth-child(2) {
  margin-top: 4.5rem;
  margin-bottom: 6rem;
}
.sub_odt_up_sec:nth-child(3) {
  margin-bottom: 6rem;
}
.sub_odt_up_sec:nth-child(4) .sub_odt_up_box {
  align-items: center;
}
.sub_odt_up_ttl {
  min-height: 10rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 3rem;
}
.sub_odt_up_ttl .img_ttl {
  width: 10rem;
  margin-right: 3rem;
}
.sub_odt_up_ttl .h3_ttl {
  width: calc(100% - 13rem);
  font-size: 2.8rem;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.sub_odt_up_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sub_odt_up_box_ttl {
  margin-bottom: 2.5rem;
  padding-bottom: 19px;
  margin-bottom: 1.5rem;
  position: relative;
}
.sub_odt_up_box_ttl .div_ttl {
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.sub_odt_up_box_ttl .mark_line {
  width: 100%;
  height: 14px;
  position: absolute;
  left: 0;
  bottom: 0;
}
.sub_odt_up_box_ttl .mark_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 14px;
  height: 14px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.sub_odt_up_box_ttl .mark_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 14px;
  width: calc(100% - 14px);
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_odt_up_box_img {
  width: 35%;
  text-align: center;
}
@media screen and (max-width: 980px) {
  .sub_odt_up_box_img {
    width: 100%;
  }
}
.sub_odt_up_box_disc {
  width: calc(65% - 6rem);
}
@media screen and (max-width: 980px) {
  .sub_odt_up_box_disc {
    width: 100%;
    margin-top: 5rem;
  }
}
.sub_odt_up_box_img02 {
  width: 50%;
  text-align: center;
}
@media screen and (max-width: 980px) {
  .sub_odt_up_box_img02 {
    width: 100%;
  }
}
.sub_odt_up_box_disc02 {
  width: calc(50% - 6rem);
}
@media screen and (max-width: 980px) {
  .sub_odt_up_box_disc02 {
    width: 100%;
    margin-top: 5rem;
  }
}
.sub_odt_up_box_tbl {
  margin-top: 1.5rem;
}
.sub_odt_up_box_tbl table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 20px;
  background-color: #fff;
  overflow: hidden;
}
.sub_odt_up_box_tbl table tr:not(:last-child) td {
  border-bottom: 1px solid #e6e8ed;
}
.sub_odt_up_box_tbl table th {
  padding: 10px;
  background: #004ea2;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
}
.sub_odt_up_box_tbl table th:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_odt_up_box_tbl table th:nth-child(1) {
  width: 7em;
}
.sub_odt_up_box_tbl table th:nth-child(2) {
  width: calc(100% - 12em);
}
.sub_odt_up_box_tbl table th:nth-child(3) {
  width: 5em;
}
.sub_odt_up_box_tbl table td {
  padding: 15px;
  box-sizing: border-box;
}
.sub_odt_up_box_tbl table td:first-child {
  text-align: center;
}
.sub_odt_up_box_tbl table td:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_odt_up_box ol > li {
  list-style-type: none;
  counter-increment: cnt;
  position: relative;
  margin: 0;
}
.sub_odt_up_box ol > li::before {
  content: "0" counter(cnt) ".";
  color: #004ea2;
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  font-family: "Roboto", serif;
  position: absolute;
  top: -0.05em;
  left: 0;
}
.sub_odt_up_box ol > li:not(:last-child) {
  margin-bottom: 3rem;
}
.sub_odt_up_box ol > li .h4_ttl {
  margin-bottom: 1rem;
  font-size: 2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-left: 2.5em;
}
.sub_odt_up_box ol > li ul li {
  position: relative;
  padding-left: calc(10px + 0.5em);
}
.sub_odt_up_box ol > li ul li::before {
  content: "";
  position: absolute;
  top: 0.6em;
  margin-top: -5px;
  left: 0px;
  width: 10px;
  height: 10px;
  background: #004ea2;
  border-radius: 50%;
}
.sub_odt_up_box ol > li ul li:not(:last-child) {
  margin-bottom: 1rem;
}

.sub_contact_bg {
  display: flex;
  justify-content: center;
  padding: 7.5rem 0 12rem 0;
}
.sub_contact_box01 {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin-bottom: 12rem;
  padding-top: 4.3rem;
}
.sub_contact_box01_in {
  width: calc(50% - 2rem);
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
  border-radius: 20px;
  display: flex;
  flex-direction: column;
}
.sub_contact_box01_in.technical_box .sub_contact_box01_ttl::after {
  left: calc(50% - 14px);
  top: -24.5px;
  width: 28px;
  height: 39px;
  background: url(../images/contact/contact_icon01.svg) no-repeat left top;
  background-size: contain;
}
.sub_contact_box01_in.press_box .sub_contact_box01_ttl::after {
  left: calc(50% - 21px);
  top: -25px;
  width: 42px;
  height: 40px;
  background: url(../images/contact/contact_icon02.svg) no-repeat left top;
  background-size: contain;
}
.sub_contact_box01_ttl {
  background-color: #004ea2;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 8rem;
  border-radius: 20px 20px 0 0;
  position: relative;
}
.sub_contact_box01_ttl .h2_ttl {
  color: #fff;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 2;
}
.sub_contact_box01_ttl::before {
  position: absolute;
  left: calc(50% - 38px);
  top: -43px;
  content: "";
  width: 76px;
  height: 76px;
  background-color: #004ea2;
  border-radius: 50%;
}
.sub_contact_box01_ttl::after {
  position: absolute;
  content: "";
}
.sub_contact_box01_ct {
  border-radius: 0 0 20px 20px;
  padding: 4rem 6rem 4.5rem 6rem;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
@media screen and (max-width: 980px) {
  .sub_contact_box01_ct {
    padding: 3rem 4rem 3.5rem 4rem;
  }
}
.sub_contact_box01_list {
  flex-grow: 1;
  position: relative;
  margin-bottom: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sub_contact_box01_list ul {
  width: 100%;
}
.sub_contact_box01_list ul li {
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 38px;
  min-height: 28px;
}
.sub_contact_box01_list ul li::before {
  background: url(../images/common/icon_list01.svg) no-repeat left top;
  background-size: contain;
  position: absolute;
  left: 0;
  top: calc(50% - 14px);
  content: "";
  width: 28px;
  height: 28px;
}
.sub_contact_box01_list ul li:not(:last-child) {
  margin-bottom: 1.5rem;
}
.sub_contact_box01_list .common_txt01 {
  text-align: center;
  font-weight: 700;
  line-height: 2;
}
.sub_contact_box01_list .hosoku_txt {
  position: absolute;
  bottom: 0;
  right: 0;
  font-weight: 700;
}

.recruit_link_bnr01 {
  width: 820px;
  max-width: 100%;
  height: 160px;
  margin-left: auto;
  margin-right: auto;
}
.recruit_link_bnr01 a {
  border-radius: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.recruit_link_bnr01 a::before {
  background: url(../images/common/recruit_bnr_img01.jpg) no-repeat center center;
  background-size: cover;
  width: 100%;
  height: 100%;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
}
.recruit_link_bnr01 a::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  transition: transform 0.6s ease;
  background-color: rgba(0, 0, 0, 0.2);
  z-index: 1;
  opacity: 0;
}
.recruit_link_bnr01 a:hover::after {
  transition: transform 0.6s ease;
  opacity: 1;
}
.recruit_link_bnr01 a:hover .link_line::after {
  width: 0;
  transition: 0.3s;
}
.recruit_link_bnr01 a .link_line {
  width: 32px;
  height: 10px;
  position: absolute;
  right: 5rem;
  top: 50%;
  transform: translate(0, -50%);
}
.recruit_link_bnr01 a .link_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 50%;
}
.recruit_link_bnr01 a .link_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 10px;
  width: 22px;
  height: 2px;
  background: #fff;
  transition: 0.3s;
}
.recruit_link_bnr01_ttl {
  position: relative;
}
.recruit_link_bnr01_ttl .common_en01 {
  font-size: 10rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.2);
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.recruit_link_bnr01_ttl .div_ttl {
  color: #fff;
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.sub_contact_tel_box {
  background-color: #f9f9f9;
  border: 1px solid #004ea2;
  border-radius: 20px;
  margin-bottom: 6rem;
  margin-top: 5.5rem;
  width: 80rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding: 3rem 3rem 2.5rem 3rem;
  text-align: center;
}
.sub_contact_tel_box_tel {
  display: table;
  margin: 1rem auto 0 auto;
}
.sub_contact_tel_box_tel a {
  position: relative;
  color: linear-gradient(to right, #004ea2, #14b6f2);
  background: linear-gradient(to right, #004ea2, #14b6f2);
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 4.4rem;
  font-weight: 700;
  font-family: "Roboto", serif;
  line-height: 1.2;
  padding-left: 34px;
}
.sub_contact_tel_box_tel a::before {
  position: absolute;
  left: 0;
  top: 50%;
  content: "";
  width: 29px;
  height: 35px;
  margin-top: -17.5px;
  background: url(../images/common/icon_tel_grade.svg) no-repeat left top;
  background-size: contain;
}
.sub_contact_tel_box_txt {
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.common_sub_form {
  margin-top: 4rem;
}
.common_sub_form_dummy_img {
  text-align: center;
}

/* trend */
.trend_detail {
  background-color: #f5f7fb;
  padding-top: 1rem;
}

.sub_trend_detail_container01_bg {
  display: flex;
  justify-content: center;
  padding: 3.5rem 0 10rem 0;
}
.sub_trend_detail_container02_bg {
  display: flex;
  justify-content: center;
  padding: 9rem 0 11.5rem 0;
  background-color: #fff;
}
.sub_trend_detail_box {
  background-color: #fff;
  padding: 5rem 10rem;
  border-radius: 20px;
}
.sub_trend_detail_flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}
.sub_trend_detail_flex .common_sub_article_cat {
  margin-right: 1.5rem;
}
.sub_trend_detail_flex .common_sub_article_date {
  margin-right: 0;
}

/* privacy_policy */
.sub_privacy_insec:not(:last-child) {
  margin-bottom: 6rem;
}
.sub_privacy_insec .common_txt01 {
  line-height: 2.25;
}
.sub_privacy_insec .common_txt01 + .common_txt01 {
  margin-top: 2rem;
}
.sub_privacy_insec .bold_txt {
  font-weight: 700;
}
.sub_privacy_insec a {
  color: #004ea2;
  text-decoration: underline;
}
.sub_privacy_h3_ttl {
  margin-top: 4rem;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  position: relative;
  padding-left: 36px;
  margin-bottom: 1.5rem;
}
.sub_privacy_h3_ttl .mark_line {
  width: 26px;
  height: 10px;
  position: absolute;
  left: 0;
  top: 0.6em;
}
.sub_privacy_h3_ttl .mark_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 10px;
  height: 10px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.sub_privacy_h3_ttl .mark_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 10px;
  width: 16px;
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_privacy_li_list01 {
  margin-top: 3rem;
}
.sub_privacy_li_list01 li {
  position: relative;
  padding-left: 1.3em;
  letter-spacing: 0.05em;
  /*font-weight: 500;*/
  line-height: 1.8;
}
.sub_privacy_li_list01 li::before {
  content: "";
  position: absolute;
  top: calc(1em - 6px);
  left: 0px;
  width: 10px;
  height: 10px;
  background: #004ea2;
  border-radius: 50%;
}
.sub_privacy_li_list01 li:not(:last-child) {
  margin-bottom: 1rem;
}
.sub_privacy_ol_list01 li {
  list-style-type: none;
  counter-increment: cnt;
  position: relative;
  margin: 0;
  padding: 0 0 0 1.3em;
  line-height: 1.8;
}
.sub_privacy_ol_list01 li::before {
  content: counter(cnt) ")";
  font-weight: 500;
  letter-spacing: 0.05em;
  position: absolute;
  top: 0;
  left: 0;
}
.sub_privacy_ol_list01 li:not(:last-child) {
  margin-bottom: 1rem;
}
.sub_privacy_tbl01 {
  margin: 4rem 0 0 0;
}
.sub_privacy_tbl01 table {
  width: 100%;
}
.sub_privacy_tbl01 table thead th {
  background-color: #004ea2;
  color: #fff;
  height: 6rem;
  text-align: center;
  width: 25%;
  box-sizing: border-box;
}
.sub_privacy_tbl01 table thead th:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_privacy_tbl01 table thead th:nth-child(1) {
  border-radius: 20px 0 0 0;
}
.sub_privacy_tbl01 table thead th:nth-child(4) {
  border-radius: 0 20px 0 0;
}
.sub_privacy_tbl01 table tbody td {
  height: 6rem;
  text-align: center;
  background-color: #f9f9f9;
  padding: 0 5px;
}
.sub_privacy_tbl01 table tbody td:not(:last-child) {
  border-right: 1px solid #e6e8ed;
}
.sub_privacy_tbl01 table tbody td a {
  color: #004ea2;
  border-bottom: 1px solid #004ea2;
  display: inline-block;
  line-height: 1.4;
  position: relative;
  padding-right: 13px;
  text-decoration: none;
}
.sub_privacy_tbl01 table tbody td a::after {
  content: "";
  width: 7px;
  height: 7px;
  border: 0;
  border-top: solid 1.5px #004ea2;
  border-right: solid 1.5px #004ea2;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -3.5px;
  right: 0;
  transition: 0.3s;
}
.sub_privacy_tbl01 table tbody td a:hover::after {
  right: -5px;
}
.sub_privacy_tbl01_flex {
  display: flex;
  flex-wrap: wrap;
}
.sub_privacy_tbl01_in {
  box-sizing: border-box;
  width: 50%;
  display: flex;
  flex-direction: column;
}
.sub_privacy_tbl01_in:nth-child(1) {
  border-right: 1px solid #e6e8ed;
}
.sub_privacy_tbl01_in:nth-child(1) .accct02 {
  border-radius: 0 0 0 20px;
}
.sub_privacy_tbl01_in:nth-child(2) .accct02 {
  border-radius: 0 0 20px 0;
}
.sub_privacy_tbl01 .acctit02 {
  color: #fff;
  background-color: #6c7b9b;
  height: 6rem;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  cursor: pointer;
}
.sub_privacy_tbl01 .acctit02 .btn {
  position: absolute;
  width: 12px;
  height: 12px;
  top: calc((100% - 12px) / 2);
  right: 2.5rem;
}
.sub_privacy_tbl01 .acctit02 .btn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  width: 12px;
  height: 2px;
  background-color: #fff;
}
.sub_privacy_tbl01 .acctit02 .btn::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  width: 2px;
  height: 12px;
  background-color: #fff;
}
.sub_privacy_tbl01 .acctit02.open .btn::after {
  opacity: 0;
}
.sub_privacy_tbl01 .accct02 {
  background-color: #f9f9f9;
  flex-grow: 1;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s ease;
}
.sub_privacy_tbl01 .accct02.open {
  max-height: 1000px;
}
.sub_privacy_tbl01 .accct02 .in_box {
  padding: 2rem 3rem;
}

.sub_search_ttl {
  text-align: center;
  margin-bottom: 7rem;
  font-size: 2.6rem;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.search .common_sub_container_bg {
  padding-bottom: 12rem;
}

/* power_device */
.sub_power_device_container01_bg {
  padding: 7rem 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_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sub_power_device_container01_lead {
  margin-bottom: 10rem;
  padding: 6.5rem;
  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: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-bottom: 3rem;
}
.sub_power_device_container01_lead_disc {
  width: calc(55% - 6.5rem);
}
.sub_power_device_container01_lead_img {
  width: 45% img;
  width-width: 100%;
}
.sub_power_device_container01_lead .ft_contact_btn.btn01 {
  margin-right: 0;
  margin-top: 5rem;
}
.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: 6rem 0 0 0;
}
.sub_power_device_container01_box_cover {
  padding: 8rem 0 0 0;
}
.sub_power_device_container01_box_cover .sub_power_device_container01_box_sec:nth-child(2n+0) .sub_power_device_container01_box_disc {
  order: 1;
}
.sub_power_device_container01_box_cover .sub_power_device_container01_box_sec:nth-child(2n+0) .sub_power_device_container01_box_img {
  order: 0;
}
.sub_power_device_container01_box_sec {
  margin-bottom: 12rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sub_power_device_container01_box_disc {
  width: 46.66%;
}
.sub_power_device_container01_box_disc .common_txt01 .cl_txt {
  font-weight: 700;
  color: #ed5e13;
}
.sub_power_device_container01_box_img {
  width: 48.33%;
}
.sub_power_device_container01_box_ttl {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
  position: relative;
  padding-left: 48px;
}
.sub_power_device_container01_box_ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 14px;
  height: 14px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.sub_power_device_container01_box_ttl::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 14px;
  width: 22px;
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_power_device_container01_box_ttl .common_en01 {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #004ea2;
  display: flex;
  align-items: center;
  margin-right: 1.5rem;
}
.sub_power_device_container01_box_ttl .common_en01 .big_txt {
  font-size: 4.2rem;
  margin-left: 1rem;
  font-weight: 500;
  position: relative;
  top: -2px;
}
.sub_power_device_container01_box_ttl .h3_ttl {
  color: #004ea2;
  border: 2px solid #004ea2;
  border-radius: 9999px;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  min-width: 8rem;
  height: 3.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 2rem;
}
.sub_power_device_container01_box_catch {
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 3rem;
}
.sub_power_device_container02_bg {
  display: flex;
  justify-content: center;
  padding: 10rem 0;
  background: #f5f7fb;
}
.sub_power_device_container02_tbl table {
  width: 100%;
  background-color: #fff;
  margin-bottom: 1.5rem;
}
.sub_power_device_container02_tbl table thead th {
  text-align: center;
  background: #004ea2;
  color: #fff;
  padding: 1.5rem;
  text-align: center;
  box-sizing: border-box;
}
.sub_power_device_container02_tbl table thead th:first-child {
  border-radius: 20px 0 0 0;
}
.sub_power_device_container02_tbl table thead th:last-child {
  border-radius: 0 20px 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: 2.5rem;
  text-align: center;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  width: 50%;
}
.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: 2.5rem;
  letter-spacing: 0.05em;
  text-align: center;
  box-sizing: border-box;
  width: 25%;
}
.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 20px;
}
.sub_power_device_container02_tbl table tbody tr:last-child td:last-child {
  border-radius: 0 0 20px 0;
}
.sub_power_device_container03_bg {
  display: flex;
  justify-content: center;
  padding: 7rem 0;
  position: relative;
  background-color: #d2dfee;
}
.sub_power_device_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_power_device_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: 62rem;
  height: 6rem;
  margin-left: auto;
  margin-right: auto;
}
.sub_power_device_container03_box {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 0 6rem;
  margin-top: 5rem;
}
.sub_power_device_container03_box ul {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}
.sub_power_device_container03_box ul li {
  width: calc((100% - 6rem) / 3);
  margin-bottom: 1rem;
  position: relative;
}
.sub_power_device_container03_box ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 70px;
  height: 70px;
}
.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: 1rem 1.5rem 1rem 2rem;
  border-radius: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  min-height: 70px;
  margin-left: 90px;
  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: 12rem 0 11rem 0;
  background: #f5f7fb;
}
.sub_power_device_container05_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0 11rem 0;
}
.sub_power_device_container06_bg {
  display: flex;
  justify-content: center;
  padding: 10rem 0 1.2rem 0;
  background: #f5f7fb;
}
.sub_power_device_container07_bg {
  display: flex;
  justify-content: center;
  padding: 10rem 0 3rem 0;
}

.power_device .common_sub_menu_box01 ul li {
  width: calc((100% - 5rem) / 6);
}

.design_prototype .common_sub_menu_box01 ul li {
  width: calc((100% - 7.5rem) / 4);
}

/* design_prototype */
.sub_design_prototype_container01_bg {
  padding: 7rem 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: 10rem 0;
  background: #f5f7fb;
}
.sub_design_prototype_container03_bg {
  display: flex;
  justify-content: center;
  padding: 7rem 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: 62rem;
  height: 6rem;
  margin-left: auto;
  margin-right: auto;
}
.sub_design_prototype_container03_box {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 0 6rem;
  margin-top: 5rem;
}
.sub_design_prototype_container03_box ul {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}
.sub_design_prototype_container03_box ul li {
  width: calc((100% - 6rem) / 3);
  margin-bottom: 1rem;
  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: 1rem 1.5rem 1rem 2rem;
  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: 12rem 0 11rem 0;
  background: #f5f7fb;
}
.sub_design_prototype_container05_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0 11rem 0;
}
.sub_design_prototype_container06_bg {
  display: flex;
  justify-content: center;
  padding: 10rem 0 1.2rem 0;
  background: #f5f7fb;
}
.sub_design_prototype_container07_bg {
  display: flex;
  justify-content: center;
  padding: 10rem 0 3rem 0;
}

/* flap */
.sub_flap_container01_bg {
  display: flex;
  justify-content: center;
  padding: 7rem 0 12rem 0;
}
.sub_flap_container01_ttl {
  display: table;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  font-size: 3.6rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  position: relative;
  margin-bottom: 4rem;
}
.sub_flap_container01_ttl::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  width: 11rem;
  height: 11rem;
}
.sub_flap_container01_ttl.nomark {
  padding-left: 0;
}
.sub_flap_container01_ttl.jisya {
  padding-left: 13.5rem;
}
.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: 12rem;
}
.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: 12rem;
}
.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;
  max-width: 80rem;
  width: 100%;
  margin-bottom: 8rem;
  margin-top: 5rem;
}
.sub_flap_container01_img img {
  width: 100%;
}
.sub_flap_container01_img .common_txt01 {
  margin-top: 3rem;
  line-height: 2.25;
}
.sub_flap_container01_img .common_txt01 .cl_txt {
  color: #ed5e13;
  font-weight: 700;
}
.sub_flap_container01_flex {
  display: flex;
  justify-content: space-between;
}
.sub_flap_container01_box01 {
  width: 40%;
  border-radius: 20px;
  background: #d2dfee;
  padding: 3rem 4rem;
  display: flex;
  flex-direction: column;
  position: relative;
}
.sub_flap_container01_box01::after {
  content: "";
  position: absolute;
  right: -40px;
  top: 50%;
  width: 40px;
  height: 50px;
  margin-top: -25px;
  background: #d2dfee;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.sub_flap_container01_box01_list {
  background-color: #fff;
  padding: 2rem 3rem;
  border-radius: 20px;
  margin-top: 1.5rem;
  flex-grow: 1;
  display: flex;
  align-items: center;
}
.sub_flap_container01_box01 .h3_ttl {
  font-size: 2.2rem;
  text-align: center;
  display: table;
  line-height: 57px;
  min-height: 57px;
  margin-bottom: 2rem;
  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 {
  width: 55%;
  border-radius: 20px;
  background: #004ea2;
  padding: 3rem 4rem;
  display: flex;
  flex-direction: column;
}
.sub_flap_container01_box02_list {
  background-color: #fff;
  padding: 2rem 3rem;
  border-radius: 20px;
}
.sub_flap_container01_box02 .h3_ttl {
  color: #fff;
  font-size: 2.2rem;
  text-align: center;
  display: table;
  line-height: 57px;
  min-height: 57px;
  margin-bottom: 3rem;
  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: 10rem 0;
  background: #f5f7fb;
}
.sub_flap_container02_flex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 6rem;
}
.sub_flap_container02_box {
  width: calc(50% - 2rem);
}
.sub_flap_container02_box .common_sub_h3_ttl {
  padding-bottom: 2rem;
  margin-bottom: 4rem;
}
.sub_flap_container02_tbl table {
  width: 100%;
  margin-bottom: 1.5rem;
  border-collapse: separate;
}
.sub_flap_container02_tbl table thead th {
  text-align: center;
  background: #004ea2;
  color: #fff;
  padding: 1.5rem;
  text-align: center;
  box-sizing: border-box;
  width: 25%;
}
.sub_flap_container02_tbl table thead th:first-child {
  border-radius: 20px 0 0 0;
}
.sub_flap_container02_tbl table thead th:last-child {
  border-radius: 0 20px 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: 2.5rem;
  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: 2.5rem;
  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 20px;
  border-left: 2px solid #ed5e13;
}
.sub_flap_container02_tbl table tfoot td:last-child {
  border-radius: 0 0 20px 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: 12rem 0;
}
.sub_flap_container03_flex {
  display: flex;
  justify-content: space-between;
  margin-top: 4rem;
}
.sub_flap_container03_left {
  width: 35%;
  flex-direction: column;
  display: flex;
}
.sub_flap_container03_left .ft_contact_btn.btn01 {
  margin-right: 0;
  margin-top: 6rem;
}
.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: 4rem;
}
.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_right {
  width: 60%;
  flex-direction: column;
  display: flex;
}
.sub_flap_container03_right .sub_flap_container03_box_inttl {
  max-width: 420px;
}
.sub_flap_container03_box {
  background: #f5f7fb;
  padding: 3rem 3.5rem;
  border-radius: 20px;
  flex-grow: 1;
}
.sub_flap_container03_box_inttl {
  background: #004ea2;
  color: #fff;
  height: 36px;
  min-width: 32rem;
  width: 76.9%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 9999px;
  margin-bottom: 4.5rem;
  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.5rem 0;
}
.sub_flap_container03_box_list02 li img {
  margin-bottom: 1rem;
}
.sub_flap_container03_box_list02 li img {
  border-radius: 20px;
  overflow: hidden;
}
.sub_flap_container04_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
  background: #f5f7fb;
}
.sub_flap_container04_flex {
  display: flex;
  justify-content: space-between;
  margin-top: 4rem;
  align-items: center;
  gap: 3rem;
}
@media screen and (max-width: 1050px) {
  .sub_flap_container04_flex {
    flex-direction: column;
  }
}
.sub_flap_container04_tbl {
  width: 65%;
}
@media screen and (max-width: 1050px) {
  .sub_flap_container04_tbl {
    width: 100%;
  }
}
.sub_flap_container04_tbl table {
  width: 100%;
}
.sub_flap_container04_tbl table thead th {
  text-align: center;
  background: #004ea2;
  color: #fff;
  padding: 1.5rem;
  text-align: center;
  box-sizing: border-box;
  width: 33.3333333333%;
}
.sub_flap_container04_tbl table thead th:first-child {
  border-radius: 20px 0 0 0;
}
.sub_flap_container04_tbl table thead th:last-child {
  border-radius: 0 20px 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: 1.5rem 2.5rem;
  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 20px;
}
.sub_flap_container04_tbl table tbody tr:last-child td:last-child {
  border-radius: 0 0 20px 0;
}
.sub_flap_container04_img {
  display: flex;
  gap: 3rem;
  align-items: center;
}
.sub_flap_container04_img img {
  width: 100%;
}
.sub_flap_container04_img img.arrow {
  height: fit-content;
  aspect-ratio: 42/38;
}
.sub_flap_container05_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
}
.sub_flap_container05_flex {
  background: #f9f9f9;
  border: 1px solid #004ea2;
  padding: 4rem 8rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 20px;
  margin-top: 4rem;
}
.sub_flap_container05_img {
  width: 42.8%;
}
.sub_flap_container05_disc {
  width: 50%;
}
.sub_flap_container05_disc .common_txt01 + .common_txt01 {
  margin-top: 4rem;
}
.sub_flap_container05_disc .cl_txt {
  font-weight: 700;
  color: #ed5e13;
}
.sub_flap_container06_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
  background: #f5f7fb;
}
.sub_flap_container06_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: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #074e9b;
  width: 100%;
}
.sub_flap_container06_h3_ttl .deco {
  font-size: 1.4rem;
  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: -15px;
  width: 26px;
  height: 16px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_flap_container06_tbl {
  margin-top: 4rem;
}
.sub_flap_container06_tbl table {
  width: 100%;
}
.sub_flap_container06_tbl table thead th {
  text-align: center;
  background: #004ea2;
  color: #fff;
  padding: 1.5rem;
  text-align: center;
  box-sizing: border-box;
}
.sub_flap_container06_tbl table thead th:nth-child(1) {
  width: 60px;
  border-radius: 20px 0 0 0;
}
.sub_flap_container06_tbl table thead th:nth-child(2) {
  width: 420px;
}
.sub_flap_container06_tbl table thead th:nth-child(3) {
  width: calc(100% - 840px);
}
.sub_flap_container06_tbl table thead th:nth-child(4) {
  width: 160px;
}
.sub_flap_container06_tbl table thead th:nth-child(5) {
  width: 200px;
  border-radius: 0 20px 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: 2rem 2rem;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  background-color: #fff;
  width: 6rem;
  border-right: 1px solid #e6e8ed;
  border-bottom: 1px solid #e6e8ed;
  text-align: center;
}
.sub_flap_container06_tbl table tbody td {
  padding: 2rem 2rem;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  background-color: #fff;
}
.sub_flap_container06_tbl table tbody td .pd_sml {
  padding: 1rem 2rem;
}
.sub_flap_container06_tbl table tbody td:nth-child(2) .flex {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.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: 1rem;
  right: 1rem;
  width: 32px;
  height: 32px;
  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: 32px;
  height: 32px;
  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:last-child {
  font-size: 1.6rem;
}
.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 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 20px;
}
.sub_flap_container06_tbl table tbody tr:last-child td:last-child {
  border-radius: 0 0 20px 0;
}
.sub_flap_container07_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0 2rem 0;
}
.sub_flap_container07_bg .common_sub_flow_box_in {
  background: #f9f9f9;
}
.sub_flap_container08_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0 9rem 0;
  background: #f5f7fb;
}
.sub_flap_container09_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 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: 12rem 0;
  margin-bottom: 7rem;
  background: #f5f7fb;
}

/* flap_ss */
.sub_flap_ss_container01_bg {
  display: flex;
  justify-content: center;
  padding: 7rem 0 5rem 0;
}
.sub_flap_ss_container02_bg {
  display: flex;
  justify-content: center;
  padding: 10rem 0;
  background: #f5f7fb;
}
.sub_flap_ss_container02_sec {
  padding: 4.5rem 0 2rem 0;
}
.sub_flap_ss_container02_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sub_flap_ss_container02_flex .common_txt01 {
  line-height: 2.25;
}
.sub_flap_ss_container02_flex .common_txt01 .cl_txt {
  font-weight: 700;
  color: #ed5e13;
}
.sub_flap_ss_container02_img {
  width: 48.33%;
}
.sub_flap_ss_container02_img .common_txt01 {
  margin-top: 1.5rem;
}
.sub_flap_ss_container02_disc {
  width: 46.66%;
}
.sub_flap_ss_container02_ttl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 3rem;
}
.sub_flap_ss_container02_ttl .common_en01 {
  margin-right: 4rem;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  color: #c5d1e8;
  font-size: 2.8rem;
  letter-spacing: 0.05em;
  font-weight: 500;
}
.sub_flap_ss_container02_ttl .common_en01 .big_txt {
  font-size: 4.2rem;
  margin-left: 10px;
}
.sub_flap_ss_container02_ttl .h3_ttl {
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.sub_flap_ss_container03_bg {
  display: flex;
  justify-content: center;
  padding: 5rem 0 7rem 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;
  width: 52rem;
  height: 9rem;
}
.sub_flap_ss_container03_bg .ft_contact_btn.btn01 .btn_bf {
  width: 34rem;
  height: 3.7rem;
  padding: 1rem;
}
.sub_flap_ss_container03_txt {
  color: #fff;
  text-align: center;
  line-height: 2;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 5rem;
}
.sub_flap_ss_container04_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0 2rem 0;
  background: #f5f7fb;
}
.sub_flap_ss_container05_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0 10rem 0;
}
.sub_flap_ss_container06_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 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: 12rem 0 7rem 0;
}
.sub_flap_ss_container08_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
  background: #f5f7fb;
}
.sub_flap_ss_container09_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
}
.sub_flap_ss_container10_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
  background: #f5f7fb;
}

/* flap_holder */
.sub_flap_holder_container01_bg {
  display: flex;
  justify-content: center;
  padding: 7rem 0 5rem 0;
}
.sub_flap_holder_container02_bg {
  display: flex;
  justify-content: center;
  padding: 10rem 0 12rem 0;
  background: #f5f7fb;
}
.sub_flap_holder_container02_bg .common_sub_h2_ttl02_sml {
  margin-bottom: 5rem;
}
.sub_flap_holder_container02_bf {
  background: #d2dfee;
  padding: 3rem;
  position: relative;
  font-weight: 700;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.05em;
  margin: 3.5rem 0 6rem 0;
}
.sub_flap_holder_container02_bf::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -30px;
  width: 100px;
  height: 30px;
  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: 20px;
  padding: 6rem 5.5rem;
  margin-bottom: 2.5rem;
}
.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: 42rem;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 3rem;
  margin-left: auto;
  margin-right: auto;
}
.sub_flap_holder_container02_box_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: center;
  margin: 6rem 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: 3rem;
}
.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: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin: 106px 0 10rem 0;
  position: relative;
  color: #004ea2;
}
.sub_flap_holder_container02_af::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -76px;
  width: 152px;
  height: 56px;
  background: #004ea2;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_flap_holder_container02_merit {
  margin-top: 4rem;
}
.sub_flap_holder_container02_merit .common_en01 {
  display: flex;
  align-items: flex-end;
  color: #c5d1e8;
  font-weight: 500;
  font-size: 4.8rem;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
  line-height: 1.2;
}
.sub_flap_holder_container02_merit .common_en01 .big_txt {
  font-size: 6.2rem;
  margin-left: 1rem;
  line-height: 1;
}
.sub_flap_holder_container02_merit .merit_txt {
  display: flex;
  align-items: center;
}
.sub_flap_holder_container02_merit .merit_txt .bf_txt {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  padding-right: 88px;
}
.sub_flap_holder_container02_merit .merit_txt .bf_txt::after {
  content: "";
  position: absolute;
  right: -38px;
  margin-top: -18px;
  top: 50%;
  transform: translate(-50%, 0);
  width: 64px;
  height: 35px;
  background: url(../images/common/icon_arrow01.png) no-repeat left top;
  background-size: contain;
}
.sub_flap_holder_container02_merit .merit_txt .bf_txt .cl_txt {
  color: #ed5e13;
}
.sub_flap_holder_container02_merit .merit_txt .af_txt {
  font-size: 2.8rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  position: relative;
  padding-right: 75px;
}
.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: 4.5rem;
  text-align: center;
  margin-top: 7rem;
}
.sub_flap_holder_container03_bg {
  display: flex;
  justify-content: center;
  padding: 8rem 0 7rem 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;
  width: 52rem;
  height: 9rem;
}
.sub_flap_holder_container03_bg .ft_contact_btn.btn01 .btn_bf {
  width: 46rem;
  height: 3.7rem;
  font-size: 1.6rem;
}
.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: 5rem;
}
.sub_flap_holder_container04_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0 2rem 0;
  background: #f5f7fb;
}
.sub_flap_holder_container05_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0 10rem 0;
}
.sub_flap_holder_container06_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 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: 12rem 0 7rem 0;
}

/* su1su2 */
.sub_su1su2_container01_bg {
  display: flex;
  justify-content: center;
  padding: 7rem 0 12rem 0;
}
.sub_su1su2_container01_tbl table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 20px;
  background-color: #fff;
  overflow: hidden;
}
.sub_su1su2_container01_tbl table tr:not(:last-child) td {
  border-bottom: 1px solid #e6e8ed;
}
.sub_su1su2_container01_tbl table thead th {
  padding: 15px 20px;
  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: 25px 20px;
  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: 10rem 0;
  background: #f5f7fb;
}
.sub_su1su2_container02_bg .common_sub_h2_ttl02_sml {
  margin-bottom: 5rem;
}
.sub_su1su2_container02_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 5rem;
}
.sub_su1su2_container02_box_in {
  width: calc((100% - 6rem) / 3);
}
.sub_su1su2_container02_box_no {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  border: 1px solid #004ea2;
  position: relative;
  margin-bottom: 3rem;
  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: 3.8rem;
  margin-left: 10px;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}
.sub_su1su2_container02_box .h3_ttl {
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
}
.sub_su1su2_container02_box02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sub_su1su2_container02_box02_in {
  width: calc(50% - 2rem);
  display: flex;
  flex-direction: column;
}
.sub_su1su2_container02_box02_ct {
  border-radius: 20px;
  background: #fff;
  padding: 3.5rem 4rem 4.5rem 4rem;
  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: 1rem;
  text-align: left;
  margin-bottom: 1.5rem;
}
.sub_su1su2_container02_box02_img {
  flex-grow: 1;
}
.sub_su1su2_container02_box02_list {
  border-radius: 20px;
  background: #f5f7fb;
  padding: 2rem 3rem;
  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-size: 1.6rem;
  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: 12rem 0;
}
.sub_su1su2_container03_tbl table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 20px;
  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: 15px 20px;
  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: 25px 30px;
  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: 8rem 0 7rem 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 {
  width: 38rem;
  font-size: 1.6rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  padding: 0;
}
.sub_su1su2_container04_bg .ft_contact_btn.btn02 .btn_bf {
  width: 32rem;
  font-size: 1.6rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  padding: 0;
}
.sub_su1su2_container05_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0 5rem 0;
}
.sub_su1su2_container06_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
  background: #f5f7fb;
}
.sub_su1su2_container06_tbl {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.sub_su1su2_container06_tbl table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 20px;
  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: 15px 20px;
  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: 25px 30px;
  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: 2rem;
}
.sub_su1su2_container06_tbl .hosoku li {
  font-size: 1.4rem;
  position: relative;
  padding-left: 1em;
}
.sub_su1su2_container06_tbl .hosoku li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}

.su1su2 .sub_power_device_container05_bg {
  background-color: #f5f7fb;
}
.su1su2 .sub_power_device_container05_bg .common_sub_item_box {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}
.su1su2 .sub_power_device_container05_bg .common_sub_item_sn {
  width: 38rem;
}
.su1su2 .sub_power_device_container06_bg {
  background-color: #f5f7fb;
}
.su1su2 .sub_power_device_container06_bg.white {
  background-color: #fff;
  padding-bottom: 7rem;
}
.su1su2 .sub_power_device_container07_bg {
  padding-bottom: 12rem;
}

/* power_cycle */
.sub_power_cycle_container01_bg {
  display: flex;
  justify-content: center;
  padding: 7rem 0 12rem 0;
}
.sub_power_cycle_container01_box {
  background: #fff;
  border-radius: 20px;
  padding: 6rem 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 {
  max-width: 800px;
  width: 90.625%;
}
.sub_power_cycle_container01_box .h3_ttl {
  border-radius: 9999px;
  background: #004ea2;
  color: #fff;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  width: 42rem;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 3rem;
  margin-left: auto;
  margin-right: auto;
}
.sub_power_cycle_container01_box .common_txt01 + .common_txt01 {
  margin-top: 4rem;
}
.sub_power_cycle_container01_box_tbl {
  margin-top: 4rem;
}
.sub_power_cycle_container01_box_tbl table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 20px;
  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: 15px 20px;
  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: 15px 20px;
  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: 10rem 0;
  background: #f5f7fb;
}
.sub_power_cycle_container02_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 5rem;
  margin-top: 5rem;
}
.sub_power_cycle_container02_box_img {
  width: 40%;
}
.sub_power_cycle_container02_box_img img {
  border-radius: 20px;
  overflow: hidden;
}
.sub_power_cycle_container02_box figcaption {
  margin-top: 1rem;
  text-align: center;
  font-weight: 700;
}
.sub_power_cycle_container02_box_disc {
  width: calc(60% - 5.5rem);
  padding-bottom: 3rem;
}
.sub_power_cycle_container02_box_disc .common_txt01 + .common_txt01 {
  margin-top: 4rem;
}
.sub_power_cycle_container02_box02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sub_power_cycle_container02_box02_img {
  width: calc(50% - 2rem);
}
.sub_power_cycle_container02_box02_img .common_sub_h3_ttl {
  margin-bottom: 4rem;
}
.sub_power_cycle_container02_box02 figcaption {
  margin-top: 1rem;
  text-align: center;
  font-weight: 700;
}
.sub_power_cycle_container03_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
}
.sub_power_cycle_container03_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 8rem;
}
.sub_power_cycle_container03_box_img {
  width: calc(50% - 2rem);
}
.sub_power_cycle_container03_box02 {
  background: #f9f9f9;
  border: 1px solid #004ea2;
  border-radius: 20px;
  padding: 5rem 6rem;
}
.sub_power_cycle_container03_box02 .h4_ttl {
  border-radius: 9999px;
  background: #004ea2;
  color: #fff;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  width: 42rem;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 3rem;
  margin-left: auto;
  margin-right: auto;
}
.sub_power_cycle_container03_box02 .common_sub_lead_center {
  margin-bottom: 4rem;
}
.sub_power_cycle_container03_box02_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sub_power_cycle_container03_box02_img {
  width: calc((100% - 6rem) / 3);
}
.sub_power_cycle_container03_box02 figcaption {
  margin-top: 1rem;
  text-align: center;
  font-weight: 700;
  display: flex;
  justify-content: center;
}
.sub_power_cycle_container03_box02 figcaption .in_txt {
  margin: 0 2rem;
}
.sub_power_cycle_container04_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
  background: #f5f7fb;
}
.sub_power_cycle_container04_tbl table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 20px;
  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 20px;
  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: 25px 20px;
  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: 1.5rem;
}
.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: 12rem 0;
}
.sub_power_cycle_container06_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
  background: #f5f7fb;
}
.sub_power_cycle_container07_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 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: 12rem 0;
  background: #f5f7fb;
}

/* power_discrete */
.sub_power_discrete_container01_bg {
  display: flex;
  justify-content: center;
  padding: 7rem 0 5rem 0;
}
.sub_power_discrete_container02_bg {
  display: flex;
  justify-content: center;
  padding: 10rem 0;
  background: #f5f7fb;
}
.sub_power_discrete_container03_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
}
.sub_power_discrete_container03_bg .common_sub_lead_center {
  margin-bottom: 3rem;
}
.sub_power_discrete_container03_bg .sub_flap_container06_h3_ttl {
  background-color: #f5f7fb;
}
.sub_power_discrete_container03_bg .sub_flap_container06_h3_ttl::after {
  background-color: #f5f7fb;
}
.sub_power_discrete_container05_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
}
.sub_power_discrete_container05_box {
  display: flex;
  justify-content: space-between;
}
.sub_power_discrete_container05_box_in {
  width: calc(50% - 18px);
}
.sub_power_discrete_container05_box_in .h4_ttl {
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
}
.sub_power_discrete_container05_box_in .comment_name {
  font-size: 1.4rem;
  display: block;
  margin-top: 1rem;
}
.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: 3rem 0 2rem 0;
}

/* imc */
.sub_imc_container01_bg {
  display: flex;
  justify-content: center;
  padding: 7rem 0 12rem 0;
}
.sub_imc_container01_bf {
  background: #d2dfee;
  padding: 3rem;
  position: relative;
  font-weight: 700;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.05em;
  margin: 10rem 0 6rem 0;
}
.sub_imc_container01_bf::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -29px;
  width: 100px;
  height: 30px;
  background: #d2dfee;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.sub_imc_container01_bf .in_txt {
  position: relative;
  padding-left: 81px;
}
.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: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 3rem;
  line-height: 1.8;
}
.sub_imc_container01_box {
  border: 1px solid #004ea2;
  background: #f9f9f9;
  border-radius: 20px;
  padding: 8rem 10rem;
  margin-bottom: 7rem;
}
.sub_imc_container01_box_in {
  display: flex;
  justify-content: space-between;
  margin-top: 4rem;
}
.sub_imc_container01_box_disc {
  width: calc(62% - 7rem);
}
.sub_imc_container01_box_img {
  width: 38%;
}
.sub_imc_container01_insec .h3_ttl {
  text-align: center;
  font-size: 2.4rem;
  margin-bottom: 4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.sub_imc_container01_insec_flex {
  display: flex;
  justify-content: space-between;
  margin-top: 5rem;
}
.sub_imc_container01_insec_flex_in {
  width: calc(50% - 2rem);
}
.sub_imc_container01_insec_flex_in .sub_imc_container01_insec_txt {
  text-align: center;
  margin-top: 1rem;
  font-weight: bold;
}
.sub_imc_container01_insec_img01 {
  text-align: center;
  margin-top: 3rem;
  margin-bottom: 5rem;
}
.sub_imc_container02_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
  background: #f5f7fb;
}
.sub_imc_container02_box {
  background: #fff;
  padding: 7rem 10rem;
  margin-top: 5rem;
}
.sub_imc_container02_box .h3_ttl {
  font-size: 2.4rem;
  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: 2rem;
}
.sub_imc_container02_box_flex {
  margin-bottom: 4rem;
  margin-top: 4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sub_imc_container02_box_flex_disc {
  width: 54%;
}
.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: 3rem 4rem;
  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_flex_img {
  width: 38%;
}
.sub_imc_container02_box_flex02 {
  margin-bottom: 4rem;
  margin-top: 4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sub_imc_container02_box_flex02_disc {
  width: calc(42% - 60px);
  padding-bottom: 3rem;
}
.sub_imc_container02_box_flex02_img {
  width: 58%;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.sub_imc_container02_box_flex02_img::after {
  content: "";
  position: absolute;
  top: calc(50% - 1.5rem);
  transform: translate(0, -50%);
  right: -40px;
  width: 18px;
  height: 49px;
  background: #004ea2;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.sub_imc_container02_box_flex02_img figure {
  width: calc(50% - 1rem);
}
.sub_imc_container02_box_flex02_img figure figurecaption {
  margin-top: 1rem;
  display: block;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.sub_imc_container02_box_tbl table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 20px;
  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: 15px 20px;
  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: 15px 20px;
  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: 12rem 0;
}
.sub_imc_container03_box {
  display: table;
  margin-left: auto;
  margin-right: auto;
  margin-top: 4rem;
}
.sub_imc_container03_img {
  margin-bottom: 1rem;
}
.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: 8rem 0 7rem 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;
  width: 52rem;
  height: 9rem;
}
.sub_imc_container04_bg .ft_contact_btn.btn01 .btn_bf {
  width: 44rem;
  height: 3.7rem;
}
.sub_imc_container05_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
}
.sub_imc_container06_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
  background: #f5f7fb;
}
.sub_imc_container07_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
}
.sub_imc_container08_bg {
  display: flex;
  justify-content: center;
  padding: 12rem 0;
  background: #f5f7fb;
}/*# sourceMappingURL=pc.css.map */