body {
  min-width: 0;
  overflow: hidden;
}

.search_nav_text {
  padding: 0 !important;
  background-position: left center !important;
  font-size: 1.6rem;
}

.pc_appear, .sp_appear {
  display: none;
}

.tb_appear {
  display: block;
}

.pc_break, .sp_break {
  display: none;
}

.tb_break {
  display: inline;
}

.tel_for_sp {
  pointer-events: none;
}

.panel_list_item {
  padding-left: 30px;
}

.o-column_four.panel_list .panel_list_item {
  width: 100%;
}

.modal_item.o-slide .modal_item_inner {
  padding-left: 30px;
  padding-right: 30px;
}

.slide_modal_area {
  width: 100%;
}

.header {
  min-height: 75px;
  border-bottom: 0;
  position: fixed;
  top: 0;
  left: 0;
  background-color: transparent;
}

.header .slim_appear {
  display: block;
}

.header .slim_inline_appear {
  display: inline-block;
}

.header .slim_break {
  display: inline;
}

.header .wide_appear, .header .wide_inline_appear, .header .wide_break {
  display: none;
}

.header .global_nav_item.slim_appear {
  display: block;
}

.header_background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #002245;
  opacity: 0;
  pointer-events: none;
  z-index: 4;
  transition: opacity 0.4s cubic-bezier(0.545, 0.08, 0.52, 0.975);
}

.header_top {
  width: 100%;
  z-index: 6;
  position: relative;
  background: #fff;
  min-height: 75px;
  border-bottom: 5px solid #1c61ad;
}

.header_top:after {
  display: block;
  clear: both;
  content: '';
  height: 0;
}

.header_logo {
  float: left;
}

.header_action {
  float: right;
  padding-top: 19px;
}

.header_action_contact {
  display: inline-block;
  vertical-align: middle;
}

.header_action_contact_img {
  width: 30px;
  height: 30px;
  fill: #dae525;
}

.header_action_contact_list {
  visibility: hidden;
  overflow: hidden;
  transition: 0.4s cubic-bezier(0.545, 0.08, 0.52, 0.975);
  position: absolute;
  top: 100%;
  right: 0;
  background: #dae525;
  width: 150px;
}

.header_action_contact_list:after {
  display: block;
  clear: both;
  content: '';
  height: 0;
}

.header_action_contact_item {
  float: left;
  width: 50%;
  text-align: center;
  padding: 10px 0;
}

.header_action_contact_item:first-child .header_action_contact_anchor {
  border-right: 1px solid #fff;
}

.header_action_contact_anchor {
  display: block;
  font-weight: 800;
}

.header_action_contact_anchor:hover {
  color: #002245;
}

.header_action_contact_item .svg {
  display: block;
  margin: 0 auto;
  fill: #1c61ad;
  width: 30px;
  height: 40px;
}

.header_action_contact_button.o-open {
  width: 25px;
  position: relative;
  height: 25px;
  display: block;
}

.header_action_contact_button.o-open:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -3px;
  margin-left: -12px;
  width: 23px;
  height: 2px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background: #1c61ad;
  -webkit-transform-origin: center;
  transform-origin: center;
  z-index: 1;
}

.header_action_contact_button.o-open:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -3px;
  margin-left: -12px;
  width: 23px;
  height: 2px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background: #1c61ad;
  -webkit-transform-origin: center;
  transform-origin: center;
  z-index: 1;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transform-origin: center;
  transform-origin: center;
}

.header_action_contact_button.o-open:before, .header_action_contact_button.o-open:after {
  background: #dae525;
  height: 3px;
}

.header_action_contact_button.o-open .svg {
  display: none;
}

.header_action_contact_button.o-open + .header_action_contact_list {
  display: block;
}

.header_action_menu {
  display: inline-block;
  width: 35px;
  text-align: center;
  margin: 0 10px;
  height: 12px;
}

.header_action_menu_img {
  width: 30px;
  height: 30px;
  fill: #1c61ad;
}

.header_action_menu_button {
  vertical-align: middle;
}

.header_action_menu_button.o-open {
  width: 25px;
  height: 25px;
  display: block;
  margin: 0 auto;
  position: relative;
}

.header_action_menu_button.o-open:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -3px;
  margin-left: -12px;
  width: 23px;
  height: 2px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background: #1c61ad;
  -webkit-transform-origin: center;
  transform-origin: center;
  z-index: 1;
}

.header_action_menu_button.o-open:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -3px;
  margin-left: -12px;
  width: 23px;
  height: 2px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background: #1c61ad;
  -webkit-transform-origin: center;
  transform-origin: center;
  z-index: 1;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transform-origin: center;
  transform-origin: center;
}

.header_action_menu_button.o-open:before, .header_action_menu_button.o-open:after {
  height: 3px;
  margin-top: -5px;
}

.header_action_menu_button.o-open .svg {
  display: none;
}

.header_bottom {
  position: relative;
  left: 0;
  width: 100%;
  top: 0;
  transition: height 0.4s cubic-bezier(0.545, 0.08, 0.52, 0.975);
  overflow: hidden;
  z-index: 5;
  visibility: hidden;
}

.header.o-open {
  height: 100vh;
  padding-top: 75px;
  overflow: auto;
}

.header.o-open + .header_background {
  opacity: .5;
  pointer-events: auto;
}

.header.o-open .header_top {
  position: fixed;
  top: 0;
  left: 0;
}

.header.o-open .header_bottom {
  height: auto;
}

.header .global_nav_list {
  width: 100%;
}

.header .global_nav_item {
  width: 100%;
  background: #1c61ad;
}

.header .global_nav_item:first-child .global_nav_title_text {
  border-top: 0;
}

.header .global_nav_item:nth-child(even) .global_nav_title_text {
  border-left: 0;
  border-right: 0;
}

.header .global_nav_item:nth-of-type(3), .header .global_nav_item:nth-last-of-type(2), .header .global_nav_item:nth-last-of-type(1) {
  width: 100%;
}

.header .global_nav_title {
  color: #fff;
  display: block;
  height: auto;
  padding: 20px 0;
  margin: 0 15px;
  border-bottom: 1px solid #004ea2;
  font-weight: 800;
}

.header .global_nav_title_text {
  display: inline;
  border: 0;
  padding: 0;
  border-bottom: 1px solid #fff;
}

.header .global_nav_title.o-service {
  display: none;
}

.header .global_nav_title.o-contact {
  background: none;
  width: calc(100% - 30px);
  pointer-events: none;
  padding-bottom: 0;
  display: block;
  height: auto;
  border: 0;
}

.header .global_nav_title.o-contact:hover {
  background: none;
}

.header .global_nav_title.o-contact .global_nav_title_inner, .header .global_nav_title.o-contact .global_nav_title_icon {
  padding: 0;
  display: block;
}

.header .global_nav_title.o-search {
  display: none;
}

.header .service_nav {
  position: relative;
  height: auto;
  padding: 0;
}

.header .service_nav_list {
  padding: 0;
}

.header .service_nav_item {
  width: 100%;
  max-width: 100%;
  position: relative;
}

.header .service_nav .button {
  background: #1c61ad;
  padding: 0;
}

.header .service_nav .button:after {
  display: none;
}

.header .service_nav_title_text:hover {
  color: #fff;
}

.header .service_nav_title {
  color: #fff;
  position: absolute;
  top: 20px;
  left: 15px;
  z-index: 2;
}

.header .service_nav_title_text {
  display: inline-block;
  padding: 0;
}

.header .service_nav_title .button_text {
  border-bottom: 1px solid #fff;
}

.header .service_nav_title_button {
  display: block;
  width: calc(100% - 30px);
  height: 64px;
  border: 0;
  margin: 0 15px;
  z-index: 1;
  border-bottom: 1px solid #004ea2;
  position: relative;
}

.header .service_nav_title_button:before {
  content: "";
  width: 21px;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -1px;
}

.header .service_nav_title_button:after {
  content: "";
  width: 21px;
  height: 1px;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -1px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.header .service_nav_title_button[aria-selected=true] {
  padding-left: 15px;
  padding-right: 15px;
  margin: 0;
  width: 100%;
}

.header .service_nav_title_button[aria-selected=true]:before {
  right: 25px;
}

.header .service_nav_title_button[aria-selected=true]:after {
  -webkit-transform: rotate(0);
  transform: rotate(0);
  right: 25px;
}

.header .service_nav_section {
  background: #004ea2;
  display: none;
}

.header .service_nav_section_anchor {
  color: #fff;
  padding: 2px 0;
  display: inline-block;
}

.header .service_nav_section_list {
  padding: 10px 15px;
}

.header .service_nav_section_item {
  margin-left: 15px;
}

.header .service_nav_section[aria-expanded=true] {
  display: block;
}

.header .service_nav_section[aria-expanded=false] {
  display: none;
}

.header .service_nav .o-parts .service_nav_section_anchor {
  opacity: .6;
}

.header .contact_nav {
  display: block;
  position: relative;
  padding: 0 15px 20px;
}

.header .contact_nav_list {
  padding-top: 5px;
}

.header .contact_nav_list:after {
  display: block;
  clear: both;
  content: '';
  height: 0;
}

.header .contact_nav_item {
  float: left;
}

.header .contact_nav_item.o-form {
  border-right: 1px solid #004ea2;
}

.header .contact_nav_item.o-phone .contact_nav_anchor {
  padding-right: 50px;
}

.header .contact_nav_item.o-phone .contact_nav_text {
  margin-left: 5px;
}

.header .contact_nav_anchor {
  color: #fff;
  padding: 0 30px 0 20px;
  display: block;
  font-weight: 800;
}

.header .contact_nav .svg {
  fill: #dae525;
  width: 30px;
  height: 40px;
}

.header .contact_nav_text {
  border-bottom: 1px solid #fff;
  margin-left: 10px;
}

.header .search_nav {
  height: auto;
  position: relative;
  background: #004ea2;
  border-bottom: 1px solid #004ea2;
}

.header .search_nav_text {
  float: right;
  margin-left: 0;
  margin-right: 15px;
  width: calc(100% - 70px);
  height: 40px;
}

.header .search_nav_button {
  margin-left: 15px;
  margin-right: 0;
  background: #fff;
  text-align: right;
  width: 40px;
  height: 40px;
  padding-right: 10px;
}

.header .search_nav_button:hover {
  background: #fff;
}

.header .search_nav_button .svg {
  fill: #1c61ad;
}

.legacy .header .service_nav_title_button:before, .legacy .header .service_nav_title_button:after {
  display: none;
}

.topic_path_inner {
  padding-left: 30px;
  padding-right: 30px;
}

.main_contents {
  width: 100%;
}

.main_side {
  display: none;
}

.main_inner {
  padding-left: 30px;
  padding-right: 30px;
}

.page_top_icon {
  right: 30px;
}

.footer_inner {
  padding-left: 30px;
  padding-right: 30px;
}
