@charset "UTF-8";
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** SPスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/
/*@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;
}

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: 14px;
}

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

.sp {
  display: block;
}

.pc {
  display: none;
}

.common_pcnolink {
  pointer-events: visible;
}

.common_w_inner {
  width: 92%;
}

.common_m_inner {
  width: 92%;
}

.common_inner {
  /*width: 86%;*/
  width: 92%;
}

.ank {
  padding-top: 55px;
  margin-top: -55px;
}
@media screen and (min-width: 481px) {
  .ank {
    padding-top: 90px;
    margin-top: -90px;
  }
}

.common_txt01 {
  line-height: 2;
  letter-spacing: 0.05em;
}

.common_tx_c {
  text-align: center;
}

.common_tx_r {
  text-align: right;
}

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

.common_btn01 {
  width: 100%;
  height: 50px;
  max-width: 250px;
}
.common_btn01.wide_size {
  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;
  font-size: 16px;
}
.common_btn01 a .link_line {
  width: 19px;
  height: 6px;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translate(0, -50%);
}
.common_btn01 a .link_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
}
.common_btn01 a .link_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 6px;
  width: 13px;
  height: 1px;
  background: #fff;
  transition: 0.3s;
}

.common_top_h2_ttl .common_en01 {
  font-size: 46px;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #004ea2;
  display: block;
  word-break: break-all;
  line-height: 1;
  margin-bottom: 5px;
}
.common_top_h2_ttl .h2_ttl {
  display: inline-block;
  color: #004ea2;
  letter-spacing: 0.05em;
  font-weight: 700;
  position: relative;
  padding-left: 28px;
}
.common_top_h2_ttl .h2_ttl .ttl_line {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  width: 22px;
  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: 8px;
  height: 8px;
  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: 8px;
  width: 14px;
  height: 1px;
  background-color: #004ea2;
}

/*----------------------------------------------------------------------------
******************************************************************************
** header
******************************************************************************
----------------------------------------------------------------------------*/
.fix_btn {
  display: none;
}

header {
  z-index: 999;
  width: 100%;
  height: 50px;
  display: flex;
  align-items: center;
  position: fixed;
  background: #fff;
  top: 0;
  left: 0;
}
header .hd_logo {
  margin-left: 4%;
  width: 261px;
  margin-bottom: 5px;
}
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: 50px;
  height: 50px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 999;
}
header .nav_toggle_pc span {
  transition: 0.3s;
  border-top: 2px solid #004ea2;
  width: 25px;
  position: absolute;
  top: 16px;
  left: calc((100% - 25px) / 2);
  text-align: center;
}
header .nav_toggle_pc span:nth-child(2) {
  top: 23px;
}
header .nav_toggle_pc span:nth-child(3) {
  top: 30px;
}
header .nav_toggle_pc span.open:nth-child(1) {
  transform: rotate(-45deg);
  top: 23px;
}
header .nav_toggle_pc span.open:nth-child(2) {
  display: none;
}
header .nav_toggle_pc span.open:nth-child(3) {
  transform: rotate(45deg);
  top: 23px;
}
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% - 50px);
  box-sizing: border-box;
  position: relative;
  margin-top: 50px;
  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: 10px 4%;
  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.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%;
}
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: 10px 4%;
  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 .aco_btn {
  position: absolute;
  right: 0;
  top: 0;
  width: 30px;
  height: 43px;
  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 .hd_search {
  margin-bottom: 30px;
}
header .hd_search_icon {
  display: none;
}
header .hd_search_ct .common_inner {
  width: 100%;
}
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);
}
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 {
  display: none;
}

/*----------------------------------------------------------------------------
******************************************************************************
** footer
******************************************************************************
----------------------------------------------------------------------------*/
.ft_contact {
  background: url(../images/common/ft_contact_bk_sp.png) no-repeat center top;
  padding: 45px 0 30px 0;
  display: flex;
  justify-content: center;
}
.ft_contact_btn.btn01 {
  margin-bottom: 30px;
  max-width: 288px;
  width: 100%;
  height: 55px;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.ft_contact_btn.btn01:hover .btn_bf {
  top: -1.5rem;
}
.ft_contact_btn.btn01 a {
  padding-top: 10px;
  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: 16px;
  padding-left: 33px;
}
.ft_contact_btn.btn01 a .icon_txt::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 23px;
  height: 15px;
  background: url(../images/common/icon_mail.svg);
  background-size: contain;
}
.ft_contact_btn.btn01 .btn_bf {
  min-width: 192px;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  border: 1px solid #fff;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -0.75em;
  color: #fff;
  z-index: 3;
  border-radius: 9999px;
  padding: 1px 30px;
  display: block;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
.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 {
  max-width: 288px;
  width: 100%;
  height: 55px;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.ft_contact_btn.btn02:hover .btn_bf {
  top: -1.5rem;
}
.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;
  padding-top: 10px;
}
.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::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: 16px;
  padding-left: 26px;
}
.ft_contact_btn.btn02 a .icon_txt::before {
  background: url(../images/common/icon_download.svg) no-repeat left top;
  background-size: contain;
  width: 16px;
  height: 22px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  content: "";
}
.ft_contact_btn.btn02 .btn_bf {
  min-width: 192px;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -0.75em;
  background-color: #fff;
  color: #e64860;
  z-index: 3;
  border-radius: 9999px;
  padding: 1px 20px;
  display: block;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
.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: 15px;
  bottom: 70px;
  z-index: 9;
  opacity: 0;
}
.pagetop a {
  width: 44px;
  height: 44px;
  display: block;
  transition: 0.3s;
}
.pagetop a:hover {
  transition: 0.3s;
  opacity: 0.7;
}
.pagetop.show_top {
  opacity: 1;
}

footer {
  padding: 25px 0 30px 0;
  background-color: #fff;
  display: flex;
  justify-content: center;
  position: relative;
}
footer .ft_left .ft_logo {
  margin-bottom: 20px;
  width: 261px;
  margin-left: auto;
  margin-right: auto;
}
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: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 20px;
  display: table;
  margin-left: auto;
  margin-right: auto;
}
footer .ft_left .ft_add a {
  color: #004ea2;
}
footer .ft_left .ft_sns {
  margin-bottom: 20px;
}
footer .ft_left .ft_sns ul {
  display: flex;
  align-items: center;
  justify-content: center;
}
footer .ft_left .ft_sns ul li:nth-child(1) {
  width: 40px;
  margin-right: 20px;
}
footer .ft_left .ft_sns ul li:nth-child(2) {
  width: 31px;
  margin-right: 20px;
}
footer .ft_left .ft_sns ul li:nth-child(3) {
  width: 36px;
}
footer .ft_left .ft_mail {
  max-width: 288px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 25px;
}
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 {
  max-width: 288px;
  height: 55px;
  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::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: 29px;
  font-size: 16px;
}
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_menu_inttl {
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 1em;
}
footer .ft_menu_inttl.mt5 {
  margin-top: 5px;
}
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 > li > a {
  color: #354362;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-top: 1px solid #dbdfe7;
  display: flex;
  padding: 15px 0;
  font-size: 13px;
  position: relative;
}
footer .ft_menu > ul > li > a::after {
  content: "";
  width: 12px;
  height: 12px;
  border: 0;
  border-top: solid 2px #004ea2;
  border-right: solid 2px #004ea2;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 2px;
  transition: 0.3s;
}
footer .ft_menu > ul > li ul {
  margin: 3px 0 0 1em;
}
footer .ft_menu > ul > li ul.type01 {
  margin: 5px 0 0 0;
}
footer .ft_menu > ul > li ul > li {
  margin-bottom: 5px;
}
footer .ft_menu > ul > li ul > li > a {
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.05em;
  color: #354362;
  position: relative;
  display: block;
}
footer .ft_menu > ul > li ul > li > a::after {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 1px #004ea2;
  border-right: solid 1px #004ea2;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -3px;
  right: 1px;
  transition: 0.3s;
}
footer .ft_menu > ul > li.last a {
  border-bottom: 1px solid #dbdfe7;
}
footer .ft_menu .aco_ft {
  position: relative;
}
footer .ft_menu .aco_ft > a::after {
  content: none;
}
footer .ft_menu .aco_btn_ft {
  display: block;
  width: 15px;
  height: 52px;
  position: absolute;
  top: 0;
  right: 0;
}
footer .ft_menu .aco_btn_ft::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  width: 15px;
  height: 2px;
  background-color: #004ea2;
}
footer .ft_menu .aco_btn_ft::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  width: 2px;
  height: 15px;
  background-color: #004ea2;
}
footer .ft_menu .aco_btn_ft.open::after {
  display: none;
}
footer .ft_menu .aco_ft_ct {
  display: none;
  background-color: #f5f7fb;
  padding: 15px 1em 10px 1em;
  border-top: 1px solid #dbdfe7;
}

address {
  font-size: 12px;
  letter-spacing: 0.05em;
  font-style: normal;
  font-family: "Montserrat", sans-serif;
  padding: 10px 0;
  text-align: center;
  color: #fff;
  background-color: #004ea2;
  margin-bottom: 60px;
}

.sp_tel_bnr_bg {
  position: fixed;
  bottom: -60px;
  width: 100%;
  height: 60px;
  z-index: 100;
  opacity: 0;
  display: flex;
  justify-content: center;
  background: url(../images/common/sp_fix_box.png) no-repeat center top;
  background-size: cover;
  padding: 10px 0;
}

.sp_tel_bnr_bg_scroll {
  opacity: 1;
  bottom: 0px;
}

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

.sp_fix_bnr {
  height: 40px;
  width: calc(50% - 3px);
}
.sp_fix_bnr a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  border-radius: 9999px;
  box-shadow: 0px 0px 13px -6px rgb(8, 24, 46);
}
.sp_fix_bnr a .icon_txt {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
}
.sp_fix_bnr.bnr01 {
  margin-right: 6px;
}
.sp_fix_bnr.bnr01 a {
  background: #fff;
}
.sp_fix_bnr.bnr01 a .icon_txt {
  color: #004ea2;
  padding-left: 22px;
}
.sp_fix_bnr.bnr01 a .icon_txt::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -5px;
  width: 17px;
  height: 12px;
  background: url(../images/common/icon_mail.svg);
  background-size: contain;
}
.sp_fix_bnr.bnr02 a {
  background: linear-gradient(to right, #e64661, #e67f46);
}
.sp_fix_bnr.bnr02 a .icon_txt {
  color: #fff;
  padding-left: 20px;
}
.sp_fix_bnr.bnr02 a .icon_txt::before {
  background: url(../images/common/icon_download.svg) no-repeat left top;
  background-size: contain;
  width: 12px;
  height: 16px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  content: "";
}

/*----------------------------------------------------------------------------
******************************************************************************
** 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: 0;
}

#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  text-indent: -9999px;
  width: 18px;
  height: 18px;
  position: absolute;
  top: -25px;
  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 {
  position: relative;
}
.top_bk01::before {
  background: url(../images/top/top_bk01_sp.png) no-repeat center top;
  background-size: contain;
  content: "";
  position: absolute;
  top: 187.5px;
  left: 0px;
  width: 100%;
  height: 566px;
}

.top_main_bg {
  width: 100%;
  height: calc(100vh - 50px);
  display: flex;
  justify-content: center;
  /*@include smltab{
  	min-height: 570px;
  }*/
}
.top_main_bg .common_w_inner {
  background: url(../images/top/top_mainimg_sp.jpg) no-repeat center center;
  background-size: cover;
  border-radius: 20px;
  overflow: hidden;
  position: relative;
}
.top_main_inner {
  position: absolute;
  top: 50px;
  left: 0;
  padding: 0 25px;
  height: calc(100vh - 165px);
}
.top_main_catch {
  margin-bottom: 15px;
}
.top_main_catch_in {
  background-color: #fff;
  padding: 3px 8px;
  font-size: 24px;
  /*letter-spacing: 0.05em;*/
  font-weight: 700;
  color: #004ea2;
  display: inline-block;
  line-height: 1;
}
.top_main_catch_in.mb {
  margin-bottom: 10px;
}
.top_main_catch_in.pc {
  display: none;
}
.top_main_txt {
  color: #fff;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.8;
  text-shadow: -2px -3px 10px rgb(37, 65, 88), 2px 3px 10px rgb(37, 65, 88);
}
.top_main_btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
  max-width: 288px;
}
.top_main_btn_01 {
  width: 100%;
  max-width: 288px;
  height: 55px;
  margin-bottom: 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: 16px;
  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: 100%;
  max-width: 288px;
  height: 55px;
  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;
  padding-top: 10px;
}
.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: 16px;
  padding-left: 26px;
}
.top_main_btn_02 a .icon_txt::before {
  background: url(../images/common/icon_download.svg) no-repeat left top;
  background-size: contain;
  width: 16px;
  height: 22px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  content: "";
}
.top_main_btn_02 .btn_bf {
  min-width: 192px;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -0.75em;
  background-color: #fff;
  color: #e64860;
  z-index: 3;
  border-radius: 9999px;
  padding: 1px 30px;
  display: block;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
.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: 4rem 0;
  display: flex;
  justify-content: center;
}
.top_about_box_in {
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 26px 20px;
  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;
  margin-bottom: 25px;
  min-height: 200px;
}
.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: 1.5rem;
}
.top_about_box_in ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}
.top_about_box_in ul li {
  width: calc((100% - 22px) / 3);
  height: 104px;
}
.top_about_box_in ul li a {
  width: 100%;
  height: 100%;
  border-radius: 10px;
  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.4;
  padding-top: 36px;
  font-size: 13px;
  margin-top: 15px;
}
.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: 19px;
  height: 6px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}
.top_about_box_in ul li a .link_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 6px;
  height: 6px;
  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: 13px;
  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: 29px;
  height: 29px;
}
.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: 24px;
  height: 31px;
}
.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: 28px;
  height: 31px;
}
.top_about_box_ttl {
  font-size: 24px;
  margin-bottom: 10px;
  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: 35px 0 20px 0;
  margin-left: auto;
  margin-right: auto;
  background-color: #074e9b;
  border-radius: 20px;
}
.top_service_bg .common_m_inner {
  margin-left: auto;
  margin-right: auto;
}
.top_service_bg .common_txt01 {
  color: #fff;
  text-align: center;
  line-height: 1.6;
}
.top_service_ttl {
  margin-bottom: 10px;
  display: table;
  margin-left: auto;
  margin-right: auto;
  max-width: 323px;
}
.top_service_catch {
  margin-bottom: 15px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
  text-align: center;
  line-height: 1.4;
}
.top_service_box {
  margin-top: 25px;
}
.top_service_box_in_bf {
  background-color: #d2dfee;
  border-radius: 10px 10px 0 0;
  position: relative;
  padding: 25px 35px 15px 35px;
}
.top_service_box_in_bf::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: -12px;
  width: 28px;
  height: 12px;
  background: #d2dfee;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.top_service_box_in_bf ul li {
  margin-bottom: 10px;
  position: relative;
  padding-left: 63px;
  min-height: 50px;
  display: flex;
  align-items: center;
}
.top_service_box_in_bf ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 50px;
  height: 50px;
}
.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: 7px 15px;
  border-radius: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  line-height: 1.4;
  width: 100%;
}
.top_service_box_in_bf ul li .fuki::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: -8px;
  width: 8px;
  height: 9px;
  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 10px 10px;
  padding: 30px 35px 35px 35px;
  margin-bottom: 25px;
}
.top_service_box_in_ct .common_btn01 {
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.25rem;
}
.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.4;
  margin-bottom: 10px;
  padding-left: 29px;
}
.top_service_box_in_ct ul li::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0px;
  width: 22px;
  height: 22px;
  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: 15px;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.top_service_box_in_img {
  margin-bottom: 15px;
  text-align: center;
}

.top_transaction_bg {
  padding: 50px 0;
  display: flex;
  justify-content: center;
}
.top_transaction_bg .common_txt01 {
  line-height: 1.8;
  margin-bottom: 35px;
}
.top_transaction_ttl {
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 15px;
  line-height: 1.2;
}
.top_transaction_box {
  background-color: #fff;
  border-radius: 20px;
  padding: 45px 15px 25px 15px;
}
.top_transaction_box_list_01, .top_transaction_box_list_02, .top_transaction_box_list_03 {
  padding: 40px 25px 17px 25px;
  border-radius: 10px;
  border: 1px solid #004ea2;
  background-color: #f9f9f9;
  position: relative;
}
.top_transaction_box_list_list ul li {
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 3px;
}
.top_transaction_box_list_01 {
  margin-bottom: 35px;
}
.top_transaction_box_list_02 {
  margin-bottom: 35px;
}
.top_transaction_box_list_ttl {
  background-color: #004ea2;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.05em;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 9999px;
  height: 30px;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  top: -0.75em;
  width: 200px;
}
.top_transaction_box_list_cautxt {
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: right;
  width: 100%;
  display: block;
  margin-top: 10px;
  font-size: 13px;
  padding-right: 10px;
}

.top_company_bg {
  padding: 50px 0 35px 0;
}
.top_company_bg .common_top_h2_ttl {
  margin-bottom: 20px;
  text-align: center;
}
.top_company_bg .common_inner {
  margin-left: auto;
  margin-right: auto;
}
.top_company_bg .common_txt01 {
  text-align: center;
  margin-bottom: 25px;
}
.top_company_inner {
  width: 96%;
}
.top_company_box {
  margin-bottom: 25px;
}
.top_company_box_disc {
  box-sizing: border-box;
}
.top_company_box_tbl {
  margin-top: 15px;
  margin-left: 4%;
}
.top_company_box_tbl table {
  width: 100%;
}
.top_company_box_tbl table th {
  border-bottom: 1px solid #004ea2;
  width: 5em;
  padding: 1rem 0;
  letter-spacing: 0.05em;
  color: #004ea2;
}
.top_company_box_tbl table td {
  border-bottom: 1px solid #dbdfe7;
  padding: 1rem 0 1rem 1.5rem;
  width: calc(100% - 5em);
  letter-spacing: 0.05em;
  font-weight: 500;
}
.top_company_box_tbl table td a {
  color: #004ea2;
}
.top_company_list {
  display: flex;
  justify-content: center;
}
.top_company_list ul {
  display: flex;
  flex-wrap: wrap;
}
.top_company_list ul li {
  width: calc((100% - 11px) / 2);
  margin-bottom: 15px;
}
.top_company_list ul li:nth-child(2n+1) {
  margin-right: 11px;
}

.top_trend_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
  background-color: #f9f9f9;
}
.top_trend_bg .common_top_h2_ttl {
  text-align: center;
  margin-bottom: 20px;
}
.top_trend_bg .common_btn01 {
  height: 50px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
}
.top_trend_list_in {
  margin-bottom: 25px;
}
.top_trend_list_img {
  border-radius: 20px;
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.5);
  margin-bottom: 1.5rem;
}
.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: 0.5rem;
}
.top_trend_list_date {
  color: #004ea2;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-family: "Roboto", serif;
  font-size: 14px;
}
.top_trend_list_cate {
  background-color: #004ea2;
  color: #fff;
  font-size: 12px;
  border-radius: 9999px;
  padding: 0px 10px;
  letter-spacing: 0.05em;
}
.top_trend_list_ttl {
  letter-spacing: 0.05em;
  font-size: 14px;
  font-weight: 700;
}
.top_trend_list_ttl a {
  color: #354362;
  text-decoration: none;
}

.parallax {
  display: flex;
  width: 100%;
  height: 220px;
  justify-content: center;
  align-items: center;
  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: 5rem 0 5.5rem 0;
  background-color: #fff;
}
.top_news_ttl {
  margin-bottom: 15px;
}
.top_news_ttl .common_top_h2_ttl {
  text-align: center;
}
.top_news_btn {
  text-align: right;
}
.top_news_btn a {
  letter-spacing: 0.05em;
  font-size: 1.4rem;
  font-weight: 500;
  color: #004ea2;
  text-decoration: none;
  position: relative;
  padding: 0 10px 2px 0;
  display: inline-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: 20px 35px 20px 0;
  border-bottom: 1px solid #dbdfe7;
  display: flex;
  flex-wrap: wrap;
  text-decoration: none;
  position: relative;
}
.top_news_list ul li a::after {
  content: "";
  width: 12px;
  height: 12px;
  border: 0;
  border-top: solid 2px #004ea2;
  border-right: solid 2px #004ea2;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 2px;
  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: -3px;
  transition: 0.3s;
}
.top_news_list_date {
  font-family: "Roboto", serif;
  color: #004ea2;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-right: 15px;
  line-height: 25px;
}
.top_news_list_cate {
  background-color: #004ea2;
  color: #fff;
  min-width: 10em;
  font-size: 13px;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 25px;
  padding: 2px 10px;
  line-height: 1.2;
  border-radius: 9999px;
}
.top_news_list_ttl {
  color: #354362;
  letter-spacing: 0.05em;
  width: 100%;
  margin-top: 5px;
}

.top_bnr_bg {
  display: flex;
  justify-content: center;
  padding: 40px 0 30px 0;
  background-color: #f5f7fb;
}
.top_bnr_box ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.top_bnr_box ul li {
  width: calc((100% - 22px) / 3);
  margin-bottom: 10px;
}
.top_bnr_box ul li img {
  width: 100%;
}

/*----------------------------------------------------------------------------
******************************************************************************
** sub
******************************************************************************
----------------------------------------------------------------------------*/
main {
  margin-top: 50px;
}

.common_sub_main {
  display: flex;
  justify-content: center;
  height: 150px;
  width: 100%;
}
.common_sub_main .common_w_inner {
  height: 150px;
  border-radius: 10px;
  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: 28px;
}
.common_sub_main .h1_ttl .ttl_line {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  width: 22px;
  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: 8px;
  height: 8px;
  background-color: #fff;
  border-radius: 9999px;
}
.common_sub_main .h1_ttl .ttl_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 8px;
  width: 14px;
  height: 1px;
  background-color: #fff;
}
.common_sub_main .common_en01 {
  font-size: 40px;
  margin-bottom: 5px;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #fff;
  line-height: 1.2;
  white-space: nowrap;
  display: block;
}

.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: 15px 0;
  display: flex;
  justify-content: center;
}

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

.breadcrumb_list span {
  position: relative;
  letter-spacing: 0.05em;
  font-weight: 500;
}

.breadcrumb_list a {
  margin-right: 10px;
  letter-spacing: 0.05em;
  color: #004ea2;
  position: relative;
  padding-right: 15px;
  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;
}

.sub_notfound_block {
  text-align: center;
}
.sub_notfound_block .common_btn01 {
  margin: 2rem auto 0.5rem auto;
}

.wp-pagenavi {
  clear: both;
  text-align: center;
  margin-top: 35px;
  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: 0.5rem;
}
.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: 0.5rem;
}
.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;
}

.wp-pagenavi .page.larger {
  display: none;
}

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

.common_sub_h2_ttl02 {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-bottom: 15px;
  text-align: center;
}

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

.common_sub_lead .common_txt01:not(:last-child) {
  margin-bottom: 20px;
}

.common_sub_lead_center {
  text-align: center;
  margin-bottom: 30px;
}
.common_sub_lead_center .common_txt01:not(:last-child) {
  margin-bottom: 20px;
}

.common_sub_tbl01 table {
  width: 100%;
}
.common_sub_tbl01 table th {
  padding: 15px 10px;
  border-bottom: 1px solid #004ea2;
  width: 8em;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #004ea2;
  box-sizing: border-box;
  vertical-align: top;
}
.common_sub_tbl01 table td {
  padding: 15px 10px;
  width: calc(100% - 8em);
  border-bottom: 1px solid #dbdfe7;
  letter-spacing: 0.05em;
  font-weight: 500;
  box-sizing: border-box;
}
.common_sub_tbl01 table td a {
  color: #004ea2;
  position: relative;
  padding-right: 10px;
  line-height: 1.4;
  text-decoration: underline;
}
.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: 0.5em;
  right: 0;
  transition: 0.3s;
}
.common_sub_tbl01 table td a:hover::after {
  right: -5px;
}

.common_sub_link_list01 ul {
  display: flex;
  flex-wrap: wrap;
}
.common_sub_link_list01 ul li {
  width: calc((100% - 15px) / 2);
  height: 130px;
  margin-bottom: 15px;
}
.common_sub_link_list01 ul li:not(:nth-child(2n+0)) {
  margin-right: 15px;
}
.common_sub_link_list01 ul li a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #354362;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}
.common_sub_link_list01 ul li a .link_line {
  width: 32px;
  height: 10px;
  position: absolute;
  right: 10px;
  bottom: 10px;
}
.common_sub_link_list01 ul li a .link_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 8px;
  height: 8px;
  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: 8px;
  width: 17px;
  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: 10px 15px;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
  min-width: 120px;
}
.common_sub_link_list01_ttl .common_en01 {
  font-size: 12px;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: block;
}
.common_sub_link_list01_ttl .div_ttl {
  font-size: 20px;
  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((100% - 15px) / 2);
  height: 130px;
  margin-bottom: 15px;
}
.common_sub_link_list02 ul li:nth-child(2) {
  width: calc((100% - 15px) / 2);
  height: 130px;
  margin-bottom: 15px;
}
.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% - 15px) / 2);
  height: 130px;
  margin-bottom: 15px;
}
.common_sub_link_list02 ul li a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #354362;
  border-radius: 10px;
  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: 10px;
  bottom: 10px;
}
.common_sub_link_list02 ul li a .link_line::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0px;
  width: 8px;
  height: 8px;
  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: 8px;
  width: 17px;
  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: 1.25rem 2rem;
  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;
}

.mokuji_box {
  background-color: #f9f9f9;
  border: 1px solid #074e9b;
  width: 100%;
  padding: 15px;
  margin-top: 20px;
  margin-bottom: 30px;
  border-radius: 10px;
}
.mokuji_box .mokuji_title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 32px;
  margin-bottom: 15px;
}
.mokuji_box .mokuji_title::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 8px;
  height: 8px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.mokuji_box .mokuji_title::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 8px;
  width: 14px;
  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-size: 16px;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
  margin-top: 1rem;
  position: relative;
  padding-left: 2em;
}
.mokuji_box .mokuji .mokujiinner > .chapter > li::before {
  counter-increment: listnum;
  content: counter(listnum) ".";
  position: absolute;
  left: 0;
  top: 0.2em;
  font-size: 18px;
  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-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 3em;
}
.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: 16px;
  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: 1.8rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 15px;
  padding-bottom: 15px;
  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;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.common_sub_article_date {
  display: block;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-right: 15px;
  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;
  padding: 0 10px;
  font-size: 13px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 22px;
  border-radius: 9999px;
  min-width: 90px;
  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: 0 10px;
  border-radius: 5px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  font-family: "Montserrat", sans-serif;
  height: 22px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 5px;
}
.common_sub_article_mainimg {
  margin: 20px 0;
}
.common_sub_article_blog + .common_btn01 {
  margin: 30px auto 0 auto;
}
.common_sub_article_blog .wp-block-image {
  margin: 0 0 30px 0;
  overflow: hidden;
}
.common_sub_article_blog .wp-block-image img {
  border-radius: 10px;
  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: 1.8rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 15px;
  margin-top: 30px;
  position: relative;
  padding-left: 15px;
}
.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: 1.7rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 15px;
  padding-left: 32px;
  position: relative;
}
.common_sub_article_blog h3::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0px;
  width: 8px;
  height: 8px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.common_sub_article_blog h3::after {
  content: "";
  position: absolute;
  top: calc(0.5em + 4px);
  left: 8px;
  width: 14px;
  height: 1px;
  background: #004ea2;
}
.common_sub_article_blog h4 {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 15px;
}
.common_sub_article_blog p {
  letter-spacing: 0.08em;
  line-height: 1.8;
  margin-bottom: 30px;
}
.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: 10px;
  background-color: #f5f7fb;
  padding: 20px;
  margin: 30px 0 15px 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: 20px;
  width: 100%;
  height: 35px;
  margin-left: auto;
  margin-right: auto;
  font-size: 2rem;
}
.common_sub_article_blog .eye .eye__img {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 25px;
  display: block;
}
.common_sub_article_blog .eye .eye__comment {
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
  position: relative;
  margin-bottom: 0;
}
.common_sub_article_blog .eye .eye__comment::before {
  background-color: #fff;
  -webkit-clip-path: polygon(0 100%, 50% 0, 100% 100%);
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
  content: "";
  display: block;
  height: 16px;
  width: 20px;
  position: absolute;
  left: 50%;
  top: -16px;
  margin-left: -10px;
}

.common_sub_container_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 50px 0;
}
.common_sub_layout_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.common_sub_main_content {
  width: 100%;
}
.common_sub_menu {
  width: 100%;
  margin-top: 40px;
}
.common_sub_menu_box {
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
  border-radius: 10px;
}
.common_sub_menu_ttl {
  border-radius: 10px 10px 0 0;
  background: linear-gradient(to right, #004ea2, #14b6f2);
  height: 50px;
  display: flex;
  align-items: center;
  padding: 0 15px;
}
.common_sub_menu_ttl .div_ttl {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  display: inline-block;
  margin-right: 10px;
}
.common_sub_menu_ttl .common_en01 {
  color: #c8e2ff;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.common_sub_menu_list {
  border-radius: 0 0 10px 10px;
}
.common_sub_menu_list ul li a {
  padding: 13px 15px;
  box-sizing: border-box;
  color: #354362;
  display: block;
  position: relative;
}
.common_sub_menu_list ul li a::after {
  content: "";
  width: 8px;
  height: 8px;
  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: 1.5rem;
  transition: 0.3s;
}
.common_sub_menu_list ul li a:hover::after {
  right: 1.25rem;
  transition: 0.3s;
}
.common_sub_menu_list ul li:not(:last-child) a {
  border-bottom: 1px solid #dbdfe7;
}

.sub_news_list ul {
  border-top: 1px solid #dbdfe7;
}
.sub_news_list ul li a {
  padding: 20px 35px 20px 0;
  border-bottom: 1px solid #dbdfe7;
  display: flex;
  flex-wrap: wrap;
  text-decoration: none;
  position: relative;
}
.sub_news_list ul li a::after {
  content: "";
  width: 12px;
  height: 12px;
  border: 0;
  border-top: solid 2px #004ea2;
  border-right: solid 2px #004ea2;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  margin-top: -6px;
  right: 2px;
  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: -3px;
  transition: 0.3s;
}
.sub_news_list_date {
  font-family: "Roboto", serif;
  color: #004ea2;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-right: 15px;
  line-height: 25px;
}
.sub_news_list_cate {
  background-color: #004ea2;
  color: #fff;
  min-width: 10em;
  font-size: 13px;
  letter-spacing: 0.05em;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 25px;
  padding: 2px 10px;
  line-height: 1.2;
  border-radius: 9999px;
}
.sub_news_list_ttl {
  color: #354362;
  letter-spacing: 0.05em;
  width: 100%;
  margin-top: 5px;
}

/* access */
.sub_access_container01_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 50px 0;
}
.sub_access_container02_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 50px 0;
}
.sub_access_insec:not(:first-child) {
  padding-top: 50px;
}
.sub_access_map iframe {
  width: 100%;
  height: 250px;
  border: none;
  border-radius: 10px;
  margin-bottom: 20px;
  overflow: hidden;
}
.sub_access_disc {
  margin-top: 30px;
}
.sub_access_disc_img {
  margin-bottom: 20px;
}
.sub_access_disc_list {
  background-color: #f9f9f9;
  border: 1px solid #074e9b;
  padding: 15px 20px;
  border-radius: 10px;
}
.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: 0.5rem 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: 0.5rem 0;
}

/* message */
.sub_message_container01_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 50px 0;
}
.sub_message_container02_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 50px 0;
}
.sub_message_ttl {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-bottom: 20px;
  line-height: 1.4;
}
.sub_message_box_disc .common_txt01 {
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.sub_message_box_disc .common_txt01:not(:last-child) {
  margin-bottom: 20px;
}
.sub_message_box_img {
  margin-top: 30px;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
}
.sub_message_box_img figure > img {
  width: 100%;
}
.sub_message_box_img figcaption {
  margin-top: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sub_message_box_img figcaption .bf_txt {
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-right: 10px;
  display: inline-block;
}
.sub_message_box_img figcaption img {
  max-width: 140px;
}

/* company */
.sub_company_container01_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 50px 0;
}
.sub_company_container02_bg {
  display: flex;
  justify-content: center;
  padding: 45px 0 30px 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: 4.75rem 0 6rem 0;
}
.sub_company_box {
  background-color: #f9f9f9;
  border: 1px solid #074e9b;
  border-radius: 10px;
  padding: 20px;
  margin-top: 25px;
  margin-bottom: 50px;
}
.sub_company_box_ttl {
  border-radius: 9999px;
  color: #fff;
  display: table;
  padding: 3px 25px;
  margin: 0 auto 10px auto;
  background-color: #004ea2;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.sub_company_box_txt01 {
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}
.sub_company_box_txt01 .cl_txt {
  color: #004ea2;
  font-size: 20px;
  background: linear-gradient(transparent 30%, #ffee5f 70%);
}
.sub_company_box_txt02 {
  margin-top: 10px;
  font-size: 13px;
  letter-spacing: 0.05em;
  font-weight: 500;
  text-indent: -1em;
  padding-left: 1em;
  text-align: center;
}
.sub_company_bnr {
  width: 100%;
  height: 110px;
}
.sub_company_bnr a {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  border-radius: 10px;
  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: 22px;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 2;
  line-height: 1.4;
  text-align: center;
}
.sub_company_bnr a .link_line {
  width: 32px;
  height: 10px;
  position: absolute;
  right: 15px;
  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: 8px;
  height: 8px;
  background-color: #fff;
  border-radius: 9999px;
}
.sub_company_bnr a .link_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 8px;
  width: 17px;
  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: 30px 0 50px 0;
}
.sub_profile_container01_bg .access_link {
  margin-top: 10px;
}
.sub_profile_container01_bg .access_link a {
  color: #004ea2;
  font-weight: 500;
  letter-spacing: 0.05em;
  position: relative;
  padding-left: 19px;
  padding-right: 15px;
  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_block dt {
  padding-left: 1.1em;
  position: relative;
}
.sub_profile_container01_bg .access_block dt::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0px;
  width: 8px;
  height: 8px;
  background: #004ea2;
  border-radius: 50%;
}
.sub_profile_container01_bg .access_block:not(:last-child) {
  margin-bottom: 10px;
}
.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 img {
  max-width: calc(100% - 35px);
}
.sub_profile_container01_bg .img_expansion dl dd a .btn_zoom {
  position: relative;
  width: 25px;
  height: 25px;
  display: block;
  margin-left: 10px;
  cursor: pointer;
}
.sub_profile_container01_bg .img_expansion dl dd a .btn_zoom::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0px;
  width: 25px;
  height: 25px;
  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: 5px;
}
.sub_profile_container02_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
  background-color: #f5f7fb;
}
.sub_profile_container02_bg .common_sub_lead_center {
  margin-bottom: 30px;
  text-align: left;
}
.sub_profile_container03_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0 10px 0;
}
.sub_profile_container04_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 35px 0;
}
.sub_profile_logo {
  padding: 20px;
  border-radius: 10px;
  border: 1px solid #004ea2;
  background-color: #f9f9f9;
  margin-bottom: 30px;
}
.sub_profile_logo_ttl {
  text-align: center;
  margin-bottom: 15px;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.sub_profile_logo_img {
  margin-bottom: 20px;
  max-width: 240px;
  margin-left: auto;
  margin-right: auto;
}
.sub_profile_logo_disc {
  line-height: 2;
  letter-spacing: 0.05em;
}
.sub_profile_awardlist_name {
  font-weight: 700;
  letter-spacing: 0.05em;
  display: block;
  margin-bottom: 0.75rem;
  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: 100%;
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
}
.sub_profile_awardlist ul li img {
  width: 100%;
}
@media screen and (min-width: 481px) {
  .sub_profile_awardlist ul li {
    text-align: left;
    width: calc((100% - 2rem) / 2);
    margin-right: 2rem;
  }
  .sub_profile_awardlist ul li:nth-child(2n+0) {
    margin-right: 0;
  }
}

/* philosophy */
.sub_philosophy_container01_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 50px 0;
}
.sub_philosophy_container01_insec:not(:last-child) {
  margin-bottom: 50px;
}
.sub_philosophy_container02_bg {
  display: flex;
  justify-content: center;
  padding: 50px 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: 50px 0;
}
.sub_philosophy_container03_bg .sub_odt_quality_box {
  border: 1px solid #004ea2;
}
.sub_philosophy_container04_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 30px 0;
}
.sub_philosophy_box {
  margin-top: 30px;
}
.sub_philosophy_box_img {
  margin-top: 40px;
}
.sub_philosophy_box_catch:not(:last-child) {
  margin-bottom: 30px;
}
.sub_philosophy_box_catch .common_en01 {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-left: 38px;
  position: relative;
  color: #004ea2;
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}
.sub_philosophy_box_catch .common_en01 .mark_line {
  width: 28px;
  height: 10px;
  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: 10px;
  height: 10px;
  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: 10px;
  width: 18px;
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_philosophy_box_catch .div_ttl {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #004ea2;
}
.sub_philosophy_list_in {
  margin-bottom: 20px;
  border-radius: 10px;
  min-height: 90px;
  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: 18px;
}
.sub_philosophy_list_ttl {
  position: absolute;
  left: 1.15rem;
  top: 0.65rem;
  padding-right: 33px;
  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: 38px;
  line-height: 1;
  mix-blend-mode: overlay;
  line-height: 1;
}
.sub_philosophy_list_ttl .mark_line {
  width: 28px;
  height: 8px;
  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: 8px;
  height: 8px;
  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: 8px;
  width: 20px;
  height: 1px;
  background: rgba(255, 255, 255, 0.5);
  transition: 0.3s;
}

/* history */
.sub_history_container01_bg {
  padding: 10px 0 10px 0;
  display: flex;
  justify-content: center;
}
.sub_history_box {
  position: relative;
  padding-top: 50px;
  padding-bottom: 20px;
}
.sub_history_box::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 15px;
  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: 2.5px;
  padding-bottom: 30px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
.sub_history_box_in > img {
  padding-left: 40px;
  margin-top: 15px;
  order: 1;
}
.sub_history_box_in dl {
  order: 0;
}
.sub_history_box_in dl dt {
  font-size: 28px;
  font-family: "Roboto", serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-left: 40px;
  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: 10px;
  height: 10px;
  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: 10px;
  width: 20px;
  height: 1px;
  background-color: #004ea2;
  transition: 0.3s;
}
.sub_history_box_in dl dd {
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-left: 40px;
}

/* odt */
.odt .common_sub_main_box .common_en01 {
  text-align: center;
}

.sub_odt_container00_bg {
  padding: 30px 0 20px 0;
  text-align: center;
  display: flex;
  justify-content: center;
}
.sub_odt_container01_bg {
  padding: 0 0 30px 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: 30px 0 20px 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_disc {
  margin-left: 9.375%;
}
.sub_odt_container01_inner {
  width: 90.625%;
}
.sub_odt_container02_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
}
.sub_odt_container03_bg {
  display: flex;
  justify-content: center;
  background-color: #f5f7fb;
  padding: 50px 0;
}
.sub_odt_container04_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
}
.sub_odt_container04_bg .common_w_inner {
  background: #004ea2;
  padding: 40px 10px 15px 10px;
  border-radius: 10px;
  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);
  min-height: 2.8em;
}
.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;
  line-height: 1.2;
}
.sub_odt_container04_ttl .img_txt {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 108%;
  max-width: 323px;
}
.sub_odt_container04_list {
  margin-top: 30px;
}
.sub_odt_container04_list ul li {
  margin-bottom: 20px;
}
.sub_odt_container04_list ul li a {
  background: #fff;
  display: flex;
  padding: 10px 20px;
  align-items: center;
  border-radius: 10px;
  height: 90px;
  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 .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: 18px;
  line-height: 1.2;
  min-height: 60px;
  padding-left: 70px;
  display: flex;
  align-items: center;
}
.sub_odt_container04_list ul li a .icon_txt::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 60px;
  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: 15px;
  bottom: 15px;
}
.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: 33px;
  height: 33px;
  left: 13.5px;
}
.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: 29px;
  height: 33px;
  left: 15.5px;
}
.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: 32px;
  height: 35px;
  left: 14px;
}
.sub_odt_point_flex {
  display: flex;
  flex-wrap: wrap;
}
.sub_odt_point_disc {
  width: 90.625%;
  margin-bottom: 20px;
}
.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: 100%;
}
.sub_odt_point_no {
  margin-bottom: 5px;
  position: relative;
  padding-left: 38px;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.05em;
  font-size: 16px;
  font-weight: 500;
  color: #004ea2;
  display: flex;
  align-items: center;
  line-height: 1;
}
.sub_odt_point_no .mark_line {
  width: 28px;
  height: 10px;
  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: 10px;
  height: 10px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.sub_odt_point_no .mark_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 10px;
  width: 18px;
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_odt_point_no .big_txt {
  font-size: 34px;
  margin-left: 10px;
  line-height: 1;
  display: block;
  margin-bottom: 5px;
}
.sub_odt_point_ttl {
  font-size: 20px;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-bottom: 1rem;
}
.sub_odt_quality_box {
  background-color: #f9f9f9;
  border-radius: 10px;
  padding: 20px;
  margin-top: 30px;
}
.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;
  line-height: 1.3;
}
.sub_odt_quality_box ol li:not(:last-child) {
  margin-bottom: 5px;
}
.sub_odt_quality_box ol li .in_bold {
  font-weight: 700;
  font-size: 15px;
}
.sub_odt_quality_box ol li .in_txt {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
}
.sub_odt_quality_box:nth-child(1) .sub_odt_quality_in {
  margin: 10px;
}
.sub_odt_quality_box:nth-child(2) .sub_odt_quality_in {
  margin: 10px;
}
.sub_odt_quality_box .common_txt01 {
  line-height: 2;
}
.sub_odt_quality_box .common_txt01 + .common_txt01 {
  margin-top: 15px;
}
.sub_odt_quality_box .common_txt01 + ol {
  margin-top: 15px;
}
.sub_odt_quality_box ol + .common_txt01 {
  margin-top: 15px;
}
.sub_odt_quality_ttl {
  position: relative;
  padding-bottom: 17px;
  margin-bottom: 10px;
}
.sub_odt_quality_ttl .h3_ttl {
  font-size: 20px;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.4;
}
.sub_odt_quality_ttl .mark_line {
  width: 100%;
  height: 10px;
  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: 10px;
  height: 10px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.sub_odt_quality_ttl .mark_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 10px;
  width: calc(100% - 10px);
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_odt_quality_inbox01 {
  margin-bottom: 30px;
}
.sub_odt_quality_inbox02 {
  margin-bottom: 30px;
}
.sub_odt_quality_inbox03 {
  margin-bottom: 20px;
}
.sub_odt_quality_syo {
  text-align: right;
  font-size: 13px;
}
.sub_odt_quality_img {
  max-width: 180px;
  margin: 0 auto 30px auto;
}
.sub_odt_up_sec:nth-child(2) {
  margin-top: 30px;
  margin-bottom: 50px;
}
.sub_odt_up_sec:nth-child(3) {
  margin-bottom: 50px;
}
.sub_odt_up_sec:nth-child(4) .sub_odt_up_box {
  align-items: center;
}
.sub_odt_up_ttl {
  min-height: 65px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 15px;
}
.sub_odt_up_ttl .img_ttl {
  width: 65px;
  margin-right: 15px;
}
.sub_odt_up_ttl .h3_ttl {
  width: calc(100% - 80px);
  font-size: 22px;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-bottom: 15px;
}
.sub_odt_up_box_ttl {
  padding-bottom: 17px;
  margin-bottom: 10px;
  position: relative;
}
.sub_odt_up_box_ttl .div_ttl {
  font-size: 20px;
  letter-spacing: 0.05em;
  font-weight: 700;
  line-height: 1.4;
}
.sub_odt_up_box_ttl .mark_line {
  width: 100%;
  height: 10px;
  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: 10px;
  height: 10px;
  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: 10px;
  width: calc(100% - 10px);
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_odt_up_box_img {
  max-width: 210px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
}
.sub_odt_up_box_img02 {
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.sub_odt_up_box_tbl {
  margin-top: 10px;
}
.sub_odt_up_box_tbl table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 10px;
  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: 6em;
}
.sub_odt_up_box_tbl table th:nth-child(2) {
  width: calc(100% - 11em);
}
.sub_odt_up_box_tbl table th:nth-child(3) {
  width: 5em;
}
.sub_odt_up_box_tbl table td {
  padding: 10px;
  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: 2rem;
  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: 1.5rem;
}
.sub_odt_up_box ol > li .h4_ttl {
  margin-bottom: 0.5rem;
  font-size: 17px;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-left: 2.2em;
}
.sub_odt_up_box ol > li ul {
  margin-top: 10px;
}
.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;
  left: 0px;
  width: 7px;
  height: 7px;
  background: #004ea2;
  border-radius: 50%;
}
.sub_odt_up_box ol > li ul li:not(:last-child) {
  margin-bottom: 5px;
}

.sub_contact_bg {
  display: flex;
  justify-content: center;
  padding: 30px 0 60px 0;
}
.sub_contact_box01 {
  position: relative;
  padding-top: 30px;
}
.sub_contact_box01_in {
  box-shadow: 0px 0px 30px -6px rgba(8, 24, 46, 0.3);
  border-radius: 10px;
  margin-bottom: 50px;
}
.sub_contact_box01_in.technical_box .sub_contact_box01_ttl::after {
  left: calc(50% - 9px);
  top: -18px;
  width: 20px;
  height: 27px;
  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% - 14.5px);
  top: -19px;
  width: 29px;
  height: 28px;
  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: 50px;
  border-radius: 10px 10px 0 0;
  position: relative;
}
.sub_contact_box01_ttl .h2_ttl {
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 2;
}
.sub_contact_box01_ttl::before {
  position: absolute;
  left: calc(50% - 29px);
  top: -30px;
  content: "";
  width: 58px;
  height: 58px;
  background-color: #004ea2;
  border-radius: 50%;
}
.sub_contact_box01_ttl::after {
  position: absolute;
  content: "";
}
.sub_contact_box01_ct {
  border-radius: 0 0 10px 10px;
  padding: 20px 20px 25px 20px;
  background-color: #fff;
}
.sub_contact_box01_list {
  position: relative;
  margin-bottom: 20px;
  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: 29px;
  min-height: 22px;
}
.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% - 11px);
  content: "";
  width: 22px;
  height: 22px;
}
.sub_contact_box01_list ul li:not(:last-child) {
  margin-bottom: 0.75rem;
}
.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: 100%;
  height: 110px;
}
.recruit_link_bnr01 a {
  border-radius: 10px;
  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: 25px;
  height: 8px;
  position: absolute;
  right: 2.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: 8px;
  height: 8px;
  background: #fff;
  border-radius: 50%;
}
.recruit_link_bnr01 a .link_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 8px;
  width: 17px;
  height: 2px;
  background: #fff;
  transition: 0.3s;
}
.recruit_link_bnr01_ttl {
  position: relative;
}
.recruit_link_bnr01_ttl .common_en01 {
  font-size: 60px;
  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: 22px;
  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: 3rem;
  margin-top: 2.75rem;
  width: 40rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  padding: 1.5rem 1.5rem 1.25rem 1.5rem;
  text-align: center;
}
.sub_contact_tel_box_tel {
  display: table;
  margin: 0.5rem 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: 28px;
  font-weight: 700;
  font-family: "Roboto", serif;
  line-height: 1.2;
  padding-left: 23px;
}
.sub_contact_tel_box_tel a::before {
  position: absolute;
  left: 0;
  top: 50%;
  content: "";
  width: 18px;
  height: 22px;
  transform: translate(0, -50%);
  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: 2rem;
}
.common_sub_form_dummy_img {
  text-align: center;
}

/* trend */
.trend_detail {
  background-color: #f5f7fb;
}

.sub_trend_detail_container01_bg {
  display: flex;
  justify-content: center;
  padding: 15px 0 50px 0;
}
.sub_trend_detail_container02_bg {
  display: flex;
  justify-content: center;
  padding: 50px 0;
  background-color: #fff;
}
.sub_trend_detail_box {
  background-color: #fff;
  padding: 20px;
  border-radius: 20px;
}
.sub_trend_detail_flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.sub_trend_detail_flex .common_sub_article_cat {
  margin-right: 0.75rem;
}
.sub_trend_detail_flex .common_sub_article_date {
  margin-right: 0;
}

/* privacy_policy */
.privacy_policy .common_sub_main .common_en01 {
  font-size: 34px;
}

.sub_privacy_insec:not(:last-child) {
  margin-bottom: 30px;
}
.sub_privacy_insec .common_txt01 + .common_txt01 {
  margin-top: 10px;
}
.sub_privacy_insec .bold_txt {
  font-weight: 700;
}
.sub_privacy_insec a {
  color: #004ea2;
  text-decoration: underline;
}
.sub_privacy_h3_ttl {
  margin-top: 30px;
  font-size: 17px;
  letter-spacing: 0.05em;
  font-weight: 700;
  position: relative;
  padding-left: 32px;
  margin-bottom: 10px;
}
.sub_privacy_h3_ttl .mark_line {
  width: 22px;
  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: 8px;
  height: 8px;
  border: 1px solid #004ea2;
  border-radius: 50%;
}
.sub_privacy_h3_ttl .mark_line::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 8px;
  width: 14px;
  height: 1px;
  background: #004ea2;
  transition: 0.3s;
}
.sub_privacy_li_list01 {
  margin-top: 10px;
}
.sub_privacy_li_list01 li {
  position: relative;
  padding-left: 1.2em;
  letter-spacing: 0.05em;
  /*font-weight: 500;*/
  line-height: 2;
}
.sub_privacy_li_list01 li::before {
  content: "";
  position: absolute;
  top: calc(1em - 4px);
  left: 0px;
  width: 7px;
  height: 7px;
  background: #004ea2;
  border-radius: 50%;
}
.sub_privacy_li_list01 li:not(:last-child) {
  margin-bottom: 5px;
}
.sub_privacy_ol_list01 li {
  list-style-type: none;
  counter-increment: cnt;
  position: relative;
  margin: 0;
  padding: 0 0 0 1.2em;
  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: 5px;
}
.sub_privacy_tbl01 {
  margin: 30px 0 0 0;
}
.sub_privacy_tbl01 table {
  width: 100%;
  display: block;
  /* th の内容を td の前に表示 */
}
.sub_privacy_tbl01 table thead {
  display: none;
}
.sub_privacy_tbl01 table tbody {
  display: block;
}
.sub_privacy_tbl01 table tr {
  display: block;
}
.sub_privacy_tbl01 table td {
  display: block;
  width: 100%;
  box-sizing: border-box;
}
.sub_privacy_tbl01 table td:nth-child(1)::before {
  content: "サービス名";
}
.sub_privacy_tbl01 table td:nth-child(2)::before {
  content: "提供企業名";
}
.sub_privacy_tbl01 table td:nth-child(3)::before {
  content: "プライバシーポリシー";
}
.sub_privacy_tbl01 table td:nth-child(4)::before {
  content: "オプトアウト";
}
.sub_privacy_tbl01 table td::before {
  display: block;
  color: #fff;
  background: #004ea2;
  font-weight: 700;
  padding: 6px;
  margin-bottom: 6px;
}
.sub_privacy_tbl01 table tbody td {
  text-align: center;
  background-color: #f9f9f9;
  padding-bottom: 6px;
}
.sub_privacy_tbl01 table tbody td:first-child::before {
  border-radius: 10px 10px 0 0;
}
.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_in {
  box-sizing: border-box;
}
.sub_privacy_tbl01_in:nth-child(1) {
  border-bottom: 1px solid #e6e8ed;
}
.sub_privacy_tbl01_in:nth-child(2) .accct02 {
  border-radius: 0 0 10px 10px;
}
.sub_privacy_tbl01 .acctit02 {
  color: #fff;
  background-color: #6c7b9b;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  cursor: pointer;
  padding: 6px;
}
.sub_privacy_tbl01 .acctit02 .btn {
  position: absolute;
  width: 12px;
  height: 12px;
  top: calc((100% - 12px) / 2);
  right: 1.25rem;
}
.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;
  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: 15px 20px;
}

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

.search .common_sub_container_bg {
  padding-bottom: 70px;
}/*# sourceMappingURL=sp.css.map */