@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */

img, legend {
  border: 0
}

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

body, dd, li, ol, p, ul {
  margin: 0
}

hr, input[type=search] {
  box-sizing: content-box
}

button, dd, legend, li, ol, td, th, ul {
  padding: 0
}

.c-btn, button {
  cursor: pointer
}

a, button {
  background-color: transparent;
  transition: .1s linear
}

.l-container:after, .l-header_utility_item>a::before, [data-menu=overlay] {
  content: ""
}

.c-imageUnit, .c-imageUnit_text {
  zoom: 1;
  overflow: hidden
}

.c-table td.-nowrap, .c-table th.-nowrap, .hero_attention_heading, .l-breadcrumb_item, .officeData_phone, select {
  white-space: nowrap
}

.slick-slider, img {
  -webkit-user-select: none;
  -webkit-touch-callout: none
}

.l-gnav_label:focus, .slick-list:focus, a:active, a:hover, input[type=search]:focus {
  outline: 0
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-family: sans-serif
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block
}

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline
}

audio:not([controls]) {
  display: none;
  height: 0
}

[hidden], template {
  display: none
}

a {
  color: #045b87;
  text-decoration: none;
  opacity: 1
}

abbr[title] {
  border-bottom: 1px dotted
}

dfn {
  font-style: italic
}

h1 {
  margin: .67em 0;
  font-size: 2em
}

mark {
  background: #ff0;
  color: #000
}

small {
  font-size: 80%
}

sub, sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline
}

sup {
  top: -.5em
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.l-container, .l-main_contents {
  max-width: 124rem;
  margin: 0 auto
}

html.-open, svg:not(:root) {
  overflow: hidden
}

figure {
  margin: 1em 40px
}

hr {
  height: 0
}

pre, textarea {
  overflow: auto
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em
}

button, input, optgroup, select, textarea {
  margin: 0;
  color: inherit;
  font: inherit
}

button {
  overflow: visible
}

.l-wrapper, body {
  overflow-x: hidden
}

button, select {
  text-transform: none
}

button, html input[type=button], input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer
}

button[disabled], html input[disabled] {
  cursor: default
}

button::-moz-focus-inner, input::-moz-focus-inner {
  padding: 0;
  border: 0
}

input {
  line-height: normal
}

input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  padding: 0
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
  height: auto
}

input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

fieldset {
  margin: 0 2px;
  padding: .35em .625em .75em;
  border: 1px solid silver
}

optgroup {
  font-weight: 700
}

table {
  border-collapse: collapse;
  border-spacing: 0
}
/*
@font-face {
  src: url("../font/NotoSansCJKjp-Light.min.woff2") format("woff2"), url(../font/NotoSansCJKjp-Light.min.woff) format("woff"), url(../font/NotoSansCJKjp-Light.min.ttf) format("truetype");
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 200
}

@font-face {
  src: url(../font/NotoSansCJKjp-DemiLight.min.woff2) format("woff2"), url(../font/NotoSansCJKjp-DemiLight.min.woff) format("woff"), url(../font/NotoSansCJKjp-DemiLight.min.ttf) format("truetype");
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300
}

@font-face {
  src: url(../font/NotoSansCJKjp-Regular.min.woff2) format("woff2"), url(../font/NotoSansCJKjp-Regular.min.woff) format("woff"), url(../font/NotoSansCJKjp-Regular.min.ttf) format("truetype");
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400
}

@font-face {
  src: url(../font/NotoSansCJKjp-Medium.min.woff2) format("woff2"), url(../font/NotoSansCJKjp-Medium.min.woff) format("woff"), url(../font/NotoSansCJKjp-Medium.min.ttf) format("truetype");
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500
}

@font-face {
  src: url(../font/NotoSansCJKjp-Bold.min.woff2) format("woff2"), url(../font/NotoSansCJKjp-Bold.min.woff) format("woff"), url(../font/NotoSansCJKjp-Bold.min.ttf) format("truetype");
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700
}

@font-face {
  src: url(../font/NotoSerifCJKjp-Light.woff2) format("woff2"), url(../font/NotoSerifCJKjp-Light.woff) format("woff"), url(../font/NotoSerifCJKjp-Light.otf) format("opentype");
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 200
}

@font-face {
  src: url(../font/NotoSerifCJKjp-Regular.woff2) format("woff2"), url(../font/NotoSerifCJKjp-Regular.woff) format("woff"), url(../font/NotoSerifCJKjp-Regular.otf) format("opentype");
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400
}

@font-face {
  src: url(../font/NotoSerifCJKjp-Medium.woff2) format("woff2"), url(../font/NotoSerifCJKjp-Medium.woff) format("woff"), url(../font/NotoSerifCJKjp-Medium.otf) format("opentype");
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500
}

@font-face {
  src: url(../font/NotoSerifCJKjp-SemiBold.woff2) format("woff2"), url(../font/NotoSerifCJKjp-SemiBold.woff) format("woff"), url(../font/NotoSerifCJKjp-SemiBold.otf) format("opentype");
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 600
}

@font-face {
  src: url(../font/NotoSerifCJKjp-Bold.woff2) format("woff2"), url(../font/NotoSerifCJKjp-Bold.woff) format("woff"), url(../font/NotoSerifCJKjp-Bold.otf) format("opentype");
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700
}
*/
html {
  font-size: calc(1em * .625)
}

html.-open [data-menu=overlay] {
  display: block
}

[data-menu=overlay] {
  display: none;
  z-index: 2;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #000;
  opacity: .8
}

.l-container, .l-main, body.-form .l-header {
  position: relative
}

body {
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  word-wrap: break-word;
  min-width: 100%;
  background: #fff;
  color: #333;
  font: 300 1.8em/1.75 "Noto Sans Japanese", "Noto Sans JP", "Helvetica Neue", Helvetica, Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  word-break: break-word
}

@media only screen and (-webkit-min-device-pixel-ratio:2), (-webkit-min-device-pixel-ratio:2), (min-resolution:2dppx) {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
  }
}

* {
  box-sizing: border-box
}

dd, li, ol, ul {
  list-style-type: none
}

em {
  font-style: normal
}

sub {
  bottom: -.1em
}

p:not([class*=c-lead])+p {
  margin-top: 1.5em
}

b, strong {
  font-weight: 500
}

button, input, select, textarea {
  font: inherit
}

.corpMenu_panel:nth-child(1) .corpMenu_panel_heading_en, .l-footer_copyright small, .l-footer_pagetop a, .topSection_heading_en {
  font-family: Roboto, sans-serif
}

.faqList_icon, .mt-site-search-result-item__url cite {
  font-style: normal
}

input[type=search] {
  -webkit-appearance: none;
  border-radius: 0
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none
}

.l-header, .l-header_logo img, .l-header_nav {
  transition: all .3s ease
}

a:hover {
  text-decoration: underline
}

@media screen and (max-width:375px) {
  html {
    font-size: 2.6666666667vw
  }
}


.l-wrapper {
  padding-top: 10rem
}

@media screen and (max-width:1100px) {
  .l-wrapper {
    padding-top: 6.4rem
  }
}

.l-main {
  padding: 6rem 4rem 0;
  background: #fff
}

.l-main.-single, .l-main>.l-section:last-child[class*=l-section][class*=-full]:not([class*=-var]) {
  padding-bottom: 12rem
}

.l-main_contents {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding: 0 0 12rem
}

.l-main_primary {
  width: calc(100% - 29.5rem - 3.5rem)
}

.l-main_secondary {
  width: 29.5rem
}

.l-main_secondary a {
  color: inherit
}

@media screen and (max-width:1024px) {
  .l-main_contents {
    display: block;
    margin: 0 auto
  }
  .l-main_primary {
    width: auto
  }
  .l-main_secondary {
    width: auto;
    padding-top: 4rem
  }
}

@media screen and (max-width:768px) {
  body {
    font-size: 1.6em
  }
  a:hover {
    text-decoration: none
  }
  .l-main {
    padding: 3rem 1.5rem 0
  }
  .l-main.-single, .l-main>.l-section:last-child[class*=l-section][class*=-full]:not([class*=-var]), .l-main_contents {
    padding-bottom: 6rem
  }
}





body.-home .l-main {
  padding: 0 4rem
}

@media screen and (max-width:768px) {
  body.-home .l-main {
    padding: 0 1.5rem
  }
}

body.-form .l-wrapper {
  padding-top: 0
}

.l-container {
  width: 100%
}

.l-container:after {
  display: block;
  clear: both
}

.l-container.-var02 {
  max-width: 102.4rem
}

.l-container.-var03 {
  max-width: 82rem
}

.l-container.-var04 {
  max-width: 92.4rem
}

.l-header {
  z-index: 3;
  position: fixed;
  top: 0;
  width: 100%;
  height: 10rem;
  padding: 0 4rem;
  background: #fff;
  line-height: 1.5
}

.l-header_inner {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  margin: 0 auto
}

.l-header_logo {
  margin: 0;
  line-height: 1
}

.l-header_logo a {
  display: block
}

.l-header_logo a:hover {
  text-decoration: none;
  opacity: .6
}

.l-header_logo img {
  display: inline-block;
  vertical-align: middle
}

.l-header_nav {
  display: flex;
  align-items: flex-end;
  height: 100%;
  padding-top: 1.3rem
}

.l-header.-spMenu {
  display: none
}

.l-header_utility {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: auto;
  margin: 0 0 1rem
}

.l-header_utility_item {
  font-size: 1.4rem
}

.l-header_utility_item+.l-header_utility_item {
  margin-left: 2rem
}

.l-header_utility_item>a {
  color: #263238
}

.l-header_utility_item>a::before {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-right: 1rem;
  vertical-align: -.5rem
}

.l-header_utility_item.-client a::before {
  background: url(../assets/images/common/ico_client.png) 0 50%/contain no-repeat
}

.l-header_utility_item.-global a::before {
  background: url(../assets/images/common/ico_global.png) 0 50%/contain no-repeat
}

.l-header_utility_item.-search {
  margin-left: 3.4rem;
  padding: 0
}

.l-header_utility_item.-search a {
  display: block;
  width: 2.2rem;
  height: 2.2rem;
  padding: 0;
  background: url(../assets/images/common/ico_search.png) 50% 50%/2.2rem auto no-repeat
}

.l-header_utility_item.-search a::before {
  content: none
}

.l-header_utility_item.-noIcon a::before {
  width: .6rem;
  height: 1rem;
  background: url(../assets/images/common/ico_arrow_06.png) 50% 50%/contain no-repeat;
  vertical-align: middle
}

.l-header_utility_item a.-external::after {
  display: inline-block;
  width: 1.2rem;
  height: 1rem;
  margin-left: .8rem;
  background: url(../assets/images/common/ico_external.png) 50% 50%/contain no-repeat;
  content: ""
}

.l-header_search {
  visibility: hidden;
  z-index: 1;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0 1.5rem 6rem;
  background: #3c464c;
  color: #fff;
  opacity: 0;
  transition: all .5s
}

.l-header_search.-open {
  visibility: visible;
  opacity: 1
}

.l-header_search_heading {
  position: relative;
  margin: 0 -1.5rem 6rem;
  padding: 3.9rem 1.5rem;
  border-bottom: 1px solid #515b60
}

.l-header_search_form {
  width: 100%;
  max-width: 102.4rem;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #e0e0e0;
  border-radius: .4rem
}

.l-header_search_close {
  position: absolute;
  top: 4rem;
  right: 2rem;
  width: 3.2rem;
  height: 3.2rem
}

.l-header_search_close:hover {
  opacity: .6
}

.l-header_search_close_label {
  display: block;
  position: relative;
  width: 100%;
  height: 100%
}

.l-header_search_close_label::after, .l-header_search_close_label::before {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background: #92989b;
  content: ""
}

.l-header_search_close_label::before {
  width: 3.2rem;
  height: .2rem
}

.l-header_search_close_label::after {
  width: .2rem;
  height: 3.2rem
}

.l-header_search_title {
  margin: 0;
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1.3;
  text-align: center
}

@media screen and (min-width:1025px) {
  .l-header.-compact {
    height: 6.4rem
  }
  .l-header.-compact .l-header_logo img {
    width: 17.6rem
  }
  .l-header.-compact .l-header_nav {
    padding-top: 0
  }
  .l-header.-compact .l-header _utility {
    display: none;
    height: 0
  }
}

@media screen and (max-width:1200px) {
  .l-header_logo img {
    width: 20rem
  }
}

@media screen and (max-width:1100px) {
  .l-header {
    height: 6.4rem;
    padding: 0 2rem;
    font-size: 1.4rem
  }
  .l-header_inner {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto
  }
  .l-header_logo img {
    width: 17.6rem
  }
  .l-header_spMenu {
    display: block;
    position: absolute;
    top: 0;
    right: -2rem;
    width: 6.4rem;
    height: 6.4rem;
    padding-top: 2.5rem
  }
  .l-header_spMenu span {
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 2.8rem;
    height: .2rem;
    margin: auto;
    background: #333;
    transition: all .3s
  }
  .l-header_spMenu span:nth-child(1) {
    top: -1.7rem;
    -webkit-animation: menu-bar01 .75s;
    animation: menu-bar01 .75s
  }
  .l-header_spMenu span:nth-child(2) {
    top: 0;
    -webkit-animation: menu-bar02 .75s;
    animation: menu-bar02 .75s
  }
  .l-header_spMenu span:nth-child(3) {
    top: 1.6rem;
    -webkit-animation: menu-bar03 .75s;
    animation: menu-bar03 .75s
  }
  .l-header_spMenu.-open::after {
    font-size: 1.2rem;
    content: "閉じる"
  }
  .l-header_spMenu.-open span {
    width: 2.8rem
  }
  .l-header_spMenu.-open span:nth-child(1) {
    -webkit-animation: open-menu-bar01 .75s forwards;
    animation: open-menu-bar01 .75s forwards
  }
  .l-header_spMenu.-open span:nth-child(2) {
    -webkit-animation: open-menu-bar02 .75s forwards;
    animation: open-menu-bar02 .75s forwards
  }
  .l-header_spMenu.-open span:nth-child(3) {
    -webkit-animation: open-menu-bar03 .75s forwards;
    animation: open-menu-bar03 .75s forwards
  }
  .l-header_nav {
    -webkit-overflow-scrolling: touch;
    display: none;
    position: fixed;
    top: 6.4rem;
    left: 0;
    width: 100%;
    height: calc(100% - 6.4rem);
    padding: 0;
    overflow-y: auto;
    background: #f5f7f8;
    transition: unset
  }
  .l-header_nav_inner {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    min-height: 100%;
    padding-bottom: env(safe-area-inset-bottom);
    -webkit-animation: fadeIn .6s ease forwards;
    animation: fadeIn .6s ease forwards;
    -webkit-animation-delay: .6s;
    animation-delay: .6s;
    opacity: 0
  }
  .l-header_utility {
    margin: 0;
    border-top: 1px solid #cfd8dc;
    border-bottom: 1px solid #cfd8dc
  }
  .l-header_utility_item {
    flex: 1
  }
  .l-header_utility_item+.l-header_utility_item {
    margin-left: 0;
    border-left: 1px solid #cfd8dc
  }
  .l-header_utility_item.-search {
    display: none
  }
  .l-header_utility_item.-noIcon a::before {
    vertical-align: baseline
  }
  .l-header_utility_item a {
    display: block;
    padding: 1.6rem 1.5rem;
    text-align: center
  }
  .l-header_utility_item a:hover {
    text-decoration: none
  }
  [lang=en] .l-header_spMenu.-open::after {
    content: "Close"
  }
  [lang=en] .l-header_utility_item a {
    text-align: left
  }
}

@-webkit-keyframes menu-bar01 {
  0% {
    top: -2rem
  }
  100%, 50% {
    top: -1.7rem;
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
}

@keyframes menu-bar01 {
  0% {
    top: -2rem
  }
  100%, 50% {
    top: -1.7rem;
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
}

@-webkit-keyframes menu-bar02 {
  0%, 50% {
    top: -2rem
  }
  100% {
    top: 0;
    opacity: 1
  }
}

@keyframes menu-bar02 {
  0%, 50% {
    top: -2rem
  }
  100% {
    top: 0;
    opacity: 1
  }
}

@-webkit-keyframes menu-bar03 {
  0% {
    top: -2rem
  }
  50% {
    top: -2rem;
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
  100% {
    top: 1.6rem;
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
}

@keyframes menu-bar03 {
  0% {
    top: -2rem
  }
  50% {
    top: -2rem;
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
  100% {
    top: 1.6rem;
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
}

@-webkit-keyframes open-menu-bar01 {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
  50% {
    top: -2rem;
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
  100% {
    top: -2rem;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
  }
}

@keyframes open-menu-bar01 {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
  50% {
    top: -2rem;
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
  100% {
    top: -2rem;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
  }
}

@-webkit-keyframes open-menu-bar02 {
  0% {
    top: 0
  }
  50% {
    top: -2rem
  }
  100% {
    top: -2rem;
    opacity: 0
  }
}

@keyframes open-menu-bar02 {
  0% {
    top: 0
  }
  50% {
    top: -2rem
  }
  100% {
    top: -2rem;
    opacity: 0
  }
}

.l-footer_contact_btn:hover, .l-footer_pagetop a:hover {
  opacity: .6;
  text-decoration: none
}

@-webkit-keyframes open-menu-bar03 {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
  50% {
    top: -2rem;
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
  100% {
    top: -2rem;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
  }
}

@keyframes open-menu-bar03 {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
  50% {
    top: -2rem;
    -webkit-transform: rotate(0);
    transform: rotate(0)
  }
  100% {
    top: -2rem;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
  }
}

.l-footer {
  position: relative;
  padding: 0 4rem;
  padding-bottom: env(safe-area-inset-bottom);
  /*background: #3c464c;#001A43*/
  background: #003F33;
  color: #333/*fff*/;
  line-height: 1.5
}

.l-footer a {
  color: /*currentColor*/#fff;
}

.l-footer_pagetop {
  z-index: 1;
  position: absolute;
  top: 0;
  right: 4rem
}

.l-footer_pagetop i {
  display: block;
  position: relative;
  width: .1rem;
  height: 3.2rem;
  margin: 0 auto;
  overflow: hidden
}

.l-footer_pagetop i::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  background-image: linear-gradient(90deg, #fff, #ccc);
  -webkit-animation: scrollTop 2s infinite;
  animation: scrollTop 2s infinite;
  content: ""
}

.l-footer_pagetop a {
  display: block;
  margin-top: 2.5rem;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  color: /*currentColor*/#fff;
  font-size: 1.2rem;
  font-weight: 700
}

.l-footer_contents {
  width: 100%;
  max-width: /*124*/60rem;
  margin: 0 auto;
  padding: 5rem 0;
    /*background: orange;*/
}

.l-footer_nav_cat+.l-footer_nav_cat {
  margin-top: 2.5rem
}

.l-footer_nav_cat_title {
  font-size: 1.8rem;
  font-weight: 500
}

.l-footer_nav_cat_menu {
  margin: 1.5rem 0 0;
  font-size: 1.6rem
}

.l-footer_nav_cat_item {
  position: relative;
  padding: 0 0 0 2.3rem
}

.l-footer_nav_cat_item a::before {
  display: block;
  position: absolute;
  top: .5em;
  left: .7rem;
  width: .6rem;
  height: 1rem;
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/contain no-repeat;
  content: ""
}

.l-footer_nav_cat_item+.l-footer_nav_cat_item {
  margin-top: .7rem
}

.l-footer_nav_cat_item_toggle {
  display: none
}

.l-footer_nav_col {
  flex: 1
}

.l-footer_logo {
  margin-right: auto
}
  .l-footer_logo img {
    width: 12rem;
  }

.l-footer_logo+.l-footer_info_text {
  margin-left: 2rem
}

.l-footer_info {
  margin: 0 -4rem;
  padding: 5rem 4rem;
    background: #fff;
  /*background: #263238;*/
  /*background: #382626;*/
}

.l-footer_info_inner {
  display: flex;
  width: 100%;
  max-width: /*124*/80rem;
  margin: 0 auto;
}

.l-footer_info_text {
  margin-left: auto
}

.l-footer_link {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end
}

.l-footer_link_item {
  position: relative;
  margin: 0;
  font-size: 1.4rem
}

.l-footer_link_item+.l-footer_link_item::before {
  display: inline-block;
  margin: 0 1.2rem;
  /*color: #4d4d4d;*/
  color: #4e2f2f;
  content: "｜"
}

.l-footer_link_item:last-child {
  border-right: none
}

.l-footer_copyright {
  margin: 3rem 0 0;
  text-align: right
}

.l-footer_copyright small {
  font-size: 1.3rem;
  font-weight: 400
}

.l-footer_contact {
  margin: 0 -4rem;
  padding: 1.2rem 4rem;
  padding-bottom: calc(1.2rem + env(safe-area-inset-bottom));
  /*background: #1d262a*/
}

.l-footer_contact_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 30rem;
  /*max-width: 62rem;*/
  max-width: 32rem;
  margin: 0 auto;
  padding: 1.6rem;
  border-radius: 2.8rem;
  background-color: #43B73C;
  background-image: linear-gradient(45deg, #43B73C, #002A00);
  font-weight: 500;
  transition: .2s linear
}

.l-footer_contact_btn:hover {
  color: currentColor
}

@media screen and (max-width:1024px) {
  .l-footer_nav_col {
    flex: inherit;
    width: calc((100% / 3.001) - 2rem)
  }
  .l-footer_logo {
      margin: 0 auto;
    width: 12rem;
  }
  .l-footer_logo img {
    width: 12rem;
  }
}

@media screen and (max-width:768px) {
  .l-footer_nav_cat, .l-footer_nav_cat_list {
    position: relative
  }
  .l-footer {
    padding: 8rem 1.5rem 0
  }
  .l-footer_pagetop {
    top: 0;
    right: 0
  }
  .l-footer_pagetop i {
    height: 2.6rem
  }
  .l-footer_pagetop a {
    margin-top: 2rem;
    font-size: 1rem
  }
  .l-footer_contents {
    width: auto;
    margin: 0 -1.5rem;
    padding: 0
  }
  .l-footer_nav_cat+.l-footer_nav_cat, .l-footer_nav_col+.l-footer_nav_col {
    margin-top: 0!important
  }
  .l-footer_nav_cat {
    padding: 0
  }
  .l-footer_nav_cat_title {
    display: block;
    padding: 1.8rem 6rem 1.9rem 3rem;
    border-bottom: 1px solid #515b60;
    font-size: 1.7rem
  }
  .l-footer_nav_cat_menu {
    margin: 0;
/*  background: #263238;*/
  background: #382626;
  }
  .l-footer_nav_cat_item {
    padding: 0
  }
  .l-footer_nav_cat_item a {
    display: block;
    padding: 1.3rem 1.5rem 1.3rem 3rem;
    border-bottom: 1px solid #515b60;
    font-size: 1.5rem
  }
  .l-footer_nav_cat_item a::before {
    content: none
  }
  .l-footer_nav_cat_item+.l-footer_nav_cat_item {
    margin-top: 0
  }
  .l-footer_nav_cat_item_toggle {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 5rem;
    height: 6.2rem;
    border-width: 1.9rem 1.3rem;
    border-style: solid;
    border-color: #3c464c;
/*  background: #263238;*/
  background: #382626;
  }
  .l-footer_nav_cat_item_toggle::after, .l-footer_nav_cat_item_toggle::before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: #92989b;
    content: "";
    transition: all .3s ease-out
  }
  .l-footer_nav_cat_item_toggle::before {
    width: 1.6rem;
    height: .2rem
  }
  .l-footer_nav_cat_item_toggle::after {
    width: .2rem;
    height: 1.6rem
  }
  .l-footer_nav_cat_item_toggle.-open::after {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
  }
  .l-footer_logo {
      margin: 0 auto;
    width: 18rem;
  }
  .l-footer_logo img {
    width: 18rem;
  }
  .l-footer_logo+.l-footer_info_text {
    margin-top: 2.5rem;
    margin-left: 0
  }
  .l-footer_info {
    margin: 0 -1.5rem;
    padding: 3rem 3rem 3.5rem
  }
  .l-footer_info_inner {
    display: block
  }
  .l-footer_link {
    justify-content: flex-start
  }
  .l-footer_link_item {
    margin: 0 0 1rem;
    font-size: 1.3rem
  }
  .l-footer_link_item::after {
    display: inline-block;
    margin: 0 .7rem;
    content: "｜"
  }
  .l-footer_link_item+.l-footer_link_item::before, .l-footer_link_item:last-child::after {
    content: none
  }
  .l-footer_copyright {
    margin: 1rem /*0 0*/auto;
    text-align: /*left*/center;
  }
  .l-footer_copyright small {
    font-size: 1.2rem
  }
  .l-footer_contact {
    margin: 0 -1.5rem;
    padding: 1.2rem 1.5rem;
    padding-bottom: calc(1.2rem + env(safe-area-inset-bottom))
  }
  .l-footer_contact_btn {
    padding: 1.7rem 1.6rem;
    border-radius: 2.8rem
  }
}

@media screen and (max-width:1024px) {
  [lang=en] .l-footer_nav_col {
    flex: 1
  }
}

.l-menu {
  display: flex;
  align-items: flex-start
}

.l-menu_contact, .l-menu_entry {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 14.4rem;
  margin: 0 0 0 2rem;
  padding: 1.3rem 1.6rem;
  border-radius: 2.4rem;
  background-color: #43B73C;
  background-image: linear-gradient(45deg, #43B73C, #002A00);
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500
}

.l-menu_contact .-external::after, .l-menu_entry .-external::after {
  display: inline-block;
  width: 1.1rem;
  height: 1.1rem;
  margin-left: .4rem;
  background: url(../assets/images/common/ico_external_02.png) 50% 50%/contain no-repeat;
  line-height: 1;
  content: ""
}

.l-menu_contact:hover, .l-menu_entry:hover {
  color: #fff;
  text-decoration: none;
  opacity: .6;
  transition: .2s linear
}

.l-gnav a, .l-gnav_menu a:hover {
  color: currentColor
}

.l-menu_mobile {
  display: none
}

@media screen and (max-width:1100px) {
  .l-menu {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto;
    grid-template: "menu" "contact";
    -ms-grid-columns: 100%;
    grid-template-columns: 100%
  }
  .l-menu_contact, .l-menu_entry {
    grid-area: contact;
    margin: 1.5rem;
    -ms-grid-row: 2;
    -ms-grid-column: 1
  }
  .l-menu_mobile {
    display: block;
    grid-area: menu;
    padding-bottom: env(safe-area-inset-bottom);
    background: #f5f7f8;
    -ms-grid-row: 1;
    -ms-grid-column: 1
  }
  .l-menu_mobile_search {
    padding: 1.5rem
  }
  .l-menu_mobile_search .mt-site-search-form {
    overflow: hidden;
    border: 1px solid #e0e0e0;
    border-radius: .4rem
  }
  .l-menu_mobile_search .mt-site-search-form__query {
    width: calc(100% - 4rem);
    padding: 0 1.5rem;
    font-size: 1.6rem
  }
  .l-menu_mobile_search .mt-site-search-form__button {
    width: 4rem;
    height: 4rem;
    background: url(../assets/images/common/ico_search.png) 50% 50%/2.5rem auto no-repeat
  }
}

.l-gnav {
  display: flex;
  justify-content: flex-end
}

.l-gnav_item[aria-controls] .l-gnav_label::after {
  display: block;
  position: absolute;
  top: 2.1rem;
  right: .4rem;
  width: 1rem;
  height: .6rem;
  background: url(../assets/images/common/ico_arrow_down.png) 50% 50%/contain no-repeat;
  content: "";
  transition: .3s linear
}

.l-gnav_item.-active .l-gnav_label, .l-gnav_item.-open .l-gnav_label, .l-gnav_item:hover .l-gnav_label {
  color: currentColor;
  text-decoration: none
}

.l-gnav_item.-active .l-gnav_label::before, .l-gnav_item.-open .l-gnav_label::before, .l-gnav_item:hover .l-gnav_label::before {
  width: calc(100% - 4rem)
}

.l-gnav_label {
  display: flex;
  position: relative;
  align-items: center;
  height: 100%;
  padding: 1.3rem 2rem 2rem;
  font-size: 1.5rem;
  font-weight: 500
}

.l-gnav_label::before {
  display: block;
  position: absolute;
  right: 0;
  bottom: 1.3rem;
  left: 0;
  width: 0;
  height: .2rem;
  margin: 0 auto;
  background-color: #43B73C;
  background-image: linear-gradient(90deg, #43B73C, #001A43);
  content: "";
  transition: .2s ease
}

.l-gnav_menu {
  visibility: hidden;
  position: fixed;
  top: 10rem;
  left: 0;
  width: 100%;
  max-height: calc(100vh - 10rem);
  padding: 4.5rem 4rem 7.5rem;
  overflow: auto;
  background: #f5f7f8;
  opacity: 0;
  pointer-events: none;
  transition: all .5s
}

.l-gnav_menu.-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto
}

.l-breadcrumb_item a:not([href]), .messageBlock::after, .slick-slide.dragging img {
  pointer-events: none
}

.l-gnav_menu.-open .l-gnav_menu_inner {
  -webkit-animation: bottomToTop .5s .5s forwards;
  animation: bottomToTop .5s .5s forwards
}

.l-gnav_menu_close {
  position: absolute;
  top: 0;
  right: 0;
  width: 4rem;
  height: 4rem;
  background: #b0bec5
}

.l-gnav_menu_close:hover {
  opacity: .6
}

.l-gnav_menu_close_label {
  display: block;
  position: relative;
  width: 100%;
  height: 100%
}

.l-gnav_menu_close_label::after, .l-gnav_menu_close_label::before {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background: #fff;
  content: ""
}

.l-gnav_menu_close_label::before {
  width: 2.2rem;
  height: .2rem
}

.l-gnav_menu_close_label::after {
  width: .2rem;
  height: 2.2rem
}

.l-gnav_menu_inner {
  width: 100%;
  max-width: 124rem;
  margin: 0 auto;
  opacity: 0
}

.l-gnav_menu_heading {
  position: relative;
  margin: 0 0 4rem;
  padding: 0 0 1rem;
  border-bottom: 1px solid #cfd8dc;
  font-size: 2.8rem;
  font-weight: 500
}

.l-gnav_menu_heading a {
  display: block;
  margin: 0 0 -1rem;
  padding: 0 0 1rem 3rem;
  background: url(../assets/images/common/ico_arrow.png) .7rem calc(50% - .4rem)/1rem auto no-repeat
}

.l-gnav_menu_list_item a::before, .l-gnav_menu_title>a::before {
  display: block;
  width: .6rem;
  height: 1rem;
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/contain no-repeat;
  top: .5em;
  left: .7rem;
  content: ""
}

.l-gnav_menu_heading a:hover {
  text-decoration: none;
  opacity: .6
}

.l-gnav_menu_title {
  position: relative;
  margin: 0 0 1.2rem;
  padding: 0 0 0 2.3rem;
  font-size: 1.8rem;
  font-weight: 500
}

.l-gnav_menu_title>a::before {
  position: absolute
}

.l-gnav_menu_title:not([class*=c-grid_col])+.l-gnav_menu_title:not([class*=c-grid_col]) {
  margin-top: 3rem
}

.l-gnav_menu_list {
  margin-top: 3rem;
  padding-left: 1rem
}

.l-gnav_menu_list_item {
  position: relative;
  padding-left: 2.3rem;
  font-size: 1.6rem;
  font-weight: 400
}

.l-gnav_menu_list_item+.l-gnav_menu_list_item {
  margin-top: 2rem
}

.l-gnav_menu_list_item a::before {
  position: absolute
}

.l-gnav_menu_list_item a.-external::after {
  display: inline-block;
  width: 1.1rem;
  height: 1.1rem;
  margin-left: 1rem;
  background: url(../assets/images/common/ico_external.png) 50% 50%/contain no-repeat;
  vertical-align: .1rem;
  content: ""
}

.l-gnav_menu_list.-horizontal {
  display: flex;
  flex-wrap: wrap;
  margin: 1rem 0 0 -2rem
}

.l-gnav_menu_list.-horizontal .l-gnav_menu_list_item {
  margin: 2rem 0 0 2rem
}

.l-gnav_panel_link {
  display: block
}

.l-gnav_panel_link:hover {
  opacity: .6
}

.l-gnav_panel_image img {
  width: 100%
}

.l-gnav_panel_title {
  position: relative;
  margin: 2rem 0 0;
  padding-left: 2.3rem;
  font-size: 1.8rem;
  font-weight: 500
}

.l-gnav_panel_title::before {
  display: block;
  position: absolute;
  top: .5em;
  left: .7rem;
  width: .6rem;
  height: 1rem;
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/contain no-repeat;
  content: ""
}

.l-gnav_dbSearch {
  display: flex;
  justify-content: space-between;
  margin: 2rem 0 1rem
}

.l-gnav_dbSearch_item {
  display: flex;
  position: relative;
  flex: 1;
  align-items: center;
  min-height: 12rem;
  background: #fff;
  box-shadow: .1rem .2rem .3rem rgba(0, 0, 0, .1);
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center
}

.l-gnav_dbSearch_item:hover::before {
  opacity: 1
}

.l-gnav_dbSearch_item::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #43B73C;
  background-image: linear-gradient(45deg, #43B73C, #002A00);
  content: "";
  opacity: 0;
  transition: .2s linear
}

.l-gnav_dbSearch_item+.l-gnav_dbSearch_item {
  margin-left: 1rem
}

.l-gnav_dbSearch_item a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 2rem 1rem
}

.l-gnav_dbSearch_item a::before {
  display: block;
  width: 6rem;
  height: 6rem;
  margin: 0 auto;
  content: ""
}

.l-gnav_dbSearch_item a.-purpose::before {
  background: url(../assets/images/common/ico_db-purpose.png) 50% 50%/contain no-repeat
}

.l-gnav_dbSearch_item a.-location::before {
  background: url(../assets/images/common/ico_db-location.png) 50% 50%/contain no-repeat
}

.l-gnav_dbSearch_item a.-material::before {
  background: url(../assets/images/common/ico_db-material.png) 50% 50%/contain no-repeat
}

.l-gnav_dbSearch_item a.-function::before {
  background: url(../assets/images/common/ico_db-function.png) 50% 50%/contain no-repeat
}

.l-gnav_dbSearch_item a:hover {
  color: #fff;
  text-decoration: none
}

.l-gnav_dbSearch_item a:hover.-purpose::before {
  background: url(../assets/images/common/ico_db-purpose_02.png) 50% 50%/contain no-repeat
}

.l-gnav_dbSearch_item a:hover.-location::before {
  background: url(../assets/images/common/ico_db-location_02.png) 50% 50%/contain no-repeat
}

.l-gnav_dbSearch_item a:hover.-material::before {
  background: url(../assets/images/common/ico_db-material_02.png) 50% 50%/contain no-repeat
}

.l-gnav_dbSearch_item a:hover.-function::before {
  background: url(../assets/images/common/ico_db-function_02.png) 50% 50%/contain no-repeat
}

@media screen and (max-width:1200px) {
  .l-menu_contact, .l-menu_entry {
    min-width: 0
  }
  .l-gnav_label {
    padding-left: 1.5rem
  }
}

@media screen and (max-width:1100px) {
  .l-gnav {
    display: none
  }
}

html.-mobile .l-gnav_item:not([class*=-active]):not([class*=-open]):hover .l-gnav_label::before {
  width: 0
}

.l-gnavMobile_item {
  position: relative;
  -webkit-animation: rightToLeft .6s ease forwards;
  animation: rightToLeft .6s ease forwards;
  -webkit-animation-delay: .55s;
  animation-delay: .55s;
  opacity: 0
}

.l-gnavMobile_item a {
  color: currentColor
}

.l-gnavMobile_item a:hover {
  text-decoration: none
}

.l-gnavMobile_item:nth-of-type(2) {
  -webkit-animation-delay: .65s;
  animation-delay: .65s
}

.l-gnavMobile_item:nth-of-type(3) {
  -webkit-animation-delay: .85s;
  animation-delay: .85s
}

.l-gnavMobile_item:nth-of-type(4) {
  -webkit-animation-delay: .95s;
  animation-delay: .95s
}

.l-gnavMobile_item:nth-of-type(5) {
  -webkit-animation-delay: 1.05s;
  animation-delay: 1.05s
}

.l-gnavMobile_label {
  display: block;
  position: relative;
  height: 100%;
  padding: 1.2rem 5rem 1.3rem 4rem;
  font-size: 1.7rem;
  font-weight: 500
}

.l-gnavMobile_label::before {
  display: block;
  position: absolute;
  top: 1.2em;
  left: 2.5rem;
  width: .6rem;
  height: 1rem;
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/contain no-repeat;
  content: ""
}

.l-gnavMobile_label:not([href]) {
  padding-left: 2.5rem
}

.l-gnavMobile_label:not([href])::before {
  content: none
}

.l-gnavMobile_toggle {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 5rem;
  height: 5rem;
  border: 1.3rem solid #f5f7f8;
  background: #b0bec5
}

.l-localnav_item+.l-localnav_item, .l-section.-border {
  border-top: 1px solid #e0e0e0
}

.l-gnavMobile_toggle::after, .l-gnavMobile_toggle::before {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: #fff;
  content: "";
  transition: all .3s ease-out
}

.l-gnavMobile_toggle::before {
  width: 1.6rem;
  height: .2rem
}

.l-gnavMobile_toggle::after {
  width: .2rem;
  height: 1.6rem
}

.l-gnavMobile_toggle.-open::after {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg)
}

.l-bgFull::before, .officeNav_map {
  -webkit-transform: translateX(-50%)
}

.l-gnavMobile_child {
  background: #fff
}

.l-gnavMobile_child_item {
  font-size: 1.6rem
}

.l-gnavMobile_child_item a {
  display: block;
  position: relative;
  padding: 1.3rem 1.5rem 1.3rem 6rem
}

.l-gnavMobile_child_item a::before {
  display: block;
  position: absolute;
  top: 1.3em;
  left: 4.5rem;
  width: .6rem;
  height: 1rem;
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/contain no-repeat;
  content: ""
}

.l-gnavMobile_child_item a.-external::after {
  display: inline-block;
  width: 1.2rem;
  height: 1rem;
  margin-left: .8rem;
  background: url(../assets/images/common/ico_external.png) 50% 50%/contain no-repeat;
  content: ""
}

.l-gnavMobile_child_item.-second a {
  padding-left: 8rem
}

.l-gnavMobile_child_item.-second a::before {
  left: 6.5rem
}

.l-header.-compact .l-gnav_menu {
  max-height: calc(100vh - 6.4rem);
  top: 6.4rem
}

.l-localnav {
  border-bottom: 1px solid #e0e0e0;
  line-height: 1.5
}

.l-localnav_heading {
  margin: 0;
  background: #f5f7f8;
  /*background: #fdf8ef;*/
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3
}

.l-localnav_heading_link {
  display: block;
  padding: 2.3rem 1.5rem 2rem 1rem
}

.l-localnav_heading_link:hover {
  text-decoration: none;
  opacity: .6
}

.l-localnav_heading_label {
  display: inline-block;
  position: relative;
  padding-left: 2.9rem
}

.l-localnav_heading_label::before {
  display: block;
  position: absolute;
  top: .05em;
  left: 0;
  width: 2.4rem;
  height: 2.4rem;
  background: url(../assets/images/common/ico_arrow_04.png) 50% 50%/contain no-repeat;
  content: ""
}

.l-localnav_list {
  font-size: 1.6rem
}

.l-localnav_list .l-localnav_list {
  display: /*none*/
}

.l-localnav_list .l-localnav_list .l-localnav_item_link {
  padding-left: 4.8rem
}

.l-localnav_list .l-localnav_list .l-localnav_list .l-localnav_item_link {
  padding-left: calc(4.8rem + 1em)
}

.l-localnav_item_link {
  display: block;
  padding: 1.3rem 1.5rem
}

.l-localnav_item_link:not([href]) .l-localnav_item_label {
  padding-left: 0;
  font-weight: 500
}

.l-localnav_item_link:not([href]) .l-localnav_item_label::before {
  content: none
}

.l-localnav_item_link:not([href]):hover {
  opacity: 1
}

.l-entry_btn:hover, .l-localnav_item_link:hover {
  opacity: .6;
  text-decoration: none
}

.l-localnav_item_link.-external .l-localnav_item_label::after {
  display: inline-block;
  width: 1.2rem;
  height: 1rem;
  margin-left: .8rem;
  background: url(../assets/images/common/ico_external.png) 50% 50%/contain no-repeat;
  content: ""
}

.l-localnav_item_link.-active {
  background: #eceff1
}

.l-localnav_item_label {
  display: inline-block;
  position: relative;
  padding-left: 1.8rem
}

.l-localnav_item_label::before {
  display: block;
  position: absolute;
  top: .5em;
  left: .1rem;
  width: .6rem;
  height: 1rem;
  background: url(../assets/images/common/ico_arrow.png) 0 50%/contain no-repeat;
  content: ""
}

.l-section.-full {
  margin: 0 -4rem;
  padding: 8rem 4rem 6rem
}

.l-section.-full+.l-section.-full {
  margin-top: 0
}

.l-section.-border:not([class*=-full]) {
  padding-top: 6rem
}

.l-section.-library {
  background: url(../assets/images/ir/bg_library.jpg) 50% 50%/cover no-repeat
}

.l-section.-database {
  padding-bottom: 13.4rem;
  background: url(../assets/images/common/bg_database.png) 50% 18rem/79.3rem auto no-repeat #e2e8ea
}

.l-section.-database .c-heading {
  margin-bottom: 10rem
}

.l-section.-var02 {
  background: #f5f7f8
}

.l-section.-var03 {
  background: #263238;
  color: #fff
}

.l-section>.l-section {
  margin-top: 5rem
}

.l-section+.l-section {
  margin-top: 6rem
}

@media screen and (max-width:768px) {
  .l-section.-full {
    margin: 0 -1.5rem;
    padding: 4.5rem 1.5rem 4rem
  }
  .l-section.-var02 {
    padding-top: 4rem;
    padding-bottom: 4rem
  }
  .l-section.-database {
    background: url(../assets/images/common/bg_database.png) 50% 10.6rem/92% auto no-repeat #e2e8ea
  }
  .l-section.-database .c-heading {
    margin-bottom: 7rem
  }
  .l-section+.l-section {
    margin-top: 3rem
  }
}

.l-breadcrumb {
  -webkit-overflow-scrolling: touch;
  position: relative;
  padding: 0 4rem;
  overflow-y: auto
}

.l-breadcrumb.-var02 {
  background: #263238;
  color: #fff
}

.l-breadcrumb_list {
  display: flex;
  width: 100%;
  max-width: 124rem;
  margin: 0 auto
}

.l-breadcrumb_item {
  padding: 1.3rem 0;
  font-size: 1.4rem;
  line-height: 1.5
}

.l-breadcrumb_item+.l-breadcrumb_item::before {
  display: inline-block;
  margin: 0 .2rem 0 .5rem;
  content: ">"
}

.c-btn.-next::after, .c-btn.-prev::after, .c-btn02_label.-doc::before, .c-btn02_label.-pdf::before, .c-btn02_label.-xls::before, .c-btn::before, .c-btn_label.-doc::after, .c-btn_label.-pdf::after, .c-btn_label.-xls::after, .c-btn_label::before, .c-heading::after, .l-bgFull::before, .l-entry_btn .-external::after, .l-pageHeader_title::before {
  content: ""
}

.l-breadcrumb_item a {
  position: relative;
  color: currentColor
}

@media screen and (max-width:768px) {
  .l-breadcrumb {
    padding: 0 1.5rem
  }
  .l-breadcrumb_item {
    padding: 1.1rem 0;
    font-size: 1.2rem
  }
}

.l-pageHeader {
  padding: 0 4rem;
  background: #f5f7f8;
  /*background: #fdf8ef;*/
}

.l-pageHeader_title {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 124rem;
  min-height: 10rem;
  margin: 0 auto;
  padding: 3rem 0;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.3
}

.l-pageHeader_title::before {
  min-height: inherit;
  font-size: 0
}

.l-pageHeader_title span {
  display: inline-block
}

.l-pageHeader_title span span {
  line-height: 1.75
}

@media screen and (max-width:768px) {
  .l-pageHeader {
    padding: 0 1.5rem
  }
  .l-pageHeader_title {
    min-height: 6.6rem;
    padding: 1.5rem 0;
    font-size: 2.4rem
  }
}

.l-bgFull {
  position: relative;
  padding: 4rem 0
}

.l-bgFull::before {
  display: block;
  z-index: 0;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%);
  background: #f5f7f8
}

.c-btn, .l-bgFull_container, .l-entry {
  position: relative
}

.l-bgFull.-diversity::before, .l-bgFull.-woman::before {
  background: url(/recruit/fresh../assets/images/common/bg_wave.jpg) 50% 0/100% auto no-repeat #fff
}

.l-bgFull.-gutterLarge {
  padding-top: 8rem;
  padding-bottom: 8rem
}

.l-bgFull.-woman {
  padding-top: 0;
  padding-bottom: 8rem
}

.l-bgFull.-diversity {
  padding-top: 0;
  padding-bottom: 0
}

@media screen and (max-width:1024px) {
  .l-bgFull.-woman::before {
    background: url(/recruit/fresh../assets/images/common/bg_wave.jpg) 50% 100%/100% auto no-repeat #fff
  }
}

@media screen and (max-width:768px) {
  .l-bgFull {
    padding: 1.5rem 0
  }
  .l-bgFull.-gutterLarge {
    padding-top: 4rem;
    padding-bottom: 4rem
  }
  .l-bgFull.-woman {
    padding-bottom: 4rem
  }
  .l-bgFull.-diversity::before {
    background: url(/recruit/fresh../assets/images/common/bg_wave.jpg) 50% 9%/100% auto no-repeat #fff
  }
}

.l-entry {
  padding: 7.2rem 4rem;
  background-color: #43B73C;
  background-image: linear-gradient(90deg, #43B73C, #001A43);
  text-align: center
}

.l-entry_title {
  margin: 0 0 2rem;
  color: #fff;
  font-size: 7.2rem;
  font-weight: 500;
  line-height: 1
}

.l-entry_btn, .l-entry_desc {
  line-height: 1.5;
  font-weight: 500
}

.l-entry_desc {
  color: #fff;
  font-size: 2.4rem
}

.l-entry_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 28.8rem;
  margin: 2.5rem auto 0;
  padding: 1.8rem 1.6rem;
  border-radius: 3.2rem;
  background: #fff;
  color: currentColor;
  transition: .2s linear
}

.c-btn, .c-btn_label {
  align-items: center;
  text-align: center
}

.l-entry_btn .-external::after {
  display: inline-block;
  width: 1.1rem;
  height: 1.1rem;
  margin-left: .4rem;
  background: url(../assets/images/common/ico_external.png) 50% 50%/contain no-repeat;
  line-height: 1
}

.l-entry_btn:hover {
  color: currentColor
}

@media screen and (max-width:768px) {
  .l-entry {
    padding: 4rem 1.5rem
  }
  .l-entry_title {
    font-size: 4rem
  }
  .l-entry_desc {
    font-size: 2rem
  }
  .l-entry_btn {
    max-width: 25.2rem;
    padding: 1.6rem
  }
}

.c-btn {
  display: flex;
  justify-content: center;
  max-width: 100%;
  margin-top: 6rem;
  padding: 1.2rem 1.6rem;
  border-radius: 2em;
  background-color: #43B73C;
  background-image:linear-gradient(45deg, #43B73C, #002A00);
  font-weight: 500;
  transition: opacity .2s linear
}

.c-btn::before {
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-radius: 2em;
  background: #fff;
  transition: .2s linear
}

.c-btn:hover {
  text-decoration: none
}

.c-btn:hover::before {
  opacity: 0
}

.c-btn:hover .c-btn_label {
  color: #fff
}

.c-btn:hover:not([class*=-var]) .c-btn_label.-external::after {
  background: url(../assets/images/common/ico_external_02.png) 50% 50% no-repeat
}

.c-btn:hover:not([class*=-var]) .c-btn_label.-pdf::after {
  background: url(../assets/images/common/ico_pdf_02.png) 50% 50% no-repeat
}

.c-btn:hover:not([class*=-var]) .c-btn_label.-doc::after {
  background: url(../assets/images/common/ico_doc_02.png) 50% 50% no-repeat
}

.c-btn:hover:not([class*=-var]) .c-btn_label.-xls::after {
  background: url(../assets/images/common/ico_xls_02.png) 50% 50% no-repeat
}

.c-btn:hover:not([class*=-var]) .c-btn_label.-db {
  background: url(../assets/images/common/ico_database_02.png) 0 50% no-repeat
}

.c-btn_label {
  display: flex;
  position: relative;
  justify-content: center;
  min-height: 4rem;
  color: #333;
  font-size: 1.6rem;
  line-height: 1.5
}

.c-btn_label::before {
  min-height: inherit;
  font-size: 0
}

.c-btn_label::after {
  display: inline-block;
  width: 2rem;
  height: 2.4rem;
  margin-left: .4rem;
  line-height: 1;
  vertical-align: -.4rem
}

.c-btn_label.-external::after {
  width: 1.1rem;
  background: url(../assets/images/common/ico_external.png) 50% 50% no-repeat;
  content: ""
}

.c-btn_label.-pdf::after {
  background: url(../assets/images/common/ico_pdf.png) 50% 50% no-repeat
}

.c-btn_label.-doc::after {
  background: url(../assets/images/common/ico_doc.png) 50% 50% no-repeat
}

.c-btn_label.-xls::after {
  background: url(../assets/images/common/ico_xls.png) 50% 50% no-repeat
}

.c-btn_label.-db {
  padding-left: 3rem;
  background: url(../assets/images/common/ico_database.png) 0 50% no-repeat
}

.c-btn.-var02 {
  background: 0 0
}

.c-btn.-var02::before {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #43B73C;
  background-image: linear-gradient(45deg, #43B73C, #001A43)
}

.c-btn.-var02:hover::before {
  opacity: .6
}

.c-btn.-var02[class*=-next]::after, .c-btn.-var02[class*=-prev]::after {
  background: url(../assets/images/common/ico_arrow_05.png) 50% 50%/contain no-repeat
}

.c-btn.-var02 .c-btn_label {
  color: #fff
}

.c-btn.-var02 .c-btn_label.-external::after {
  background: url(../assets/images/common/ico_external_02.png) 50% 50% no-repeat
}

.c-btn.-var02 .c-btn_label.-pdf::after {
  background: url(../assets/images/common/ico_pdf_02.png) 50% 50% no-repeat
}

.c-btn.-var02 .c-btn_label.-doc::after {
  background: url(../assets/images/common/ico_doc_02.png) 50% 50% no-repeat
}

.c-btn.-var02 .c-btn_label.-xls::after {
  background: url(../assets/images/common/ico_xls_02.png) 50% 50% no-repeat
}

.c-btn.-inline {
  display: inline-table;
  min-width: 0;
  margin-top: 0;
  margin-left: 2rem
}

.c-btn.-center, .c-btn.-right {
  margin-left: auto
}

.c-btn.-flex {
  display: table;
  min-width: 28.8rem
}

.c-btn.-large, .c-btn.-medium, .c-btn.-small {
  width: 100%
}

.c-btn.-small {
  max-width: 16em
}

.c-btn.-medium {
  max-width: 24em
}

.c-btn.-large {
  max-width: 32em
}

.c-btn.-center {
  margin-right: auto
}

.c-btn.-low .c-btn_label {
  min-height: 0
}

.c-btn[class*=-next], .c-btn[class*=-prev] {
  padding-right: 3.5rem;
  padding-left: 3.5rem
}

.c-btn[class*=-next]:hover::after, .c-btn[class*=-prev]:hover::after {
  background: url(../assets/images/common/ico_arrow_05.png) 50% 50%/contain no-repeat
}

.c-btn.-next::after, .c-btn.-prev::after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  width: .6rem;
  height: 1rem;
  margin: auto 0;
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/contain no-repeat
}

.c-btn.-next::after {
  right: 2rem
}

.c-btn.-prev::after {
  left: 2rem;
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1)
}

.c-btn.-search {
  background-image: url(../assets/images/common/ico_search.png);
  background-position: 1.5rem 50%;
  background-size: 20px
}

.c-btn.c-grid_col {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0
}

@media screen and (max-width:768px) {
  .c-btn {
    min-width: 0;
    margin-top: 3rem;
    padding: .6rem 2rem
  }
  .c-btn_label {
    min-height: 4.4rem;
    font-size: 1.5rem
  }
  .c-btn.-inline {
    display: block;
    width: 100%;
    min-height: 0;
    margin-left: 0
  }
  .c-btn.-flex {
    width: 100%;
    min-width: 0;
    max-width: 25.2rem
  }
  .c-btn.-flex .c-btn_label {
    display: flex
  }
  .c-btn.-large, .c-btn.-medium, .c-btn.-small {
    max-width: 100%
  }
}

.c-btn02 {
  display: table;
  margin-top: 4rem;
  padding: 1.8rem 2rem;
  border: 1px solid #cfd8dc;
  background: #f5f7f8;
  color: #333
}

.c-btn02:hover {
  background: #eceff1;
  text-decoration: none
}

.c-btn02_label {
  display: block;
  position: relative;
  font-weight: 500
}

.c-btn02_label::before {
  position: absolute;
  top: .2em;
  left: 0;
  width: 2rem;
  height: 2.4rem
}

.c-btn02_label.-doc, .c-btn02_label.-pdf, .c-btn02_label.-xls {
  padding-left: 3rem
}

.c-btn02_label.-pdf::before {
  background: url(../assets/images/common/ico_pdf.png) 50% 50% no-repeat
}

.c-btn02_label.-doc::before {
  background: url(../assets/images/common/ico_doc.png) 50% 50% no-repeat
}

.c-btn02_label.-xls::before {
  background: url(../assets/images/common/ico_xls.png) 50% 50% no-repeat
}

.c-btn02.-center {
  margin-right: auto;
  margin-left: auto
}

@media screen and (max-width:768px) {
  .c-btn02 {
    padding: 1.2rem 1rem
  }
}

.c-heading {
  position: relative;
  margin: 0 0 4.5rem;
  padding: 0 0 1.8rem;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.3;
  text-align: center
}

.c-heading a {
  color: currentColor
}

.c-heading::after {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 6rem;
  height: .2rem;
  margin: 0 auto;
  background-color: #43B73C;
  background-image: linear-gradient(90deg, #43B73C, #001A43)
}

.c-heading.-var02 {
  padding: 0;
  font-size: 3.2rem
}

.c-heading.-var02::after {
  content: none
}

.c-heading_sub {
  display: inline-block;
  margin: 0 0 1.2rem;
  font-size: 1.6rem;
  font-weight: 400
}

.c-heading02, .c-titleLvOne, .c-titleLvTwo {
  font-weight: 500;
  line-height: 1.3
}

@media screen and (max-width:768px) {
  .c-heading {
    margin: 0 0 3rem;
    font-size: 2.4rem
  }
  .c-heading.-var02 {
    font-size: 2rem
  }
}

.c-heading02 {
  margin: 0 0 4rem;
  padding: 0;
  font-size: 3rem
}

@media screen and (max-width:768px) {
  .c-heading02 {
    margin: 0 0 2.5rem;
    font-size: 2.4rem
  }
}

.c-titleLvOne {
  position: relative;
  margin: 0 0 3rem;
  padding: 1.8rem 2.2rem;
  background: #f5f7f8;
  font-size: 2.8rem
}

.c-titleLvOne::before,
.c-titleLvTwo::before,
.c-titleLvTwo-nonMargin::before {
  display: block;
  left: 0;
  background-color: #43B73C;
  content: ""
}

.c-titleLvOne::before {
  position: absolute;
  top: 0;
  bottom: 0;
  width: .6rem;
  height: calc(100% - 2.4rem);
  margin: auto 0;
  background-image: linear-gradient(0deg, #43B73C, #001A43)
}

@media screen and (max-width:768px) {
  .c-titleLvOne {
    padding: 1.4rem 2.2rem;
    font-size: 2.2rem
  }
}

.c-titleLvTwo {
  position: relative;
  margin: 0 0 3.5rem;
  padding: 0 0 1.8rem;
  border-bottom: 2px solid #eceff1;
  font-size: 2.6rem
}

.c-titleLvTwo-nonMargin {
  position: relative;
  margin: 0 0 .5rem;
  padding: 0 0 1.8rem;
  border-bottom: 2px solid #eceff1;
  font-size: 2.6rem
}

.c-titleLvTwo::before,
.c-titleLvTwo-nonMargin::before{
  position: absolute;
  bottom: -.2rem;
  width: 22.7rem;
  height: 2px;
  background-image: linear-gradient(90deg, #43B73C, #001A43)
}

.c-titleLvThree {
  margin: 0 0 2.5rem;
  padding: 1rem 1.5rem;
  background: #f5f7f8;
  font-size: 2rem;
  font-weight: 500
}

.c-titleLvFive, .c-titleLvFour {
  margin: 0 0 2rem;
  font-weight: 500
}

@media screen and (max-width:768px) {
  .c-titleLvTwo {
    font-size: 2rem
  }
  .c-titleLvTwo::before {
    width: 8.6rem
  }
  .c-titleLvThree {
    font-size: 1.8rem
  }
}

.c-titleLvFour {
  padding: 0 0 1rem;
  border-bottom: 1px solid #e0e0e0;
  font-size: 2rem
}

.c-titleLvFive {
  font-size: 1.8rem
}

@media screen and (max-width:768px) {
  .c-titleLvFour {
    font-size: 1.8rem
  }
  .c-titleLvFive {
    margin: 0 0 1rem;
    font-size: 1.6rem
  }
}

.c-lead {
  margin: 0 0 1em;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.5
}

@media screen and (max-width:768px) {
  .c-lead {
    font-size: 2.4rem
  }
}

.c-figure {
  margin: 4rem auto;
  text-align: center
}

.c-figure_company {
    max-width: 600px;
}

.c-figure_caption {
  display: table;
  margin: 1.5rem auto 0;
  font-size: 1.4rem;
  text-align: center
}

.c-figure_pinch {
  display: none
}

.c-figure+.c-figure {
  margin-top: 4rem
}

.c-figure.-var02 {
  margin-top: 0;
  margin-bottom: 2rem
}
@media screen and (max-width:768px) {
  .c-figure img {
    width: auto;
    max-width: 100%
  }
  .c-figure_pinch {
    display: table;
    margin: 0 auto 1rem;
    padding: 0 0 0 2.5rem;
    background: url(../assets/images/common/ico_pinch.png) 0 50%/1.7rem auto no-repeat
  }
  .c-figure_caption {
    text-align: left
  }
  .c-figure.-var02 {
    margin: 4rem auto
  }
  .c-imgList_item img {
    max-width: 100%
  }
}

@media screen and (max-width:375px) {
  .c-grid .blockGridImg {
    display: block;
    float: none;
    /*max-*/width: /*100%*/600px;
  }

}

.c-imgList.-horizontal {
  margin: 0 0 -1rem;
  font-size: 0
}

.c-imgList.-horizontal .c-imgList_item {
  display: inline-block;
  margin: 0 1rem 1rem 0
}

.c-imgList_item {
  text-align: center
}

.c-imgList_item>a {
  display: block
}

.c-imgList_item>a+.c-imgList_caption, .c-imgList_item>img~.c-imgList_caption {
  margin: 1.5rem 0 0
}

.c-imgList_caption {
  display: table;
  margin: 0 auto 1.5rem;
  font-size: 1.4rem;
  text-align: left
}

.c-imageUnit+.c-imageUnit {
  margin-top: 3rem
}

.c-imageUnit_image {
  max-width: 32.327586%;
  margin: 0;
  text-align: center
}

.c-imageUnit_image_caption {
  display: table;
  margin: 1rem auto 0;
  font-size: 1.4rem;
  text-align: left
}

.c-imageUnit.-parallel .c-imageUnit_text {
  overflow: visible
}

.c-imageUnit.-parallel .c-imageUnit_image {
  margin-bottom: 2rem
}

.c-imageUnit.-imageL .c-imageUnit_image {
  margin-right: 2rem;
  float: left
}

.c-imageUnit.-imageR .c-imageUnit_image {
  margin-left: 2rem;
  float: right
}

@media screen and (min-width:769px) and (max-width:1024px) {
  .c-imageUnit[data-tabgrid=false] .c-imageUnit_image {
    max-width: none;
    margin: 0 0 2rem;
    float: none
  }
  .c-imageUnit[data-tabgrid=false] .c-imageUnit_image img {
    width: auto
  }
  .c-imageUnit[data-tabgrid=false].-rtl {
    display: flex;
    flex-direction: column-reverse;
    flex-wrap: wrap
  }
  .c-imageUnit[data-tabgrid=false].-rtl.-imageL .c-imageUnit_image {
    margin-top: 2rem;
    margin-bottom: 0
  }
  .c-imageUnit[data-tabgrid=false].-rtl.-imageR .c-imageUnit_image {
    margin-top: 0;
    margin-bottom: 2rem
  }
  .c-imageUnit[data-tabgrid=false].-rtl[data-tabgrid=false] .c-imageUnit_image {
    margin-top: 2rem;
    margin-bottom: 0
  }
}

@media screen and (max-width:768px) {
  .c-imageUnit {
    margin-bottom: 0
  }
  .c-imageUnit.-imageL .c-imageUnit_image {
    margin-right: 1.5rem
  }
  .c-imageUnit.-imageR .c-imageUnit_image {
    margin-left: 1.5rem
  }
  .c-imageUnit.-rtl {
    display: flex;
    flex-direction: column-reverse;
    flex-wrap: wrap
  }
  .c-imageUnit.-rtl.-imageL .c-imageUnit_image {
    margin-top: 2rem;
    margin-bottom: 0
  }
  .c-imageUnit.-rtl.-imageR .c-imageUnit_image {
    margin-top: 0;
    margin-bottom: 2rem
  }
  .c-imageUnit.-rtl[data-spgrid=false] .c-imageUnit_image {
    margin-top: 2rem;
    margin-bottom: 0
  }
  .c-imageUnit[data-spgrid=false] .c-imageUnit_image {
    max-width: none;
    margin: 0 0 2rem;
    float: none
  }
  .c-imageUnit[data-spgrid=false] .c-imageUnit_image img {
    width: auto
  }
}

.c-btnList {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 -2rem -2rem
}

.c-btnList+.c-btnList {
  margin-top: 2rem
}

.c-btnList_item {
  margin: 0 0 2rem 2rem
}

.c-btnList_item_link {
  display: flex;
  align-items: center;
  height: 100%;
  margin: 0
}

.c-btnList.-division2 .c-btnList_item {
  width: calc(100% / 2.001 - 2rem)
}

.c-btnList.-division3 .c-btnList_item {
  width: calc(33.33% - 2rem)
}

.c-btnList.-division4 .c-btnList_item {
  width: calc(100% / 4.001 - 2rem)
}

.c-btnList.-btnCenter {
  justify-content: center
}

@media screen and (max-width:1024px) {
  .c-btnList[data-tabgrid=false] {
    display: block;
    margin: 0
  }
  .c-btnList[data-tabgrid=false] .c-btnList_item {
    width: auto;
    margin: 0
  }
  .c-btnList[data-tabgrid=false] .c-btnList_item+.c-btnList_item {
    margin-top: 2rem
  }
  .c-btnList[data-tabgrid="2"] .c-btnList_item {
    width: calc(100% / 2.001 - 2rem)
  }
}

@media screen and (max-width:768px) {
  .c-btnList[data-spgrid=false] {
    display: block;
    margin: 0
  }
  .c-btnList[data-spgrid=false]+.c-btnList[data-spgrid=false] {
    margin-top: 1rem
  }
  .c-btnList[data-spgrid=false] .c-btnList_item {
    width: auto;
    margin: 0
  }
  .c-btnList[data-spgrid=false] .c-btnList_item+.c-btnList_item {
    margin-top: 1rem
  }
}

.c-grid {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -2rem;
  margin-left: -2rem
}

.c-textList02_title:before, .c-textList_item:before {
  display: block;
  border-radius: 50%;
  content: ""
}

.c-grid.-gutterSmall {
  margin-bottom: -1.5rem;
  margin-left: -1.5rem
}

.c-grid.-gutterSmall>.c-grid_col {
  margin-bottom: 1.5rem;
  margin-left: 1.5rem
}

.c-grid.-gutterSmall.-division2>.c-grid_col {
  width: calc((100% / 2.001) - 1.5rem)
}

.c-grid.-gutterSmall.-division3>.c-grid_col {
  width: calc(33.33% - 1.5rem)
}

.c-grid.-gutterSmall.-division4>.c-grid_col {
  width: calc((100% / 4.001) - 1.5rem)
}

.c-grid.-gutterSmall.-division5>.c-grid_col {
  width: calc((100% / 5.001) - 1.5rem)
}

.c-grid.-gutterLarge {
  margin-bottom: -3rem
}

.c-grid.-gutterLarge>.c-grid_col {
  margin-bottom: 3rem
}

.c-grid.-gutterXlarge {
  margin-bottom: -5rem;
  margin-left: -3rem
}

.c-grid.-gutterXlarge>.c-grid_col {
  margin-bottom: 5rem;
  margin-left: 3rem
}

.c-grid.-gutterXlarge.-division2>.c-grid_col {
  width: calc((100% / 2.001) - 3rem)
}

.c-grid.-gutterXlarge.-division3>.c-grid_col {
  width: calc(33.33% - 3rem)
}

.c-grid.-gutterXlarge.-division4>.c-grid_col {
  width: calc((100% / 4.001) - 3rem)
}

.c-grid.-gutterXlarge.-division5>.c-grid_col {
  width: calc((100% / 5.001) - 3rem)
}

.c-grid.-center {
  justify-content: center
}

.c-grid.-reverse {
  flex-direction: row-reverse
}

.c-grid.-middle {
  align-items: center
}

.c-grid>.c-grid_col {
  margin-bottom: 2rem;
  margin-left: 2rem
}

.c-grid>.c-grid_col.l-section+.l-section {
  margin-top: 0
}

.c-grid>.c-grid_col.-span1 {
  width: calc(((100% / 12.001) * 1) - 2rem)
}

.c-grid>.c-grid_col.-span2 {
  width: calc(((100% / 12.001) * 2) - 2rem)
}

.c-grid>.c-grid_col.-span3 {
  width: calc(((100% / 12.001) * 3) - 2rem)
}

.c-grid>.c-grid_col.-span4 {
  width: calc(((100% / 12.001) * 4) - 2rem)
}

.c-grid>.c-grid_col.-span5 {
  width: calc(((100% / 12.001) * 5) - 2rem)
}

.c-grid>.c-grid_col.-span6 {
  width: calc(((100% / 12.001) * 6) - 2rem)
}

.c-grid>.c-grid_col.-span7 {
  width: calc(((100% / 12.001) * 7) - 2rem)
}

.c-grid>.c-grid_col.-span8 {
  width: calc(((100% / 12.001) * 8) - 2rem)
}

.c-grid>.c-grid_col.-span9 {
  width: calc(((100% / 12.001) * 9) - 2rem)
}

.c-grid>.c-grid_col.-span10 {
  width: calc(((100% / 12.001) * 10) - 2rem)
}

.c-grid>.c-grid_col.-span11 {
  width: calc(((100% / 12.001) * 11) - 2rem)
}

.c-grid>.c-grid_col.-span12 {
  width: calc(((100% / 12.001) * 12) - 2rem)
}

.c-grid.-division2>.c-grid_col {
  width: calc((100% / 2.001) - 2rem)
}

.c-grid.-division3>.c-grid_col {
  width: calc(33.33% - 2rem)
}

.c-grid.-division4>.c-grid_col {
  width: calc((100% / 4.001) - 2rem)
}

.c-grid.-division5>.c-grid_col {
  width: calc((100% / 5.001) - 2rem)
}

.l-main_primary .c-grid_col.-span1 {
  width: calc(((100% / 10.001) * 1) - 2rem)
}

.l-main_primary .c-grid_col.-span2 {
  width: calc(((100% / 10.001) * 2) - 2rem)
}

.l-main_primary .c-grid_col.-span3 {
  width: calc(((100% / 10.001) * 3) - 2rem)
}

.l-main_primary .c-grid_col.-span4 {
  width: calc(((100% / 10.001) * 4) - 2rem)
}

.l-main_primary .c-grid_col.-span5 {
  width: calc(((100% / 10.001) * 5) - 2rem)
}

.l-main_primary .c-grid_col.-span6 {
  width: calc(((100% / 10.001) * 6) - 2rem)
}

.l-main_primary .c-grid_col.-span7 {
  width: calc(((100% / 10.001) * 7) - 2rem)
}

.l-main_primary .c-grid_col.-span8 {
  width: calc(((100% / 10.001) * 8) - 2rem)
}

.l-main_primary .c-grid_col.-span9 {
  width: calc(((100% / 10.001) * 9) - 2rem)
}

.l-main_primary .c-grid_col.-span10 {
  width: calc(((100% / 10.001) * 10) - 2rem)
}

@media screen and (max-width:1024px) {
  .c-grid[data-tabgrid=false].-gutterLarge>.c-grid_col, .c-grid[data-tabgrid=false].-gutterSmall>.c-grid_col, .c-grid[data-tabgrid=false]>.c-grid_col.-span1, .c-grid[data-tabgrid=false]>.c-grid_col.-span10, .c-grid[data-tabgrid=false]>.c-grid_col.-span11, .c-grid[data-tabgrid=false]>.c-grid_col.-span12, .c-grid[data-tabgrid=false]>.c-grid_col.-span2, .c-grid[data-tabgrid=false]>.c-grid_col.-span3, .c-grid[data-tabgrid=false]>.c-grid_col.-span4, .c-grid[data-tabgrid=false]>.c-grid_col.-span5, .c-grid[data-tabgrid=false]>.c-grid_col.-span6, .c-grid[data-tabgrid=false]>.c-grid_col.-span7, .c-grid[data-tabgrid=false]>.c-grid_col.-span8, .c-grid[data-tabgrid=false]>.c-grid_col.-span9 {
    width: auto
  }
  .c-grid {
    margin-bottom: -1.5rem
  }
  .c-grid[data-tabgrid=false] {
    display: block;
    margin: 0
  }
  .c-grid[data-tabgrid=false]>.c-grid_col {
    width: auto;
    margin-left: 0;
    float: none
  }
  .c-grid[data-tabgrid=false]>.c-grid_col.l-section+.l-section {
    margin-top: 5rem
  }
}

@media screen and (min-width:769px) and (max-width:1024px) {
  .c-grid[data-tabgrid="2"]>.c-grid_col {
    width: calc((100% / 2.001) - 2rem)
  }
  .c-grid[data-tabgrid="3"]>.c-grid_col {
    width: calc(33.33% - 2rem)
  }
}

@media screen and (max-width:768px) {
  .c-grid {
    margin-left: -1.5rem
  }
  .c-grid>.c-grid_col {
    margin-bottom: 1.5rem;
    margin-left: 1.5rem
  }
  .c-grid>.c-grid_col.-span1 {
    width: calc(((100% / 12.001) * 1) - 1.5rem)
  }
  .c-grid>.c-grid_col.-span2 {
    width: calc(((100% / 12.001) * 2) - 1.5rem)
  }
  .c-grid>.c-grid_col.-span3 {
    width: calc(((100% / 12.001) * 3) - 1.5rem)
  }
  .c-grid>.c-grid_col.-span4 {
    width: calc(((100% / 12.001) * 4) - 1.5rem)
  }
  .c-grid>.c-grid_col.-span5 {
    width: calc(((100% / 12.001) * 5) - 1.5rem);
    width: calc((100% / 2.001) - 1.5rem)
  }
  .c-grid>.c-grid_col.-span6 {
    width: calc(((100% / 12.001) * 6) - 1.5rem);
    width: calc((100% / 2.001) - 1.5rem)
  }
  .c-grid>.c-grid_col.-span7 {
    width: calc(((100% / 12.001) * 7) - 1.5rem);
    width: calc((100% / 2.001) - 1.5rem)
  }
  .c-grid>.c-grid_col.-span8 {
    width: calc(((100% / 12.001) * 8) - 1.5rem);
    width: calc((100% / 2.001) - 1.5rem)
  }
  .c-grid>.c-grid_col.-span9 {
    width: calc(((100% / 12.001) * 9) - 1.5rem);
    width: calc((100% / 2.001) - 1.5rem)
  }
  .c-grid>.c-grid_col.-span10 {
    width: calc(((100% / 12.001) * 10) - 1.5rem);
    width: calc((100% / 2.001) - 1.5rem)
  }
  .c-grid>.c-grid_col.-span11 {
    width: calc(((100% / 12.001) * 11) - 1.5rem);
    width: calc((100% / 2.001) - 1.5rem)
  }
  .c-grid>.c-grid_col.-span12 {
    width: calc(((100% / 12.001) * 12) - 1.5rem);
    width: calc((100% / 2.001) - 1.5rem)
  }
  .c-grid.-gutterLarge {
    margin-bottom: -3rem
  }
  .c-grid.-gutterLarge>.c-grid_col {
    margin-bottom: 3rem
  }
  .c-grid.-gutterXlarge {
    margin-bottom: -3rem;
    margin-left: -1.5rem
  }
  .c-grid.-gutterXlarge>.c-grid_col {
    margin-bottom: 3rem;
    margin-left: 1.5rem
  }
  .c-grid[data-spgrid=false].-gutterXlarge>.c-grid_col, .c-grid[data-spgrid=false]>.c-grid_col {
    margin-bottom: 0;
    margin-left: 0;
    float: none
  }
  .c-grid.-gutterXlarge.-division2>.c-grid_col {
    width: calc((100% / 2.001) - 1.5rem)
  }
  .c-grid.-gutterXlarge.-division3>.c-grid_col {
    width: calc(33.33% - 1.5rem)
  }
  .c-grid.-gutterXlarge.-division4>.c-grid_col {
    width: calc((100% / 4.001) - 1.5rem)
  }
  .c-grid.-gutterXlarge.-division5>.c-grid_col {
    width: calc((100% / 5.001) - 1.5rem)
  }
  .c-grid.-division2>.c-grid_col {
    width: calc((100% / 2.001) - 1.5rem)
  }
  .c-grid.-division3>.c-grid_col {
    width: calc(33.33% - 1.5rem)
  }
  .c-grid.-division4>.c-grid_col {
    width: calc((100% / 4.001) - 1.5rem)
  }
  .c-grid.-division5>.c-grid_col {
    width: calc((100% / 5.001) - 1.5rem)
  }
  .c-grid[data-spgrid=false].-gutterLarge>.c-grid_col, .c-grid[data-spgrid=false].-gutterSmall>.c-grid_col, .c-grid[data-spgrid=false].-gutterXlarge>.c-grid_col, .c-grid[data-spgrid=false].-gutterXlarge>.c-grid_col.-span1, .c-grid[data-spgrid=false].-gutterXlarge>.c-grid_col.-span10, .c-grid[data-spgrid=false].-gutterXlarge>.c-grid_col.-span11, .c-grid[data-spgrid=false].-gutterXlarge>.c-grid_col.-span12, .c-grid[data-spgrid=false].-gutterXlarge>.c-grid_col.-span2, .c-grid[data-spgrid=false].-gutterXlarge>.c-grid_col.-span3, .c-grid[data-spgrid=false].-gutterXlarge>.c-grid_col.-span4, .c-grid[data-spgrid=false].-gutterXlarge>.c-grid_col.-span5, .c-grid[data-spgrid=false].-gutterXlarge>.c-grid_col.-span6, .c-grid[data-spgrid=false].-gutterXlarge>.c-grid_col.-span7, .c-grid[data-spgrid=false].-gutterXlarge>.c-grid_col.-span8, .c-grid[data-spgrid=false].-gutterXlarge>.c-grid_col.-span9, .c-grid[data-spgrid=false]>.c-grid_col.-span1, .c-grid[data-spgrid=false]>.c-grid_col.-span10, .c-grid[data-spgrid=false]>.c-grid_col.-span11, .c-grid[data-spgrid=false]>.c-grid_col.-span12, .c-grid[data-spgrid=false]>.c-grid_col.-span2, .c-grid[data-spgrid=false]>.c-grid_col.-span3, .c-grid[data-spgrid=false]>.c-grid_col.-span4, .c-grid[data-spgrid=false]>.c-grid_col.-span5, .c-grid[data-spgrid=false]>.c-grid_col.-span6, .c-grid[data-spgrid=false]>.c-grid_col.-span7, .c-grid[data-spgrid=false]>.c-grid_col.-span8, .c-grid[data-spgrid=false]>.c-grid_col.-span9 {
    width: auto
  }
  .c-grid[data-spgrid=false] {
    display: block;
    margin: 0
  }
  .c-grid[data-spgrid=false].-gutterXlarge>.c-grid_col+.c-grid_col, .c-grid[data-spgrid=false]>.c-grid_col.l-section+.l-section {
    margin-top: 3rem
  }
  .c-grid[data-spgrid=false]>.c-grid_col {
    width: auto
  }
  .c-grid[data-spgrid=false]>.c-grid_col+.c-grid_col {
    margin-top: 1.5rem
  }
  .c-grid[data-spgrid="2"]>.c-grid_col {
    width: calc((100% / 2.001) - 1.5rem)
  }
  .c-grid[data-spgrid="3"]>.c-grid_col {
    width: calc(33.33% - 1.5rem)
  }
  [class^=c-textList]:not([class*=_item]):not([class*=_title]):not([class*=_data]) [class^=c-linkArrowList]:not([class*=_item]), [class^=c-textList]:not([class*=_item]):not([class*=_title]):not([class*=_data]) [class^=c-textList]:not([class*=_item]):not([class*=_title]):not([class*=_data]) [class^=c-numericList]:not([class*=_item]):not([class*=_title]):not([class*=_data]):not([class*=_number]) {
    margin-top: .5rem
  }
  [class^=c-textList]:not([class*=_item]):not([class*=_title]):not([class*=_data]) [class^=c-textList]:not([class*=_item]):not([class*=_title]):not([class*=_data]) {
    padding-left: .9rem
  }
}

[class^=c-textList]:not([class*=_item]):not([class*=_title]):not([class*=_data]) [class^=c-linkArrowList]:not([class*=_item]), [class^=c-textList]:not([class*=_item]):not([class*=_title]):not([class*=_data]) [class^=c-numericList]:not([class*=_item]):not([class*=_title]):not([class*=_data]):not([class*=_number]), [class^=c-textList]:not([class*=_item]):not([class*=_title]):not([class*=_data]) [class^=c-textList]:not([class*=_item]):not([class*=_title]):not([class*=_data]):not([class*=_item]) {
  margin-top: .5rem;
  padding: 0 0 .5rem
}

.c-textList {
  margin-top: 0;
  margin-bottom: 0
}

.c-textList_item {
  position: relative;
  padding-left: 2.6rem
}

.c-textList_item:before {
  position: absolute;
  top: .6em;
  left: .5rem;
  width: 1rem;
  height: 1rem;
  background-color: #43B73C;
  background-image: linear-gradient(45deg, #43B73C, #001A43)
}

.c-textList_item .c-textList_item {
  padding-left: 1.8rem
}

.c-textList02_data, .c-textList02_title {
  padding-left: 2.6rem
}

.c-textList_item .c-textList_item::before {
  top: .8em;
  left: .6rem;
  width: .4rem;
  height: .4rem;
  background: currentColor
}

.c-textList_item.c-grid_col {
  margin-bottom: .5rem
}

.c-textList_item+.c-textList_item:not([class*=c-grid_col]) {
  margin-top: .5rem
}

.c-textList.-gutterLarge .c-textList_item+.c-textList_item {
  margin-top: 1.5rem
}

@media screen and (max-width:768px) {
  .c-textList[data-spgrid=false] .c-textList_item.c-grid_col {
    margin-bottom: 0
  }
  .c-textList[data-spgrid=false] .c-textList_item+.c-textList_item {
    margin-top: .5rem
  }
  .c-textList[data-spgrid=false].-gutterLarge .c-textList_item+.c-textList_item {
    margin-top: 1.5rem
  }
}

.c-textList02 {
  margin-top: 0;
  margin-bottom: 0
}

.c-textList02_title {
  position: relative;
  font-weight: 500
}

.c-textList02_title:before {
  position: absolute;
  top: .6em;
  left: .5rem;
  width: 1rem;
  height: 1rem;
  background-color: #43B73C;
  background-image: linear-gradient(45deg, #43B73C, #001A43)
}

.c-textList02_data+.c-textList02_title {
  margin-top: 1.5rem
}

[class^=c-numericList]:not([class*=_item]):not([class*=_title]):not([class*=_data]):not([class*=_number]) [class^=c-linkArrowList]:not([class*=_item]), [class^=c-numericList]:not([class*=_item]):not([class*=_title]):not([class*=_data]):not([class*=_number]) [class^=c-numericList]:not([class*=_item]):not([class*=_title]):not([class*=_data]):not([class*=_number]) {
  margin-top: .5rem;
  padding: 0 0 .3rem
}

[class^=c-numericList]:not([class*=_item]):not([class*=_title]):not([class*=_data]):not([class*=_number]) [class^=c-textList]:not([class*=_item]):not([class*=_title]):not([class*=_data]) {
  margin-top: .5rem;
  padding: 0 0 .5rem
}

[class^=c-numericList]:not([class*=_item]):not([class*=_title]):not([class*=_data]):not([class*=_number]) [class^=c-textList03]:not([class*=_item]):not([class*=_title]):not([class*=_data]) {
  margin-top: 0;
  padding: 0 0 0 .7rem
}

@media screen and (max-width:768px) {
  [class^=c-numericList]:not([class*=_item]):not([class*=_title]):not([class*=_data]):not([class*=_number]) [class^=c-linkArrowList]:not([class*=_item]), [class^=c-numericList]:not([class*=_item]):not([class*=_title]):not([class*=_data]):not([class*=_number]) [class^=c-numericList]:not([class*=_item]):not([class*=_title]):not([class*=_data]):not([class*=_number]), [class^=c-numericList]:not([class*=_item]):not([class*=_title]):not([class*=_data]):not([class*=_number]) [class^=c-textList]:not([class*=_item]):not([class*=_title]):not([class*=_data]) {
    margin-top: .5rem
  }
  [class^=c-numericList]:not([class*=_item]):not([class*=_title]):not([class*=_data]):not([class*=_number]) [class^=c-textList]:not([class*=_item]):not([class*=_title]):not([class*=_data]) {
    padding-left: .9rem
  }
}

.c-numericList {
  margin: 0;
  counter-reset: number 0
}

.c-numericList_item {
  position: relative;
  padding: 0 0 0 2.2rem
}

.c-numericList_item:before {
  position: absolute;
  top: 0;
  left: 0;
  content: counter(number) ".";
  counter-increment: number 1
}

.c-numericList02_title:before, .c-numericList03_item:before {
  left: -.5em;
  content: "（" counter(number) "）";
  counter-increment: number 1;
  top: 0
}

.c-numericList_item+.c-numericList_item {
  margin-top: .5rem
}

.c-numericList02 {
  margin: 0;
  counter-reset: number 0
}

.c-numericList02_title {
  position: relative;
  padding: 0 0 0 2em;
  font-weight: 500
}

.c-numericList02_title:before {
  position: absolute;
  font-weight: 500
}

.c-numericList02_data {
  padding-left: 2em
}

.c-numericList02_data+.c-numericList02_title {
  margin-top: 1rem
}

.c-numericList03 {
  margin: 0;
  counter-reset: number 0
}

.c-numericList03_item {
  position: relative;
  padding: 0 0 0 2em
}

.c-numericList03_item:before {
  position: absolute
}

.c-linkIcon.-map::before, .c-linkIcon::after {
  content: "";
  display: inline-block
}

.c-numericList03_item+.c-numericList03_item {
  margin-top: .5rem
}

.c-numericList04 {
  margin: 0;
  counter-reset: number 0
}

.c-numericList04_item {
  position: relative;
  padding: 0 0 0 1.8em
}

.c-numericList04_item+.c-numericList04_item {
  margin-top: .5rem
}

.c-numericList04_number {
  position: absolute;
  left: 0
}

.c-definition {
  margin: 0
}

.c-definition+.c-definition:not([class*=c-grid_col]) {
  margin-top: 4.5rem
}

.c-definition_title {
  margin-bottom: .5rem;
  font-weight: 500
}

.c-definition_detail+.c-definition_title {
  margin-top: 2rem
}

.c-notice_item {
  position: relative;
  padding-left: 1em;
  font-size: 1.6rem
}

.c-notice_item+.c-notice_item {
  margin-top: 1rem
}

.c-notice_mark {
  position: absolute;
  left: 0
}

.c-notice.-numeric>.c-notice_item {
  padding-left: 2em
}

.c-media {
  width: 100%;
  max-width: 91.6rem;
  margin: 4rem auto
}

.c-media_inner {
  position: relative;
  width: 100%;
  height: 0;
  margin: 0;
  padding: 0 0 56.25%;
  overflow: hidden
}

.c-media iframe, .c-media video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none
}

.c-media_caption {
  display: table;
  margin: 1.5rem auto 0;
  font-size: 1.4rem;
  text-align: center
}

@media screen and (max-width:768px) {
  .c-notice_item {
    font-size: 1.4rem
  }
  .c-media {
    margin: 3rem auto
  }
  .c-media.-map {
    width: auto;
    margin-right: -1.5rem;
    margin-left: -1.5rem
  }
}

.c-linkArrowList[class*=c-grid]:not([class*=c-grid_col]), [class^=c-linkArrowList]:not([class*=_item]).c-grid {
  margin-bottom: -1rem
}

.c-linkIcon::after {
  width: 2rem;
  height: 2.4rem;
  margin-right: .4rem;
  margin-left: .4rem;
  line-height: 1;
  vertical-align: text-bottom
}

.c-linkIcon.-external::after {
  width: 1.1rem;
  background: url(../assets/images/common/ico_external.png) 50% 50%/contain no-repeat
}

.c-linkIcon.-pdf::after {
  background: url(../assets/images/common/ico_pdf.png) 50% 50%/contain no-repeat
}

.c-linkIcon.-doc::after {
  background: url(../assets/images/common/ico_doc.png) 50% 50%/contain no-repeat
}

.c-linkIcon.-xls::after {
  background: url(../assets/images/common/ico_xls.png) 50% 50%/contain no-repeat
}

.c-linkIcon.-map::before {
  width: 2rem;
  height: 2rem;
  margin-right: .5rem;
  background: url(../assets/images/common/ico_map.png) 50% 50%/contain no-repeat;
  vertical-align: sub
}

.c-table th, .c-table th.-var02 {
  vertical-align: middle;
  text-align: center
}

.c-linkIcon.-map::after {
  content: none
}

.c-linkArrow::before, .c-linkArrowList_item>a::before {
  left: .7rem;
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/contain no-repeat;
  content: "";
  top: .6em;
  width: .6rem;
  height: 1rem
}

.c-linkList_item a {
  color: #045b87
}

.c-linkArrow {
  display: inline-block;
  position: relative;
  padding: 0 0 0 2.3rem
}

.c-linkArrow::before {
  display: block;
  position: absolute
}

.c-linkArrow>a {
  color: currentColor
}

[class^=c-linkArrowList]:not([class*=_item]) [class^=c-linkArrowList]:not([class*=_item]), [class^=c-linkArrowList]:not([class*=_item]) [class^=c-textList]:not([class*=_item]) {
  margin-top: 1rem;
  padding: 0 0 .3rem
}

.c-linkArrowList+.c-linkArrowList:not([class*=c-grid_col]) {
  margin-top: 4.5rem
}

.c-linkArrowList.-horizontal {
  margin: -2rem 0 0 -4rem
}

.c-linkArrowList.-horizontal .c-linkArrowList_item {
  display: inline-block;
  margin: 2rem 0 0 4rem
}

.c-linkArrowList.-gutterLarge .c-linkArrowList_item+.c-linkArrowList_item {
  margin-top: 1rem
}

.c-linkArrowList_item {
  position: relative;
  padding: 0 0 0 2.3rem
}

.c-linkArrowList_item+.c-linkArrowList_item:not([class*=c-grid_col]) {
  margin-top: .5rem
}

.c-linkArrowList_item>a {
  color: #333
}

.c-linkArrowList_item>a::before {
  display: block;
  position: absolute
}

.c-linkArrowList_item.c-grid_col {
  margin-bottom: 1rem
}

@media screen and (max-width:1024px) {
  .c-linkArrowList[class*=c-grid][data-tabgrid=false] {
    margin-bottom: 0
  }
}

@media screen and (max-width:768px) {
  .c-linkArrowList[class*=c-grid][data-spgrid=false], .c-linkArrowList[data-spgrid=false] .c-linkArrowList_item.c-grid_col {
    margin-bottom: 0
  }
  .c-linkArrowList_item {
    background-position: 0 .4em
  }
  .c-linkArrowList[data-spgrid=false] .c-linkArrowList_item+.c-linkArrowList_item {
    margin-top: .5rem
  }
}

.c-btnListBlock_item+.c-btnListBlock_item {
  margin-top: .1rem
}

.c-btnListBlock_item a {
  display: block;
  padding: 1.9rem 2.5rem;
  background: #f5f7f8;
  color: #333
}

.c-btnListBlock_item a:hover {
  background: #eceff1;
  text-decoration: none
}

.c-ancherList_item a::after, .c-btnListBlock_item_label::before {
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/contain no-repeat;
  content: ""
}

.c-btnListBlock_item_label {
  display: inline-block;
  position: relative;
  padding-left: 1.9rem;
  font-weight: 500
}

.c-btnListBlock_item_label::before {
  display: block;
  position: absolute;
  top: .6em;
  left: 0;
  width: .6rem;
  height: 1rem
}

@media screen and (max-width:768px) {
  .c-btnListBlock_item a {
    padding: 1.5rem 1.7rem
  }
}

.c-ancherList {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 4.5rem -1rem
}

.c-ancherList_item {
  width: calc(33.33% - 1rem);
  margin: 0 0 1rem 1rem;
  padding: 0;
  line-height: 1.3
}

.c-ancherList_item a {
  display: flex;
  position: relative;
  align-items: center;
  height: 100%;
  padding: 2.1rem 1.5rem 2.1rem 3.5rem;
  border: 1px solid #cfd8dc;
  color: currentColor;
  font-weight: 500
}

.c-ancherList_item a::after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1.5rem;
  width: .6rem;
  height: 1rem;
  margin: auto 0;
  -webkit-transform: rotate(90deg) translateX(.1rem);
  transform: rotate(90deg) translateX(.1rem)
}

.c-box02_heading, .c-table tfoot td, .c-table tfoot th {
  position: relative;
  font-weight: 500
}

.c-ancherList_item a:hover {
  background: #eceff1;
  text-decoration: none
}

.c-ancherList.-division2 .c-ancherList_item {
  width: calc(100% / 2.001 - 1rem)
}

.c-ancherList.-division3 .c-ancherList_item {
  width: calc(33.33% - 1rem)
}

.c-ancherList.-division4 .c-ancherList_item {
  width: calc(100% / 4.001 - 1rem)
}

.c-ancherList.-division5 .c-ancherList_item {
  width: calc(100% / 5.001 - 1rem)
}

@media screen and (min-width:769px) and (max-width:1024px) {
  .c-ancherList[data-tabgrid=false] {
    display: block
  }
  .c-ancherList[data-tabgrid=false] .c-ancherList_item {
    width: auto
  }
  .c-ancherList[data-tabgrid="2"] .c-ancherList_item {
    width: calc(100% / 2.001 - 1rem)
  }
  .c-ancherList[data-tabgrid="3"] .c-ancherList_item {
    width: calc(33.33% - 1rem)
  }
}

@media screen and (max-width:768px) {
  .c-ancherList_item a {
    padding: 1.7rem 1.5rem 1.7rem 3.5rem
  }
  .c-ancherList[data-spgrid=false] {
    display: block
  }
  .c-ancherList[data-spgrid=false] .c-ancherList_item {
    width: auto;
    margin-bottom: .5rem
  }
  .c-ancherList[data-spgrid="2"] .c-ancherList_item {
    width: calc(100% / 2.001 - 1rem)
  }
  .c-ancherList[data-spgrid="3"] .c-ancherList_item {
    width: calc(33.33% - 1rem)
  }
}

[class*=c-box] .c-grid:not([class*=c-textList]) {
  margin-bottom: -2rem
}

@media screen and (max-width:768px) {
  [class*=c-box] .c-grid:not([class*=c-textList]) {
    margin-bottom: -1.5rem
  }
}

.c-box {
  margin: 4rem 0;
  border: 1px solid #e0e0e0
}

.c-box_heading {
  margin: -.1rem -.1rem 0;
  padding: 1rem 3rem;
  background: #263238;
  color: #fff;
  font-size: 2rem;
  font-weight: 500
}

.c-box_inner {
  padding: 3rem;
  background: #fff
}

.c-box.-var02 {
  border: none
}

.c-box.-var02 .c-box_inner {
  background: #f5f7f8
}

@media screen and (max-width:768px) {
  .c-box {
    margin: 3rem 0
  }
  .c-box_inner {
    padding: 2rem
  }
}

.c-box02 {
  margin: 4rem 0
}

.c-box02_heading {
  display: table;
  margin: 0 0 -2.8rem;
  padding: 1rem 3rem;
  border-radius: 0 1rem 1rem 0;
  background: #263238;
  color: #fff;
  font-size: 2rem
}

.c-box02_heading+.c-box02_inner {
  padding-top: 5rem
}

.c-box02_inner {
  padding: 3rem;
  background: #eceff1
}

@media screen and (max-width:768px) {
  .c-box02 {
    margin: 3rem 0
  }
  .c-box02_heading {
    margin: 0 0 -2.5rem;
    padding: 1rem 2.7rem;
    font-size: 1.8rem
  }
  .c-box02_heading+.c-box02_inner {
    padding-top: 4rem
  }
  .c-box02_inner {
    padding: 2rem
  }
}

.c-box03 {
  margin: 4rem 0;
  padding: 4rem;
  background: #fff
}

.c-box03.-var02 {
  max-width: 82rem;
  margin-right: auto;
  margin-left: auto
}

@media screen and (max-width:768px) {
  .c-box03 {
    padding: 2rem 1.5rem
  }
}

[class*=c-table] .c-definition_detail+.c-definition_title {
  margin-top: 1rem
}

.c-table {
  margin: 4rem 0
}

.c-table.-small td, .c-table.-small th {
  padding: 1rem;
  font-size: 1.3rem
}

.c-table table {
  width: 100%;
  background: #fff;
  font-size: 1.6rem;
  table-layout: fixed
}

.c-table td, .c-table th {
  padding: 1rem 1.5rem;
  border: 1px solid #e0e0e0
}

.c-table td.-span2, .c-table th.-span2 {
  width: 17.58794%
}

.c-table td.-span3, .c-table th.-span3 {
  width: 27.889447%
}

.c-table td.-span4, .c-table th.-span4 {
  width: 38.190955%
}

.c-table td.-span5, .c-table th.-span5 {
  width: 50%
}

.c-table th {
  background: #eee;
  font-weight: 500
}

.c-table th.-var02 {
  background: #676f74;
  color: #fff
}

.c-table td.-var02 {
  background: #eee
}

.c-table thead td {
  text-align: center
}

.c-table thead th {
  font-weight: 500
}

.c-table tfoot tr:first-child td::before, .c-table tfoot tr:first-child th::before {
  display: block;
  position: absolute;
  top: -1px;
  right: -1px;
  width: calc(100% + 1px);
  height: 1px;
  background: #263238;
  content: ""
}

.c-table.-auto table {
  table-layout: inherit
}

@media screen and (max-width:768px) {
  .c-table {
    margin: 3rem 0
  }
  .c-table table {
    font-size: 1.4rem
  }
  .c-table.-var02 table {
    border-bottom: 1px solid #e0e0e0
  }
  .c-table.-var02 td, .c-table.-var02 th {
    display: block;
    width: auto;
    border-bottom: none;
    border-left: 1px solid #e0e0e0;
    text-align: left
  }
  .c-table.-var02 td+td {
    border-top: 1px solid #e0e0e0
  }
}




.c-table02 {
  margin: 4rem 0
}

.c-table02 table {
  width: 100%;
  border-bottom: 1px dashed #e0e0e0;
  background: #fff
}

.c-table02 td, .c-table02 th {
  padding: 1.5rem;
  border-top: 1px dashed #e0e0e0;
  font-weight: 400;
  text-align: left;
  vertical-align: top
}

.c-table02 th {
  width: 6em
}

.c-table02 th.enkaku {
  width: 12em;
}

@media not print {
  [data-animate=fadeIn] {
    opacity: 0;
    transition: .8s ease-in-out
  }
  [data-animate=fadeIn].-animate {
    opacity: 1
  }
  [data-animate=bottomToTop] {
    opacity: 0
  }
  [data-animate=bottomToTop].-animate {
    -webkit-animation: bottomToTop .5s ease-in-out;
    animation: bottomToTop .5s ease-in-out;
    opacity: 1
  }
  [data-animate=leftToRight] {
    opacity: 0
  }
  [data-animate=leftToRight].-animate {
    -webkit-animation: leftToRight .5s ease-in-out;
    animation: leftToRight .5s ease-in-out;
    opacity: 1
  }
  [data-animate=rightToLeft] {
    opacity: 0
  }
  [data-animate=rightToLeft].-animate {
    -webkit-animation: rightToLeft .5s ease-in-out;
    animation: rightToLeft .5s ease-in-out;
    opacity: 1
  }
  [data-animate=fadeToLeft] {
    -webkit-transform: translateX(3rem);
    transform: translateX(3rem);
    opacity: 0;
    transition: .5s ease-in-out
  }
  [data-animate=fadeToLeft].-animate {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1
  }
  .js-strSplit>.-splitItem {
    display: inline-block;
    position: relative;
    overflow: hidden
  }
  .js-strSplit>.-splitItem>span {
    display: inline-block;
    -webkit-transform: translateX(1em);
    transform: translateX(1em);
    transition: .5s .5s ease-in-out
  }
  .js-strSplit.-animate>.-splitItem>span {
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

@media screen and (max-width:768px) {
  .c-table02 td, .c-table02 th {
    padding-right: 0
  }
  .c-table02 th {
    width: 1%;
    padding-left: 0;
    white-space: nowrap
  }
  .js-spAccordion+* {
    display: none
  }
}

.c-titleLvTwo.-block {
  margin-top: 6rem
}

.c-titleLvThree.-block {
  margin-top: 5rem
}

.c-titleLvFour.-block {
  margin-top: 4rem
}

.c-grid.-block, .c-titleLvFive.-block {
  margin-top: 3rem
}

.c-grid.-block {
  margin-bottom: 0
}

p.-block {
  margin-bottom: 1.5em
}

.topSection {
  z-index: 1;
  position: relative;
  margin: 0 -4rem;
  padding: 0.1rem 4rem 10rem; /*sr岐阜　サンロードぎふ*/
  background: #eceff1
}
/*
.topSection.-corporate {
    background: aqua;
    width: 100%;
}
.topSection.-corporate div.corpRight {
    position: absolute;
    right: 0;
}
*/

.topSection.-corporate .topSection_heading, .topSection.-database .topSection_heading {
  text-align: center
}

.topSection.-database {
  padding-bottom: 18.6rem;
  background: url(../assets/images/common/bg_database.png) 50% 50%/124rem auto no-repeat #e2e8ea
}

.topSection.-sustainability {
  padding-bottom: 0
}

.topSection.-recommended {
  z-index: 0
}

.topSection_heading {
  z-index: 4;
  position: relative;
  margin: 0 0 /*5*/1rem;
  overflow: hidden;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.3
}

.topSection_heading_en {
  display: block;
  font-size: /*8*/4rem;
  font-weight: 600
}

@media screen and (max-width:768px) {
  .topSection {
    margin: 0 -1.5rem;
    padding: 0rem 1.5rem 4rem
  }
  .topSection.-database {
    padding-bottom: 5rem;
    background: url(../assets/images/common/bg_database.png) 50% 12.6rem/92% auto no-repeat #e2e8ea
  }
  .topSection_heading {
    margin: 0 0 3.5rem
  }
  .topSection_heading_en {
    font-size: 4rem
  }
}

.corpMenu {
margin: 0 /*-4rem*/auto;
  color: #fff;
      width: 70%;
    background: #43B73C;
}

.corpMenu_panels {
    margin-right: 0;
  display: -ms-grid;
  display: grid;
  /*-ms-grid-rows: 1fr 1fr;
  -ms-grid-columns: 50% 1fr 1fr 1fr;*/
  -ms-grid-rows: 1fr 1fr;
  -ms-grid-columns: 1fr 1fr;
/*  grid-template: "message profile vision organization" 1fr "message history officee group" 1fr/50% 1fr 1fr 1fr*/
  grid-template: "message profile" 50% "message profile" 1fr/ 50% 1fr;
}

.corpMenu_panel:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  -ms-grid-column: 1;
  grid-area: message;
}

.corpMenu_panel:nth-child(1) .corpMenu_panel_inner,
.corpMenu_panel:nth-child(2) .corpMenu_panel_inner{
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 2.5rem;
  text-align: center
}

.corpMenu_panel:nth-child(1) .corpMenu_panel_heading,
.corpMenu_panel:nth-child(2) .corpMenu_panel_heading {
  position: static;
  margin: 0;
  padding: 0
}

.corpMenu_panel:nth-child(1) .corpMenu_panel_heading::after,
.corpMenu_panel:nth-child(2) .corpMenu_panel_heading::after{
  content: none
}

.boxWithImage_box_inner::before, .boxWithImage_image::after, .boxWithImage_rectangle, .corpMenu_panel_btn::before, .corpMenu_panel_heading::after, .corpMenu_panel_image::after, .corpMenu_panel_image::before, .dbSearch_menu_item a::before, .dbSearch_menu_item::before {
  content: ""
}

.corpMenu_panel:nth-child(1) .corpMenu_panel_heading_en,
.corpMenu_panel:nth-child(2) .corpMenu_panel_heading_en{
  display: block;
  margin: 0 0 1rem;
  font-size: 4.8rem;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1
}

.corpMenu_panel:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: profile
}

.corpMenu_panel:nth-child(3) {
/*  -ms-grid-row: 1;
  -ms-grid-column: 3;*/
  -ms-grid-row: 1;
  -ms-grid-column: 3;
/*  grid-area: vision*/
  grid-area: record
}

.corpMenu_panel:nth-child(4) {
  -ms-grid-row: 1;
  -ms-grid-column: 4;
  /*grid-area: organization*/
  grid-area: recruit
}

/*
.corpMenu_panel:nth-child(5) {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
  grid-area: history
}

.corpMenu_panel:nth-child(6) {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
  grid-area: officee
}

.corpMenu_panel:nth-child(7) {
  -ms-grid-row: 2;
  -ms-grid-column: 4;
  grid-area: group
}
*/
.corpMenu_panel_link {
  display: block;
  position: relative;
  color: currentColor
}

.corpMenu_panel_link:hover {
  color: currentColor
}

.corpMenu_panel_link:hover .corpMenu_panel_image::before {
  opacity: 0
}

.corpMenu_panel_link:hover .corpMenu_panel_image::after {
  opacity: .8
}

.corpMenu_panel_image {
  position: relative
}

.corpMenu_panel_image::after, .corpMenu_panel_image::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: .2s linear;
}

.corpMenu_panel_image::before {
  background: #000;
/*  opacity: .4*/
  opacity: .2;
}

.corpMenu_panel_image::after {
  background-color: #43B73C;
  background-image: linear-gradient(45deg, #43B73C, #002A00);
  opacity: 0
}

.corpMenu_panel_image img {
  width: 100%
}

.corpMenu_panel_heading {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 0 5rem 2rem 2.5rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.25
}

.corpMenu_panel_heading::after {
  display: block;
  position: absolute;
  right: 2rem;
  bottom: .95em;
  width: 2.4rem;
  height: 2.4rem;
  background: url(../assets/images/common/ico_arrow_02.png) 50% 50%/contain no-repeat
}

.corpMenu_panel_btn {
  display: table;
  position: relative;
  min-width: 12rem;
  margin: 2.5rem auto 0;
  padding: 1rem 1.6rem;
  border-radius: 2rem;
  background-color: #43B73C;
  background-image:linear-gradient(45deg, #43B73C, #002A00);
  color: #333;
  font-size: 1.4rem;
  font-weight: 500
}

.corpMenu_panel_btn::before {
  display: block;
  position: absolute;
  top: .1rem;
  left: .1rem;
  width: calc(100% - .2rem);
  height: calc(100% - .2rem);
  border-radius: 2rem;
  background: #fff
}

.corpMenu_panel_btn_label {
  position: relative
}

@media screen and (max-width:1100px) {
  .corpMenu_panels {
    -ms-grid-rows: auto auto auto;
    -ms-grid-columns: 1fr 1fr 1fr;
    /*grid-template: "message message message" "profile vision organization" "history officee group"/1fr 1fr 1fr*/
    grid-template: "message message message" "profile profile profile" "recruit recruit recruit"/1fr 1fr 1fr
  }
  .corpMenu_panel:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3
  }
  .corpMenu_panel:nth-child(2) {
    -ms-grid-row: 2;
    -ms-grid-column: 1
  }
  .corpMenu_panel:nth-child(3) {
    -ms-grid-row: 2;
    -ms-grid-column: 2
  }
  .corpMenu_panel:nth-child(4) {
    -ms-grid-row: 2;
    -ms-grid-column: 3
  }
/*  .corpMenu_panel:nth-child(5) {
    -ms-grid-row: 3;
    -ms-grid-column: 1
  }
  .corpMenu_panel:nth-child(6) {
    -ms-grid-row: 3;
    -ms-grid-column: 2
  }
  .corpMenu_panel:nth-child(7) {
    -ms-grid-row: 3;
    -ms-grid-column: 3
  }*/
}

@media screen and (max-width:768px) {
  .corpMenu {
    display: block;
    margin: 0 /*-1.5rem*/auto;
  }
  .corpMenu_panels {
    -ms-grid-rows: auto auto auto;
    -ms-grid-columns: 1fr 1fr;
    /*grid-template: "message message" "profile vision" "organization history" "officee group"/1fr 1fr*/
    grid-template: "message message" "profile profile" "record record"/1fr 1fr
  }
  .corpMenu_panel:nth-child(1) .corpMenu_panel_heading_en {
    font-size: 3.2rem
  }
  .corpMenu_panel:nth-child(2) .corpMenu_panel_heading_en {
    font-size: 3.2rem
  }
  .corpMenu_panel_heading {
    padding: 0 4rem 1.5rem 1.5rem;
    font-size: 1.8rem
  }
  .corpMenu_panel_heading::after {
    display: block;
    position: absolute;
    right: 1.5rem;
    bottom: .8em;
    width: 2rem;
    height: 2rem;
    content: ""
  }
  .corpMenu_panel_btn {
    margin-top: 2rem
  }
  .corpMenu_panel:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2
  }
  .corpMenu_panel:nth-child(2) {
    -ms-grid-row: 2;
    -ms-grid-column: 1
  }
  .corpMenu_panel:nth-child(3) {
    -ms-grid-row: 2;
    -ms-grid-column: 2
  }
  .corpMenu_panel:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 1
  }
/*  .corpMenu_panel:nth-child(5) {
    -ms-grid-row: 3;
    -ms-grid-column: 2
  }
  .corpMenu_panel:nth-child(6) {
    -ms-grid-row: 4;
    -ms-grid-column: 1
  }
  .corpMenu_panel:nth-child(7) {
    -ms-grid-row: 4;
    -ms-grid-column: 2
  }*/
}

.boxWithImage {
  display: flex;
  z-index: 0;
  position: relative;
  align-items: center
}

.boxWithImage.-animate .boxWithImage_image::after {
  width: 0
}

.boxWithImage_rectangle {
  display: block;
  z-index: -1;
  position: absolute;
  background-image: linear-gradient(45deg, #43B73C, #001A43, #43B73C);
  background-size: 400% 400%;
  -webkit-animation: gradient 12s ease infinite;
  animation: gradient 12s ease infinite;
  opacity: .5;
      border-radius: 50%;
}

.boxWithImage:nth-of-type(1) {
  z-index: 4
}

.boxWithImage:nth-of-type(1) .boxWithImage_rectangle {
  top: -18.8rem;
  right: -22.3rem;
  width: 60.7rem;
  /*height: 26.5rem;*/
  height: 60.7rem
}

.boxWithImage:nth-of-type(2) {
  z-index: 3
}

.boxWithImage:nth-of-type(2) .boxWithImage_rectangle {
  top: -14rem;
  left: -14rem;
  width: 30.9rem;
  /*height: 26.5rem;*/
  height: 30.9rem
}

.boxWithImage:nth-of-type(3) {
  z-index: 2
}

.boxWithImage:nth-of-type(3) .boxWithImage_rectangle {
  top: -25rem;
  right: -22.3rem;
  width: 42.2rem;
  /*height: 48.3rem;*/
  height: 42.2rem
}

.boxWithImage:nth-of-type(4) {
  z-index: 1
}

.boxWithImage:nth-of-type(4) .boxWithImage_rectangle {
  top: -14rem;
  left: -20rem;
  width: 50.3rem;
  /*height: 28.3rem;*/
  height: 50.3rem
}

.boxWithImage+.boxWithImage {
  margin-top: 13.6rem
}

.boxWithImage_link {
  display: flex;
  color: #333
}

.boxWithImage_link:hover {
  color: #fff;
  text-decoration: none
}

.boxWithImage_link:hover .boxWithImage_box_inner::before {
  opacity: 1
}

.boxWithImage:nth-of-type(odd) .boxWithImage_link {
  flex-direction: row-reverse
}

.boxWithImage:nth-of-type(odd) .boxWithImage_box_inner {
  margin-right: -16.4rem;
  margin-left: 0
}

.boxWithImage_box {
  display: flex;
  flex: 1;
  align-items: center;
  font-size: 1.6rem
}

.boxWithImage_box_inner {
  display: table;
  position: relative;
  min-height: 69.444444%;
  margin-left: -16.4rem;
  padding: 3.8rem;
  background: #fff;
  box-shadow: .15rem .3rem .45rem rgba(0, 0, 0, .1)
}

.dbSearch_form, .dbSearch_menu_item {
  box-shadow: .1rem .2rem .3rem rgba(0, 0, 0, .1)
}

.boxWithImage_box_inner>* {
  position: relative
}

.boxWithImage_box_inner::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #43B73C;
  background-image:linear-gradient(45deg, #43B73C, #002A00);
  opacity: 0;
  transition: .2s linear
}

.boxWithImage_box_text {
  display: table-cell;
  height: 100%;
  vertical-align: middle
}

.boxWithImage_box_title {
  margin: 0 0 1rem;
  font-size: 3rem;
  font-weight: 500
}

.boxWithImage_image {
  position: relative;
  width: 67.7419354839%
}

.boxWithImage_image::after {
  display: block;
  z-index: 0;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: #263238;
  transition: width .7s ease;
  transition-delay: .5s
}

.boxWithImage_image img {
  width: 100%
}

@media screen and (max-width:768px) {
  .boxWithImage, .boxWithImage_link {
    display: block
  }
  .boxWithImage {
    margin-right: -1.5rem;
    margin-left: -1.5rem
  }
  .boxWithImage:nth-of-type(1) {
    margin-top: 9rem
  }
  .boxWithImage:nth-of-type(1)::before {
    top: -5rem;
    right: 0;
    width: 81.066667%;
    height: 13.3rem
  }
  .boxWithImage:nth-of-type(2)::before {
    top: -6.8rem;
    left: 0;
    width: 41.333333%;
    height: 13.3rem
  }
  .boxWithImage:nth-of-type(3)::before {
    top: -12rem;
    right: 0;
    width: 56.266667%;
    height: 24.2rem
  }
  .boxWithImage+.boxWithImage {
    margin-top: 6.8rem
  }
  .boxWithImage:nth-of-type(odd) .boxWithImage_image {
    margin-left: 3rem
  }
  .boxWithImage:nth-of-type(odd) .boxWithImage_box_inner {
    margin-right: 3rem;
    margin-left: 0
  }
  .boxWithImage_image {
    width: calc(100% - 3rem);
    margin-right: 3rem
  }
  .boxWithImage_box {
    margin-top: -3rem;
    font-size: 1.5rem
  }
  .boxWithImage_box_inner {
    width: calc(100% - 3rem);
    margin-left: 3rem;
    padding: 4rem 3rem
  }
  .boxWithImage_box_title {
    font-size: 2.4rem
  }
}

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

.dbSearch_menu_item {
  display: flex;
  position: relative;
  flex: 1;
  align-items: center;
  min-height: 22rem;
  background: #fff;
  font-size: 2rem;
  font-weight: 500;
  text-align: center
}

.dbSearch_menu_item:hover::before {
  opacity: 1
}

.dbSearch_menu_item::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #43B73C;
  background-image:linear-gradient(45deg, #43B73C, #002A00);
  opacity: 0;
  transition: .2s linear
}

.dbSearch_menu_item+.dbSearch_menu_item {
  margin-left: 2rem
}

.dbSearch_menu_item a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 4rem 2rem;
  color: #333
}

.dbSearch_menu_item a::before {
  display: block;
  width: 10rem;
  height: 10rem;
  margin: 0 auto
}

.dbSearch_menu_item a.-purpose::before {
  background: url(../assets/images/common/ico_db-purpose.png) 50% 50%/contain no-repeat
}

.dbSearch_menu_item a.-location::before {
  background: url(../assets/images/common/ico_db-location.png) 50% 50%/contain no-repeat
}

.dbSearch_menu_item a.-material::before {
  background: url(../assets/images/common/ico_db-material.png) 50% 50%/contain no-repeat
}

.dbSearch_menu_item a.-function::before {
  background: url(../assets/images/common/ico_db-function.png) 50% 50%/contain no-repeat
}

.dbSearch_menu_item a:hover {
  color: #fff;
  text-decoration: none
}

.dbSearch_menu_item a:hover.-purpose::before {
  background: url(../assets/images/common/ico_db-purpose_02.png) 50% 50%/contain no-repeat
}

.dbSearch_menu_item a:hover.-location::before {
  background: url(../assets/images/common/ico_db-location_02.png) 50% 50%/contain no-repeat
}

.dbSearch_menu_item a:hover.-material::before {
  background: url(../assets/images/common/ico_db-material_02.png) 50% 50%/contain no-repeat
}

.dbSearch_menu_item a:hover.-function::before {
  background: url(../assets/images/common/ico_db-function_02.png) 50% 50%/contain no-repeat
}

.dbSearch_form {
  margin: 2rem 0 0
}

.dbSearch.-var02 {
  padding: 2rem;
  background: #f5f7f8
}

.dbSearch.-var02 .dbSearch_menu_item {
  min-height: 16rem;
  font-size: 1.8rem
}

.dbSearch.-var02 .dbSearch_menu_item+.dbSearch_menu_item {
  margin-left: 1rem
}

.dbSearch.-var02 .dbSearch_menu_item a {
  padding: 2.5rem 2rem
}

.dbSearch.-var02 .dbSearch_menu_item a::before {
  width: 7.5rem;
  height: 7.5rem
}

.dbSearch.-var02 .dbSearch_form .mt-site-search-form__query {
  width: calc(100% - 5.6rem);
  font-size: 1.8rem
}

.dbSearch.-var02 .dbSearch_form .mt-site-search-form__button {
  width: 5.6rem;
  height: 5.6rem
}

.dbSearch.-var03 {
  margin: 2rem 0
}

.dbSearch.-var03 .dbSearch_menu_item {
  min-height: 10.2rem;
  background: #f5f7f8;
  box-shadow: none;
  font-size: 1.6rem;
  line-height: 1.5
}

.panel_cat, .tab_nav_item {
  box-shadow: .1rem .2rem .3rem rgba(0, 0, 0, .1);
  text-align: center
}

.sustainabilityBlock_panel_heading_en, .sustainabilityMenu_panel_heading_en {
  letter-spacing: .05em;
  line-height: 1;
  font-family: Roboto, sans-serif
}

.dbSearch.-var03 .dbSearch_menu_item+.dbSearch_menu_item {
  margin-left: 2rem
}

.dbSearch.-var03 .dbSearch_menu_item a {
  padding: 1rem
}

.dbSearch.-var03 .dbSearch_menu_item a::before {
  width: 6rem;
  height: 6rem
}

@media screen and (max-width:1300px) {
  .dbSearch.-var02 .dbSearch_menu {
    flex-wrap: wrap;
    margin: 0 0 -1rem
  }
  .dbSearch.-var02 .dbSearch_menu_item {
    flex: inherit;
    width: calc(50% - .5rem);
    min-height: 12.7rem;
    margin: 0 0 1rem
  }
  .dbSearch.-var02 .dbSearch_menu_item+.dbSearch_menu_item {
    margin-top: 0;
    margin-left: 0
  }
}

@media screen and (max-width:1024px) {
  .dbSearch_menu {
    flex-wrap: wrap;
    margin: 0 0 -1.8rem -1.8rem
  }
  .dbSearch.-var03 .dbSearch_menu_item, .dbSearch_menu_item {
    margin: 0 0 1.8rem 1.8rem
  }
  .dbSearch_menu_item {
    flex: auto;
    width: calc(50% - 1.8rem)
  }
  .dbSearch.-var03 .dbSearch_menu_item+.dbSearch_menu_item {
    margin-left: 1.8rem
  }
}

@media screen and (max-width:768px) {
  .dbSearch {
    margin-top: 9rem
  }
  .dbSearch_menu {
    display: block;
    margin: 0
  }
  .dbSearch_menu_item {
    display: flex;
    align-items: center;
    width: auto;
    min-height: 17rem;
    margin: 0
  }
  .dbSearch_menu_item+.dbSearch_menu_item {
    margin: 1.5rem 0 0
  }
  .dbSearch_menu_item a {
    padding: 2rem
  }
  .dbSearch_menu_item a::before {
    width: 8rem;
    height: 8rem
  }
  .dbSearch_form {
    margin-top: 1.5rem
  }
  .dbSearch_form .mt-site-search-form__query {
    width: calc(100% - 6.4rem)
  }
  .dbSearch_form .mt-site-search-form__button {
    width: 6.4rem;
    height: 6.4rem
  }
  .dbSearch.-var02 {
    margin-right: -1.5rem;
    margin-left: -1.5rem;
    padding: 1.5rem
  }
  .dbSearch.-var02 .dbSearch_menu {
    display: flex;
    margin: 0
  }
  .dbSearch.-var02 .dbSearch_menu_item {
    flex: initial;
    width: calc(50% - .35rem);
    min-height: 12.7rem;
    margin: 0 0 .7rem;
    font-size: 1.6rem
  }
  .dbSearch.-var02 .dbSearch_menu_item+.dbSearch_menu_item {
    margin-top: 0;
    margin-left: 0
  }
  .dbSearch.-var02 .dbSearch_menu_item a {
    padding: 2rem 1rem
  }
  .dbSearch.-var02 .dbSearch_menu_item a::before {
    width: 6rem;
    height: 6rem
  }
  .dbSearch.-var02 .dbSearch_form {
    margin-top: 1.3rem
  }
  .dbSearch.-var02 .dbSearch_form .mt-site-search-form__query {
    font-size: 1.6rem
  }
  .dbSearch.-var03 .dbSearch_menu {
    display: flex;
    margin-left: -1.5rem
  }
  .dbSearch.-var03 .dbSearch_menu_item {
    width: calc(50% - 1.5rem);
    margin: 0 0 1.5rem 1.5rem
  }
  .dbSearch.-var03 .dbSearch_menu_item+.dbSearch_menu_item {
    margin-left: 1.5rem
  }
}

.sustainabilityMenu {
  display: flex;
  margin: 0 -4rem
}

.sustainabilityMenu_panel {
  flex: 1;
  color: #fff
}

.sustainabilityMenu_panel_link {
  display: block;
  position: relative;
  color: currentColor
}

.sustainabilityMenu_panel_link:hover {
  color: currentColor
}

.sustainabilityMenu_panel_link:hover .sustainabilityMenu_panel_image::before {
  opacity: 0
}

.sustainabilityMenu_panel_link:hover .sustainabilityMenu_panel_image::after {
  opacity: .8
}

.sustainabilityMenu_panel_image {
  position: relative
}

.sustainabilityMenu_panel_image::after, .sustainabilityMenu_panel_image::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  transition: .2s linear
}

.sustainabilityMenu_panel_image::before {
  background: #000;
  opacity: .4
}

.sustainabilityMenu_panel_btn, .sustainabilityMenu_panel_image::after {
  background-color: #43B73C;
  background-image: linear-gradient(45deg, #43B73C, #001A43)
}

.sustainabilityMenu_panel_image::after {
  opacity: 0
}

.sustainabilityMenu_panel_image img {
  width: 100%
}

.sustainabilityMenu_panel_inner {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 2.5rem;
  text-align: center
}

.sustainabilityMenu_panel_heading {
  position: static;
  margin: 0;
  padding: 0;
  font-size: 2rem;
  font-weight: 500
}

.sustainabilityMenu_panel_heading::after {
  content: none
}

.linkListMenu_item::before, .linkListMenu_item_label.-external::after, .messageBlock::after, .messageBlock::before, .messageBlock_box_link::before, .messageBlock_box_more::before, .newsList_item_text a.-external::after, .newsList_item_text a.-pdf::after, .panel02_btn::before, .panel02_image::after, .panel02_image::before, .panel03_heading_label::before, .panel04_heading.-faq::before, .panel04_heading.-info::before, .panelRectangle_title::before, .panel_cat::after, .panel_link .panel_title::before, .panel_link.-external .panel_title::after, .panel_list_item>a::before, .relatedBlock_menu_item::before, .relatedBlock_menu_item_label.-external::after, .relatedBlock_menu_item_label::before, .relatedContent_item_title::before, .sustainabilityBlock_panel_image::after, .sustainabilityBlock_panel_image::before, .sustainabilityMenu_panel_btn::before {
  content: ""
}

.sustainabilityMenu_panel_heading_en {
  display: block;
  margin: 0 0 1rem;
  font-size: 4.8rem;
  font-weight: 700
}

.sustainabilityMenu_panel_btn {
  display: table;
  position: relative;
  min-width: 12rem;
  margin: 2.5rem auto 0;
  padding: 1rem 1.6rem;
  border-radius: 2rem;
  color: #333;
  font-size: 1.4rem;
  font-weight: 500
}

.sustainabilityMenu_panel_btn::before {
  display: block;
  position: absolute;
  top: .1rem;
  left: .1rem;
  width: calc(100% - .2rem);
  height: calc(100% - .2rem);
  border-radius: 2rem;
  background: #fff
}

.sustainabilityMenu_panel_btn_label {
  position: relative
}

@media screen and (max-width:1100px) {
  .sustainabilityMenu_panel_heading_en {
    font-size: 4rem
  }
}

@media screen and (max-width:768px) {
  .sustainabilityMenu {
    display: block;
    margin: 0 -1.5rem
  }
  .sustainabilityMenu_panel_heading {
    font-size: 1.8rem
  }
  .sustainabilityMenu_panel_heading_en {
    font-size: 3.2rem
  }
  .sustainabilityMenu_panel_btn {
    margin-top: 2rem
  }
}

.sustainabilityBlock {
  display: flex
}

.sustainabilityBlock+.sustainabilityBlock {
  margin-top: 2rem
}

.sustainabilityBlock_panel {
  width: 45.16129%;
  max-width: 56rem;
  color: #fff
}

.sustainabilityBlock_panel_link {
  display: flex;
  position: relative;
  align-items: center;
  height: 100%;
  min-height: 33.6rem;
  color: currentColor
}

.sustainabilityBlock_panel_link:hover {
  color: currentColor;
  text-decoration: none
}

.sustainabilityBlock_panel_link:hover .sustainabilityBlock_panel_image::before {
  opacity: 0
}

.sustainabilityBlock_panel_link:hover .sustainabilityBlock_panel_image::after {
  opacity: .8
}

.sustainabilityBlock_panel_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.sustainabilityBlock_panel_image::after, .sustainabilityBlock_panel_image::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: .2s linear
}

.sustainabilityBlock_panel_image::before {
  z-index: 1;
  background: #000;
  opacity: .4
}

.sustainabilityBlock_panel_image::after {
  background-color: #43B73C;
  background-image:linear-gradient(45deg, #43B73C, #002A00);
  opacity: 0
}

.sustainabilityBlock_panel_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.sustainabilityBlock_panel_inner {
  display: flex;
  z-index: 1;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 2.5rem;
  text-align: center
}

.sustainabilityBlock_panel_heading {
  margin: 0;
  padding: 0;
  font-size: 2.4rem;
  font-weight: 500
}

.sustainabilityBlock_panel_heading_en {
  display: block;
  margin: 0 0 1rem;
  font-size: 4rem;
  font-weight: 700
}

.sustainabilityBlock_panel_desc {
  margin: 1rem 0 0
}

.sustainabilityBlock_content {
  flex: 1;
  padding: 4.5rem 6rem;
  background: #f5f7f8
}

@media screen and (max-width:1024px) {
  .sustainabilityBlock_content {
    padding: 4.5rem
  }
}

@media screen and (max-width:768px) {
  .sustainabilityBlock {
    display: block;
    margin: 0 -1.5rem
  }
  .sustainabilityBlock+.sustainabilityBlock {
    margin-top: 1.5rem
  }
  .sustainabilityBlock_panel {
    width: 100%;
    max-width: none
  }
  .sustainabilityBlock_panel_link {
    min-height: 20.7rem
  }
  .sustainabilityBlock_panel_inner {
    padding: 2.5rem
  }
  .sustainabilityBlock_panel_heading {
    font-size: 2rem
  }
  .sustainabilityBlock_panel_heading_en {
    font-size: 3rem
  }
  .sustainabilityBlock_panel_desc {
    font-size: 1.4rem
  }
  .sustainabilityBlock_content {
    padding: 3rem
  }
}

.tab_nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 0 4rem -1.6rem
}

.tab_nav_item {
  margin: 0 0 1.6rem 1.6rem;
  overflow: hidden;
  border-radius: 2.8rem;
  font-weight: 500;
  line-height: 1.5
}

.tab_nav_item a {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  min-width: 29.5rem;
  height: 100%;
  padding: 1.5rem 2rem;
  color: #88959e
}

.tab_nav_item a.-active, .tab_nav_item a:hover {
  background: #263238;
  color: #fff;
  text-decoration: none
}

.tab.-news .tab_nav_item {
  border-radius: 2.4rem;
  font-size: 1.6rem
}

.tab.-news .tab_nav_item a {
  min-width: 12.6rem;
  padding: 1.2rem 2rem
}

.tab.-office .tab_nav {
  margin-bottom: 2.4rem
}

@media screen and (max-width:768px) {
  .tab_nav {
    margin: 0 0 2.2rem -.8rem
  }
  .tab_nav_item {
    width: calc(100%/2.001 - .8rem);
    margin: 0 0 .8rem .8rem;
    font-size: 1.3rem
  }
  .tab_nav_item a {
    min-width: 0
  }
  .tab.-news .tab_nav_item {
    width: auto;
    font-size: 1.3rem
  }
  .tab.-news .tab_nav_item a {
    min-width: 8.5rem
  }
  .tab.-office .tab_nav {
    margin-bottom: 1.2rem
  }
}

.newsList_item {
  display: flex;
  padding: 1.3rem 0;
  border-bottom: 1px solid #e0e0e0;
  font-size: 1.6rem;
  line-height: 1.5
}

.newsList_item:first-child {
  padding-top: 0
}

.newsList_item_meta {
  display: flex;
  align-items: flex-start
}

.newsList_item_date {
  width: 8.5em;
  font-weight: 500
}

.newsList_item_cat {
  width: 12.5rem;
  margin-right: 2rem;
  padding: .4rem 1rem;
  border-radius: 1.4rem;
  background: #e7eaec;
  color: #88959e;
  font-size: 1.2rem;
  text-align: center
}

.newsList_item_text {
  flex: 1
}

.newsList_item_text a {
  color: #333
}

.newsList_item_text a::after {
  display: inline-block;
  height: 2.4rem;
  margin-left: .4rem;
  line-height: 1;
  vertical-align: -.6rem
}

.newsList_item_text a.-pdf::after {
  width: 2rem;
  background: url(../assets/images/common/ico_pdf.png) 50% 50%/contain no-repeat
}

.newsList_item_text a.-external::after {
  width: 1.1rem;
  background: url(../assets/images/common/ico_external.png) 50% 50%/contain no-repeat
}

@media screen and (max-width:768px) {
  .newsList_item {
    display: block;
    padding: 1.8rem 0;
    font-size: 1.5rem
  }
  .newsList_item_meta {
    align-items: center
  }
  .newsList_item_date {
    font-size: 1.4rem
  }
  .newsList_item_cat {
    margin: 0
  }
  .newsList_item_text {
    display: block;
    margin: 5px 0 0
  }
  .newsList_item_text a {
    display: block
  }
}

[lang=en] #news .newsList {
  max-width: 102.8rem;
  margin: 0 auto
}

.panel {
  background: #fff
}

.panel_link {
  display: block;
  height: 100%
}

.panel_link:hover {
  text-decoration: none;
  opacity: .6
}

.panel_link .panel_title {
  padding-left: 1.8rem
}

.panel_link .panel_title::before {
  display: block;
  position: absolute;
  top: .45em;
  left: .1rem;
  width: .6rem;
  height: 1rem;
  background: url(../assets/images/common/ico_arrow.png) 0 50%/contain no-repeat
}

.panel_link .panel_title.-pdf {
  padding-left: 3rem
}

.panel_link .panel_title.-pdf::before {
  top: .1em;
  width: 2rem;
  height: 2.4rem;
  background: url(../assets/images/common/ico_pdf.png) 0 50%/contain no-repeat
}

.panel_link.-external .panel_title::after {
  display: inline-block;
  width: 1.1rem;
  height: 1.1rem;
  margin-left: 1rem;
  background: url(../assets/images/common/ico_external.png) 50% 50%/contain no-repeat;
  vertical-align: .1rem
}

.panel_image {
  position: relative;
  overflow: hidden
}

.panel_image img {
  width: 100%;
  height: auto
}

.panel_cat {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  min-width: 12rem;
  padding: .7rem .2rem .9rem 1rem;
  background: #263238;
  color: #fff;
  font-size: 1.6rem
}

.panel_cat::after {
  display: block;
  z-index: -1;
  position: absolute;
  top: 0;
  right: -2rem;
  width: 2rem;
  height: 100%;
  -webkit-transform: translateX(-50%) skewX(-25deg);
  transform: translateX(-50%) skewX(-25deg);
  background: inherit;
  box-shadow: .3rem 0 .3rem rgba(0, 0, 0, .1)
}

.panel_body {
  padding: 2rem 2rem 3rem;
  color: #333;
  font-size: 1.6rem;
  line-height: 1.5
}

.panel02_heading, .panel_title {
  line-height: 1.3;
  font-weight: 500
}

.panel_title {
  position: relative;
  margin: 0;
  font-size: 2rem
}

.panel_title+.panel_desc {
  margin-top: 1.2rem
}

.panel_desc {
  margin: 0
}

.panel_list {
  margin: .5rem 0 0;
  padding: 0
}

.panel_list_item {
  position: relative;
  margin: .5rem 0 0;
  padding: 0 0 0 2rem;
  font-size: 1.6rem
}

.panel_list_item>a {
  color: currentColor
}

.panel_list_item>a::before {
  display: block;
  position: absolute;
  top: .5em;
  left: .7rem;
  width: .6rem;
  height: 1rem;
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/contain no-repeat
}

.panel02_image, .panel02_link {
  position: relative
}

.panel.-var02 {
  background: 0 0
}

.panel.-var03, .panel.-var04, .panel.-var05 {
  background: #f5f7f8
}

.panel.-var02 .panel_body {
  padding: 2rem 0
}

.panel.-var04 .panel_image {
  padding: 2rem 2rem 0
}

.panel.-var05 {
  width: 35.483871%
}

.panel.-var05 .panel_body {
  padding: 2rem
}

@media screen and (max-width:768px) {
  .panel_body, .panel_cat {
    font-size: 1.4rem
  }
  .panel_link .panel_title::before {
    top: .4em
  }
  .panel_cat {
    min-width: 9.6rem;
    padding: .5rem .2rem .6rem 1rem
  }
  .panel_title {
    font-size: 1.8rem
  }
  .panel.-var05 {
    width: auto
  }
}

.panel02 {
  color: #fff
}

.panel02_link, .panel02_link:hover {
  color: currentColor
}

.panel02_link {
  display: block
}

.panel02_link:hover .panel02_image::before {
  opacity: 0
}

.panel02_link:hover .panel02_image::after {
  opacity: .8
}

.panel02_image::after, .panel02_image::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: .2s linear
}

.panel02_image::before {
  background: #000;
  opacity: .4
}

.panel02_btn, .panel02_image::after {
  background-color: #43B73C;
  background-image: linear-gradient(45deg, #43B73C, #001A43)
}

.panel02_image::after {
  opacity: 0
}

.panel02_image img {
  width: 100%
}

.panel02_inner {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 2.5rem;
  text-align: center
}

.panel02_heading {
  margin: 1rem 0 0;
  padding: 0;
  font-size: 2.6rem
}

.panel02_btn {
  display: table;
  position: relative;
  min-width: 12rem;
  margin: 2.5rem auto 0;
  padding: 1rem 1.6rem;
  border-radius: 2rem;
  color: #333;
  font-size: 1.4rem;
  font-weight: 500
}

.panel02_btn::before {
  display: block;
  position: absolute;
  top: .1rem;
  left: .1rem;
  width: calc(100% - .2rem);
  height: calc(100% - .2rem);
  border-radius: 2rem;
  background: #fff
}

.panel02_btn_label, .panel03_link {
  position: relative
}

@media screen and (max-width:1024px) {
  .panel02_heading {
    font-size: 2rem
  }
}

@media screen and (max-width:768px) {
  .panel02_btn {
    margin-top: 1.5rem
  }
}

.panel03 {
  color: #fff
}

.panel03_link, .panel04_link {
  color: currentColor;
  transition: .2s linear
}

.panel03_link {
  display: block
}

.panel03_link:hover {
  opacity: .6
}

.panel03_image img {
  width: 100%
}

.panel03_heading {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: 0;
  padding: 2.5rem 2rem;
  background: rgba(38, 50, 56, .8);
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center
}

.panel03_heading_label {
  display: inline-block;
  position: relative;
  padding: 0 2.3rem
}

.panel03_heading_label::before {
  display: block;
  position: absolute;
  top: .6em;
  left: .7rem;
  width: .6rem;
  height: 1rem;
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/contain no-repeat
}

.panel04 {
  background: #f5f7f8
}

.panel04_link {
  display: block;
  position: relative;
  padding: 5rem 4rem 7.5rem
}

.panel04_link::after {
  display: block;
  z-index: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #43B73C;
  background-image:linear-gradient(45deg, #43B73C, #002A00);
  content: "";
  opacity: 0;
  transition: .2s linear
}

.panel04_heading, .panelRectangle_title {
  position: relative;
  line-height: 1.3;
  font-weight: 500
}

.panel04_link:hover {
  color: #fff;
  text-decoration: none
}

.panel04_link:hover::after {
  opacity: 1
}

.linkListMenu_item a:hover, .messageBlock_box_link:hover, .panelRectangle_link:hover, .relatedBlock_menu_item a:hover, .relatedContent_item a:hover {
  opacity: .6;
  text-decoration: none
}

.panel04_link:hover .panel04_heading.-info::before {
  background: url(../assets/images/common/ico_recruit_02.png) 50% 50%/contain no-repeat
}

.panel04_link:hover .panel04_heading.-faq::before {
  background: url(../assets/images/common/ico_faq_02.png) 50% 50%/contain no-repeat
}

.panel04_heading {
  z-index: 1;
  margin: 0;
  font-size: 2.4rem;
  text-align: center
}

.panel04_heading::before {
  display: block;
  width: 8.4rem;
  height: 8.4rem;
  margin: 0 auto .5rem
}

.panel04_heading.-info::before {
  background: url(../assets/images/common/ico_recruit.png) 50% 50%/contain no-repeat
}

.panel04_heading.-faq::before {
  background: url(../assets/images/common/ico_faq.png) 50% 50%/contain no-repeat
}

@media screen and (max-width:1024px) {
  .panel04_link {
    padding: 2.5rem 2rem 2em
  }
  .panel04_heading {
    font-size: 2rem
  }
}

.panelRectangle {
  display: flex;
  max-width: 96rem;
  margin-right: auto;
  margin-left: auto;
  background: #fff
}

.panelRectangle_link {
  display: flex;
  width: 100%;
  border: 1px solid #e0e0e0
}

.panelRectangle_image {
  margin: -1px -1px -1px 0
}

.panelRectangle_image img {
  width: 100%
}

.panelRectangle_body {
  display: flex;
  flex: 1;
  align-items: center;
  min-width: 31.25%;
  padding: 2rem;
  color: #333
}

.panelRectangle_title {
  margin: 0;
  padding-left: 1.8rem;
  font-size: 2rem
}

.panelRectangle_title::before {
  display: block;
  position: absolute;
  top: .45em;
  left: .1rem;
  width: .6rem;
  height: 1rem;
  background: url(../assets/images/common/ico_arrow.png) 0 50%/contain no-repeat
}

@media screen and (max-width:768px) {
  .panelRectangle, .panelRectangle_link {
    display: block
  }
  .panelRectangle_image {
    margin: 0 -1px -1px
  }
  .panelRectangle_body {
    display: block;
    padding: 2.5rem 2rem
  }
  .panelRectangle_title {
    font-size: 1.8rem
  }
  .panelRectangle_title::before {
    top: .4em
  }
}

.messageBlock {
  position: relative;
  margin: -1rem -4rem 0;
  padding: 7.2rem 4rem
}

.messageBlock::after, .messageBlock::before {
  display: block;
  position: absolute
}

.messageBlock::before {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background-color: #43B73C;
  background-image: linear-gradient(90deg, #43B73C, #001A43)
}

.messageBlock::after {
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  max-width: 124rem;
  height: 100%;
  margin: 0 auto;
  background: url(../assets/images/company/bg_message.png) 0 100%/40rem auto no-repeat
}

.messageBlock_box {
  display: flex;
  position: relative;
  align-items: center;
  width: 59.677419%;
  min-height: 41.6rem;
  margin: 0 -4rem 0 auto;
  background: #fff
}

.messageBlock_box_link {
  display: block;
  padding: 6rem 4rem 6rem 8rem;
  color: #333
}

.messageBlock_box_link::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.messageBlock_box_heading {
  margin: 0;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.3
}

.messageBlock_box_heading_en {
  display: block;
  font-family: Roboto, sans-serif;
  font-size: 6.4rem;
  font-weight: 500
}

.historyBlock_heading, .historyTimeline_item_year {
  font-family: "Noto Serif Japanese", serif
}

.messageBlock_box_caption {
  margin: 1rem 0 0
}

.messageBlock_box_position {
  display: inline-block;
  font-size: 1.4rem;
  vertical-align: middle
}

.messageBlock_box_name {
  display: inline-block;
  margin-left: 1.4rem;
  vertical-align: middle
}

.messageBlock_box_more {
  position: relative;
  padding: 0 0 0 5rem;
  font-size: 1.6rem;
  font-weight: 500
}

.messageBlock_box_more::before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4rem;
  height: 4rem;
  margin: auto 0;
  background: url(../assets/images/common/ico_arrow_03.png) 0 50%/4rem auto no-repeat
}

@media screen and (max-width:768px) {
  .messageBlock {
    margin: -3rem -1.5rem 0;
    padding: 0 1.5rem 7.8rem
  }
  .messageBlock::after {
    background: url(../assets/images/company/bg_message.png) 0 100%/28rem auto no-repeat
  }
  .messageBlock_box {
    width: auto;
    min-height: 31.3rem;
    margin: 0 -1.5rem 0 1.5rem
  }
  .messageBlock_box_link {
    width: 100%;
    padding: 4rem 2rem 4rem 28rem
  }
  .messageBlock_box_heading_en {
    font-size: 5rem
  }
  .messageBlock_box_position {
    font-size: 1.2rem
  }
  .messageBlock_box_name {
    margin-left: 1rem;
    font-size: 1.6rem
  }
}

@media screen and (max-width:576px) {
  .messageBlock::after {
    background: url(../assets/images/company/bg_message.png) 0 100%/20rem auto no-repeat
  }
  .messageBlock_box_link {
    padding-left: 15rem
  }
  .messageBlock_box_heading {
    font-size: 2rem
  }
  .messageBlock_box_heading_en {
    font-size: 4rem
  }
}

.linkListMenu {
  margin-bottom: -2rem;
  margin-left: -2rem
}

.linkListMenu.-horizontal {
  display: flex;
  flex-wrap: wrap
}

.linkListMenu.-horizontal.-division2 .linkListMenu_item {
  width: calc((100% / 2.001) - 2rem)
}

.linkListMenu.-horizontal.-division3 .linkListMenu_item {
  width: calc((100% / 3.001) - 2rem)
}

.linkListMenu.-horizontal.-division4 .linkListMenu_item {
  width: calc((100% / 4.001) - 2rem)
}

.linkListMenu.-horizontal.-division5 .linkListMenu_item {
  width: calc((100% / 5.001) - 2rem)
}

.linkListMenu_item {
  display: flex;
  margin: 0 0 2rem 2rem;
  padding: 0;
  font-size: 1.4rem
}

.linkListMenu_item::before {
  display: inline-block;
  height: 100%;
  min-height: 9.6rem;
  vertical-align: middle
}

.linkListMenu_item a {
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  padding: 1.5rem 2.5rem 1.5rem 4.4rem;
  border: 1px solid #e0e0e0;
  background: url(../assets/images/common/ico_arrow.png) 2.5rem 50%/.6rem auto no-repeat;
  color: #333
}

.linkListMenu_item_label {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3
}

.linkListMenu_item_label.-external::after {
  display: inline-block;
  width: 1.1rem;
  height: 1.1rem;
  margin-left: 1rem;
  background: url(../assets/images/common/ico_external.png) 50% 50%/contain no-repeat;
  vertical-align: .1rem
}

@media screen and (min-width:769px) and (max-width:1024px) {
  .linkListMenu.-horizontal[data-tabgrid=false] {
    display: block
  }
  .linkListMenu.-horizontal[data-tabgrid=false] .linkListMenu_item {
    width: auto
  }
  .linkListMenu.-horizontal[data-tabgrid="2"] .linkListMenu_item {
    width: calc((100% / 2.001) - 2rem)
  }
  .linkListMenu.-horizontal[data-tabgrid="3"] .linkListMenu_item {
    width: calc(33.33% - 2rem)
  }
}

@media screen and (max-width:768px) {
  .linkListMenu {
    margin-bottom: -1.5rem;
    margin-left: -1.5rem
  }
  .linkListMenu.-horizontal[data-spgrid=false] {
    display: block
  }
  .linkListMenu.-horizontal[data-spgrid=false] .linkListMenu_item {
    width: auto
  }
  .linkListMenu.-horizontal[data-spgrid="2"] .linkListMenu_item {
    width: calc((100% / 2.001) - 1.5rem)
  }
  .linkListMenu.-horizontal[data-spgrid="3"] .linkListMenu_item {
    width: calc(33.33% - 1.5rem)
  }
  .linkListMenu_item {
    margin: 0 0 1.5rem 1.5rem;
    font-size: 1.2rem
  }
  .linkListMenu_item::before {
    min-height: 7.2rem
  }
  .linkListMenu_item_label {
    font-size: 1.8rem
  }
}

.relatedBlock {
  padding: 4rem;
  background: #eceff1
}

.relatedBlock.-full {
  margin: 0 -4rem
}

.relatedBlock_menu {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -1.3rem;
  margin-left: -1.3rem
}

.relatedBlock_menu_item {
  display: flex;
  width: calc((100% / 4.001) - 1.3rem);
  margin: 0 0 1.3rem 1.3rem;
  background: #fff
}

.relatedBlock_menu_item::before {
  display: inline-block;
  height: 100%;
  min-height: 8rem;
  vertical-align: middle
}

.relatedBlock_menu_item a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  padding: 1.5rem 2.5rem 1.5rem 2rem;
  color: #333
}

.relatedBlock_menu_item_label {
  display: inline-block;
  position: relative;
  padding-left: 2.4rem;
  font-weight: 500;
  line-height: 1.3
}

.relatedBlock_menu_item_label::before {
  display: block;
  position: absolute;
  top: .15em;
  left: 0;
  width: 2rem;
  height: 2rem;
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/.6rem auto no-repeat
}

.relatedBlock_menu_item_label.-external::after {
  display: inline-block;
  width: 1.1rem;
  height: 1.1rem;
  margin-left: 1rem;
  background: url(../assets/images/common/ico_external.png) 50% 50%/contain no-repeat;
  vertical-align: .1rem
}

@media screen and (max-width:1024px) {
  .relatedBlock_menu_item {
    width: calc((100% / 2.001) - 1.3rem)
  }
}

@media screen and (max-width:768px) {
  .relatedBlock_menu {
    display: block;
    margin: 0
  }
  .relatedBlock_menu_item {
    width: auto;
    margin: 0
  }
  .relatedBlock_menu_item+.relatedBlock_menu_item {
    margin-top: 1rem
  }
  .relatedBlock_menu_item::before {
    min-height: 6.4rem
  }
  .relatedBlock_menu_item_label::before {
    top: .05em
  }
}

.relatedContent {
  margin-top: 9rem;
  padding: 2rem;
  background: #f5f7f8
}

.relatedContent_item+.relatedContent_item {
  margin-top: 2rem
}

.relatedContent_item a {
  display: flex;
  justify-content: space-between;
  color: #333
}

.relatedContent_item_image {
  width: 15rem;
  margin-right: 2rem
}

.relatedContent_item_image img {
  width: 100%
}

.relatedContent_item_text {
  flex: 1
}

.relatedContent_item_title {
  position: relative;
  margin: 0 0 .5rem;
  padding-left: 2.4rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3
}

.relatedContent_item_title::before {
  display: block;
  position: absolute;
  top: .15em;
  left: 0;
  width: 2rem;
  height: 2rem;
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/.6rem auto no-repeat
}

.relatedContent_item_title.-external::after {
  display: inline-block;
  margin-left: .5rem;
  content: url(../assets/images/common/ico_external.png)
}

.relatedContent_item_desc {
  font-size: 1.6rem
}

@media screen and (max-width:768px) {
  .relatedContent {
    margin-top: 6rem
  }
  .relatedContent_item_image {
    width: 12rem;
    margin-right: 1.5rem
  }
  .relatedContent_item_title {
    font-size: 1.8rem
  }
  .relatedContent_item_desc {
    font-size: 1.4rem
  }
}

.boxSafty {
  border-color: #f5f7f8
}

.boxSafty_inner {
  background: #f5f7f8
}

.boxSafty_list {
  margin: 0
}

.boxSafty_list_title {
  position: relative;
  margin: 0 0 1rem;
  padding-left: 2.6rem;
  font-weight: 500
}

.boxSafty_list_title:before {
  display: block;
  position: absolute;
  top: .6em;
  left: .5rem;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: #43B73C;
  background-image:linear-gradient(45deg, #43B73C, #002A00);
  content: ""
}

.boxSafty_list_box {
  padding: 2rem;
  background: #fff;
  font-size: 1.6rem
}

.boxSafty_list_box+.boxSafty_list_title {
  margin-top: 2rem
}

.boxSafty_list_data {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.2
}

.boxSafty_formula {
  display: flex;
  align-items: center
}

.boxSafty_formula_division {
  margin: 0 1.5rem;
  text-align: center
}

.boxSafty_formula_division span {
  display: block
}

.boxSafty_formula_division span+span {
  border-top: 1px solid #707070
}

@media screen and (max-width:768px) {
  .boxSafty_list_data {
    font-size: 2.4rem
  }
  .boxSafty_list_box {
    font-size: 1.4rem
  }
  .boxSafty_formula {
    flex-wrap: wrap
  }
  .boxSafty_formula_equall {
    width: 100%
  }
  .boxSafty_formula_division {
    margin: 0 1rem 0 0
  }
}

.boxProfile {
  display: flex;
  align-items: center;
  margin: 0 0 8rem;
  padding: 6rem 8rem;
  background: #f5f7f8
}

.boxProfile_image {
  width: 28rem;
  height: 28rem;
  margin-right: 8rem
}

.boxProfile_image img {
  width: 100%;
  overflow: hidden;
  border-radius: 50%
}

.boxProfile_detail {
  flex: 1;
  margin: 0
}

.boxProfile_join {
  font-size: 1.6rem
}

.boxProfile_name {
  margin: .5rem 0 0;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.3
}

.boxProfile_desc {
  margin-top: 1rem
}

@media screen and (max-width:1024px) {
  .boxProfile {
    padding: 4rem
  }
  .boxProfile_image {
    width: 21rem;
    height: 21rem;

    margin-right: 4rem
  }
}

@media screen and (max-width:768px) {
  .boxProfile {
    display: block;
    margin: 0 0 4rem;
    padding: 3rem 4rem
  }
  .boxProfile_image {
    margin: 0 auto
  }
  .boxProfile_detail {
    margin-top: 1.5rem
  }
  .boxProfile_title img {
    width: 5.1rem
  }
  .boxProfile_join {
    font-size: 1.4rem
  }
  .boxProfile_name {
    font-size: 2.4rem
  }
}

.boxProfile02 {
  display: flex;
  align-items: center;
  margin: 0 0 4rem;
  padding: 3rem;
  background: #fff
}

.boxProfile02_image {
  width: 14rem;
  height: 14rem;
  margin-right: 2rem
}

.boxProfile02_image img {
  width: 100%;
  overflow: hidden;
  border-radius: 50%
}

.boxProfile02_name {
  flex: 1;
  font-weight: 700;
  line-height: 1.3
}

@media screen and (max-width:768px) {
  .boxProfile02 {
    padding: 1.5rem
  }
  .boxProfile02_image {
    width: 10rem;
    height: 10rem;
    margin-right: 1rem
  }
  .boxProfile02_branch, .boxProfile02_desc {
    font-size: 1.4rem
  }
}

.boxProfile03 {
  padding: 2rem 3rem;
  background: #fff
}

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

.boxProfile03_item {
  width: calc(100% / 4.001 - 2rem);
  margin: 1rem;
  text-align: center
}

.boxProfile03_item_image {
  width: 10rem;
  height: 10rem;
  margin: 0 auto
}

.boxProfile03_item_image img {
  width: 100%;
  overflow: hidden;
  border-radius: 50%
}

.boxProfile03_item_heading {
  margin: 2rem 0 0
}

.boxProfile03_item_branch {
  display: inline-block;
  font-size: 1.6rem;
  line-height: 1.6
}

.boxProfile03_item_name {
  font-weight: 700;
  line-height: 1.3
}

@media screen and (max-width:768px) {
  .boxProfile03 {
    padding: 2rem
  }
  .boxProfile03_item {
    width: calc(100% / 2.001 - 2rem)
  }
}

.boxProfile04 {
  padding: 3rem;
  background: #f5f7f8;
  font-size: 1.6rem
}

.boxProfile04_heading {
  display: flex;
  margin: 0 0 2.5rem
}

.boxProfile04_heading_image {
  width: 14rem;
  height: 14rem;
  margin-right: 2rem
}

.boxProfile04_heading_image img {
  width: 100%;
  overflow: hidden;
  border-radius: 50%
}

.boxProfile04_heading_text {
  flex: 1;
  margin: 0
}

.boxProfile04_heading_lead {
  margin: 0 0 1.5rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5
}

.boxProfile04_heading_name {
  font-size: 1.8rem;
  line-height: 1.5
}

@media screen and (max-width:768px) {
  .boxProfile04 {
    padding: 2rem
  }
  .boxProfile04_heading {
    margin-bottom: 1.5rem
  }
  .boxProfile04_heading_image {
    width: 8rem;
    height: 8rem;
    margin-right: 1.5rem
  }
  .boxProfile04_heading_lead {
    margin-bottom: 0;
    font-size: 1.8rem
  }
}

.discussion_participant {
  margin-bottom: 8rem;
  padding-top: 7rem;
  padding-bottom: 8rem
}

.discussion_dialog {
  display: flex;
  align-items: center;
  font-size: 1.6rem
}

.discussion_dialog+.discussion_dialog {
  margin-top: 6rem
}

.discussion_dialog_name {
  width: 10rem;
  margin-right: 4rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center
}

.discussion_dialog_name img {
  display: block;
  margin: 0 0 .7rem;
  overflow: hidden;
  border-radius: 50%
}

.discussion_dialog_talk {
  flex: 1
}

@media screen and (max-width:768px) {
  .discussion_dialog {
    align-items: flex-start
  }
  .discussion_dialog+.discussion_dialog {
    margin-top: 4rem
  }
  .discussion_dialog_name {
    margin-right: 2rem
  }
}

.interveiwBlock+.interveiwBlock {
  margin-top: 4rem
}

.interveiwBlock_heading {
  position: relative;
  margin: 0 0 2rem;
  padding-left: 1em;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5
}

.interveiwBlock_heading::before {
  position: absolute;
  left: 0;
  content: "ー"
}

.officeNav, .officeNav_inner, .officeNav_list {
  position: relative
}

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

.sdgsList_item {
  width: 8rem;
  margin: 0 1rem 1rem 0
}

.sdgsList_item img {
  width: 100%
}

@media screen and (max-width:768px) {
  .interveiwBlock_heading {
    font-size: 1.8rem
  }
  .sdgsList {
    padding-left: .5rem
  }
  .sdgsList_item {
    margin: 0 .5rem .5rem 0
  }
}

.historyBlock+.historyBlock {
  margin-top: 5rem
}

.historyBlock_heading {
  display: flex;
  align-items: center;
  margin: 0 0 3rem;
  font-weight: 600
}

.historyBlock_heading_year {
  margin: 0;
  font-size: 4.8rem;
  line-height: 1.2
}

.historyBlock_heading_desc {
  margin-left: 2.5rem
}

.historyBlock_list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 -4rem -2rem
}

.historyBlock_list_panel {
  width: calc((100% / 4.001) - 2rem);
  margin: 0 0 4rem 2rem
}

.historyBlock_list_panel img {
  width: 100%
}

.historyBlock_list_panel_caption {
  margin-top: 1.5rem;
  font-size: 1.6rem
}

.historyBlock_list_panel_year {
  font-weight: 700
}

.historyBlock_list.-division2 .historyBlock_list_panel {
  width: calc((100% / 2.001) - 2rem)
}

@media screen and (max-width:768px) {
  .historyBlock_heading {
    display: block;
    margin: 0 0 2rem
  }
  .historyBlock_heading_year {
    font-size: 4.4rem
  }
  .historyBlock_heading_desc {
    margin: .5rem 0 0
  }
  .historyBlock_list {
    justify-content: space-between;
    margin: 0 0 -2.5rem
  }
  .historyBlock_list_panel {
    width: calc((100% / 2.001) - .9rem);
    margin: 0 0 2.5rem
  }
  .historyBlock_list_panel_caption {
    font-size: 1.4rem
  }
  .historyBlock_list.-division2 {
    display: block;
    margin-bottom: 0
  }
  .historyBlock_list.-division2 .historyBlock_list_panel {
    width: auto;
    margin: 0
  }
  .historyBlock_list.-division2 .historyBlock_list_panel+.historyBlock_list_panel {
    margin-top: 2.5rem
  }
}

.caseCategoryNav {
  display: flex;
  margin: 0 0 6rem
}

.caseCategoryNav_title {
  width: 11.5rem;
  margin: 0 1.5rem 0 0;
  font-weight: 500;
  line-height: 1.4
}

.caseCategoryNav_list {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  margin: 0 0 -1.5rem
}

.caseCategoryNav_list_item {
  margin: 0 1.5rem 1.5rem 0;
  padding: 0 1.5rem 0 0;
  border-right: 1px solid #bdbdbd;
  line-height: 1.5
}

.caseCategoryNav_list_item:last-child {
  border: none
}

@media screen and (max-width:768px) {
  .caseCategoryNav {
    display: block
  }
  .caseCategoryNav_title {
    width: auto;
    margin: 0 0 2.5rem
  }
  .caseCategoryNav_list {
    margin: 0 0 -1rem
  }
  .caseCategoryNav_list_item {
    margin: 0 1.5rem 1rem 0
  }
}

.officeNav_inner {
  min-height: 56.8rem;
  padding: 4rem 0
}

.officeNav_list {
  display: flex;
  z-index: 1;
  flex-wrap: wrap;
  width: 40rem;
  border-bottom: 1px solid #e0e0e0;
  border-left: 1px solid #e0e0e0;
  background: #fff
}

.officeNav_list_item {
  width: 50%;
  border-top: 1px solid #e0e0e0;
  border-right: 1px solid #e0e0e0;
  text-align: center
}

.officeNav_list_item.-head {
  width: 100%
}

.officeNav_list_item a {
  display: block;
  position: relative;
  padding: 1.2rem 3rem;
  color: currentColor
}

.officeNav_list_item a:hover {
  background: #263238;
  color: #fff;
  font-weight: 500;
  text-decoration: none
}

.officeNav_list_item a::before {
  display: block;
  position: absolute;
  top: 0;
  right: 1.4rem;
  bottom: 0;
  width: 1rem;
  height: .6rem;
  margin: auto 0;
  background: url(../assets/images/common/ico_arrow_down.png) 50% 50%/contain no-repeat;
  content: ""
}

.officeNav_map {
  z-index: 0;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%);
  background: #eceff1
}

.officeNav_map img {
  position: absolute;
  top: 0;
  left: 50%;
  max-width: none;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

@media screen and (max-width:1200px) {
  .officeNav {
    display: block;
    margin: 0 -4rem;
    padding: 4rem 4rem 0;
    background: #eceff1
  }
  .officeNav_inner {
    min-height: 0;
    padding: 0
  }
  .officeNav_list {
    width: auto
  }
  .officeNav_map {
    position: static;
    width: auto;
    height: auto;
    margin: 0 -4rem;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    text-align: center
  }
  .officeNav_map img {
    position: static;
    max-width: 100%;
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
  .officeNav.-overseas {
    padding-top: 0
  }
}

@media screen and (max-width:768px) {
  .officeNav {
    margin: 0 -1.5rem;
    padding: 1.5rem 1.5rem 0
  }
  .officeNav_list_item a {
    padding: 1rem 3rem
  }
}

.officeData table, .officeData td, .officeData th {
  height: 100%
}

.officeData th {
  text-align: left
}

.officeData_name {
  width: 20.967742%;
  font-size: 1.7rem
}

.officeData_name.-wide {
  width: 29%
}

.officeData_phone {
  width: 12em
}

.officeData_access {
  width: 14rem;
  text-align: center
}

.officeData_access a::before {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-right: .5rem;
  background: url(../assets/images/common/ico_map.png) 50% 50%/contain no-repeat;
  vertical-align: sub;
  content: ""
}

.officeData_website {
  width: 10em
}

.officeData_service {
  width: 30rem;
  padding: 0!important
}

.officeData_service_list {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 1fr 1fr;
  -ms-grid-columns: 1fr 1fr 1fr;
  grid-template: "sales scrap as" 1fr "sales scrap con" 1fr/1fr 1fr 1fr;
  min-height: 100%
}

.officeData_service_list_item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10rem;
  padding: 1rem 1.5rem;
  text-align: center
}

.officeData_service_list_item.-isOK {
  background: #e7f4ec
}

.officeData_service_list_item.-isNG {
  background: #eee
}

.officeData_service_list_item:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  -ms-grid-column: 1;
  grid-area: sales
}

.officeData_service_list_item:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  -ms-grid-column: 2;
  grid-area: scrap;
  border-right: 1px solid #e0e0e0;
  border-left: 1px solid #e0e0e0
}

.officeData_service_list_item:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  grid-area: as;
  border-bottom: 1px solid #e0e0e0
}

.officeData_service_list_item:nth-child(4) {
  -ms-grid-row: 2;
  -ms-grid-column: 3;
  grid-area: con
}

@media screen and (max-width:1024px) {
  .officeData.-var02 table {
    height: auto;
    border-bottom: 1px solid #e0e0e0
  }
  .officeData.-var02 td, .officeData.-var02 th {
    display: block;
    width: auto;
    height: auto;
    border-bottom: none;
    border-left: 1px solid #e0e0e0
  }
  .officeData.-var02 td+td {
    border-top: 1px solid #e0e0e0
  }
  .officeData_service_list_item {
    width: auto
  }
  .officeData_name {
    font-size: 1.6rem
  }
}

@media screen and (max-width:768px) {
  .officeData_service_list_item {
    padding: .5rem 1.5rem
  }
}

.interviewList {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 -2rem -2rem
}

.interviewList.-slide {
  margin: 0 -1rem;
  opacity: 0
}

.interviewList.-slide.slick-initialized {
  opacity: 1
}

.interviewList.-slide .interviewList_panel {
  margin: 0 1rem
}

.interviewList_panel {
  width: calc(100% / 4.001 - 2rem);
  margin: 0 0 2rem 2rem
}

.interviewList_panel_link {
  display: block;
  position: relative;
  color: currentColor;
  transition: .2s linear
}

.interviewList_panel_link:hover {
  text-decoration: none;
  opacity: .6
}

.interviewList_panel_image {
  overflow: hidden
}

.interviewList_panel_image img {
  width: 100%;
  transition: .2s linear
}

.interviewList_panel_profile {
  position: relative;
  margin: -2rem 2rem 0;
  padding: 2.5rem 2rem;
  background: #fff;
  text-align: center
}

.interviewList_panel_profile_job {
  font-size: 2rem;
  font-weight: 700
}

.interviewList_panel_profile_name {
  font-size: 1.6rem;
  font-weight: 500
}

@media screen and (max-width:1024px) {
  .interviewList_panel {
    width: calc(100% / 2.001 - 2rem)
  }
}

@media screen and (max-width:768px) {
  .interviewList.-slide {
    margin-right: -1.5rem;
    margin-left: -1.5rem;
    padding-right: 0;
    padding-left: 0
  }
  .interviewList.-slide .interviewList_panel {
    margin: 0 .85rem
  }
  .interviewList_panel_profile {
    margin: -2rem 2rem 0;
    padding: 2.5rem 2rem
  }
  .interviewList_panel_profile_job {
    font-size: 1.8rem
  }
  .interviewList_panel_profile_name {
    font-size: 1.5rem
  }
}

@media screen and (max-width:415px) {
  .interviewList {
    display: block;
    margin: 0;
    padding: 0 4rem
  }
  .interviewList_panel {
    width: auto;
    margin: 0 auto
  }
  .interviewList_panel+.interviewList_panel {
    margin-top: 1.5rem
  }
}

.historyTimeline {
  margin: 6rem 0 0;
  padding: 6rem;
  background: #f5f7f8
}

.historyTimeline_item {
  display: flex;
  width: 100%;
  max-width: 96rem;
  margin: 0 auto
}

.historyTimeline_item+.historyTimeline_item {
  margin-top: 6rem
}

.historyTimeline_item:last-child .historyTimeline_item_heading::after {
  content: none
}

.historyTimeline_item_heading {
  position: relative;
  width: 18rem;
  margin-right: 6rem
}

.historyTimeline_item_heading::after {
  display: block;
  z-index: 0;
  position: absolute;
  top: 3.2rem;
  right: 0;
  left: 0;
  width: .8rem;
  height: calc(100% + 6rem);
  margin: 0 auto;
  background: #cfd8dc;
  content: ""
}

.hero, .hero_fv {
  position: relative
}

.historyTimeline_item_year {
  display: flex;
  z-index: 1;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 18rem;
  height: 18rem;
  border-radius: 50%;
  background: #fff;
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1
}

.faqList_icon, .hero_scroll_label {
  font-family: Roboto, sans-serif
}

.historyTimeline_item_content {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between
}

.hero_fv::after, .hero_fv::before {
  display: block;
  content: ""
}

.historyTimeline_item_desc {
  flex: 1
}

.historyTimeline_item_image {
  width: 36rem;
  height: 24rem;
  margin-left: 4rem
}

.historyTimeline_item_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center;
  object-position: center
}

@media screen and (max-width:1024px) {
  .historyTimeline_item {
    max-width: 60rem
  }
  .historyTimeline_item_content {
    display: block
  }
  .historyTimeline_item_image {
    margin: 2.5rem 0 0
  }
}

@media screen and (max-width:768px) {
  .historyTimeline {
    margin-right: -1.5rem;
    margin-left: -1.5rem;
    padding: 3rem 2rem
  }
  .historyTimeline_item+.historyTimeline_item {
    margin-top: 4rem
  }
  .historyTimeline_item_heading {
    width: 9rem;
    margin-right: 2rem
  }
  .historyTimeline_item_heading::after {
    top: 2rem;
    width: .4rem;
    height: calc(100% + 4rem)
  }
  .historyTimeline_item_year {
    width: 9rem;
    height: 9rem;
    font-size: 2rem
  }
  .historyTimeline_item_image {
    width: 20rem;
    height: 13.3rem;
    margin-top: 1.5rem
  }
}

.hero.-animate .hero_fv::after, .hero.-animate .hero_image::after {
  width: 0
}

.hero {
  min-height: 68rem;
  margin: 0 -4rem;
  overflow: hidden
}

.hero.-attention .hero_btn {
  bottom: 12rem
}

.hero.-attention .hero_scroll {
  color: #333
}

.hero.-attention .hero_scroll i::after {
  background-color: #43B73C;
  background-image: linear-gradient(90deg, #43B73C, #001A43)
}

.hero.-animate .hero_copy img {
  -webkit-animation: bottomToTop 2s 1s forwards;
  animation: bottomToTop 2s 1s forwards
}

.dbNarrowBox_submit.-blink, .hero_fv::before {
  -webkit-animation: gradient 12s ease infinite
}

.hero.-animate .hero_attention {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
  transition: .3s 2s ease-in-out
}

.hero_fv {
  height: 100%;
  /*padding: 0 0 10rem 16.8rem;*/
  padding: 0 2.0rem 10rem 2.0rem;
  overflow: hidden
}

.hero_fv::after, .hero_fv::before {
  position: absolute
}

.hero_fv::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
/*  background-image: linear-gradient(315deg, #43B73C, #001A43, #43B73C);*/
  background-image: linear-gradient(315deg, aqua, #fff, aqua);
  background-size: 400% 400%;
  animation: gradient 12s ease infinite
}

.hero_fv::after {
  z-index: 0;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  transition: width .7s ease;
  transition-delay: .5s
}

.hero_screen {
  z-index: 1;
  position: relative;
  height: 100%;
  min-height: 60rem;
  overflow: hidden
}

.hero_copy, .hero_image::after {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0
}

.hero_copy {
  display: flex;
  z-index: 1;
  left: 0;
  align-items: center;
  justify-content: center
}

.hero_copy img {
  -webkit-transform: translateY(-4rem);
  transform: translateY(-4rem);
  opacity: 0
}

.hero_image {
  position: relative;
  height: 100%;
  background: #fff
}

.hero_image::after {
  display: block;
  z-index: 0;
  right: 0;
  background: inherit;
  /*background-color: #43B73C;
  background-image:linear-gradient(45deg, #43B73C, #002A00);*/
  background-color: #43B73C;
  background-image:linear-gradient(45deg, #43B73C, #002A00);
  content: "";
  transition: width .7s ease;
  transition-delay: .5s
}

.hero_btn, .hero_scroll {
  position: absolute;
  right: 4rem
}

.hero_image_item {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%
}

.hero_image_item_copy {
  -webkit-transform: translateY(-4rem);
  transform: translateY(-4rem)
}

.hero_image_item_copy img {
  opacity: 0
}

.hero_image_item.-active .hero_image_item_copy img {
  -webkit-animation: bottomToTop 2s 1s forwards, fadeOutTop .5s 4.5s forwards;
  animation: bottomToTop 2s 1s forwards, fadeOutTop .5s 4.5s forwards
}

.hero_image_item:nth-of-type(1) {
  background: url(../assets/images/top/bg_hero_01.jpg) 50% 50%/cover no-repeat
}

.hero_image_item:nth-of-type(2) {
  background: url(../assets/images/top/bg_hero_02.jpg) 50% 50%/cover no-repeat
}

.hero_image_item:nth-of-type(3) {
  background: url(../assets/images/top/bg_hero_03.jpg) 50% 50%/cover no-repeat
}

.hero_image_item:nth-of-type(4) {
  background: url(../assets/images/top/bg_hero_04.jpg) 50% 50%/cover no-repeat
}

.hero_btn {
  bottom: 4rem;
  width: 26rem
}

.hero_scroll {
  z-index: 2;
  bottom: 0;
  color: #fff
}

.hero_scroll i {
  display: block;
  position: relative;
  width: .1rem;
  height: 3.2rem;
  margin: 0 auto;
  overflow: hidden
}

.hero_scroll i::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  -webkit-animation: scroll 2s infinite;
  animation: scroll 2s infinite;
  content: ""
}

.hero_scroll_label {
  display: block;
  margin-bottom: 2.5rem;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
  font-size: 1.2rem;
  font-weight: 700
}

.hero_attention {
  display: flex;
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 102.4rem;
  max-width: calc(100% - 16.8rem);
  height: 18rem;
  padding: 4rem 8rem 4rem 3.6rem;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  background: #fff;
  opacity: 0
}

.hero_attention_heading {
  width: 7em;
  margin: 0 7rem 0 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3
}

.hero_attention_heading::before {
  display: block;
  width: 4rem;
  height: 3.5rem;
  margin: 0 auto 2rem;
  background: url(../assets/images/common/ico_attention.png) 50% 50%/contain no-repeat;
  content: ""
}

.hero_attention_list {
  -webkit-overflow-scrolling: touch;
  flex: 1;
  max-height: 10rem;
  overflow: auto
}

.hero_attention_list::-webkit-scrollbar {
  width: .1rem;
  background: #e0e0e0
}

.hero_attention_list::-webkit-scrollbar-thumb {
  background: #88959e
}

.hero_attention_list_item {
  position: relative;
  padding-left: 1.2em;
  font-size: 1.6rem;
  line-height: 1.5
}

.hero_attention_list_item+.hero_attention_list_item {
  margin-top: 1.2rem
}

.hero_attention_list_item a {
  color: #333
}

.hero_attention_list_item a::before {
  display: block;
  position: absolute;
  top: .55em;
  left: 0;
  width: .8rem;
  height: .8rem;
  border-radius: 50%;
  background-color: #43B73C;
  background-image: linear-gradient(90deg, #43B73C, #001A43);
  content: ""
}

.hero_attention_list_item a.-pdf::after {
  display: inline-block;
  width: 1.4rem;
  height: 1.6rem;
  margin-left: .8rem;
  background: url(../assets/images/common/ico_pdf.png) 50% 50%/contain no-repeat;
  vertical-align: text-bottom;
  content: ""
}

.hero_attention_list_item a.-external::after {
  display: inline-block;
  width: 1.2rem;
  height: 1rem;
  margin-left: .8rem;
  background: url(../assets/images/common/ico_external.png) 50% 50%/contain no-repeat;
  vertical-align: .1rem;
  content: ""
}

@media screen and (max-width:1100px) {
  .hero_fv {
    position: static;
    height: calc(100vh - 6.4rem);
    min-height: 50rem
  }
}

@media screen and (max-width:768px) {
  .hero.-attention .hero_btn, .hero_btn {
    bottom: 4rem
  }
  .hero {
    min-height: 0;
    margin: 0 -1.5rem
  }
  .hero_fv {
    position: relative;
    min-height: 34rem;
    padding: 0 0 10.3rem 3rem
  }
  .hero_fv::before {
    height: 34.932534%
  }
  .hero_screen {
    min-height: 28rem
  }
  .hero_copy {
    -webkit-transform: scale(.53441296);
    transform: scale(.53441296)
  }
  .hero_image_item_copy {
    -webkit-transform: translateY(-4rem) scale(.53441296);
    transform: translateY(-4rem) scale(.53441296)
  }
  .hero_btn {
    right: 0;
    left: 0;
    width: 22.8rem;
    margin: 0 auto;
    padding: .6rem 1rem
  }
  .hero_scroll {
    right: 0
  }
  .hero_scroll i {
    height: 2.6rem
  }
  .hero_scroll_label {
    margin-bottom: 2rem;
    font-size: 1rem
  }
  .hero_attention {
    display: block;
    position: relative;
    width: auto;
    max-width: none;
    height: auto;
    margin: -8.3rem 0 0 3rem;
    padding: 4rem 1.5rem 0
  }
  .hero_attention_heading {
    width: auto;
    margin: 0 0 2.5rem
  }
  .hero_attention_heading::before {
    display: inline-block;
    margin: 0 1rem 0 0;
    vertical-align: middle
  }
  .hero_attention_list {
    max-height: none
  }
  .hero_attention_list_item {
    font-size: 1.5rem
  }
}

@-webkit-keyframes fadezoom {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1)
  }
  100% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
  }
}

@keyframes fadezoom {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1)
  }
  100% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
  }
}

.topicsBlock_title {
  margin: 0;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.3
}

.topicsBlock_btn {
  display: table;
  min-width: 11.2rem;
  margin: 2.5rem 0 0
}

@media screen and (max-width:1024px) {
  .topicsBlock_heading {
    display: flex;
    justify-content: space-between
  }
  .topicsBlock_btn {
    min-width: 9.3rem;
    margin: 0 0 0 1.5rem
  }
}

.indexPanel {
  position: relative;
  height: 35.6rem;
  overflow: hidden;
  background: #f5f7f8
}

.indexPanel.-message .indexPanel_link::before {
  right: 0;
  bottom: 0;
  width: 52.873563%;
  max-width: 32.2rem;
  height: 100%;
  background: url(../assets/images/ir/bg_panel_message.png) 50% 100%/contain no-repeat
}

.indexPanel.-message .indexPanel_title {
  padding-right: 48%
}

.indexPanel.-plan .indexPanel_link::before {
  right: 4rem;
  bottom: 0;
  width: 47.7049183%;
  max-width: 29.1rem;
  height: 100%;
  background: url(../assets/images/ir/bg_panel_plan.png) 50% 50%/contain no-repeat
}

.indexPanel.-plan .indexPanel_title {
  padding-right: 59%
}

.indexPanel_link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: currentColor
}

.indexPanel_link:hover {
  text-decoration: none;
  opacity: .6
}

.indexPanel_link::before {
  display: block;
  position: absolute;
  content: ""
}

.indexPanel_more, .indexPanel_title {
  display: flex;
  padding: 3rem;
  font-weight: 500
}

.indexPanel_title {
  flex: 1;
  align-items: center;
  font-size: 2.6rem;
  line-height: 1.3
}

.indexPanel_more {
  align-items: center;
  height: 12.5rem;
  background-color: #43B73C;
  background-image: linear-gradient(90deg, #43B73C, #001A43);
  color: #fff;
  font-size: 1.6rem
}

.indexPanel_more::before {
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  margin: .2rem .9rem 0 0;
  border-radius: 50%;
  background: url(../assets/images/common/ico_arrow.png) 50% 50% no-repeat #fff;
  vertical-align: middle;
  content: ""
}

@media screen and (max-width:1024px) {
  .indexPanel {
    height: 20rem
  }
  .indexPanel.-message .indexPanel_link::before {
    max-width: 18.2rem
  }
  .indexPanel.-message .indexPanel_title {
    padding-right: 48%
  }
  .indexPanel.-plan .indexPanel_link::before {
    right: 2.5rem;
    max-width: 16.5rem
  }
  .indexPanel.-plan .indexPanel_title {
    padding-right: 59%
  }
  .indexPanel_title {
    padding: 2rem 1.5rem;
    font-size: 2rem
  }
  .indexPanel_more {
    height: 7rem;
    padding: 2rem;
    font-size: 1.4rem
  }
  .indexPanel_more::before {
    width: 2rem;
    height: 2rem;
    background: url(../assets/images/common/ico_arrow.png) 50% 50%/.5rem auto no-repeat #fff
  }
}

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

.libraryMenu_item {
  display: flex;
  position: relative;
  flex: 1;
  align-items: center;
  min-height: 16.4rem;
  background: #fff;
  box-shadow: .1rem .2rem .3rem rgba(0, 0, 0, .1);
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center
}

.libraryMenu_item:hover::before {
  opacity: 1
}

.libraryMenu_item::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #43B73C;
  background-image:linear-gradient(45deg, #43B73C, #002A00);
  content: "";
  opacity: 0;
  transition: .2s linear
}

.libraryMenu_item+.libraryMenu_item {
  margin-left: 2rem
}

.libraryMenu_item a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 3rem 1.5rem 2rem;
  color: currentColor
}

.libraryMenu_item a::before {
  display: block;
  width: 6.4rem;
  height: 6.4rem;
  margin: 0 auto 1rem;
  content: ""
}

.libraryMenu_item a.-highlight::before {
  background: url(../assets/images/common/ico_highlight.png) 50% 50%/contain no-repeat
}

.libraryMenu_item a.-security-report::before {
  background: url(../assets/images/common/ico_security-report.png) 50% 50%/contain no-repeat
}

.libraryMenu_item a.-results::before {
  background: url(../assets/images/common/ico_results.png) 50% 50%/contain no-repeat
}

.libraryMenu_item a.-integrated-report::before {
  background: url(../assets/images/common/ico_integrated-report.png) 50% 50%/contain no-repeat
}

.libraryMenu_item a:hover {
  color: #fff;
  text-decoration: none
}

.libraryMenu_item a:hover.-highlight::before {
  background: url(../assets/images/common/ico_highlight_02.png) 50% 50%/contain no-repeat
}

.libraryMenu_item a:hover.-security-report::before {
  background: url(../assets/images/common/ico_security-report_02.png) 50% 50%/contain no-repeat
}

.libraryMenu_item a:hover.-results::before {
  background: url(../assets/images/common/ico_results_02.png) 50% 50%/contain no-repeat
}

.libraryMenu_item a:hover.-integrated-report::before {
  background: url(../assets/images/common/ico_integrated-report_02.png) 50% 50%/contain no-repeat
}

@media screen and (max-width:768px) {
  .libraryMenu {
    display: block
  }
  .libraryMenu_item {
    min-height: 0;
    text-align: left
  }
  .libraryMenu_item+.libraryMenu_item {
    margin: 1rem 0 0
  }
  .libraryMenu_item a {
    display: flex;
    align-items: center;
    min-height: 7rem;
    padding: 1.5rem 1.5rem 1.5rem 8.5rem
  }
  .libraryMenu_item a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1.5rem;
    width: 5.6rem;
    height: 5.6rem;
    margin: auto 0
  }
  .libraryMenu_item a::after {
    min-height: inherit;
    font-size: 0;
    content: ""
  }
}

.faqList_answer, .faqList_question {
  position: relative;
  padding: 1.3rem 0 1.3rem 6.5rem
}

.faqList {
  margin: 0
}

.faqList_question {
  font-weight: 500
}

.faqList_answer {
  margin: 2rem 0 0
}

.faqList_answer+.faqList_question {
  margin-top: 3rem
}

.faqList_icon {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 5.6rem;
  height: 5.6rem;
  border-radius: 50%;
  font-weight: 400;
  line-height: 1;
  text-align: center
}

.faqList_icon.-question {
  background-color: #43B73C;
  background-image:linear-gradient(45deg, #43B73C, #002A00);
  color: #fff
}

.faqList_icon.-answer {
  background: #f5f7f8
}

@media screen and (max-width:768px) {
  .faqList_answer, .faqList_question {
    padding: 1rem 0 1rem 5.8rem
  }
  .faqList_answer {
    margin-top: 1rem
  }
  .faqList_answer+.faqList_question {
    margin-top: 2rem
  }
  .faqList_icon {
    width: 4.8rem;
    height: 4.8rem
  }
}

.integratedReport_header {
  display: flex;
  width: 100%;
  max-width: 77.4rem;
  margin: 0 auto 5.5rem
}

.integratedReport_cover {
  width: 25rem;
  margin-right: 4rem
}

.integratedReport_cover img {
  width: 100%;
  border: 1px solid #e0e0e0
}

.integratedReport_all {
  flex: 1;
  margin: 0
}

.integratedReport_all_title {
  margin: 0 0 1rem;
  font-weight: 500
}

.integratedReport_all_btn+.integratedReport_all_btn {
  margin-top: 2rem
}

.integratedReport_all_btn .c-btn02 {
  display: block;
  min-width: 0;
  margin: 0
}

.integratedReport_index {
  display: flex
}

.integratedReport_index_col {
  flex: 1;
  padding-right: 2rem
}

.integratedReport_index_col+.integratedReport_index_col {
  padding-right: 0;
  padding-left: 2rem;
  border-left: 1px solid #e0e0e0
}

@media screen and (max-width:768px) {
  .integratedReport_header {
    display: block;
    margin-bottom: 4.5rem
  }
  .integratedReport_cover {
    width: 20rem;
    margin: 0 auto 2rem
  }
  .integratedReport_index {
    display: block
  }
  .integratedReport_index_col {
    padding: 0
  }
  .integratedReport_index_col+.integratedReport_index_col {
    margin-top: 4.5rem;
    padding: 0;
    border: none
  }
}

.pagenation {
  display: flex;
  justify-content: center;
  margin: 4rem 0 0
}

.pagenation_item {
  width: 4rem;
  margin: .4rem;
  font-size: 1.6rem;
  line-height: 4rem;
  text-align: center
}

.pagenation_item a, .pagenation_item span {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 .5rem;
  background: #f5f5f5;
  color: currentColor;
  transition: .2s linear
}

.pagenation_item a:hover, .pagenation_item.-active span {
  background: #263238;
  color: #fff
}

.pagenation_item a:hover {
  text-decoration: none
}

.pagenation_item.-next, .pagenation_item.-prev {
  width: auto;
  min-width: 8.1rem
}

.pagenation_item.-prev {
  margin-left: 0
}

.pagenation_item.-next {
  margin-right: 0
}

.pagenation_item.-ellipsis {
  display: flex;
  align-items: center;
  justify-content: center
}

.pagenation_item.-ellipsis span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0 .5rem;
  background: 0 0
}

@media screen and (max-width:768px) {
  .pagenation_item.-next, .pagenation_item.-prev {
    min-width: 5rem
  }
  .pagenation_item.-ellipsis {
    display: none
  }
  .swipe {
    position: relative
  }
  .swipe::after {
    display: block;
    position: absolute;
    top: 20%;
    left: 75%;
    width: 5rem;
    height: 5rem;
    margin: 0 auto;
    background: url(../assets/images/common/ico_swipe.png) 50% 50%/contain no-repeat;
    content: "";
    opacity: 0;
    transition: all .5s
  }
  .swipe.-animate::after {
    -webkit-animation: swipe 1s ease forwards;
    animation: swipe 1s ease forwards;
    -webkit-animation-delay: .5s;
    animation-delay: .5s
  }
  .swipe_wrapper {
    -webkit-overflow-scrolling: touch;
    margin: 2px 0;
    padding: 7px 0;
    overflow-x: auto
  }
  .swipe_wrapper::-webkit-scrollbar {
    height: 3px;
    background: #eee
  }
  .swipe_wrapper::-webkit-scrollbar-thumb {
    background: #bdbdbd
  }
  .swipe_inner {
    min-width: 91rem;
    margin: 0
  }
}

@-webkit-keyframes swipe {
  from {
    visibility: visible;
    left: 75%;
    opacity: 1
  }
  75% {
    visibility: visible;
    left: 25%;
    opacity: 1
  }
  to {
    visibility: hidden;
    left: 25%;
    opacity: 0
  }
}

@keyframes swipe {
  from {
    visibility: visible;
    left: 75%;
    opacity: 1
  }
  75% {
    visibility: visible;
    left: 25%;
    opacity: 1
  }
  to {
    visibility: hidden;
    left: 25%;
    opacity: 0
  }
}

.heroRecruit {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  min-height: 45rem;
  padding: 0 4rem
}

.heroRecruit::before {
  display: block;
  z-index: 0;
  position: fixed;
  top: 6.4rem;
  left: 0;
  width: 100%;
  height: calc(100vh - 6.4rem);
  background: url(/recruit/fresh../assets/images/top/bg_hero.jpg) 50% 50%/cover no-repeat;
  content: ""
}

.heroRecruit.-animate .heroRecruit_copy b {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1
}

.heroRecruit.-animate .heroRecruit_copy span:nth-of-type(1) b {
  transition: opacity .5s 1.2s ease, -webkit-transform .5s 1.2s ease;
  transition: opacity .5s 1.2s ease, transform .5s 1.2s ease;
  transition: opacity .5s 1.2s ease, transform .5s 1.2s ease, -webkit-transform .5s 1.2s ease
}

.heroRecruit.-animate .heroRecruit_copy span:nth-of-type(2) b {
  transition: opacity .5s 2s ease, -webkit-transform .5s 2s ease;
  transition: opacity .5s 2s ease, transform .5s 2s ease;
  transition: opacity .5s 2s ease, transform .5s 2s ease, -webkit-transform .5s 2s ease
}

.heroRecruit.-animate .heroRecruit_copy span:nth-of-type(3) b {
  transition: opacity .5s 2.8s ease, -webkit-transform .5s 2.8s ease;
  transition: opacity .5s 2.8s ease, transform .5s 2.8s ease;
  transition: opacity .5s 2.8s ease, transform .5s 2.8s ease, -webkit-transform .5s 2.8s ease
}

.heroRecruit_content {
  position: relative;
  width: 100%;
  max-width: 124rem;
  margin: 0 auto;
  text-align: center
}

.heroRecruit_copy {
  font-size: 5.6rem;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.46
}

.heroRecruit_copy span {
  display: inline-block;
  z-index: 1;
  position: relative;
  overflow: hidden;
  vertical-align: top
}

.heroRecruit_copy b {
  display: inline-block;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  opacity: 0
}

.heroRecruit_btn {
  margin-top: 3.5rem
}

@media screen and (max-width:768px) {
  .heroRecruit {
    min-height: 25.6rem;
    padding: 0
  }
  .heroRecruit_copy {
    font-size: 3rem
  }
}

.article_header {
  margin: 0 0 3.5rem
}

.article_title {
  margin: 0;
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.3
}

.article_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: 3rem 0 0
}

.article_meta_date {
  display: block
}

.article_meta_tagList {
  width: 100%;
  margin-top: 1.5rem;
  margin-bottom: 0
}

.article_meta .article_snsList {
  margin-top: 0
}

.article_snsList {
  display: flex;
  justify-content: flex-end;
  margin-top: 4rem;
  margin-left: auto
}

.article_snsList_item {
  margin-left: 1rem
}

.article_snsList_item a:hover {
  opacity: .7
}

.article_body>:first-child {
  margin-top: 0
}

.article_body>:last-child {
  margin-bottom: 0
}

.article_body .c-titleLvTwo {
  margin-top: 2em
}

.article_body .c-imageUnit, .article_body .c-numericList, .article_body .c-textList {
  margin: 3rem 0
}

.article_body .c-imageUnit_image {
  width: calc(33.33% - 2rem)
}

@media screen and (max-width:768px) {
  .article_header {
    margin-bottom: 2.5rem
  }
  .article_title {
    font-size: 2.8rem
  }
  .article_body .c-imageUnit_image {
    width: auto
  }
}

.technologyMenu {
  padding: 4rem;
  background: #f5f7f8
}

.technologyMenu_group {
  display: flex;
  margin: 0
}

.technologyMenu_group+.technologyMenu_group {
  margin-top: 3.5rem
}

.technologyMenu_group_title_label {
  display: block;
  width: 1em;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1;
  text-align: center
}

.technologyMenu_group_contents {
  flex: 1;
  margin-left: 1.5rem;
  padding-left: 1.5rem;
  border-left: 1px solid #e0e0e0
}

.technologyMenu_list_item {
  position: relative;
  padding-left: 2.3rem;
  font-size: 1.4rem
}

.technologyMenu_list_item+.technologyMenu_list_item {
  margin-top: .7rem
}

.technologyMenu_list_item a {
  color: #333;
  font-size: 1.6rem;
  font-weight: 700
}

.sitemap_item.-fifth>.c-textList_item>a, .sitemap_item.-second>a {
  color: currentColor
}

.technologyMenu_list_item a::before {
  display: block;
  position: absolute;
  top: .6em;
  left: .7rem;
  width: .6rem;
  height: 1rem;
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/contain no-repeat;
  content: ""
}

@media screen and (max-width:768px) {
  .technologyMenu_group+.technologyMenu_group, .technologyMenu_row[data-spgrid=false] .technologyMenu_col+.technologyMenu_col {
    margin-top: 0
  }
  .technologyMenu {
    margin-right: -1.5rem;
    margin-left: -1.5rem;
    padding: 0
  }
  .technologyMenu.-var02 {
    padding: 1.5rem 0
  }
  .technologyMenu_group {
    display: block
  }
  .technologyMenu_group_title {
    position: relative
  }
  .technologyMenu_group_title_label {
    display: block;
    margin-left: 1.5rem;
    padding: 1.6rem 0;
    font-size: 1.7rem
  }
  .technologyMenu_group_title_label::after {
    display: block;
    z-index: 0;
    position: absolute;
    top: 1.3rem;
    right: 1.3rem;
    width: 2.4rem;
    height: 2.4rem;
    background: #b0bec5;
    content: ""
  }
  .technologyMenu_group_title::after, .technologyMenu_group_title::before {
    display: block;
    z-index: 1;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background: #fff;
    content: "";
    transition: all .3s ease-out
  }
  .technologyMenu_group_title::before {
    right: 1.7rem;
    width: 1.6rem;
    height: .2rem
  }
  .technologyMenu_group_title::after {
    right: 2.4rem;
    width: .2rem;
    height: 1.6rem
  }
  .technologyMenu_group_title.-open::after {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
  }
  .technologyMenu_group_contents {
    margin: 0;
    padding: 0;
    border: none;
    background: #fff
  }
  .technologyMenu_list_item {
    padding: 1.5rem 1.5rem 1.5rem 5rem;
    line-height: 1.5
  }
  .technologyMenu_list_item+.technologyMenu_list_item {
    margin-top: 0
  }
  .technologyMenu_list_item a::before {
    top: 1.45em;
    left: 3.5rem
  }
  .technologyMenu_list_item a::after {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: ""
  }
}

.officeIntroduction {
  position: relative
}

.officeIntroduction::before {
  display: block;
  z-index: 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #f5f7f8;
  content: ""
}

.officeIntroduction_block {
  display: flex;
  position: relative;
  align-items: center;
  background: #fff
}

.officeIntroduction_image {
  width: 66.129032%
}

.officeIntroduction_image img {
  width: 100%
}

.officeIntroduction_info {
  flex: 1;
  margin: 0;
  padding: 4rem
}

.officeIntroduction_info_name {
  margin: 0 0 .5rem;
  font-size: 2rem;
  font-weight: 500
}

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

@media screen and (max-width:1024px) {
  .officeIntroduction_block {
    display: block;
    max-width: 82rem;
    margin: 0 auto
  }
  .officeIntroduction_image {
    width: 100%
  }
}

@media screen and (max-width:768px) {
  .officeIntroduction_info {
    padding: 2rem
  }
  .officeIntroduction_info_map {
    margin-top: 2rem
  }
}

.sitemap .c-grid, .sitemap .c-grid>.c-grid_col {
  margin-bottom: 0
}

.sitemap .c-linkArrowList_item+.c-linkArrowList_item {
  margin-top: 0
}

.sitemap_item.-second {
  position: relative;
  margin: 0;
  padding: 0 0 1rem 3.3rem;
  border-bottom: 1px solid #e0e0e0;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.4
}

.sitemap_item.-fourth.-fourth .c-linkArrowList_item, .sitemap_item.-third.-third .c-linkArrowList_item {
  margin-top: 1rem
}

.sitemap_item.-second>a::before {
  display: block;
  position: absolute;
  top: .1em;
  left: 0;
  width: 2.4rem;
  height: 2.4rem;
  background: url(../assets/images/common/ico_arrow_04.png) 50% 50%/contain no-repeat;
  content: ""
}

.sitemap_item.-second>a:hover {
  text-decoration: none;
  opacity: .6
}

.sitemap_item.-third {
  font-weight: 500
}

.sitemap_item.-third.-third {
  padding-top: 1rem
}

.sitemap_item.-fourth {
  font-weight: 400
}

.sitemap_item.-fourth.-fourth {
  margin-bottom: 1rem
}

.sitemap_item.-fifth {
  font-size: 1.6rem;
  font-weight: 400
}

.sitemap_item.-fifth.-fifth {
  margin-top: 1rem;
  margin-bottom: 1rem
}

.sitemap_item.-fifth>.c-textList_item {
  padding-left: 1.8rem
}

.sitemap_item.-fifth>.c-textList_item::before {
  top: .8em;
  left: .6rem;
  width: .4rem;
  height: .4rem;
  background: currentColor
}

.sitemap_btnList {
  padding-top: 5em
}

.sitemap_btnList:not([class*=-horizontal]) .sitemap_btnList_item+.sitemap_btnList_item {
  margin-top: 2rem
}

.sitemap_btnList.-horizontal {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 -2rem -2rem
}

.sitemap_btnList.-horizontal .sitemap_btnList_item {
  margin: 0 0 2rem 2rem
}

.sitemap_btnList.-horizontal.-division2 .sitemap_btnList_item {
  width: calc(100% / 2.001 - 2rem)
}

.sitemap_btnList_item a {
  display: block;
  height: 100%;
  padding: 1.8rem 2rem;
  background: #f5f7f8;
  color: currentColor;
  font-size: 1.6rem
}

.sitemap_btnList_item a:hover {
  opacity: .6
}

.sitemap_btnList_item_label {
  display: inline-block;
  position: relative;
  padding-left: 2.3rem
}

.sitemap_btnList_item_label::before {
  display: block;
  position: absolute;
  top: .6em;
  left: .7rem;
  width: .6rem;
  height: 1rem;
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/contain no-repeat;
  content: ""
}

@media screen and (max-width:768px) {
  .sitemap_btnList {
    padding-top: 0
  }
  .sitemap_btnList.-horizontal {
    display: block;
    margin: 0
  }
  .sitemap_btnList.-horizontal.-division2 .sitemap_btnList_item {
    width: auto;
    margin: 0
  }
  .sitemap_btnList.-horizontal.-division2 .sitemap_btnList_item+.sitemap_btnList_item {
    margin-top: .5rem
  }
}

.dbNarrowBox_nav {
  display: flex;
  align-items: center;
  justify-content: space-between
}

.dbNarrowBox_nav_tab {
  display: table;
  flex: 1;
  margin-bottom: -.5rem
}

.dbNarrowBox_nav_tab_item {
  display: table-cell;
  font-weight: 500;
  text-align: center
}

.dbNarrowBox_nav_tab_item+.dbNarrowBox_nav_tab_item a {
  margin-left: .4rem
}

.dbNarrowBox_nav_tab_item a {
  display: block;
  padding: 1.6rem;
  border-radius: .5rem .5rem 0 0;
  background: #707f87;
  color: #fff
}

.dbNarrowBox_nav_tab_item a br {
  display: none
}

.dbNarrowBox_nav_tab_item a.-active, .dbNarrowBox_nav_tab_item a:hover {
  background: #eceff1;
  color: currentColor;
  text-decoration: none
}

.dbNarrowBox_submit.-blink .dbNarrowBox_submit_label, .dbNarrowBox_submit.-disabled .dbNarrowBox_submit_label {
  color: #fff
}

.dbNarrowBox_nav_link {
  margin-left: 3.5rem;
  font-weight: 500
}

.dbNarrowBox_body {
  position: relative;
  padding: 3.5rem 10.5rem 4rem;
  background: #eceff1
}

.dbNarrowBox_desc {
  display: table;
  margin: 0 auto 1rem
}

.dbNarrowBox_cond+.dbNarrowBox_cond {
  margin-top: 1rem
}

.dbNarrowBox_cond_title {
  margin: 0 0 1rem;
  font-weight: 500
}

.dbNarrowBox_cond_list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 -1rem -1rem
}

.dbNarrowBox_cond_list_item {
  width: calc(100%/4.001 - 1rem);
  margin: 0 0 1rem 1rem
}

.dbNarrowBox_cond_list_item input {
  z-index: -1;
  position: absolute;
  opacity: 0
}

.dbNarrowBox_cond_list_item input[type=checkbox]+label::before, .dbNarrowBox_cond_list_item input[type=radio]+label::before {
  box-sizing: border-box;
  display: block;
  position: absolute;
  top: 1.1em;
  left: 1rem;
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid #b0bec5;
  background: #eceff1;
  content: ""
}

.dbNarrowBox_cond_list_item input[type=radio]+label::before {
  border-radius: 50%
}

.dbNarrowBox_cond_list_item input[type=radio]:checked+label::before {
  background: #263238;
  box-shadow: inset 0 0 0 .4rem #fff
}

.dbNarrowBox_cond_list_item input[type=checkbox]:checked+label::before {
  background: url(../assets/images/common/ico_check.png) 50% 50%/contain no-repeat #fff
}

.dbNarrowBox_cond_list_item input:disabled+label {
  background-color: #dbdbdb;
  cursor: default;
  opacity: .3
}

.dbNarrowBox_submit.-blink::before, .dbNarrowBox_submit.-disabled::before {
  opacity: 0
}

.dbNarrowBox_cond_list_item label {
  display: block;
  position: relative;
  height: 100%;
  padding: 1.2rem 1rem 1.3rem 3.6rem;
  border-radius: .5rem;
  background: #fff;
  cursor: pointer;
  transition: all .3s
}

.dbNarrowBox_cond_list_item label:hover {
  background: #f5f7f8
}

.dbNarrowBox_submit {
  margin-top: 3rem
}

.dbNarrowBox_submit:hover .dbNarrowBox_submit_label::after {
  background: url(../assets/images/common/ico_search_03.png) 50% 50%/contain no-repeat
}

.dbNarrowBox_submit_label {
  padding-right: 3.5rem;
  padding-left: 3.5rem
}

.dbNarrowBox_submit_label::after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2.4rem;
  height: 2.4rem;
  margin: auto 0;
  background: url(../assets/images/common/ico_search_02.png) 50% 50%/contain no-repeat;
  content: ""
}

.dbNarrowBox_submit.-blink {
  background-image: linear-gradient(45deg, #43B73C, #001A43, #43B73C);
  background-size: 400% 400%;
  animation: gradient 12s ease infinite
}

.dbNarrowBox_submit.-blink .dbNarrowBox_submit_label::after {
  background: url(../assets/images/common/ico_search_03.png) 50% 50%/contain no-repeat
}

.dbNarrowBox_submit.-disabled {
  background-color: #dbdbdb;
  background-image: none;
  pointer-events: none
}

.dbNarrowBox_submit.-disabled .dbNarrowBox_submit_label::after {
  background: url(../assets/images/common/ico_search_03.png) 50% 50%/contain no-repeat
}

.dbNarrowBox_clear {
  position: absolute;
  right: 10.5rem;
  bottom: 4rem;
  padding: 1.6rem 0
}

.dbNarrowBox_clear a {
  position: relative;
  padding: 0 0 0 2.4rem;
  color: #045b87;
  font-size: 1.6rem
}

.dbNarrowBox_clear a::after, .dbNarrowBox_clear a::before {
  display: block;
  position: absolute;
  top: 1.2rem;
  left: 0;
  width: 1.7rem;
  height: .2rem;
  background-color: #045b87;
  content: ""
}

.dbNarrowBox_clear a::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.dbNarrowBox_clear a::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.dbNarrowBox_searchForm {
  overflow: hidden;
  border: 1px solid #b0bec5;
  border-radius: .5rem
}

@media screen and (max-width:1170px) {
  .dbNarrowBox_nav_tab_item {
    line-height: 1.3
  }
  .dbNarrowBox_nav_tab_item a br {
    display: block
  }
  .dbNarrowBox_body {
    padding: 3.5rem 4rem 4rem
  }
  .dbNarrowBox_clear {
    position: relative;
    right: 0;
    bottom: 0;
    text-align: right
  }
}

@media screen and (max-width:1024px) {
  .dbNarrowBox_nav_tab_item {
    font-size: 1.6rem
  }
  .dbNarrowBox_nav_tab_item a {
    padding: 1.6rem 1rem
  }
  .dbNarrowBox_nav_link {
    margin-left: 1.5rem;
    font-size: 1.6rem
  }
  .dbNarrowBox_cond_list_item {
    width: calc(100%/2.001 - 1rem)
  }
}

@media screen and (max-width:768px) {
  .dbNarrowBox_nav {
    display: block;
    margin: 0 0 2rem
  }
  .dbNarrowBox_nav_tab {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 -.5rem -.5rem
  }
  .dbNarrowBox_nav_tab_item {
    display: block;
    width: calc(100%/2.001 - .5rem);
    margin: 0 0 .5rem .5rem
  }
  .dbNarrowBox_nav_tab_item:nth-child(odd):last-child {
    width: 100%
  }
  .dbNarrowBox_nav_tab_item+.dbNarrowBox_nav_tab_item a {
    margin-left: 0
  }
  .dbNarrowBox_nav_tab_item a {
    padding: 1.8rem 1rem;
    border-radius: .5rem;
    background: #eceff1;
    color: currentColor
  }
  .dbNarrowBox_nav_tab_item a br {
    display: none
  }
  .dbNarrowBox_nav_tab_item a.-active, .dbNarrowBox_nav_tab_item a:hover {
    background: #263238;
    color: #fff
  }
  .dbNarrowBox_nav_link {
    display: table;
    margin: 1rem 0 0 auto
  }
  .dbNarrowBox_desc {
    display: block
  }
  .dbNarrowBox_cond_list {
    display: block;
    margin: 0
  }
  .dbNarrowBox_cond_list_item {
    width: auto;
    margin: 0
  }
  .dbNarrowBox_cond_list_item+.dbNarrowBox_cond_list_item {
    margin-top: .5rem
  }
  .dbNarrowBox_cond_list_item input[type=checkbox]+label::before, .dbNarrowBox_cond_list_item input[type=radio]+label::before {
    top: 1em
  }
  .dbNarrowBox_cond_list_item label {
    padding: 1rem 1rem 1rem 3.6rem
  }
  .dbNarrowBox_submit {
    margin-top: 2rem
  }
  .dbNarrowBox_clear {
    margin-top: 4rem;
    padding-top: 2rem;
    border-top: 1px solid #e0e0e0;
    text-align: center
  }
}

.dbNarrowBox_searchForm .mt-site-search-form__query {
  width: calc(100% - 5.6rem)
}

.dbNarrowBox_searchForm .mt-site-search-form__button {
  width: 5.6rem;
  height: 5.6rem
}

.siteSearch_searchBox form {
  display: flex;
  width: 100%;
  margin: 0 auto;
  border: 1px solid #e0e0e0;
  background: #fff
}

.siteSearch_searchBox form input[type=text] {
  width: calc(100% - 8rem);
  padding: 0 2rem;
  border: none;
  font-size: 1.8rem
}

.siteSearch_result {
  margin: 6rem 0 0
}

@media screen and (max-width:768px) {
  .siteSearch_searchBox form input[type=text] {
    width: calc(100% - 4rem);
    font-size: 1.6rem
  }
  .siteSearch_result {
    margin: 3rem 0 0
  }
}

.mt-site-search {
  color: #333
}

.mt-site-search-form {
  display: flex;
  width: 100%;
  margin: 0 auto;
  background: #fff
}

.mt-site-search-form__query {
  flex: 1;
  width: calc(100% - 8rem);
  padding: 0 3rem;
  border: none;
  font-size: 2rem
}

.mt-site-search-form__query:-moz-placeholder-shown {
  color: #999
}

.mt-site-search-form__query:placeholder-shown {
  color: #999
}

.mt-site-search-form__query::-webkit-input-placeholder {
  color: #999
}

.mt-site-search-form__query:-moz-placeholder {
  color: #999;
  opacity: 1
}

.mt-site-search-form__query::-moz-placeholder {
  color: #999;
  opacity: 1
}

.mt-site-search-form__query:-ms-input-placeholder {
  color: #999
}

.mt-site-search-form__button {
  width: 8rem;
  height: 8rem;
  margin: 0;
  overflow: hidden;
  background: url(../assets/images/common/ico_search_02.png) 50% 50%/3.5rem auto no-repeat;
  text-indent: -100vh;
  white-space: nowrap
}

.mt-site-search-form__button:hover {
  opacity: .6
}

@media screen and (max-width:768px) {
  .mt-site-search-form__query {
    width: calc(100% - 4rem);
    padding: 0 1.5rem;
    font-size: 1.6rem
  }
  .mt-site-search-form__button {
    width: 4rem;
    height: 4rem;
    background: url(../assets/images/common/ico_search_02.png) 50% 50%/2.8rem auto no-repeat
  }
}

.mt-site-search-result__message {
  margin-bottom: 4rem
}

.mt-site-search-result__message-about {
  display: block;
  font-size: 2rem;
  font-weight: 600
}

.mt-site-search-result__list {
  border-bottom: 1px solid #e0e0e0
}

.mt-site-search-result-item {
  position: relative;
  margin: 0;
  padding: 2rem;
  border-top: 1px solid #e0e0e0
}

.mt-site-search-result-item a::after, .mt-site-search-result-item a::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  transition: .1s linear
}

.mt-site-search-result-item a::before {
  z-index: 0;
  background: #f5f7f8;
  opacity: 0
}

.mt-site-search-result-item a::after {
  z-index: 1
}

.mt-site-search-result-item a:hover {
  text-decoration: none
}

.mt-site-search-result-item a:hover::before {
  opacity: 1
}

.mt-site-search-result-item a[href$=".pdf"] .mt-site-search-result-item__label::after {
  display: inline-block;
  width: 1.4rem;
  height: 1.6rem;
  margin-left: .8rem;
  background: url(../assets/images/common/ico_pdf.png) 50% 50%/contain no-repeat;
  content: ""
}

.mt-site-search-result-item__label {
  display: inline-block;
  position: relative;
  margin-bottom: 1rem;
  padding-left: 2.3rem;
  color: #333;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3
}

.mt-site-search-result-item__label::before {
  display: block;
  position: absolute;
  top: .45em;
  left: .7rem;
  width: .6rem;
  height: 1rem;
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/contain no-repeat;
  content: ""
}

.mt-site-search-result-item__url {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.4;
  word-break: break-all
}

.mt-site-search-result-item__excerpt {
  position: relative;
  margin-top: .5rem;
  font-size: 1.6rem
}

.mt-site-search-result-item__excerpt br {
  display: none
}

.mt-site-search-result-item__excerpt b {
  background-color: #ff6
}

@media screen and (max-width:768px) {
  .mt-site-search-result__message {
    margin-bottom: 3rem
  }
  .mt-site-search-result__message-about {
    font-size: 1.8rem
  }
  .mt-site-search-result__list {
    margin-right: -1.5rem;
    margin-left: -1.5rem
  }
  .mt-site-search-result-item {
    padding: 1.5rem
  }
  .mt-site-search-result-item__label {
    font-size: 1.6rem
  }
  .mt-site-search-result-item__label::before {
    top: .4em
  }
  .mt-site-search-result-item__url {
    font-size: 1.2rem
  }
  .mt-site-search-result-item__excerpt {
    font-size: 1.4rem
  }
}

.mt-site-search__pagination ul {
  display: flex;
  justify-content: center;
  margin: 4rem 0 0
}

.mt-site-search-pagination-item {
  width: 4rem;
  margin: .4rem;
  font-size: 1.6rem;
  line-height: 4rem;
  text-align: center
}

.mt-site-search-pagination-item__link {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0 .5rem;
  background: #f5f5f5;
  color: currentColor;
  transition: .2s linear
}

.dbModal_head, .mt-site-search-pagination-item--next .mt-site-search-pagination-item__link span, .mt-site-search-pagination-item--previous .mt-site-search-pagination-item__link span {
  display: none
}

.mt-site-search-pagination-item__link:hover {
  background: #263238;
  color: #fff;
  text-decoration: none
}

.mt-site-search-pagination-item--current .mt-site-search-pagination-item__link {
  background: #263238;
  color: #fff
}

.mt-site-search-pagination-item--current .mt-site-search-pagination-item__link strong {
  font-weight: 400

}

.mt-site-search-pagination-item--next, .mt-site-search-pagination-item--previous {
  min-width: 8.1rem
}

.mt-site-search-pagination-item--next .mt-site-search-pagination-item__link, .mt-site-search-pagination-item--previous .mt-site-search-pagination-item__link {
  width: auto
}

.mt-site-search-pagination-item--previous .mt-site-search-pagination-item__link::after {
  content: "前へ"
}

.mt-site-search-pagination-item--next .mt-site-search-pagination-item__link::after {
  content: "次へ"
}

.dbResult {
  -webkit-transform: translateY(-20px);
  transform: translateY(-20px);
  opacity: 0;
  transition: opacity .8s, -webkit-transform 1s;
  transition: opacity .8s, transform 1s;
  transition: opacity .8s, transform 1s, -webkit-transform 1s
}

.dbResult.isAnim {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1
}

@media screen and (max-width:768px) {
  .mt-site-search-pagination-item--next, .mt-site-search-pagination-item--previous {
    min-width: 5rem
  }
  .dbModal, .dbModal_head {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%
  }
  .dbModal {
    z-index: -1;
    height: 100%;
    padding: 0;
    overflow-y: auto;
    background: #eceff1;
    opacity: 0;
    transition: .7s all
  }
  .-dbModalOpen .dbModal {
    z-index: 100;
    opacity: 1
  }
  .dbModal_inner {
    padding: 8.4rem 3rem
  }
  .dbModal_head {
    display: flex;
    z-index: -1;
    justify-content: space-between;
    height: 6.4rem;
    border-bottom: 1px solid #e0e0e0;
    background-color: #fff;
    opacity: 0
  }
  .-dbModalOpen .dbModal_head {
    z-index: 200;
    opacity: 1
  }
  .dbModal_head_title {
    padding: 1.45rem 1.5rem;
    font-size: 2rem
  }
  .dbModal_head_close {
    position: relative;
    width: 6.5rem;
    border-left: 1px solid #e0e0e0
  }
  .dbModal_head_close::after, .dbModal_head_close::before {
    display: block;
    position: absolute;
    top: 3.1rem;
    left: 1.8rem;
    width: 2.8rem;
    height: .2rem;
    background-color: #333;
    content: ""
  }
  .dbModal_head_close::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
  }
  .dbModal_head_close::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
  }
  .-dbModalOpen .dbModal_submit {
    display: flex;
    z-index: 200;
    position: fixed;
    bottom: 0;
    left: 0;
    align-items: center;
    justify-items: center;
    width: 100%;
    height: 6.4rem;
    padding: 0 4rem;
    background: rgba(4, 91, 135, .85)
  }
  .-dbModalOpen .dbModal_submit .c-btn.-flex {
    max-width: 100%;
    margin: 0
  }
}

@-webkit-keyframes fadeIn {
  from {
    visibility: hidden;
    opacity: 0
  }
  to {
    visibility: visible;
    opacity: 1
  }
}

@keyframes fadeIn {
  from {
    visibility: hidden;
    opacity: 0
  }
  to {
    visibility: visible;
    opacity: 1
  }
}

@-webkit-keyframes fadeOut {
  from {
    visibility: visible;
    opacity: 1
  }
  to {
    visibility: hidden;
    opacity: 0
  }
}

@keyframes fadeOut {
  from {
    visibility: visible;
    opacity: 1
  }
  to {
    visibility: hidden;
    opacity: 0
  }
}

.slick-loading .slick-slide, .slick-loading .slick-track {
  visibility: hidden
}

@-webkit-keyframes fadeOutTop {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
  }
  to {
    -webkit-transform: translateY(-3rem);
    transform: translateY(-3rem);
    opacity: 0
  }
}

@keyframes fadeOutTop {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
  }
  to {
    -webkit-transform: translateY(-3rem);
    transform: translateY(-3rem);
    opacity: 0
  }
}

@-webkit-keyframes leftToRight {
  from {
    -webkit-transform: translateX(-3rem);
    transform: translateX(-3rem);
    opacity: 0
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1
  }
}

@keyframes leftToRight {
  from {
    -webkit-transform: translateX(-3rem);
    transform: translateX(-3rem);
    opacity: 0
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1
  }
}

@-webkit-keyframes rightToLeft {
  from {
    -webkit-transform: translateX(3rem);
    transform: translateX(3rem);
    opacity: 0
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1
  }
}

@keyframes rightToLeft {
  from {
    -webkit-transform: translateX(3rem);
    transform: translateX(3rem);
    opacity: 0
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1
  }
}

@-webkit-keyframes bottomToTop {
  from {
    -webkit-transform: translateY(3rem);
    transform: translateY(3rem);
    opacity: 0
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
  }
}

@keyframes bottomToTop {
  from {
    -webkit-transform: translateY(3rem);
    transform: translateY(3rem);
    opacity: 0
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1
  }
}

@-webkit-keyframes zoomIn {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1)
  }
  100% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
  }
}

@keyframes zoomIn {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1)
  }
  100% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
  }
}

@-webkit-keyframes zoomOut {
  0% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

@keyframes zoomOut {
  0% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}

@-webkit-keyframes blur {
  from {
    -webkit-filter: blur(1.5rem);
    filter: blur(1.5rem)
  }
  to {
    -webkit-filter: blur(0);
    filter: blur(0)
  }
}

@keyframes blur {
  from {
    -webkit-filter: blur(1.5rem);
    filter: blur(1.5rem)
  }
  to {
    -webkit-filter: blur(0);
    filter: blur(0)
  }
}

@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
  }
  100% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }
}

@keyframes scroll {
  0% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
  }
  100% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }
}

@-webkit-keyframes scrollTop {
  0% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }
  100% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
  }
}

@keyframes scrollTop {
  0% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }
  100% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
  }
}

@-webkit-keyframes gradient {
  0%, 100% {
    background-position: 0 50%
  }
  50% {
    background-position: 100% 50%
  }
}

@keyframes gradient {
  0%, 100% {
    background-position: 0 50%
  }
  50% {
    background-position: 100% 50%
  }
}

.u-mt0 {
  margin-top: 0!important
}

.u-mr0 {
  margin-right: 0!important
}

.u-mb0 {
  margin-bottom: 0!important
}

.u-ml0 {
  margin-left: 0!important
}

.u-mt5 {
  margin-top: 5px!important
}

.u-mr5 {
  margin-right: 5px!important
}

.u-mb5 {
  margin-bottom: 5px!important
}

.u-ml5 {
  margin-left: 5px!important
}

.u-mt10 {
  margin-top: 10px!important
}

.u-mr10 {
  margin-right: 10px!important
}

.u-mb10 {
  margin-bottom: 10px!important
}

.u-ml10 {
  margin-left: 10px!important
}

.u-mt15 {
  margin-top: 15px!important
}

.u-mr15 {
  margin-right: 15px!important
}

.u-mb15 {
  margin-bottom: 15px!important
}

.u-ml15 {
  margin-left: 15px!important
}

.u-mt20 {
  margin-top: 20px!important
}

.u-mr20 {
  margin-right: 20px!important
}

.u-mb20 {
  margin-bottom: 20px!important
}

.u-ml20 {
  margin-left: 20px!important
}

.u-mt25 {
  margin-top: 25px!important
}

.u-mr25 {
  margin-right: 25px!important
}

.u-mb25 {
  margin-bottom: 25px!important
}

.u-ml25 {
  margin-left: 25px!important
}

.u-mt30 {
  margin-top: 30px!important
}

.u-mr30 {
  margin-right: 30px!important
}

.u-mb30 {
  margin-bottom: 30px!important
}

.u-ml30 {
  margin-left: 30px!important
}

.u-mt35 {
  margin-top: 35px!important
}

.u-mr35 {
  margin-right: 35px!important
}

.u-mb35 {
  margin-bottom: 35px!important
}

.u-ml35 {
  margin-left: 35px!important
}

.u-mt40 {
  margin-top: 40px!important
}

.u-mr40 {
  margin-right: 40px!important
}

.u-mb40 {
  margin-bottom: 40px!important
}

.u-ml40 {
  margin-left: 40px!important
}

.u-mt45 {
  margin-top: 45px!important
}

.u-mr45 {
  margin-right: 45px!important
}

.u-mb45 {
  margin-bottom: 45px!important
}

.u-ml45 {
  margin-left: 45px!important
}

.u-mt50 {
  margin-top: 50px!important
}

.u-mr50 {
  margin-right: 50px!important
}

.u-mb50 {
  margin-bottom: 50px!important
}

.u-ml50 {
  margin-left: 50px!important
}

.u-mt55 {
  margin-top: 55px!important
}

.u-mr55 {
  margin-right: 55px!important
}

.u-mb55 {
  margin-bottom: 55px!important
}

.u-ml55 {
  margin-left: 55px!important
}

.u-mt60 {
  margin-top: 60px!important
}

.u-mr60 {
  margin-right: 60px!important
}

.u-mb60 {
  margin-bottom: 60px!important
}

.u-ml60 {
  margin-left: 60px!important
}

.u-mt65 {
  margin-top: 65px!important
}

.u-mr65 {
  margin-right: 65px!important
}

.u-mb65 {
  margin-bottom: 65px!important
}

.u-ml65 {
  margin-left: 65px!important
}

.u-mt70 {
  margin-top: 70px!important
}

.u-mr70 {
  margin-right: 70px!important
}

.u-mb70 {
  margin-bottom: 70px!important
}

.u-ml70 {
  margin-left: 70px!important
}

.u-mt75 {
  margin-top: 75px!important
}

.u-mr75 {
  margin-right: 75px!important
}

.u-mb75 {
  margin-bottom: 75px!important
}

.u-ml75 {
  margin-left: 75px!important
}

.u-mt80 {
  margin-top: 80px!important
}

.u-mr80 {
  margin-right: 80px!important
}

.u-mb80 {
  margin-bottom: 80px!important
}

.u-ml80 {
  margin-left: 80px!important
}

.u-mt85 {
  margin-top: 85px!important
}

.u-mr85 {
  margin-right: 85px!important
}

.u-mb85 {
  margin-bottom: 85px!important
}

.u-ml85 {
  margin-left: 85px!important
}

.u-mt90 {
  margin-top: 90px!important
}

.u-mr90 {
  margin-right: 90px!important
}

.u-mb90 {
  margin-bottom: 90px!important
}

.u-ml90 {
  margin-left: 90px!important
}

.u-mt95 {
  margin-top: 95px!important
}

.u-mr95 {
  margin-right: 95px!important
}

.u-mb95 {
  margin-bottom: 95px!important
}

.u-ml95 {
  margin-left: 95px!important
}

.u-mt100 {
  margin-top: 100px!important
}

.u-mr100 {
  margin-right: 100px!important
}

.u-mb100 {
  margin-bottom: 100px!important
}

.u-ml100 {
  margin-left: 100px!important
}

.u-mtSmall {
  margin-top: 1.5rem!important
}

.u-mtNormal {
  margin-top: 3rem!important
}

.u-mtLarge {
  margin-top: 7rem!important
}

.u-mbSmall {
  margin-bottom: 1.5rem!important
}

.u-mbNormal {
  margin-bottom: 3rem!important
}

.u-mbLarge {
  margin-bottom: 7rem!important
}

.u-pt0 {
  padding-top: 0!important
}

.u-pr0 {
  padding-right: 0!important
}

.u-pb0 {
  padding-bottom: 0!important
}

.u-pl0 {
  padding-left: 0!important
}

.u-pt5 {
  padding-top: 5px!important
}

.u-pr5 {
  padding-right: 5px!important
}

.u-pb5 {
  padding-bottom: 5px!important
}

.u-pl5 {
  padding-left: 5px!important
}

.u-pt10 {
  padding-top: 10px!important
}

.u-pr10 {
  padding-right: 10px!important
}

.u-pb10 {
  padding-bottom: 10px!important
}

.u-pl10 {
  padding-left: 10px!important
}

.u-pt15 {
  padding-top: 15px!important
}

.u-pr15 {
  padding-right: 15px!important
}

.u-pb15 {
  padding-bottom: 15px!important
}

.u-pl15 {
  padding-left: 15px!important
}

.u-pt20 {
  padding-top: 20px!important
}

.u-pr20 {
  padding-right: 20px!important
}

.u-pb20 {
  padding-bottom: 20px!important
}

.u-pl20 {
  padding-left: 20px!important
}

.u-pt25 {
  padding-top: 25px!important
}

.u-pr25 {
  padding-right: 25px!important
}

.u-pb25 {
  padding-bottom: 25px!important
}

.u-pl25 {
  padding-left: 25px!important
}

.u-pt30 {
  padding-top: 30px!important
}

.u-pr30 {
  padding-right: 30px!important
}

.u-pb30 {
  padding-bottom: 30px!important
}

.u-pl30 {
  padding-left: 30px!important
}

.u-pt35 {
  padding-top: 35px!important
}

.u-pr35 {
  padding-right: 35px!important
}

.u-pb35 {
  padding-bottom: 35px!important
}

.u-pl35 {
  padding-left: 35px!important
}

.u-pt40 {
  padding-top: 40px!important
}

.u-pr40 {
  padding-right: 40px!important
}

.u-pb40 {
  padding-bottom: 40px!important
}

.u-pl40 {
  padding-left: 40px!important
}

.u-pt45 {
  padding-top: 45px!important
}

.u-pr45 {
  padding-right: 45px!important
}

.u-pb45 {
  padding-bottom: 45px!important
}

.u-pl45 {
  padding-left: 45px!important
}

.u-pt50 {
  padding-top: 50px!important
}

.u-pr50 {
  padding-right: 50px!important
}

.u-pb50 {
  padding-bottom: 50px!important
}

.u-pl50 {
  padding-left: 50px!important
}

.u-pt55 {
  padding-top: 55px!important
}

.u-pr55 {
  padding-right: 55px!important
}

.u-pb55 {
  padding-bottom: 55px!important
}

.u-pl55 {
  padding-left: 55px!important
}

.u-pt60 {
  padding-top: 60px!important
}

.u-pr60 {
  padding-right: 60px!important
}

.u-pb60 {
  padding-bottom: 60px!important
}

.u-pl60 {
  padding-left: 60px!important
}

.u-pt65 {
  padding-top: 65px!important
}

.u-pr65 {
  padding-right: 65px!important
}

.u-pb65 {
  padding-bottom: 65px!important
}

.u-pl65 {
  padding-left: 65px!important
}

.u-pt70 {
  padding-top: 70px!important
}

.u-pr70 {
  padding-right: 70px!important
}

.u-pb70 {
  padding-bottom: 70px!important
}

.u-pl70 {
  padding-left: 70px!important
}

.u-pt75 {
  padding-top: 75px!important
}

.u-pr75 {
  padding-right: 75px!important
}

.u-pb75 {
  padding-bottom: 75px!important
}

.u-pl75 {
  padding-left: 75px!important
}

.u-pt80 {
  padding-top: 80px!important
}

.u-pr80 {
  padding-right: 80px!important
}

.u-pb80 {
  padding-bottom: 80px!important
}

.u-pl80 {
  padding-left: 80px!important
}

.u-pt85 {
  padding-top: 85px!important
}

.u-pr85 {
  padding-right: 85px!important
}

.u-pb85 {
  padding-bottom: 85px!important
}

.u-pl85 {
  padding-left: 85px!important
}

.u-pt90 {
  padding-top: 90px!important
}

.u-pr90 {
  padding-right: 90px!important
}

.u-pb90 {
  padding-bottom: 90px!important
}

.u-pl90 {
  padding-left: 90px!important
}

.u-pt95 {
  padding-top: 95px!important
}

.u-pr95 {
  padding-right: 95px!important
}

.u-pb95 {
  padding-bottom: 95px!important
}

.u-pl95 {
  padding-left: 95px!important
}

.u-pt100 {
  padding-top: 100px!important
}

.u-pr100 {
  padding-right: 100px!important
}

.u-pb100 {
  padding-bottom: 100px!important
}

.u-pl100 {
  padding-left: 100px!important
}

.u-wAuto {
  width: auto!important
}

.u-w5 {
  width: 5%!important
}

.u-w10 {
  width: 10%!important
}

.u-w15 {
  width: 15%!important
}

.u-w20 {
  width: 20%!important
}

.u-w25 {
  width: 25%!important
}

.u-w30 {
  width: 30%!important
}

.u-w35 {
  width: 35%!important
}

.u-w40 {
  width: 40%!important
}

.u-w45 {
  width: 45%!important
}

.u-w50 {
  width: 50%!important
}

.u-w55 {
  width: 55%!important
}

.u-w60 {
  width: 60%!important
}

.u-w65 {
  width: 65%!important
}

.u-w70 {
  width: 70%!important
}

.u-w75 {
  width: 75%!important
}

.u-w80 {
  width: 80%!important
}

.u-w85 {
  width: 85%!important
}

.u-w90 {
  width: 90%!important
}

.u-w95 {
  width: 95%!important
}

.u-w100 {
  width: 100%!important
}

.u-w1em {
  width: 1em!important
}

.u-w2em {
  width: 2em!important
}

.u-w3em {
  width: 3em!important
}

.u-w4em {
  width: 4em!important
}

.u-w5em {
  width: 5em!important
}

.u-w6em {
  width: 6em!important
}

.u-w7em {
  width: 7em!important
}

.u-w8em {
  width: 8em!important
}

.u-w9em {
  width: 9em!important
}

.u-w10em {
  width: 10em!important
}

.u-w11em {
  width: 11em!important
}

.u-w12em {
  width: 12em!important
}

.u-w13em {
  width: 13em!important
}

.u-w14em {
  width: 14em!important
}

.u-w15em {
  width: 15em!important
}

.u-w16em {
  width: 16em!important
}

.u-w17em {
  width: 17em!important
}

.u-w18em {
  width: 18em!important
}

.u-w19em {
  width: 19em!important
}

.u-w20em {
  width: 20em!important
}

.u-w21em {
  width: 21em!important
}

.u-w22em {
  width: 22em!important
}

.u-w23em {
  width: 23em!important
}

.u-w24em {
  width: 24em!important
}

.u-w25em {
  width: 25em!important
}

.u-w26em {
  width: 26em!important
}

.u-w27em {
  width: 27em!important
}

.u-w28em {
  width: 28em!important
}

.u-w29em {
  width: 29em!important
}

.u-w30em {
  width: 30em!important
}

.u-w31em {
  width: 31em!important
}

.u-w32em {
  width: 32em!important
}

.u-w33em {
  width: 33em!important
}

.u-w34em {
  width: 34em!important
}

.u-w35em {
  width: 35em!important
}

.u-w36em {
  width: 36em!important
}

.u-w37em {
  width: 37em!important
}

.u-w38em {
  width: 38em!important
}

.u-w39em {
  width: 39em!important
}

.u-w40em {
  width: 40em!important
}

.u-w41em {
  width: 41em!important
}

.u-w42em {
  width: 42em!important
}

.u-w43em {
  width: 43em!important
}

.u-w44em {
  width: 44em!important
}

.u-w45em {
  width: 45em!important
}

.u-w46em {
  width: 46em!important
}

.u-w47em {
  width: 47em!important
}

.u-w48em {
  width: 48em!important
}

.u-w49em {
  width: 49em!important
}

.u-w50em {
  width: 50em!important
}

.u-fs11 {
  font-size: 1.1rem!important
}

.u-fs12 {
  font-size: 1.2rem!important
}

.u-fs13 {
  font-size: 1.3rem!important
}

.u-fs14 {
  font-size: 1.4rem!important
}

.u-fs15 {
  font-size: 1.5rem!important
}

.u-fs16 {
  font-size: 1.6rem!important
}

.u-fs17 {
  font-size: 1.7rem!important
}

.u-fs18 {
  font-size: 1.8rem!important
}

.u-fs19 {
  font-size: 1.9rem!important
}

.u-fs20 {
  font-size: 2rem!important
}

.u-fs21 {
  font-size: 2.1rem!important
}

.u-fs22 {
  font-size: 2.2rem!important
}

.u-fs23 {
  font-size: 2.3rem!important
}

.u-fs24 {
  font-size: 2.4rem!important
}

.u-fs25 {
  font-size: 2.5rem!important
}

.u-fs26 {
  font-size: 2.6rem!important
}

.u-fs27 {
  font-size: 2.7rem!important
}

.u-fs28 {
  font-size: 2.8rem!important
}

.u-fs29 {
  font-size: 2.9rem!important
}

.u-fs30 {
  font-size: 3rem!important
}

.u-fs31 {
  font-size: 3.1rem!important
}

.u-fs32 {
  font-size: 3.2rem!important
}

.u-fs33 {
  font-size: 3.3rem!important
}

.u-fs34 {
  font-size: 3.4rem!important
}

.u-fs35 {
  font-size: 3.5rem!important
}

.u-fsXlarge {
  font-size: 3rem!important
}

.u-fsLarge {
  font-size: 2rem!important
}

.u-fsMedium {
  font-size: 1.8rem!important
}

.u-fsSmall {
  font-size: 1.6rem!important
}

.u-fsXsmall {
  font-size: 1.4rem!important
}

.u-textbold {
  font-weight: 700!important
}

.u-textmedium {
  font-weight: 500!important
}

.u-textnormal {
  font-weight: 400!important
}

.u-textthin {
  font-weight: 200!important
}

.u-emp {
  color: #e50000!important
}

.u-indent {
  text-indent: 1em!important
}

.u-serif {
  font-family: "Noto Serif Japanese", serif!important;
  font-weight: 500
}

.u-clear {
  clear: both!important
}

.u-ac {
  text-align: center!important
}

.u-ar {
  text-align: right!important
}

.u-al {
  text-align: left!important
}

.u-vm {
  vertical-align: middle!important
}

.u-vt {
  vertical-align: top!important
}

.u-vb {
  vertical-align: bottom!important
}

@media screen and (min-width:1025px) {
  .u-ac-pc {
    text-align: center!important
  }
  .u-ar-pc {
    text-align: right!important
  }
  .u-al-pc {
    text-align: left!important
  }
  .u-vm-pc {
    vertical-align: middle!important
  }
  .u-vt-pc {
    vertical-align: top!important
  }
  .u-vb-pc {
    vertical-align: bottom!important
  }
}

.u-sp, .u-tab {
  display: none!important
}

@media screen and (max-width:1024px) {
  .u-pc {
    display: none!important
  }
  .u-tab {
    display: inherit!important
  }
}

@media screen and (max-width:768px) {
  u-mtSmall {
    margin-top: 1.5rem!important
  }
  .u-mtNormal {
    margin-top: 3rem!important
  }
  .u-mtLarge {
    margin-top: 5rem!important
  }
  .u-mbSmall {
    margin-bottom: 1.5rem!important
  }
  .u-mbNormal {
    margin-bottom: 3rem!important
  }
  .u-mbLarge {
    margin-bottom: 5rem!important
  }
  .u-mt-sp0 {
    margin-top: 0!important
  }
  .u-mr-sp0 {
    margin-right: 0!important
  }
  .u-mb-sp0 {
    margin-bottom: 0!important
  }
  .u-ml-sp0 {
    margin-left: 0!important
  }
  .u-mt-sp5 {
    margin-top: 5px!important
  }
  .u-mr-sp5 {
    margin-right: 5px!important
  }
  .u-mb-sp5 {
    margin-bottom: 5px!important
  }
  .u-ml-sp5 {
    margin-left: 5px!important
  }
  .u-mt-sp10 {
    margin-top: 10px!important
  }
  .u-mr-sp10 {
    margin-right: 10px!important
  }
  .u-mb-sp10 {
    margin-bottom: 10px!important
  }
  .u-ml-sp10 {
    margin-left: 10px!important
  }
  .u-mt-sp15 {
    margin-top: 15px!important
  }
  .u-mr-sp15 {
    margin-right: 15px!important
  }
  .u-mb-sp15 {
    margin-bottom: 15px!important
  }
  .u-ml-sp15 {
    margin-left: 15px!important
  }
  .u-mt-sp20 {
    margin-top: 20px!important
  }
  .u-mr-sp20 {
    margin-right: 20px!important
  }
  .u-mb-sp20 {
    margin-bottom: 20px!important
  }
  .u-ml-sp20 {
    margin-left: 20px!important
  }
  .u-mt-sp25 {
    margin-top: 25px!important
  }
  .u-mr-sp25 {
    margin-right: 25px!important
  }
  .u-mb-sp25 {
    margin-bottom: 25px!important
  }
  .u-ml-sp25 {
    margin-left: 25px!important
  }
  .u-mt-sp30 {
    margin-top: 30px!important
  }
  .u-mr-sp30 {
    margin-right: 30px!important
  }
  .u-mb-sp30 {
    margin-bottom: 30px!important
  }
  .u-ml-sp30 {
    margin-left: 30px!important
  }
  .u-mt-sp35 {
    margin-top: 35px!important
  }
  .u-mr-sp35 {
    margin-right: 35px!important
  }
  .u-mb-sp35 {
    margin-bottom: 35px!important
  }
  .u-ml-sp35 {
    margin-left: 35px!important
  }
  .u-mt-sp40 {
    margin-top: 40px!important
  }
  .u-mr-sp40 {
    margin-right: 40px!important
  }
  .u-mb-sp40 {
    margin-bottom: 40px!important
  }
  .u-ml-sp40 {
    margin-left: 40px!important
  }
  .u-mt-sp45 {
    margin-top: 45px!important
  }
  .u-mr-sp45 {
    margin-right: 45px!important
  }
  .u-mb-sp45 {
    margin-bottom: 45px!important
  }
  .u-ml-sp45 {
    margin-left: 45px!important
  }
  .u-mt-sp50 {
    margin-top: 50px!important
  }
  .u-mr-sp50 {
    margin-right: 50px!important
  }
  .u-mb-sp50 {
    margin-bottom: 50px!important
  }
  .u-ml-sp50 {
    margin-left: 50px!important
  }
  .u-mt-sp55 {
    margin-top: 55px!important
  }
  .u-mr-sp55 {
    margin-right: 55px!important
  }
  .u-mb-sp55 {
    margin-bottom: 55px!important
  }
  .u-ml-sp55 {
    margin-left: 55px!important
  }
  .u-mt-sp60 {
    margin-top: 60px!important
  }
  .u-mr-sp60 {
    margin-right: 60px!important
  }
  .u-mb-sp60 {
    margin-bottom: 60px!important
  }
  .u-ml-sp60 {
    margin-left: 60px!important
  }
  .u-mt-sp65 {
    margin-top: 65px!important
  }
  .u-mr-sp65 {
    margin-right: 65px!important
  }
  .u-mb-sp65 {
    margin-bottom: 65px!important
  }
  .u-ml-sp65 {
    margin-left: 65px!important
  }
  .u-mt-sp70 {
    margin-top: 70px!important
  }
  .u-mr-sp70 {
    margin-right: 70px!important
  }
  .u-mb-sp70 {
    margin-bottom: 70px!important
  }
  .u-ml-sp70 {
    margin-left: 70px!important
  }
  .u-mt-sp75 {
    margin-top: 75px!important
  }
  .u-mr-sp75 {
    margin-right: 75px!important
  }
  .u-mb-sp75 {
    margin-bottom: 75px!important
  }
  .u-ml-sp75 {
    margin-left: 75px!important
  }
  .u-mt-sp80 {
    margin-top: 80px!important
  }
  .u-mr-sp80 {
    margin-right: 80px!important
  }
  .u-mb-sp80 {
    margin-bottom: 80px!important
  }
  .u-ml-sp80 {
    margin-left: 80px!important
  }
  .u-mt-sp85 {
    margin-top: 85px!important
  }
  .u-mr-sp85 {
    margin-right: 85px!important
  }
  .u-mb-sp85 {
    margin-bottom: 85px!important
  }
  .u-ml-sp85 {
    margin-left: 85px!important
  }
  .u-mt-sp90 {
    margin-top: 90px!important
  }
  .u-mr-sp90 {
    margin-right: 90px!important
  }
  .u-mb-sp90 {
    margin-bottom: 90px!important
  }
  .u-ml-sp90 {
    margin-left: 90px!important
  }
  .u-mt-sp95 {
    margin-top: 95px!important
  }
  .u-mr-sp95 {
    margin-right: 95px!important
  }
  .u-mb-sp95 {
    margin-bottom: 95px!important
  }
  .u-ml-sp95 {
    margin-left: 95px!important
  }
  .u-mt-sp100 {
    margin-top: 100px!important
  }
  .u-mr-sp100 {
    margin-right: 100px!important
  }
  .u-mb-sp100 {
    margin-bottom: 100px!important
  }
  .u-ml-sp100 {
    margin-left: 100px!important
  }
  .u-pt-sp0 {
    padding-top: 0!important
  }
  .u-pr-sp0 {
    padding-right: 0!important
  }
  .u-pb-sp0 {
    padding-bottom: 0!important
  }
  .u-pl-sp0 {
    padding-left: 0!important
  }
  .u-pt-sp5 {
    padding-top: 5px!important
  }
  .u-pr-sp5 {
    padding-right: 5px!important
  }
  .u-pb-sp5 {
    padding-bottom: 5px!important
  }
  .u-pl-sp5 {
    padding-left: 5px!important
  }
  .u-pt-sp10 {
    padding-top: 10px!important
  }
  .u-pr-sp10 {
    padding-right: 10px!important
  }
  .u-pb-sp10 {
    padding-bottom: 10px!important
  }
  .u-pl-sp10 {
    padding-left: 10px!important
  }
  .u-pt-sp15 {
    padding-top: 15px!important
  }
  .u-pr-sp15 {
    padding-right: 15px!important
  }
  .u-pb-sp15 {
    padding-bottom: 15px!important
  }
  .u-pl-sp15 {
    padding-left: 15px!important
  }
  .u-pt-sp20 {
    padding-top: 20px!important
  }
  .u-pr-sp20 {
    padding-right: 20px!important
  }
  .u-pb-sp20 {
    padding-bottom: 20px!important
  }
  .u-pl-sp20 {
    padding-left: 20px!important
  }
  .u-pt-sp25 {
    padding-top: 25px!important
  }
  .u-pr-sp25 {
    padding-right: 25px!important
  }
  .u-pb-sp25 {
    padding-bottom: 25px!important
  }
  .u-pl-sp25 {
    padding-left: 25px!important
  }
  .u-pt-sp30 {
    padding-top: 30px!important
  }
  .u-pr-sp30 {
    padding-right: 30px!important
  }
  .u-pb-sp30 {
    padding-bottom: 30px!important
  }
  .u-pl-sp30 {
    padding-left: 30px!important
  }
  .u-pt-sp35 {
    padding-top: 35px!important
  }
  .u-pr-sp35 {
    padding-right: 35px!important
  }
  .u-pb-sp35 {
    padding-bottom: 35px!important
  }
  .u-pl-sp35 {
    padding-left: 35px!important
  }
  .u-pt-sp40 {
    padding-top: 40px!important
  }
  .u-pr-sp40 {
    padding-right: 40px!important
  }
  .u-pb-sp40 {
    padding-bottom: 40px!important
  }
  .u-pl-sp40 {
    padding-left: 40px!important
  }
  .u-pt-sp45 {
    padding-top: 45px!important
  }
  .u-pr-sp45 {
    padding-right: 45px!important
  }
  .u-pb-sp45 {
    padding-bottom: 45px!important
  }
  .u-pl-sp45 {
    padding-left: 45px!important
  }
  .u-pt-sp50 {
    padding-top: 50px!important
  }
  .u-pr-sp50 {
    padding-right: 50px!important
  }
  .u-pb-sp50 {
    padding-bottom: 50px!important
  }
  .u-pl-sp50 {
    padding-left: 50px!important
  }
  .u-pt-sp55 {
    padding-top: 55px!important
  }
  .u-pr-sp55 {
    padding-right: 55px!important
  }
  .u-pb-sp55 {
    padding-bottom: 55px!important
  }
  .u-pl-sp55 {
    padding-left: 55px!important
  }
  .u-pt-sp60 {
    padding-top: 60px!important
  }
  .u-pr-sp60 {
    padding-right: 60px!important
  }
  .u-pb-sp60 {
    padding-bottom: 60px!important
  }
  .u-pl-sp60 {
    padding-left: 60px!important
  }
  .u-pt-sp65 {
    padding-top: 65px!important
  }
  .u-pr-sp65 {
    padding-right: 65px!important
  }
  .u-pb-sp65 {
    padding-bottom: 65px!important
  }
  .u-pl-sp65 {
    padding-left: 65px!important
  }
  .u-pt-sp70 {
    padding-top: 70px!important
  }
  .u-pr-sp70 {
    padding-right: 70px!important
  }
  .u-pb-sp70 {
    padding-bottom: 70px!important
  }
  .u-pl-sp70 {
    padding-left: 70px!important
  }
  .u-pt-sp75 {
    padding-top: 75px!important
  }
  .u-pr-sp75 {
    padding-right: 75px!important
  }
  .u-pb-sp75 {
    padding-bottom: 75px!important
  }
  .u-pl-sp75 {
    padding-left: 75px!important
  }
  .u-pt-sp80 {
    padding-top: 80px!important
  }
  .u-pr-sp80 {
    padding-right: 80px!important
  }
  .u-pb-sp80 {
    padding-bottom: 80px!important
  }
  .u-pl-sp80 {
    padding-left: 80px!important
  }
  .u-pt-sp85 {
    padding-top: 85px!important
  }
  .u-pr-sp85 {
    padding-right: 85px!important
  }
  .u-pb-sp85 {
    padding-bottom: 85px!important
  }
  .u-pl-sp85 {
    padding-left: 85px!important
  }
  .u-pt-sp90 {
    padding-top: 90px!important
  }
  .u-pr-sp90 {
    padding-right: 90px!important
  }
  .u-pb-sp90 {
    padding-bottom: 90px!important
  }
  .u-pl-sp90 {
    padding-left: 90px!important
  }
  .u-pt-sp95 {
    padding-top: 95px!important
  }
  .u-pr-sp95 {
    padding-right: 95px!important
  }
  .u-pb-sp95 {
    padding-bottom: 95px!important
  }
  .u-pl-sp95 {
    padding-left: 95px!important
  }
  .u-pt-sp100 {
    padding-top: 100px!important
  }
  .u-pr-sp100 {
    padding-right: 100px!important
  }
  .u-pb-sp100 {
    padding-bottom: 100px!important
  }
  .u-pl-sp100 {
    padding-left: 100px!important
  }
  .u-pt-sp105 {
    padding-top: 105px!important
  }
  .u-pr-sp105 {
    padding-right: 105px!important
  }
  .u-pb-sp105 {
    padding-bottom: 105px!important
  }
  .u-pl-sp105 {
    padding-left: 105px!important
  }
  .u-pt-sp110 {
    padding-top: 110px!important
  }
  .u-pr-sp110 {
    padding-right: 110px!important
  }
  .u-pb-sp110 {
    padding-bottom: 110px!important
  }
  .u-pl-sp110 {
    padding-left: 110px!important
  }
  .u-pt-sp115 {
    padding-top: 115px!important
  }
  .u-pr-sp115 {
    padding-right: 115px!important
  }
  .u-pb-sp115 {
    padding-bottom: 115px!important
  }
  .u-pl-sp115 {
    padding-left: 115px!important
  }
  .u-pt-sp120 {
    padding-top: 120px!important
  }
  .u-pr-sp120 {
    padding-right: 120px!important
  }
  .u-pb-sp120 {
    padding-bottom: 120px!important
  }
  .u-pl-sp120 {
    padding-left: 120px!important
  }
  .u-pt-sp125 {
    padding-top: 125px!important
  }
  .u-pr-sp125 {
    padding-right: 125px!important
  }
  .u-pb-sp125 {
    padding-bottom: 125px!important
  }
  .u-pl-sp125 {
    padding-left: 125px!important
  }
  .u-pt-sp130 {
    padding-top: 130px!important
  }
  .u-pr-sp130 {
    padding-right: 130px!important
  }
  .u-pb-sp130 {
    padding-bottom: 130px!important
  }
  .u-pl-sp130 {
    padding-left: 130px!important
  }
  .u-pt-sp135 {
    padding-top: 135px!important
  }
  .u-pr-sp135 {
    padding-right: 135px!important
  }
  .u-pb-sp135 {
    padding-bottom: 135px!important
  }
  .u-pl-sp135 {
    padding-left: 135px!important
  }
  .u-pt-sp140 {
    padding-top: 140px!important
  }
  .u-pr-sp140 {
    padding-right: 140px!important
  }
  .u-pb-sp140 {
    padding-bottom: 140px!important
  }
  .u-pl-sp140 {
    padding-left: 140px!important
  }
  .u-pt-sp145 {
    padding-top: 145px!important
  }
  .u-pr-sp145 {
    padding-right: 145px!important
  }
  .u-pb-sp145 {
    padding-bottom: 145px!important
  }
  .u-pl-sp145 {
    padding-left: 145px!important
  }
  .u-pt-sp150 {
    padding-top: 150px!important
  }
  .u-pr-sp150 {
    padding-right: 150px!important
  }
  .u-pb-sp150 {
    padding-bottom: 150px!important
  }
  .u-pl-sp150 {
    padding-left: 150px!important
  }
  .u-pt-sp155 {
    padding-top: 155px!important
  }
  .u-pr-sp155 {
    padding-right: 155px!important
  }
  .u-pb-sp155 {
    padding-bottom: 155px!important
  }
  .u-pl-sp155 {
    padding-left: 155px!important
  }
  .u-pt-sp160 {
    padding-top: 160px!important
  }
  .u-pr-sp160 {
    padding-right: 160px!important
  }
  .u-pb-sp160 {
    padding-bottom: 160px!important
  }
  .u-pl-sp160 {
    padding-left: 160px!important
  }
  .u-pt-sp165 {
    padding-top: 165px!important
  }
  .u-pr-sp165 {
    padding-right: 165px!important
  }
  .u-pb-sp165 {
    padding-bottom: 165px!important
  }
  .u-pl-sp165 {
    padding-left: 165px!important
  }
  .u-pt-sp170 {
    padding-top: 170px!important
  }
  .u-pr-sp170 {
    padding-right: 170px!important
  }
  .u-pb-sp170 {
    padding-bottom: 170px!important
  }
  .u-pl-sp170 {
    padding-left: 170px!important
  }
  .u-pt-sp175 {
    padding-top: 175px!important
  }
  .u-pr-sp175 {
    padding-right: 175px!important
  }
  .u-pb-sp175 {
    padding-bottom: 175px!important
  }
  .u-pl-sp175 {
    padding-left: 175px!important
  }
  .u-pt-sp180 {
    padding-top: 180px!important
  }
  .u-pr-sp180 {
    padding-right: 180px!important
  }
  .u-pb-sp180 {
    padding-bottom: 180px!important
  }
  .u-pl-sp180 {
    padding-left: 180px!important
  }
  .u-pt-sp185 {
    padding-top: 185px!important
  }
  .u-pr-sp185 {
    padding-right: 185px!important
  }
  .u-pb-sp185 {
    padding-bottom: 185px!important
  }
  .u-pl-sp185 {
    padding-left: 185px!important
  }
  .u-pt-sp190 {
    padding-top: 190px!important
  }
  .u-pr-sp190 {
    padding-right: 190px!important
  }
  .u-pb-sp190 {
    padding-bottom: 190px!important
  }
  .u-pl-sp190 {
    padding-left: 190px!important
  }
  .u-pt-sp195 {
    padding-top: 195px!important
  }
  .u-pr-sp195 {
    padding-right: 195px!important
  }
  .u-pb-sp195 {
    padding-bottom: 195px!important
  }
  .u-pl-sp195 {
    padding-left: 195px!important
  }
  .u-pt-sp200 {
    padding-top: 200px!important
  }
  .u-pr-sp200 {
    padding-right: 200px!important
  }
  .u-pb-sp200 {
    padding-bottom: 200px!important
  }
  .u-pl-sp200 {
    padding-left: 200px!important
  }
  .u-pt-sp205 {
    padding-top: 205px!important
  }
  .u-pr-sp205 {
    padding-right: 205px!important
  }
  .u-pb-sp205 {
    padding-bottom: 205px!important
  }
  .u-pl-sp205 {
    padding-left: 205px!important
  }
  .u-pt-sp210 {
    padding-top: 210px!important
  }
  .u-pr-sp210 {
    padding-right: 210px!important
  }
  .u-pb-sp210 {
    padding-bottom: 210px!important
  }
  .u-pl-sp210 {
    padding-left: 210px!important
  }
  .u-pt-sp215 {
    padding-top: 215px!important
  }
  .u-pr-sp215 {
    padding-right: 215px!important
  }
  .u-pb-sp215 {
    padding-bottom: 215px!important
  }
  .u-pl-sp215 {
    padding-left: 215px!important
  }
  .u-pt-sp220 {
    padding-top: 220px!important
  }
  .u-pr-sp220 {
    padding-right: 220px!important
  }
  .u-pb-sp220 {
    padding-bottom: 220px!important
  }
  .u-pl-sp220 {
    padding-left: 220px!important
  }
  .u-pt-sp225 {
    padding-top: 225px!important
  }
  .u-pr-sp225 {
    padding-right: 225px!important
  }
  .u-pb-sp225 {
    padding-bottom: 225px!important
  }
  .u-pl-sp225 {
    padding-left: 225px!important
  }
  .u-pt-sp230 {
    padding-top: 230px!important
  }
  .u-pr-sp230 {
    padding-right: 230px!important
  }
  .u-pb-sp230 {

    padding-bottom: 230px!important
  }
  .u-pl-sp230 {
    padding-left: 230px!important
  }
  .u-pt-sp235 {
    padding-top: 235px!important
  }
  .u-pr-sp235 {
    padding-right: 235px!important
  }
  .u-pb-sp235 {
    padding-bottom: 235px!important
  }
  .u-pl-sp235 {
    padding-left: 235px!important
  }
  .u-pt-sp240 {
    padding-top: 240px!important
  }
  .u-pr-sp240 {
    padding-right: 240px!important
  }
  .u-pb-sp240 {
    padding-bottom: 240px!important
  }
  .u-pl-sp240 {
    padding-left: 240px!important
  }
  .u-pt-sp245 {
    padding-top: 245px!important
  }
  .u-pr-sp245 {
    padding-right: 245px!important
  }
  .u-pb-sp245 {
    padding-bottom: 245px!important
  }
  .u-pl-sp245 {
    padding-left: 245px!important
  }
  .u-pt-sp250 {
    padding-top: 250px!important
  }
  .u-pr-sp250 {
    padding-right: 250px!important
  }
  .u-pb-sp250 {
    padding-bottom: 250px!important
  }
  .u-pl-sp250 {
    padding-left: 250px!important
  }
  .u-fsXlarge {
    font-size: 2.4rem!important
  }
  .u-fsLarge {
    font-size: 1.8rem!important
  }
  .u-fsMedium {
    font-size: 1.6rem!important
  }
  .u-fsSmall {
    font-size: 1.4rem!important
  }
  .u-fsXsmall {
    font-size: 1.2rem!important
  }
  .u-ac-sp {
    text-align: center!important
  }
  .u-ar-sp {
    text-align: right!important
  }
  .u-al-sp {
    text-align: left!important
  }
  .u-vm-sp {
    vertical-align: middle!important
  }
  .u-vt-sp {
    vertical-align: top!important
  }
  .u-vb-sp {
    vertical-align: bottom!important
  }
  .u-pc {
    display: none!important
  }
  .u-sp {
    display: inherit!important
  }
}

.slick-list, .slick-slider {
  display: block;
  position: relative
}

.slick-slider {
  -moz-user-select: none;
  -ms-user-select: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
  touch-action: pan-y;
  user-select: none
}

.slick-list {
  padding: 0;
  overflow: hidden;
  -webkit-animation: fadeIn 2s ease 0s;
  animation: fadeIn 2s ease 0s
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand
}

.slick-slider .slick-list, .slick-slider .slick-track {
  height: 100%;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

.slick-track {
  display: flex;
  position: relative;
  top: 0;
  left: 0;
  margin: 0 auto
}

.slick-track:after, .slick-track:before {
  display: table;
  content: ""
}

.slick-track:after {
  clear: both
}

.slick-slide {
  display: none;
  min-height: 1px;
  float: left
}

[dir=rtl] .slick-slide {
  float: right
}

.slick-slide img {
  display: block
}

.slick-slide.slick-loading img {
  display: none
}

.slick-initialized .slick-slide {
  display: block
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent
}

.slick-arrow.slick-hidden {
  display: none
}

.slick-next, .slick-prev {
  display: block;
  z-index: 1;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 4.8rem;
  height: 4.8rem;
  margin: auto 0;
  padding: 0;
  border-radius: 50%;
  outline: 0;
  background: url(../assets/images/common/ico_arrow.png) 50% 50%/1.2rem auto no-repeat #fff;
  color: transparent;
  font-size: 0;
  line-height: 0;
  cursor: pointer
}

.slick-next:focus, .slick-next:hover, .slick-prev:focus, .slick-prev:hover {
  opacity: .7
}

.slick-prev {
  left: -1.4rem;
  -webkit-transform: scale(-1, -1);
  transform: scale(-1, -1)
}

[dir=rtl] .slick-prev {
  right: -1.4rem;
  left: auto
}

.slick-next {
  right: -1.4rem
}

[dir=rtl] .slick-next {
  right: auto;
  left: -1.4rem
}

@media screen and (max-width:768px) {
  .slick-prev {
    left: 3rem
  }
  .slick-next {
    right: 3rem
  }
}

@media print {
  html:not([class*=-mobile]) body {
    zoom: .8;
    width: 124rem
  }
  body {
    -webkit-print-color-adjust: exact
  }
  .l-wrapper {
    padding-top: 0
  }
  .l-header {
    position: static
  }
  .l-header.-compact {
    height: inherit
  }
  .l-header.-compact .l-header_logo img {
    width: inherit
  }
  .l-header.-compact .l-header_utility {
    display: flex
  }
  .heroRecruit::before {
    position: absolute
  }
}



/**************************
　画像リサイズ他独自追加スタイル
**************************/

img.w600 {
    max-width: 600px;
}

@media screen and (max-width:375px) {

    img.w600 {
        max-width: 350px;
    }

}
/*
.inquiry_nav_cat_title {
  font-size: 1.8rem;
  font-weight: 500
}
@media screen and (max-width:768px) {
  .inquiry_nav_cat_title {
    display: block;
    padding: 1.8rem 6rem 1.9rem 3rem;
    border-bottom: 1px solid #515b60;
    font-size: 1.7rem
  }
}
*/

.inquiry_contact_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 30rem;
  max-width: 100%;
  margin: 0 auto;
  padding: 1.6rem;
  border-radius: 2.8rem;
  background-color: #43B73C;
  background-image:linear-gradient(45deg, #43B73C, #002A00);
  font-weight: 500;
  transition: .2s linear;
    color: #fff;
}

.inquiry_contact_btn:hover {
  color: #fff;
}

/**********************************

	ページ内リンク

**********************************/

a.anchor {
    display: block;
    padding-top: 100px;
    margin-top: -100px;
}


/**********************************

	FORM

**********************************/

form {
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

form div {
	padding: 1rem;
}

input,textarea {
	border: 0;
	padding: 5px;
	border: solid 1px #ccc;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	font-size: 18px;
	font-size: 1.8rem;
}

textarea {
	resize: vertical;
}


input:focus {
    border: solid 1px #EEA34A;
	background: #fbf5c3;
}

textarea:focus {
    border: solid 1px #EEA34A;
	background: #fbf5c3;
}

div.buttonCenter {
	margin: 0 auto;
	width: 250px;
}

.radioPlain {
  top: 10px;
  position: relative;
}

input[type=radio]{
    margin-right: 4px;
    vertical-align : top;
}

input[type=submit]{
	padding: 10px;
	width: 250px;
	height: 50px;
	border: solid 1px #9c3535;
	background: #d36767;
	color: #fff;
	font-weight: bold;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

form dl.formMail label {
    margin: 0 1rem 0 0;
    padding: 0;
vertical-align : top;
}


.formWhole {
    width: 100%;
}

form dl.formMail{
	margin: 0 0 0 0;
	margin-bottom: 3rem;
	width: 100%;
}

form dl.formMail dt {
    display: block;
    padding: 1em;
    width: 25rem;
    float: left;
    font-size: 18px;
    font-weight: bold;
}

form dl.formMail dt span {
    margin: 0 0 0 1rem;
    padding: 0.5rem;
    width: 70px;
    border: 1px solid #001A43;
    border-radius: 70px;
    background: #fff;
    font-size: 12px;
}

form dl.formMail dd {
    margin: 0 0 3rem 0;
    padding: 1em 0 3rem 25rem;
    border-bottom: 1px solid #43B73C;
}

@media screen and (max-width:375px) {
    input,textarea {
        max-width: 98%;
    }

    form dl.formMail dt {
        padding: 0 1em 1em 0;
        float: none;
    }

    form dl.formMail dd {
        padding: 0 0 3rem 0rem;
    }

}
.colorRed {
    color:red;
}




/**************************************

　指定請求書用クラス

***************************************/
.seikyuWhole {
    overflow: hidden;
    margin: 0 0 2rem 0
}


.seikyu0,
.seikyu1,
.seikyu2 {
    position: relative;
}

.seikyu0 a:hover,
.seikyu1 a:hover,
.seikyu2 a:hover {
    text-decoration: underline;
}


.seikyu0 {
    display: flex;
    justify-content: center;
    margin: 0 2rem 0 0;
    padding: 1rem;
    width: 300px;
    border: 1px solid #666;
    background: #f3fdfe;
    text-align: center;
}
.seikyu1 {
    display: flex;
    justify-content: center;
    float: left;
    margin: 0 2rem 0 0;
    padding: 1rem;
    width: 300px;
    border: 1px solid #666;
    background: #f3fdfe;
    text-align: center;
}
.seikyu2 {
    display: flex;
    justify-content: center;
    float: left;
    padding: 1rem;
    width: 300px;
    border: 1px solid #666;
    background: #f3fdfe;
    text-align: center;
}

.seikyu0 i,
.seikyu1 i,
.seikyu2 i {
    margin: 4px 3px 0 0;
}

@media only screen and (max-width: 460px){
    .seikyu1 {
        float: none;
        margin: 0 2rem 2rem 0;
    }
    .seikyu2 {
        float: none;
    }

}



/*ヘッダーメニューにULタグがない場合*/
.nonUl > li {
	margin: 0 1.2rem 0 0;
	padding: 0 0 0 1.7rem;
	background: url(../images/icon_arrowBL.png) no-repeat 0 0.5rem;
}



/*test202603*/
.topBigLogo h1 {
	margin: 0 auto 3rem auto;
	padding: 0rem;
	width: 70%;
	font-size: 5rem;
	color: #fff;
}

.topBigLogo h1 a {
	color: #fff;
}

@media only screen and (max-width:1100px){

	.topBigLogo h1 {
		margin: 0 auto 3rem auto;
		padding: 0rem;
		width: 70%;
		font-size: 5rem;
		color: #fff;
	}

	.topBigLogo h1 a {
		color: #fff;
	}

	
/*test202603*/
}

.l-wrappersr, body {
  overflow-x: hidden
}


/*SRぎふ2026 10rem 6.4rem*/
.l-wrappersr {
  padding-top: 6.9rem
}

@media screen and (max-width:1100px) {
  .l-wrappersr {
    padding-top: 3.7rem
  }
}


