
.module_visual_link_list {
  display: flex;
  flex-wrap: wrap
}

.module_visual_link_item {
  width: 48.3871%
}

.module_visual_link_item:not(:nth-of-type(2n)) {
  margin-right: 3.2258%
}

.module_visual_link_item:nth-of-type(n+3) {
  margin-top: 6.8rem
}

.module_visual_link_thumbnail {
  position: relative
}

.module_visual_link_thumbnail_image {
  width: 100%;
  transition: .3s
}

.module_visual_link_data {
  display: flex;
  align-items: center;
  margin-top: 2.2rem
}

.module_visual_link_name {
  min-width: 25.2rem;
  padding-right: 3rem;
  font-family: FOT-筑紫ゴシック Pro E,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 3.2rem;
  letter-spacing: .12em
}

.module_visual_link_comment {
  flex: 1 1 auto;
  font-family: FOT-筑紫ゴシック Pro B,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 1.8rem;
  letter-spacing: .12em
}

.module_visual_link_anchor {
  transition: .3s cubic-bezier(.13,.78,.38,.98)
}

.module_visual_link_anchor:hover {
  color: #4c4c4c;
  transition: 0s
}

.module_visual_link_anchor:hover .module_visual_link_thumbnail_image {
  transition: .1s
}

.module_mv {
  margin-bottom: 14.4rem
}

/* .module_mv_page_title {
  display: none
} */

.module_mv_main {
  margin-bottom: 14.4rem
}

.module_mv_main_image {
  width: 100%
}

.module_mv_text_area {
  position: relative
}

.module_mv_page_title_en {
  display: none;
  font-family: HelveticaNowDisplay-Regular,sans-serif;
  letter-spacing: .06em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
  position: absolute;
  top: .5rem;
  right: 0
}

.module_mv_page_title_en.o-long {
  font-size: 1.4rem
}

.module_basic_section:not(:only-of-type):not(:first-of-type) {
  margin-top: 21.6rem
}

.module_basic_section_title {
  margin-bottom: 2.6rem;
  font-family: FOT-筑紫ゴシック Pro E,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 1.8rem;
  letter-spacing: .24em
}

.module_basic_section_title:before {
  margin-top: -.25em
}

.module_basic_section_title:after {
  margin-bottom: -.25em
}

.module_officer {
  margin-bottom: 20.4rem;
  position: relative
}

.module_officer_page_title {
  display: none
}

.module_officer_page_title_en {
  display: none;
  font-family: HelveticaNowDisplay-Regular,sans-serif;
  font-size: 1.4rem;
  letter-spacing: .06em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  top: 0;
  right: -.2rem
}

.module_officer_ceo_item {
  display: flex;
  justify-content: space-between
}

.module_officer_ceo_item:not(:first-child) {
  margin-top: 14.4rem
}

.module_officer_photo {
  width: 50.4rem
}

.module_officer_photo_image {
  width: 100%
}

.module_officer_profile {
  width: 54rem
}

.module_officer .profile_head {
  margin-top: -.5rem;
  font-size: 1.8rem;
  letter-spacing: .16em
}

.module_officer .profile_name {
  margin-top: 3rem;
  font-family: FOT-筑紫ゴシック Pro E,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 4.8rem;
  letter-spacing: .12em
}

.module_officer .profile .ruby {
  display: none
}

.module_officer .profile [data-ruby] {
  display: ruby-base;
  position: relative
}

.module_officer .profile [data-ruby]:before {
  width: 100%;
  font-family: FOT-筑紫ゴシック Pro M,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 1.4rem;
  letter-spacing: 0;
  font-weight: 400;
  white-space: nowrap;
  text-align: center;
  content: attr(data-ruby);
  position: absolute;
  top: -.7rem;
  left: -.3rem
}

.module_officer .profile_career {
  width: 95%;
  margin-top: 7.1rem
}

.module_officer .profile_career_item {
  display: flex;
  font-size: 1.4rem;
  line-height: 1.7
}

.module_officer .profile_career_item:not(:first-of-type) {
  margin-top: 1.3rem
}

.module_officer .profile_career_date {
  width: 9rem;
  font-family: HelveticaNowDisplay-Regular,sans-serif
}

.module_officer .profile_career_body {
  width: calc(100% - 9rem);
  margin-top: -.2rem;
  letter-spacing: .06em
}

.module_officer .profile_career_text {
  font-size: 1.8rem;
  line-height: 3.6rem;
  letter-spacing: .06em
}

.module_group_officers_title,.module_officers_title {
  margin-bottom: 10rem;
  font-family: FOT-筑紫ゴシック Pro E,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 1.8rem;
  letter-spacing: .06em
}

.module_group_officers_list,.module_officers_list {
  display: flex;
  flex-wrap: wrap
}

.module_group_officers_list:not(:first-child),.module_officers_list:not(:first-child) {
  margin-top: 21.6rem
}

.module_group_officers_item,.module_officers_item {
  width: 22.5807%
}

.module_group_officers_item:not(:nth-of-type(4n)),.module_officers_item:not(:nth-of-type(4n)) {
  margin-right: 3.2259%
}

.module_group_officers_item:nth-of-type(n+5),.module_officers_item:nth-of-type(n+5) {
  margin-top: 10rem
}

.module_officers {
  margin-bottom: 21.6rem
}

.module_officers_head {
  font-size: 1.4rem;
  letter-spacing: .06em
}

.module_officers_name {
  margin-top: 1rem;
  font-family: FOT-筑紫ゴシック Pro E,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 3.2rem;
  letter-spacing: .12em
}

.module_group_officers_name {
  font-size: 1.4rem;
  letter-spacing: .06em;
  transition: .3s cubic-bezier(.13,.78,.38,.98)
}

.module_group_officers_logo {
  width: 100%;
  margin-top: 2.3rem;
  transition: .3s cubic-bezier(.13,.78,.38,.98)
}

.module_group_officers_anchor {
  display: block
}

.module_group_officers_anchor:hover .module_group_officers_name {
  color: #676767;
  transition: 0s
}

.module_group_officers_anchor:hover .module_group_officers_logo {
  opacity: .75;
  transition: 0s
}

.module_map_page_title {
  display: none
}

.module_map_main {
  width: 100%;
  height: 90rem
}

.module_history_mv,.module_history_page_title {
  display: none
}

.module_history_item+.module_history_item {
  margin-top: 12.4rem
}

.module_history_item+.module_history_item[class*=o-with_thumb] {
  margin-top: 5.6rem
}

.module_history_item.o-with_thumb {
  display: flex;
  align-items: center
}

.module_history_item.o-with_thumb .history_main {
  margin-top: -4rem
}

.module_history_item.o-with_thumb+.module_history_item {
  margin-top: 5.6rem
}

.module_history .history_main {
  width: 54rem
}

.module_history .history_main_date {
  display: flex;
  margin-bottom: 2rem;
  font-family: HelveticaNowDisplay-XBd,sans-serif;
  font-size: 4.8rem
}

.module_history .history_main_month_after,.module_history .history_main_year_after {
  font-family: FOT-筑紫ゴシック Pro B,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 1.8rem
}

.module_history .history_main_year {
  margin-right: 1rem
}

.module_history .history_main_detail {
  letter-spacing: .12em
}

.module_history .history_main_detail_text {
  font-family: FOT-筑紫ゴシック Pro E,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 3.2rem
}

.module_history .history_main_detail_notice {
  margin-top: 1rem;
  font-size: 1.4rem
}

.module_history .history_thumbnail {
  width: 54rem;
  margin: 0 0 0 auto
}

.module_history .history_thumbnail_image {
  width: 100%
}

.module_group {
  width: 77.4194%
}

.module_group_page_title {
  display: none
}

.module_group_section:not(:first-of-type) {
  margin-top: 20.3rem
}

.module_group_section_title {
  margin-bottom: 9.7rem;
  font-family: FOT-筑紫ゴシック Pro E,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 3.2rem;
  letter-spacing: .06em
}

.module_group_list {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.4rem;
  line-height: 1.7143;
  letter-spacing: .12em
}

.module_group_item {
  width: 29.1667%
}

.module_group_item:not(:nth-of-type(3n)) {
  margin-right: 4.1667%
}

.module_group_item:nth-of-type(n+4) {
  margin-top: 4.5rem
}

.module_group_anchor {
  position: relative;
  box-shadow: inset 0 -1px 0 0 #000;
  transition: .3s cubic-bezier(.13,.78,.38,.98)
}

.module_group_anchor:before {
  display: block;
  width: 25.0862rem;
  height: calc(100% + 3rem);
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%)
}

.module_group_anchor:hover {
  box-shadow: inset 0 -1px 0 0 transparent;
  color: #4c4c4c;
  transition: 0s
}

.module_group_date {
  margin-top: 10.1rem;
  text-align: right
}

.module_group_date_text {
  font-size: 1.4rem;
  letter-spacing: .06em
}

.module_overview {
  width: 83rem;
  margin-top: 10.8rem
}

.module_overview_wrap {
  position: relative
}

.module_overview_page_title_en {
  display: none;
  font-family: HelveticaNowDisplay-Regular,sans-serif;
  font-size: 1.4rem;
  letter-spacing: .06em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  top: 1.2rem;
  right: -.4rem
}

.module_overview_row {
  display: flex
}

.module_overview_row:not(:first-of-type) {
  margin-top: 5.6rem
}

.module_overview_head {
  display: flex;
  justify-content: space-between;
  width: 6rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.5
}

.module_overview_data {
  width: calc(100% - 6rem);
  padding-left: 6.7rem;
  letter-spacing: .06em
}

.module_overview_data_notice {
  font-family: FOT-筑紫ゴシック Pro M,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 1.6rem;
  line-height: 1.7
}

.module_overview .o-company_name {
  font-family: FOT-筑紫ゴシック Pro E,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 3.2rem
}

.module_overview .o-company_name_en {
  font-family: HelveticaNowDisplay-Bd,sans-serif;
  font-size: 3.4rem
}

.module_overview .o-company_name_en:after,.module_overview .o-company_name_en:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}

.module_overview .o-company_name_en:before {
  margin-top: 0
}

.module_overview .o-company_name_en:after {
  margin-bottom: 0
}

.module_overview .o-num {
  font-family: HelveticaNowDisplay-Bd,sans-serif;
  font-size: 3.4rem;
  line-height: 1.5;
  letter-spacing: 0
}

.module_overview .o-address .button {
  margin-bottom: .5rem
}

.module_overview .zipcode {
  font-family: FOT-筑紫ゴシック Pro B,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 1.8rem;
  line-height: 2
}

.module_overview .zipcode_num {
  font-family: HelveticaNowDisplay-Bd,sans-serif
}

.module_overview .details {
  font-family: FOT-筑紫ゴシック Pro E,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 3.2rem;
  line-height: 1.4
}

.module_overview .details .o-num {
  line-height: 1.2
}

.module_overview .details+.button {
  margin-top: 1.6rem
}

.module_overview .o-phone {
  font-family: HelveticaNowDisplay-Regular,sans-serif;
  font-size: 3.4rem;
  line-height: 2
}

.module_overview .o-phone:after,.module_overview .o-phone:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}

.module_overview .o-phone:before {
  margin-top: -.25em
}

.module_overview .o-phone:after {
  margin-bottom: -.25em
}

.module_overview .o-phone_num {
  font-family: HelveticaNowDisplay-Bd,sans-serif;
  letter-spacing: .04em
}

.module_overview .o-phone_hyphen {
  display: inline-block;
  transform: translateY(-.3rem)
}

.module_overview .access_detail {
  font-size: 1.8rem;
  line-height: 2.2
}

.module_basic_section:not(:only-of-type):not(:first-of-type) {
  margin-top: 33rem
}

.module_basic_section_title {
  margin-bottom: 3rem;
  font-size: 4.8rem;
  line-height: 1.75;
  letter-spacing: .12em
}

.module_basic_section_title:after,.module_basic_section_title:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}

.module_basic_section_title:before {
  margin-top: -.375em
}

.module_basic_section_title:after {
  margin-bottom: -.375em
}

.module_image {
  width: 100%;
  height: auto
}

.module_inline_anchor {
  box-shadow: inset 0 -1px 0 0 #000;
  transition: .3s cubic-bezier(.13,.78,.38,.98)
}

.module_inline_anchor:hover {
  box-shadow: inset 0 -1px 0 0 transparent;
  color: #4c4c4c;
  transition: 0s
}

.menu_hover_target span {
  display: block;
  transition: transform .2s ease
}

.menu_hover:hover .menu_hover_target span {
  transform: translate3d(0,-100%,0)
}

.menu_hover_target:nth-child(2) span {
  transition-delay: 25ms
}

.menu_hover_target:nth-child(3) span {
  transition-delay: .05s
}

.menu_hover_target:nth-child(4) span {
  transition-delay: 75ms
}

.menu_hover_target:nth-child(5) span {
  transition-delay: .1s
}

.menu_hover_inner {
  height: 2.2rem;
  display: flex;
  overflow: hidden
}

.module_hover_effect {
  position: relative
}

.module_hover_effect__canvas,.module_hover_effect__mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.module_hover_effect__mask {
  opacity: 0
}

.module_hover_effect_pattern {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  display: none
}

.module_color_effect {
  position: relative
}

.module_color_effect:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1f2d34;
  mix-blend-mode: lighten
}

.module_color_effect img {
  -webkit-filter: hue-rotate(-8deg) saturate(85%);
  filter: hue-rotate(-8deg) saturate(85%)
}

.simple_page_header {
  position: relative
}

.simple_page_header .page_title {
  margin-bottom: 6.2rem;
  font-family: FOT-筑紫ゴシック Pro E,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 4.8rem;
  letter-spacing: .12em
}

.simple_page_header .page_title_en {
  display: none;
  font-family: HelveticaNowDisplay-Regular,sans-serif;
  font-size: 1.4rem;
  letter-spacing: .06em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  top: 0;
  right: -.2rem
}

.simple_page_header .page_lead {
  margin-bottom: 13.2rem
}

.lead_text {
  margin-bottom: 6.2rem;
  margin-left: -2px;
  font-family: FOT-筑紫ゴシック Pro E,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 4.8rem;
  letter-spacing: .12em
}

.lead_text:after,.lead_text:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}

.lead_text:before {
  margin-top: -.25em
}

.lead_text:after {
  margin-bottom: -.25em
}

.default_text {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: .06em
}

.default_text:after,.default_text:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}

.default_text:before {
  margin-top: -.5em
}

.default_text:after {
  margin-bottom: -.5em
}

.default_text+.default_text {
  margin-top: 4.5rem
}

.emphasis-text {
  font-family: FOT-筑紫ゴシック Pro B,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: .06em
}

.button {
  display: inline-block
}

.button_anchor {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.1rem 1.7rem 1.3rem;
  background: #000;
  color: #fff;
  font-family: FOT-筑紫ゴシック Pro B,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 1.4rem;
  transition: .3s cubic-bezier(.13,.78,.38,.98);
  border: 1px solid #000
}

.button_anchor:hover {
  transition: 0s;
  background: #f2f2f2;
  color: #000
}

.button.o-en .button_anchor {
  font-family: HelveticaNowDisplay-Bd,sans-serif
}

.download_button_anchor {
  display: block;
  padding: 2.5rem 2.6rem 2.6rem;
  background: #000;
  font-family: FOT-筑紫ゴシック Pro B,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  position: relative;
  transition: .3s cubic-bezier(.13,.78,.38,.98);
  border: 1px solid #000
}

.download_button_anchor:hover {
  transition: 0s;
  background: #f2f2f2;
  color: #000
}

.download_button_anchor:hover .ico_document,.download_button_anchor:hover .ico_download {
  fill: #000
}

.download_button .ico_document,.download_button .ico_download {
  display: block;
  width: 1.6rem;
  height: 2rem;
  position: absolute;
  top: calc(50% - 1rem);
  fill: #fff
}

.download_button .ico_document {
  left: 2.6rem
}

.download_button .ico_download {
  right: 2.6rem
}

.header {
  width: 100vw;
  height: 10.3rem;
  padding: 3.6rem 3.6rem 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99998;
  transition: .9s cubic-bezier(.77,0,.175,1)
}

.header.o-hide {
  opacity: 0
}

.header.o-hide_2 {
  transform: translate3d(0,-110%,0)
}

.header.o-scrolled {
  height: 9rem
}

.header.o-scrolled .header_site_logo {
  transform: scale(.65)
}

.header_inner {
  display: flex;
  align-items: flex-start;
  width: 100%
}

.header_site_logo {
  width: 25.2rem;
  margin-bottom: -.5rem;
  font-family: HelveticaNowDisplay-Bd,sans-serif;
  font-size: 2.4rem;
  line-height: 1;
  transform-origin: top left;
  transition: .3s cubic-bezier(.13,.78,.38,.98);
  position: fixed;
  top: 3.6rem;
  left: 3.6rem;
  z-index: 99998
}

.header_nav {
  width: 28.8rem;
  margin-top: -.3rem;
  padding-top: 3.6rem;
  position: absolute;
  top: 0;
  left: 28.8rem
}

.header_nav.o-fixed {
  position: fixed
}

.header_nav.o-hide {
  top: -10.3rem
}

.header_search {
  width: 28.8rem;
  margin: -.3rem 0 0 28.8rem
}

.header_search_inner {
  display: flex;
  align-items: center
}

.header_search_btn {
  width: 1.589rem;
  height: 1.638rem;
  margin-right: 1.53rem
}

.header_search_btn_icon {
  width: 100%;
  height: auto
}

.header_search_input {
  width: 100%
}

.header_search_input_wrapper {
  width: calc(100% - 1.589rem);
  position: relative
}

.header_search_input_label {
  font-family: HelveticaNowDisplay-Regular,sans-serif;
  font-size: 1.4rem;
  letter-spacing: .06em;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%)
}

.header_search_input:focus+.header_search_input_label,.header_search_input:not([value=""])+.header_search_input_label {
  display: none
}

.header_menu {
  width: 25.2rem;
  margin: 0 0 0 auto;
  padding: .5rem;
  text-align: right;
  position: fixed;
  top: 2.3rem;
  right: 1.7rem;
  z-index: 99998
}

.header_menu_button {
  font-family: HelveticaNowDisplay-Bd,sans-serif;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: .04em;
  transition: .3s cubic-bezier(.13,.78,.38,.98)
}

.global_nav_list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 11rem 8.8rem 16rem;
  grid-template-columns: 11rem 8.8rem 16rem;
  -ms-grid-rows: auto auto;
  grid-template-rows: auto auto;
  font-size: 1.4rem;
  letter-spacing: .06em
}

.global_nav_list>:first-child {
  -ms-grid-row: 1;
  -ms-grid-column: 1
}

.global_nav_list>:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2
}

.global_nav_list>:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 3
}

.global_nav_list>:nth-child(4) {
  -ms-grid-row: 2;
  -ms-grid-column: 1
}

.global_nav_list>:nth-child(5) {
  -ms-grid-row: 2;
  -ms-grid-column: 2
}

.global_nav_list>:nth-child(6) {
  -ms-grid-row: 2;
  -ms-grid-column: 3
}

.global_nav_item:nth-of-type(n+4) {
  margin-top: .3rem
}

.global_nav_anchor {
  transition: .3s cubic-bezier(.13,.78,.38,.98)
}

.global_nav_anchor:hover {
  color: #4c4c4c;
  transition: 0s
}

.global_nav .o-current {
  position: relative
}

.global_nav .o-current:after {
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  content: "";
  position: absolute;
  top: calc(50% + 1px);
  left: 0
}

.sidebar {
  width: 25.2rem
}

.sidebar_inner {
  position: fixed;
  transition: opacity .3s cubic-bezier(.13,.78,.38,.98)
}

.sidebar_inner.o-hide {
  opacity: 0;
  pointer-events: none
}

.sidebar_nav_list {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: .06em
}

.sidebar_nav_list:after,.sidebar_nav_list:before {
  content: "";
  display: block;
  height: 0;
  width: 0
}

.sidebar_nav_list:before {
  margin-top: -.5em
}

.sidebar_nav_list:after {
  margin-bottom: -.5em
}

.sidebar_nav_anchor {
  transition: .3s cubic-bezier(.13,.78,.38,.98)
}

.sidebar_nav_anchor:hover {
  color: #4c4c4c;
  transition: 0s
}

.sidebar_nav_anchor.o-overlap {
  color: #fff
}

.sidebar_nav_anchor.o-overlap:hover {
  color: #f2f2f2
}

.sidebar_nav .o-current {
  position: relative
}

.sidebar_nav .o-current:after {
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  content: "";
  position: absolute;
  top: calc(50% + 1px);
  left: 0
}

.sidebar_nav .o-parent {
  font-family: FOT-筑紫ゴシック Pro B,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif
}

.lang_nav {
  margin-top: 6rem;
  margin-left: -.6rem
}

.lang_nav_list {
  font-size: 1.4rem;
  letter-spacing: .06em
}

.lang_nav_item {
  max-height: 1.4em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl
}

.lang_nav_item:not(:first-of-type) {
  max-height: 3.2em
}

.lang_nav_item:not(:first-of-type):before {
  display: inline-block;
  margin: .25em 0;
  content: "＼";
  transform: translateX(.09em)
}

.lang_nav_text {
  font-family: HelveticaNowDisplay-Regular,sans-serif
}

.lang_nav .o-current {
  color: #989898;
  pointer-events: none
}

.footer {
  height: 100%;
  overflow: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  background: #e5e5e5;
  bottom: 0;
  left: 0;
  z-index: 1
}

.footer,.footer_header {
  width: 100%;
  position: fixed
}

.footer_header {
  display: flex;
  align-items: flex-start;
  padding: 3.6rem 3.6rem 1.8rem;
  top: 0;
  transition: .3s cubic-bezier(.13,.78,.38,.98)
}

.footer_site_logo {
  width: 25.2rem;
  font-family: HelveticaNowDisplay-XBd,sans-serif;
  font-size: 1.5rem;
  letter-spacing: .015em;
  line-height: 1.2
}

.footer_menu {
  display: none;
  width: 25.2rem;
  margin: 0 0 0 auto;
  text-align: right;
  padding: .8rem .3rem 0 0
}

.footer_menu_button {
  font-family: HelveticaNowDisplay-Bd,sans-serif;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: .02em;
  transition: .3s cubic-bezier(.13,.78,.38,.98)
}

.footer_inner {
  height: 100%;
  overflow: hidden
}

.footer .vertical_title {
  width: 100%;
  font-family: FOT-筑紫ゴシック Pro E,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 1.4rem;
  line-height: 1.43;
  letter-spacing: .06em
}

.footer .vertical_title_anchor {
  display: flex;
  flex-direction: column;
  align-items: center
}

.footer .nav_company .vertical_title {
  line-height: 1.2;
  padding-top: .8rem
}

.footer .nav_recruit .vertical_title {
  padding-top: .6rem
}

.footer .nav_ideas {
  display: flex;
  margin-bottom: 3.9rem
}

.footer .nav_ideas .vertical_title {
  padding-top: .3rem
}

.footer .nav_ideas_header {
  width: 7.2rem
}

.footer .nav_ideas_inner {
  width: calc(100% - 7.2rem);
  overflow-y: hidden
}

.footer .nav_ideas_inner::-webkit-scrollbar {
  display: none
}

.footer .nav_ideas_list {
  display: flex
}

.footer .nav_ideas_item {
  width: 31.6rem;
  min-width: 31.6rem;
  transition: .3s cubic-bezier(.13,.78,.38,.98)
}

.footer .nav_ideas_item:not(:first-of-type) {
  margin-left: 1.8rem
}

.footer .nav_ideas_thumbnail {
  min-height: 94px;
  margin-bottom: 1.3rem;
  position: relative;
  overflow: hidden
}

.footer .nav_ideas_title {
  font-family: FOT-筑紫ゴシック Pro E,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 1.8rem;
  letter-spacing: .06em
}

.footer .nav_composite {
  display: flex
}

.footer .nav_info {
  width: 74rem
}

.footer .nav_info_block {
  display: flex
}

.footer .nav_info_block:not(:first-of-type) {
  margin-top: 2rem
}

.footer .nav_info_header {
  width: 7.2rem
}

.footer .nav_info_inner {
  width: calc(100% - 7.2rem);
  overflow-x: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none
}

.footer .nav_info_inner::-webkit-scrollbar {
  display: none
}

.footer .nav_info_list {
  display: flex
}

.footer .nav_info_item {
  width: 12.4rem;
  min-width: 12.4rem
}

.footer .nav_info_item:not(:first-of-type) {
  margin-left: .8rem
}

.footer .nav_info_thumbnail_image {
  width: 100%
}

.footer .nav_info_title {
  margin-top: 1.5rem;
  font-family: FOT-筑紫ゴシック Pro B,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 1.4rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis
}

.footer .nav_more {
  width: 67rem
}

.footer .nav_news {
  margin-top: -.4rem;
  margin-bottom: 2.5rem
}

.footer .nav_news_list {
  font-family: FOT-筑紫ゴシック Pro E,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 1.4rem;
  letter-spacing: .26em
}

.footer .nav_news_item:not(:first-of-type) {
  margin-top: 2.2rem
}

.footer .nav_support {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4.9rem;
  margin-top: 3rem
}

.footer .nav_support_parent {
  margin-bottom: 2.9rem;
  font-family: FOT-筑紫ゴシック Pro E,游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ ProN W3,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,sans-serif;
  font-size: 1.4rem;
  letter-spacing: .2em
}

.footer .nav_support_parent_anchor:hover {
  color: #4c4c4c;
  transition: 0s
}

.footer .nav_support_parent_anchor {
  transition: .3s cubic-bezier(.13,.78,.38,.98)
}

.footer .nav_support_child_list {
  font-size: 1.4rem
}

.footer .nav_support_child_anchor:hover {
  color: #4c4c4c;
  transition: 0s
}

.footer .nav_support_child_anchor {
  transition: .3s cubic-bezier(.13,.78,.38,.98)
}

.footer .nav_support_child_item:not(:first-of-type) {
  margin-top: .7rem
}

.footer .nav_other {
  display: flex
}

.footer .nav_other_anchor:hover {
  color: #4c4c4c;
  transition: 0s
}

.footer .nav_other_anchor {
  transition: .3s cubic-bezier(.13,.78,.38,.98)
}

.footer .nav_other_item {
  font-size: 1.4rem;
  letter-spacing: .06em
}

.footer .nav_other_item:first-of-type {
  width: 12.5rem;
  order: 2
}

.footer .nav_other_item:nth-of-type(2) {
  order: 3
}

.footer .nav_other_item:nth-of-type(3) {
  width: 24.5rem;
  order: 1
}

.footer .nav_other_item:nth-of-type(4) {
  margin: 0 0 0 auto;
  order: 4
}

.footer .copyright_small {
  font-family: HelveticaNowDisplay-Bd,sans-serif;
  font-size: 1.2rem;
  letter-spacing: .04em
}

.footer .lang_nav {
  margin: 0
}

.footer .lang_nav_list {
  display: flex
}

.footer .lang_nav_item {
  max-height: none;
  -webkit-writing-mode: horizontal-tb;
  -ms-writing-mode: lr-tb;
  writing-mode: horizontal-tb
}

.footer .lang_nav_item:not(:first-of-type):before {
  margin: 0 .25em;
  content: "／"
}

.grab:hover {
  cursor: grab
}

.grab:hover .nav_ideas_anchor,.grab:hover .nav_info_anchor {
  cursor: inherit
}

.grab:active {
  cursor: grabbing
}

.footer .nav_ideas_thumbnail_image {
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%)
}

.layout {
  display: flex;
  margin-bottom: 100vh;
  padding: 28.8rem 3.6rem;
  background-color: #f2f2f2;
  position: relative;
  z-index: 3;
  transition: transform .9s cubic-bezier(.77,0,.175,1)
}

.layout .main {
  width: 111.6rem
}

.layout.o-one_column .main {
  width: 100%
}

.layout.o-hide {
  height: 100vh;
  overflow: hidden;
  transform: translate3d(0,-100%,0)
}

.pc_appear {
  display: block
}

.sp_appear {
  display: none
}

.pc_inline {
  display: inline
}

.sp_inline {
  display: none
}

.o-align_right {
  text-align: right
}

@media (-webkit-min-device-pixel-ratio: 0) and (min-resolution:0.001dpcm) {
  img {
      image-rendering:-webkit-optimize-contrast
  }
}

@media (-ms-high-contrast:none) {
  .header_search_input_label {
      margin-top: -.2rem
  }

  .lang_nav_item:not(:first-of-type) {
      transform: translateX(-.2em)
  }

  .lang_nav_item:not(:first-of-type):before {
      transform: translateX(-.1em)
  }
}

@media (max-height: 1024px) {
  .footer_header {
      padding:2rem 2rem 1.8rem
  }
}
